jets 3.1.0 → 5.0.10

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 (650) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.gitignore +5 -1
  4. data/CHANGELOG.md +190 -1
  5. data/CONTRIBUTING.md +1 -1
  6. data/Gemfile +1 -5
  7. data/LICENSE.txt +1 -1
  8. data/README.md +28 -50
  9. data/Rakefile +3 -3
  10. data/backers.md +0 -5
  11. data/engines/internal/app/controllers/jets/application_controller.rb +28 -0
  12. data/engines/internal/app/controllers/jets/bare_controller.rb +6 -0
  13. data/engines/internal/app/controllers/jets/health_controller.rb +55 -0
  14. data/engines/internal/app/controllers/jets/info_controller.rb +45 -0
  15. data/{lib/jets → engines}/internal/app/controllers/jets/mailers_controller.rb +12 -14
  16. data/{lib/jets → engines}/internal/app/controllers/jets/mount_controller.rb +6 -10
  17. data/{lib/jets → engines}/internal/app/controllers/jets/public_controller.rb +6 -2
  18. data/engines/internal/app/controllers/jets/welcome_controller.rb +9 -0
  19. data/engines/internal/app/functions/jets/base_path.rb +109 -0
  20. data/engines/internal/app/functions/jets/base_path_mapping.rb +191 -0
  21. data/engines/internal/app/jobs/jets/preheat_job.rb +68 -0
  22. data/engines/internal/app/views/jets/info/properties.html.erb +1 -0
  23. data/engines/internal/app/views/jets/info/routes.html.erb +10 -0
  24. data/{lib/jets → engines}/internal/app/views/jets/mailers/email.html.erb +37 -17
  25. data/engines/internal/app/views/jets/mailers/index.html.erb +8 -0
  26. data/engines/internal/app/views/jets/mailers/mailer.html.erb +6 -0
  27. data/{lib/jets/commands/templates/skeleton/public/index.html.tt → engines/internal/app/views/jets/welcome/index.html.erb} +8 -4
  28. data/engines/internal/app/views/layouts/application.html.erb +51 -0
  29. data/engines/internal/lib/internal/actiondispatch.rb +39 -0
  30. data/engines/internal/lib/internal/actionmailer.rb +51 -0
  31. data/engines/internal/lib/internal/actionview.rb +152 -0
  32. data/engines/internal/lib/internal/activerecord.rb +37 -0
  33. data/engines/internal/lib/internal/activesupport.rb +47 -0
  34. data/engines/internal/lib/internal/engine.rb +13 -0
  35. data/engines/internal/lib/internal/i18n_engine.rb +19 -0
  36. data/engines/internal/lib/internal/jets_controller.rb +46 -0
  37. data/engines/internal/lib/internal/overrides/debug_exceptions.rb +40 -0
  38. data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +62 -0
  39. data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +9 -0
  40. data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +70 -0
  41. data/engines/internal/lib/internal/turbines/helpers.rb +18 -0
  42. data/engines/internal/lib/internal/turbines/routes_helpers.rb +42 -0
  43. data/exe/jets +1 -10
  44. data/jets.gemspec +17 -13
  45. data/lib/jets/app_loader.rb +77 -0
  46. data/lib/jets/application/bootstrap.rb +100 -0
  47. data/lib/jets/application/configuration/defaults.rb +256 -0
  48. data/lib/jets/application/configuration.rb +494 -0
  49. data/lib/jets/application/default_middleware_stack.rb +140 -0
  50. data/lib/jets/application/dummy_erb_compiler.rb +18 -0
  51. data/lib/jets/application/finisher.rb +266 -0
  52. data/lib/jets/application/routes_reloader.rb +80 -0
  53. data/lib/jets/application.rb +515 -199
  54. data/lib/jets/authorizer/base.rb +1 -0
  55. data/lib/jets/authorizer/dsl.rb +15 -11
  56. data/lib/jets/authorizer/helpers/iam_helper.rb +13 -11
  57. data/lib/jets/autoloaders/gem.rb +70 -0
  58. data/lib/jets/autoloaders/inflector.rb +21 -0
  59. data/lib/jets/autoloaders.rb +38 -101
  60. data/lib/jets/aws_info.rb +2 -2
  61. data/lib/jets/aws_services/stack_status.rb +2 -2
  62. data/lib/jets/aws_services.rb +8 -0
  63. data/lib/jets/backtrace_cleaner.rb +27 -0
  64. data/lib/jets/booter.rb +30 -118
  65. data/lib/jets/builders/code_builder.rb +67 -125
  66. data/lib/jets/builders/code_size.rb +1 -0
  67. data/lib/jets/builders/gem_replacer.rb +6 -12
  68. data/lib/jets/builders/handler_generator.rb +43 -15
  69. data/lib/jets/builders/lambda_layer.rb +2 -7
  70. data/lib/jets/builders/purger.rb +1 -1
  71. data/lib/jets/builders/rack_packager.rb +1 -1
  72. data/lib/jets/builders/ruby_packager.rb +54 -10
  73. data/lib/jets/builders/shim_vars/app.rb +10 -6
  74. data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +33 -0
  75. data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +20 -0
  76. data/lib/jets/builders/templates/{handler.rb → handlers/one_lambda_per_method.rb} +6 -0
  77. data/lib/jets/bundle.rb +2 -9
  78. data/lib/jets/cfn/base.rb +82 -0
  79. data/lib/jets/cfn/builder/api/base.rb +12 -0
  80. data/lib/jets/cfn/{builders/api_deployment_builder.rb → builder/api/deployment.rb} +11 -21
  81. data/lib/jets/cfn/builder/api/gateway.rb +104 -0
  82. data/lib/jets/cfn/builder/api/mapping.rb +54 -0
  83. data/lib/jets/cfn/builder/api/methods.rb +72 -0
  84. data/lib/jets/cfn/builder/api/paged.rb +30 -0
  85. data/lib/jets/cfn/builder/api/pages/base.rb +105 -0
  86. data/lib/jets/cfn/builder/api/pages/methods.rb +17 -0
  87. data/lib/jets/cfn/builder/api/pages/page.rb +19 -0
  88. data/lib/jets/cfn/builder/api/pages/resources.rb +21 -0
  89. data/lib/jets/cfn/builder/api/resources.rb +40 -0
  90. data/lib/jets/cfn/{builders/authorizer_builder.rb → builder/authorizer.rb} +16 -19
  91. data/lib/jets/cfn/builder/controller.rb +28 -0
  92. data/lib/jets/cfn/builder/function.rb +9 -0
  93. data/lib/jets/cfn/builder/interface.rb +146 -0
  94. data/lib/jets/cfn/builder/job.rb +10 -0
  95. data/lib/jets/cfn/builder/nested.rb +130 -0
  96. data/lib/jets/cfn/builder/one_controller.rb +53 -0
  97. data/lib/jets/cfn/{builders/parent_builder → builder/parent}/stagger.rb +1 -1
  98. data/lib/jets/cfn/builder/parent.rb +149 -0
  99. data/lib/jets/cfn/builder/post_process.rb +25 -0
  100. data/lib/jets/cfn/{builders/rule_builder.rb → builder/rule.rb} +4 -8
  101. data/lib/jets/cfn/{builders/shared_builder.rb → builder/shared.rb} +5 -4
  102. data/lib/jets/cfn/{builders → builder}/util/source.rb +1 -1
  103. data/lib/jets/{commands/build.rb → cfn/builder.rb} +58 -80
  104. data/lib/jets/cfn/deployment.rb +85 -0
  105. data/lib/jets/cfn/download.rb +39 -0
  106. data/lib/jets/cfn/params/api/base.rb +39 -0
  107. data/lib/jets/cfn/params/api/cors.rb +10 -0
  108. data/lib/jets/cfn/params/api/methods.rb +69 -0
  109. data/lib/jets/cfn/params/api/resources.rb +28 -0
  110. data/lib/jets/{resource/child_stack/common_parameters.rb → cfn/params/common.rb} +4 -4
  111. data/lib/jets/{resource → cfn/resource}/api_gateway/authorizer.rb +21 -21
  112. data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +57 -0
  113. data/lib/jets/{resource → cfn/resource}/api_gateway/base_path/mapping.rb +13 -12
  114. data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +70 -0
  115. data/lib/jets/{resource → cfn/resource}/api_gateway/deployment.rb +13 -20
  116. data/lib/jets/{resource → cfn/resource}/api_gateway/domain_name.rb +11 -11
  117. data/lib/jets/{resource → cfn/resource}/api_gateway/method/authorization.rb +1 -1
  118. data/lib/jets/cfn/resource/api_gateway/method.rb +92 -0
  119. data/lib/jets/{resource → cfn/resource}/api_gateway/resource.rb +14 -10
  120. data/lib/jets/cfn/resource/api_gateway/resource_id.rb +25 -0
  121. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/change_detection.rb +1 -1
  122. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/logical_id/message.rb +14 -4
  123. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/logical_id.rb +4 -4
  124. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/base.rb +15 -41
  125. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/media_types.rb +3 -3
  126. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/page.rb +6 -6
  127. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/to.rb +8 -3
  128. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/change/variable.rb +2 -2
  129. data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +27 -0
  130. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/collision/variable_exception.rb +1 -1
  131. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes/collision.rb +1 -1
  132. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api/routes.rb +1 -1
  133. data/lib/jets/{resource → cfn/resource}/api_gateway/rest_api.rb +22 -12
  134. data/lib/jets/{resource → cfn/resource}/associated.rb +1 -1
  135. data/lib/jets/{resource → cfn/resource}/config/config_rule.rb +18 -18
  136. data/lib/jets/{resource → cfn/resource}/config/managed_rule.rb +5 -5
  137. data/lib/jets/{resource → cfn/resource}/events/rule.rb +10 -10
  138. data/lib/jets/{resource → cfn/resource}/iam/application_role.rb +4 -4
  139. data/lib/jets/cfn/resource/iam/base_role_definition.rb +56 -0
  140. data/lib/jets/{resource → cfn/resource}/iam/class_role.rb +5 -5
  141. data/lib/jets/{resource → cfn/resource}/iam/function_role.rb +6 -6
  142. data/lib/jets/{resource → cfn/resource}/iam/managed_policy.rb +1 -1
  143. data/lib/jets/cfn/resource/iam/policy.rb +31 -0
  144. data/lib/jets/{resource → cfn/resource}/iam/policy_document.rb +10 -9
  145. data/lib/jets/{resource → cfn/resource}/iot/topic_rule.rb +10 -10
  146. data/lib/jets/{resource → cfn/resource}/lambda/event_source_mapping.rb +9 -9
  147. data/lib/jets/cfn/resource/lambda/function/controller.rb +21 -0
  148. data/lib/jets/{resource → cfn/resource}/lambda/function/environment.rb +9 -7
  149. data/lib/jets/cfn/resource/lambda/function.rb +266 -0
  150. data/lib/jets/{resource → cfn/resource}/lambda/gem_layer.rb +2 -2
  151. data/lib/jets/{resource → cfn/resource}/lambda/layer_version.rb +10 -10
  152. data/lib/jets/cfn/resource/lambda/permission.rb +51 -0
  153. data/lib/jets/cfn/resource/logs/subscription_filter.rb +31 -0
  154. data/lib/jets/cfn/resource/nested/api/base.rb +4 -0
  155. data/lib/jets/cfn/resource/nested/api/deployment.rb +53 -0
  156. data/lib/jets/cfn/resource/nested/api/gateway.rb +15 -0
  157. data/lib/jets/cfn/resource/nested/api/mapping.rb +33 -0
  158. data/lib/jets/cfn/resource/nested/api/methods.rb +30 -0
  159. data/lib/jets/cfn/resource/nested/api/page.rb +8 -0
  160. data/lib/jets/cfn/resource/nested/api/resources.rb +22 -0
  161. data/lib/jets/{resource/child_stack → cfn/resource/nested}/app_class.rb +15 -48
  162. data/lib/jets/{resource/child_stack → cfn/resource/nested}/authorizer.rb +8 -14
  163. data/lib/jets/cfn/resource/nested/base.rb +38 -0
  164. data/lib/jets/cfn/resource/nested/one_controller.rb +48 -0
  165. data/lib/jets/{resource/child_stack → cfn/resource/nested}/shared.rb +10 -16
  166. data/lib/jets/cfn/resource/one/function.rb +66 -0
  167. data/lib/jets/cfn/resource/one/permission.rb +17 -0
  168. data/lib/jets/{resource → cfn/resource}/replacer.rb +26 -27
  169. data/lib/jets/{resource → cfn/resource}/route53/record_set.rb +18 -18
  170. data/lib/jets/{resource → cfn/resource}/s3/bucket.rb +4 -4
  171. data/lib/jets/cfn/resource/s3/jets_bucket.rb +68 -0
  172. data/lib/jets/{resource → cfn/resource}/sns/subscription.rb +8 -8
  173. data/lib/jets/{resource → cfn/resource}/sns/topic.rb +10 -10
  174. data/lib/jets/{resource → cfn/resource}/sns/topic_policy.rb +13 -13
  175. data/lib/jets/{resource → cfn/resource}/sqs/queue.rb +5 -5
  176. data/lib/jets/{resource → cfn/resource}/standardizer.rb +8 -9
  177. data/lib/jets/cfn/resource.rb +8 -0
  178. data/lib/jets/cfn/ship.rb +33 -29
  179. data/lib/jets/cfn/status.rb +46 -3
  180. data/lib/jets/cfn/template.rb +89 -0
  181. data/lib/jets/cfn/upload.rb +29 -23
  182. data/lib/jets/cli.rb +28 -203
  183. data/lib/jets/command/actions.rb +49 -0
  184. data/lib/jets/command/api_helpers.rb +42 -0
  185. data/lib/jets/command/aws_helpers.rb +26 -0
  186. data/lib/jets/command/base.rb +209 -0
  187. data/lib/jets/command/behavior.rb +83 -0
  188. data/lib/jets/command/environment_argument.rb +42 -0
  189. data/lib/jets/command/help/call.md +48 -0
  190. data/lib/jets/{commands → command}/help/deploy.md +1 -1
  191. data/lib/jets/command/help/gems/check.md +1 -0
  192. data/lib/jets/command/help/logs.md +21 -0
  193. data/lib/jets/{commands → command}/help/new.md +3 -4
  194. data/lib/jets/command/help/projects.md +6 -0
  195. data/lib/jets/command/help/releases.md +19 -0
  196. data/lib/jets/command/help/rollback.md +5 -0
  197. data/lib/jets/command/help/routes.md +15 -0
  198. data/lib/jets/command/help/runner.md +40 -0
  199. data/lib/jets/command/help/stacks.md +6 -0
  200. data/lib/jets/command/help.rb +17 -0
  201. data/lib/jets/command/helpers/editor.rb +35 -0
  202. data/lib/jets/command/rake_decorate.rb +38 -0
  203. data/lib/jets/command.rb +142 -0
  204. data/lib/jets/commands/application/application_command.rb +46 -0
  205. data/lib/jets/commands/build/build_command.rb +33 -0
  206. data/lib/jets/commands/call/anonymous_guesser.rb +1 -1
  207. data/lib/jets/commands/call/autoload_guesser.rb +2 -2
  208. data/lib/jets/commands/call/base_guesser.rb +5 -5
  209. data/lib/jets/commands/call/call_command.rb +27 -0
  210. data/lib/jets/commands/call/caller.rb +184 -0
  211. data/lib/jets/commands/call/guesser.rb +1 -1
  212. data/lib/jets/commands/clean/base.rb +1 -1
  213. data/lib/jets/commands/clean/build.rb +1 -1
  214. data/lib/jets/commands/clean/clean_command.rb +15 -0
  215. data/lib/jets/commands/clean/log.rb +4 -4
  216. data/lib/jets/commands/configure/configure_command.rb +9 -0
  217. data/lib/jets/commands/console/console_command.rb +38 -0
  218. data/lib/jets/commands/credentials/USAGE +103 -0
  219. data/lib/jets/commands/credentials/credentials_command/diffing.rb +51 -0
  220. data/lib/jets/commands/credentials/credentials_command.rb +139 -0
  221. data/lib/jets/commands/db/system/change/change_command.rb +24 -0
  222. data/lib/jets/commands/dbconsole/dbconsole_command.rb +184 -0
  223. data/lib/jets/commands/degenerate/degenerate_command.rb +21 -0
  224. data/lib/jets/commands/delete/delete_command.rb +154 -0
  225. data/lib/jets/commands/{deploy.rb → deploy/deploy_command.rb} +34 -53
  226. data/lib/jets/commands/dev/dev_command.rb +19 -0
  227. data/lib/jets/commands/{dotenv.rb → dotenv/dotenv_command.rb} +2 -2
  228. data/lib/jets/commands/encrypted/USAGE +46 -0
  229. data/lib/jets/commands/encrypted/encrypted_command.rb +87 -0
  230. data/lib/jets/commands/gems/gems_command.rb +14 -0
  231. data/lib/jets/commands/generate/generate_command.rb +95 -0
  232. data/lib/jets/commands/help/USAGE +20 -0
  233. data/lib/jets/commands/help/help_command.rb +15 -0
  234. data/lib/jets/commands/initializers/initializers_command.rb +19 -0
  235. data/lib/jets/commands/logs/logs_command.rb +45 -0
  236. data/lib/jets/commands/new/new_command.rb +19 -0
  237. data/lib/jets/commands/notes/notes_command.rb +30 -0
  238. data/lib/jets/commands/plugin/plugin_command.rb +45 -0
  239. data/lib/jets/commands/projects/projects_command.rb +30 -0
  240. data/lib/jets/commands/rake/rake_command.rb +59 -0
  241. data/lib/jets/commands/releases/releases_command.rb +124 -0
  242. data/lib/jets/commands/rollback/rollback_command.rb +33 -0
  243. data/lib/jets/commands/routes/routes_command.rb +19 -0
  244. data/lib/jets/commands/runner/runner_command.rb +60 -0
  245. data/lib/jets/commands/server/server_command.rb +291 -0
  246. data/lib/jets/commands/stacks/stacks_command.rb +39 -0
  247. data/lib/jets/commands/status/status_command.rb +16 -0
  248. data/lib/jets/commands/url/url_command.rb +92 -0
  249. data/lib/jets/commands/version/version_command.rb +11 -0
  250. data/lib/jets/commands.rb +17 -0
  251. data/lib/jets/configuration.rb +166 -0
  252. data/lib/jets/controller/base.rb +105 -183
  253. data/lib/jets/controller/compat/abstract_controller/base.rb +126 -0
  254. data/lib/jets/controller/compat/action_controller/metal.rb +99 -0
  255. data/lib/jets/controller/compat/caching.rb +13 -0
  256. data/lib/jets/controller/compat/future.rb +13 -0
  257. data/lib/jets/controller/compat/route_set.rb +47 -0
  258. data/lib/jets/controller/decorate/apigw_stage.rb +39 -0
  259. data/lib/jets/controller/{authorization.rb → decorate/authorization.rb} +1 -1
  260. data/lib/jets/controller/decorate/logging.rb +90 -0
  261. data/lib/jets/controller/decorate/redirecting.rb +16 -0
  262. data/lib/jets/controller/decorate/url_for.rb +10 -0
  263. data/lib/jets/controller/{rack/adapter.rb → handler/apigw.rb} +36 -37
  264. data/lib/jets/controller/handler.rb +41 -0
  265. data/lib/jets/controller/middleware/main.rb +16 -8
  266. data/lib/jets/controller/middleware/{local/api_gateway.rb → mimic/apigw.rb} +41 -4
  267. data/lib/jets/controller/middleware/mimic/lambda_context.rb +44 -0
  268. data/lib/jets/controller/middleware/{local.rb → mimic.rb} +36 -51
  269. data/lib/jets/controller/rack_adapter/action.rb +35 -0
  270. data/lib/jets/controller/{rack → rack_adapter}/env.rb +39 -18
  271. data/lib/jets/controller/request/compat/params.rb +144 -0
  272. data/lib/jets/controller/request/compat/request.rb +125 -0
  273. data/lib/jets/controller/request.rb +35 -18
  274. data/lib/jets/controller/response/compat/response.rb +67 -0
  275. data/lib/jets/controller/response.rb +91 -8
  276. data/lib/jets/core.rb +159 -52
  277. data/lib/jets/core_ext/file.rb +9 -0
  278. data/lib/jets/core_ext/kernel.rb +2 -2
  279. data/lib/jets/core_ext/symbol.rb +5 -0
  280. data/lib/jets/core_ext.rb +4 -0
  281. data/lib/jets/dev_caching.rb +44 -0
  282. data/lib/jets/dotenv/ssm.rb +6 -3
  283. data/lib/jets/dotenv.rb +4 -3
  284. data/lib/jets/engine/configuration.rb +96 -0
  285. data/lib/jets/engine/turbines.rb +23 -0
  286. data/lib/jets/engine.rb +380 -0
  287. data/lib/jets/erb.rb +1 -1
  288. data/lib/jets/exception_reporting.rb +43 -0
  289. data/lib/jets/generators/job/job_generator.rb +41 -0
  290. data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +8 -0
  291. data/lib/jets/generators/job/templates/event_types/iot.rb.tt +8 -0
  292. data/lib/jets/generators/job/templates/event_types/kinesis.rb.tt +9 -0
  293. data/lib/jets/generators/job/templates/event_types/log.rb.tt +9 -0
  294. data/lib/jets/generators/job/templates/event_types/rule.rb.tt +23 -0
  295. data/lib/jets/generators/job/templates/event_types/s3.rb.tt +11 -0
  296. data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +8 -0
  297. data/lib/jets/generators/job/templates/event_types/sns.rb.tt +11 -0
  298. data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +11 -0
  299. data/lib/jets/generators/overrides/app/USAGE +38 -0
  300. data/lib/jets/generators/overrides/app/app_generator.rb +148 -0
  301. data/lib/jets/generators/overrides/app/helpers.rb +139 -0
  302. data/lib/jets/generators/overrides/app/templates/.env +10 -0
  303. data/lib/jets/{commands/templates/skeleton/.gitignore → generators/overrides/app/templates/.gitignore.tt} +2 -1
  304. data/lib/jets/generators/overrides/app/templates/.jetsignore +6 -0
  305. data/lib/jets/generators/overrides/app/templates/Gemfile.tt +28 -0
  306. data/lib/jets/generators/overrides/app/templates/Rakefile +2 -0
  307. data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +3 -0
  308. data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +15 -0
  309. data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +5 -0
  310. data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/models/application_record.rb +1 -1
  311. data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +30 -0
  312. data/lib/jets/generators/overrides/app/templates/bin/jets +3 -0
  313. data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +15 -0
  314. data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config/database.yml.tt +1 -1
  315. data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +29 -0
  316. data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +21 -0
  317. data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +23 -0
  318. data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +31 -0
  319. data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +8 -0
  320. data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +11 -0
  321. data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config/routes.rb +5 -1
  322. data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
  323. data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/404.html +6 -6
  324. data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/422.html +6 -6
  325. data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/500.html +6 -6
  326. data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +22 -0
  327. data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +8 -0
  328. data/lib/jets/{generator/templates/rails/scaffold_controller/api_controller.rb → generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt} +5 -9
  329. data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +67 -0
  330. data/lib/jets/generators.rb +112 -0
  331. data/lib/jets/inflections.rb +1 -1
  332. data/lib/jets/info.rb +116 -0
  333. data/lib/jets/initializable.rb +95 -0
  334. data/lib/jets/job/base.rb +11 -8
  335. data/lib/jets/job/dsl/dynamodb_event.rb +25 -14
  336. data/lib/jets/job/dsl/event_source_mapping.rb +1 -1
  337. data/lib/jets/job/dsl/iot_event.rb +6 -6
  338. data/lib/jets/job/dsl/kinesis_event.rb +10 -9
  339. data/lib/jets/job/dsl/log_event.rb +2 -2
  340. data/lib/jets/job/dsl/rule_event.rb +7 -4
  341. data/lib/jets/job/dsl/s3_event.rb +5 -5
  342. data/lib/jets/job/dsl/sns_event.rb +6 -6
  343. data/lib/jets/job/dsl/sqs_event.rb +15 -14
  344. data/lib/jets/job/helpers/{kinesis_event_helper.rb → kinesis_event.rb} +5 -1
  345. data/lib/jets/job/helpers/{log_event_helper.rb → log_event.rb} +5 -1
  346. data/lib/jets/job/helpers/s3_event.rb +50 -0
  347. data/lib/jets/job/helpers/sns_event.rb +26 -0
  348. data/lib/jets/job/helpers/sqs_event.rb +26 -0
  349. data/lib/jets/klass.rb +5 -6
  350. data/lib/jets/lambda/definition.rb +118 -0
  351. data/lib/jets/lambda/dsl/warnings.rb +57 -0
  352. data/lib/jets/lambda/dsl.rb +70 -53
  353. data/lib/jets/lambda/function.rb +3 -3
  354. data/lib/jets/lambda/function_constructor.rb +6 -6
  355. data/lib/jets/lambda/functions.rb +36 -1
  356. data/lib/jets/mega/hash_converter.rb +2 -2
  357. data/lib/jets/mega/request/source.rb +1 -2
  358. data/lib/jets/mega/request.rb +4 -4
  359. data/lib/jets/names.rb +79 -0
  360. data/lib/jets/overrides/dummy/rails.rb +11 -0
  361. data/lib/jets/overrides/lambda/marshaller.rb +10 -0
  362. data/lib/jets/overrides/puma.rb +10 -0
  363. data/lib/jets/paths.rb +243 -0
  364. data/lib/jets/{poly_fun → poly}/base_executor.rb +13 -13
  365. data/lib/jets/{poly_fun → poly}/lambda_executor.rb +2 -2
  366. data/lib/jets/{poly_fun → poly}/node_error.rb +1 -1
  367. data/lib/jets/{poly_fun → poly}/node_executor.rb +4 -4
  368. data/lib/jets/{poly_fun → poly}/python_error.rb +1 -1
  369. data/lib/jets/{poly_fun → poly}/python_executor.rb +2 -2
  370. data/lib/jets/{poly_fun.rb → poly.rb} +12 -12
  371. data/lib/jets/preheat.rb +26 -33
  372. data/lib/jets/processors/deducer.rb +2 -2
  373. data/lib/jets/processors/main_processor.rb +6 -13
  374. data/lib/jets/rack/logger.rb +77 -0
  375. data/lib/jets/router/compat/route_set.rb +177 -0
  376. data/lib/jets/router/dsl/mount.rb +40 -6
  377. data/lib/jets/router/dsl.rb +125 -105
  378. data/lib/jets/router/engine_mount.rb +36 -0
  379. data/lib/jets/router/help.rb +130 -0
  380. data/lib/jets/router/helpers/named_routes/add_full_url.rb +13 -0
  381. data/lib/jets/router/helpers/named_routes/generated.rb +197 -0
  382. data/lib/jets/router/helpers/named_routes/proxy.rb +66 -0
  383. data/lib/jets/router/matcher.rb +140 -17
  384. data/lib/jets/router/resources/options.rb +6 -4
  385. data/lib/jets/router/route/after_initialize.rb +64 -0
  386. data/lib/jets/router/route/as.rb +93 -0
  387. data/lib/jets/router/route/authorizer.rb +1 -0
  388. data/lib/jets/router/route/compat.rb +45 -0
  389. data/lib/jets/router/route/info.rb +74 -0
  390. data/lib/jets/router/route/node.rb +137 -0
  391. data/lib/jets/router/route/path.rb +93 -0
  392. data/lib/jets/router/route.rb +109 -90
  393. data/lib/jets/router/route_set.rb +214 -0
  394. data/lib/jets/router/scope.rb +204 -69
  395. data/lib/jets/router/state.rb +67 -0
  396. data/lib/jets/router/util.rb +1 -31
  397. data/lib/jets/router.rb +64 -150
  398. data/lib/jets/ruby_version_check.rb +15 -0
  399. data/lib/jets/rule/base.rb +1 -0
  400. data/lib/jets/rule/dsl.rb +7 -7
  401. data/lib/jets/secrets.rb +110 -0
  402. data/lib/jets/spec_helpers/controllers/request.rb +22 -16
  403. data/lib/jets/spec_helpers/controllers.rb +32 -24
  404. data/lib/jets/spec_helpers.rb +0 -6
  405. data/lib/jets/stack/builder.rb +3 -2
  406. data/lib/jets/stack/definition.rb +1 -4
  407. data/lib/jets/stack/function.rb +4 -2
  408. data/lib/jets/stack/main/dsl/cloudwatch.rb +4 -4
  409. data/lib/jets/stack/main/dsl/kinesis.rb +2 -2
  410. data/lib/jets/stack/main/dsl/lambda.rb +26 -19
  411. data/lib/jets/stack/main/dsl/sqs.rb +1 -1
  412. data/lib/jets/stack/output/lookup.rb +6 -2
  413. data/lib/jets/stack/output.rb +2 -2
  414. data/lib/jets/stack/parameter.rb +2 -2
  415. data/lib/jets/stack/resource.rb +3 -3
  416. data/lib/jets/stack/s3_event.rb +51 -37
  417. data/lib/jets/stack.rb +1 -1
  418. data/lib/jets/tasks/engine.rake +85 -0
  419. data/lib/jets/tasks/framework.rake +66 -0
  420. data/lib/jets/tasks/log.rake +41 -0
  421. data/lib/jets/tasks/middleware.rake +9 -0
  422. data/lib/jets/tasks/misc.rake +81 -0
  423. data/lib/jets/tasks/statistics.rake +37 -0
  424. data/lib/jets/tasks/tmp.rake +51 -0
  425. data/lib/jets/tasks/yarn.rake +29 -0
  426. data/lib/jets/tasks/zeitwerk.rake +61 -0
  427. data/lib/jets/tasks.rb +18 -0
  428. data/lib/jets/tmp_loader.rb +1 -1
  429. data/lib/jets/turbine/configurable.rb +36 -0
  430. data/lib/jets/turbine/configuration.rb +101 -0
  431. data/lib/jets/turbine.rb +164 -20
  432. data/lib/jets/util/camelize.rb +24 -0
  433. data/lib/jets/util/yamler.rb +18 -0
  434. data/lib/jets/version.rb +1 -1
  435. data/lib/jets.rb +9 -14
  436. metadata +462 -349
  437. data/.python-version +0 -1
  438. data/.ruby-version +0 -1
  439. data/bin/release +0 -9
  440. data/lib/jets/application/defaults.rb +0 -200
  441. data/lib/jets/builders/reconfigure_rails/config/initializers/jets.rb +0 -16
  442. data/lib/jets/builders/reconfigure_rails.rb +0 -114
  443. data/lib/jets/cfn/builders/api_gateway_builder.rb +0 -123
  444. data/lib/jets/cfn/builders/api_resources_builder.rb +0 -44
  445. data/lib/jets/cfn/builders/base_child_builder.rb +0 -69
  446. data/lib/jets/cfn/builders/controller_builder.rb +0 -50
  447. data/lib/jets/cfn/builders/function_builder.rb +0 -14
  448. data/lib/jets/cfn/builders/interface.rb +0 -133
  449. data/lib/jets/cfn/builders/job_builder.rb +0 -14
  450. data/lib/jets/cfn/builders/parent_builder.rb +0 -130
  451. data/lib/jets/cfn/built_template.rb +0 -15
  452. data/lib/jets/cfn/template_source.rb +0 -61
  453. data/lib/jets/commands/base.rb +0 -145
  454. data/lib/jets/commands/call.rb +0 -182
  455. data/lib/jets/commands/clean.rb +0 -19
  456. data/lib/jets/commands/configure.rb +0 -51
  457. data/lib/jets/commands/console.rb +0 -12
  458. data/lib/jets/commands/db/environment-task.rake +0 -3
  459. data/lib/jets/commands/db/tasks/dummy/app.rb +0 -25
  460. data/lib/jets/commands/db/tasks/dummy/config.rb +0 -14
  461. data/lib/jets/commands/db/tasks.rb +0 -34
  462. data/lib/jets/commands/db.rb +0 -13
  463. data/lib/jets/commands/dbconsole.rb +0 -134
  464. data/lib/jets/commands/delete.rb +0 -136
  465. data/lib/jets/commands/dynamodb/migrate.rb +0 -9
  466. data/lib/jets/commands/dynamodb/migrator.rb +0 -36
  467. data/lib/jets/commands/dynamodb.rb +0 -19
  468. data/lib/jets/commands/gems.rb +0 -13
  469. data/lib/jets/commands/help/call.md +0 -69
  470. data/lib/jets/commands/help/dynamodb/generate.md +0 -52
  471. data/lib/jets/commands/help/dynamodb/migrate.md +0 -4
  472. data/lib/jets/commands/help/gems/check.md +0 -6
  473. data/lib/jets/commands/help/routes.md +0 -16
  474. data/lib/jets/commands/help/runner.md +0 -17
  475. data/lib/jets/commands/help.rb +0 -9
  476. data/lib/jets/commands/import/base.rb +0 -49
  477. data/lib/jets/commands/import/cheatsheet.rb +0 -35
  478. data/lib/jets/commands/import/rack.rb +0 -16
  479. data/lib/jets/commands/import/rails.rb +0 -74
  480. data/lib/jets/commands/import/sequence.rb +0 -90
  481. data/lib/jets/commands/import/templates/config/database.yml +0 -30
  482. data/lib/jets/commands/import/templates/submodules-cheatsheet.md +0 -89
  483. data/lib/jets/commands/import.rb +0 -12
  484. data/lib/jets/commands/main.rb +0 -166
  485. data/lib/jets/commands/markdown/creator.rb +0 -58
  486. data/lib/jets/commands/markdown/index.rb +0 -27
  487. data/lib/jets/commands/markdown/page.rb +0 -125
  488. data/lib/jets/commands/markdown/shell.rb +0 -11
  489. data/lib/jets/commands/new.rb +0 -173
  490. data/lib/jets/commands/rake_command.rb +0 -61
  491. data/lib/jets/commands/rake_tasks.rb +0 -50
  492. data/lib/jets/commands/runner.rb +0 -16
  493. data/lib/jets/commands/sequence.rb +0 -105
  494. data/lib/jets/commands/stack_info.rb +0 -30
  495. data/lib/jets/commands/templates/skeleton/.env.development.tt +0 -3
  496. data/lib/jets/commands/templates/skeleton/.env.test +0 -3
  497. data/lib/jets/commands/templates/skeleton/.env.tt +0 -3
  498. data/lib/jets/commands/templates/skeleton/.jetskeep +0 -1
  499. data/lib/jets/commands/templates/skeleton/Gemfile.tt +0 -40
  500. data/lib/jets/commands/templates/skeleton/Procfile +0 -7
  501. data/lib/jets/commands/templates/skeleton/Rakefile +0 -2
  502. data/lib/jets/commands/templates/skeleton/app/models/application_item.rb +0 -2
  503. data/lib/jets/commands/templates/skeleton/app/views/layouts/application.html.erb.tt +0 -26
  504. data/lib/jets/commands/templates/skeleton/config/application.rb.tt +0 -71
  505. data/lib/jets/commands/templates/skeleton/config/dynamodb.yml +0 -22
  506. data/lib/jets/commands/templates/skeleton/config/environments/development.rb +0 -7
  507. data/lib/jets/commands/templates/skeleton/config/environments/production.rb +0 -9
  508. data/lib/jets/commands/templates/skeleton/config/environments/test.rb +0 -7
  509. data/lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt +0 -23
  510. data/lib/jets/commands/templates/webpacker/app/javascript/packs/theme.scss.tt +0 -24
  511. data/lib/jets/commands/upgrade/templates/bin/webpack +0 -19
  512. data/lib/jets/commands/upgrade/templates/bin/webpack-dev-server +0 -19
  513. data/lib/jets/commands/upgrade/version1.rb +0 -136
  514. data/lib/jets/commands/upgrade.rb +0 -105
  515. data/lib/jets/commands/url.rb +0 -69
  516. data/lib/jets/commands/webpacker_template.rb +0 -18
  517. data/lib/jets/controller/callbacks.rb +0 -73
  518. data/lib/jets/controller/cookies/jar.rb +0 -269
  519. data/lib/jets/controller/cookies.rb +0 -38
  520. data/lib/jets/controller/error/invalid_authenticity_token.rb +0 -6
  521. data/lib/jets/controller/error.rb +0 -4
  522. data/lib/jets/controller/forgery_protection.rb +0 -43
  523. data/lib/jets/controller/layout.rb +0 -17
  524. data/lib/jets/controller/middleware/cors.rb +0 -60
  525. data/lib/jets/controller/middleware/local/mimic_aws_call.rb +0 -38
  526. data/lib/jets/controller/middleware/local/route_matcher.rb +0 -22
  527. data/lib/jets/controller/middleware/reloader.rb +0 -15
  528. data/lib/jets/controller/parameters_filter.rb +0 -29
  529. data/lib/jets/controller/params.rb +0 -117
  530. data/lib/jets/controller/redirection.rb +0 -61
  531. data/lib/jets/controller/rendering/rack_renderer.rb +0 -267
  532. data/lib/jets/controller/rendering.rb +0 -96
  533. data/lib/jets/controller/stage.rb +0 -34
  534. data/lib/jets/controller.rb +0 -3
  535. data/lib/jets/db.rb +0 -15
  536. data/lib/jets/generator/templates/active_job/job/templates/job.rb.tt +0 -8
  537. data/lib/jets/generator/templates/erb/controller/view.html.erb +0 -2
  538. data/lib/jets/generator/templates/erb/scaffold/index.html.erb +0 -29
  539. data/lib/jets/generator/templates/rails/controller/controller.rb +0 -13
  540. data/lib/jets/generator/templates/rails/helper/helper.rb +0 -4
  541. data/lib/jets/generator/templates/rails/scaffold_controller/controller.rb +0 -67
  542. data/lib/jets/generator.rb +0 -112
  543. data/lib/jets/internal/app/controllers/jets/bare_controller.rb +0 -16
  544. data/lib/jets/internal/app/controllers/jets/rack_controller.rb +0 -12
  545. data/lib/jets/internal/app/functions/jets/base_path.rb +0 -18
  546. data/lib/jets/internal/app/functions/jets/base_path_mapping.rb +0 -100
  547. data/lib/jets/internal/app/helpers/jets/mailers_helper.rb +0 -9
  548. data/lib/jets/internal/app/jobs/jets/preheat_job.rb +0 -70
  549. data/lib/jets/internal/app/views/jets/mailers/index.html.erb +0 -8
  550. data/lib/jets/internal/app/views/jets/mailers/mailer.html.erb +0 -6
  551. data/lib/jets/internal/turbines/jets/mailer.rb +0 -52
  552. data/lib/jets/job/helpers/s3_event_helper.rb +0 -13
  553. data/lib/jets/lambda/task.rb +0 -111
  554. data/lib/jets/logger.rb +0 -21
  555. data/lib/jets/middleware/configurator.rb +0 -84
  556. data/lib/jets/middleware/default_stack.rb +0 -53
  557. data/lib/jets/middleware/layer.rb +0 -34
  558. data/lib/jets/middleware/stack.rb +0 -77
  559. data/lib/jets/middleware.rb +0 -33
  560. data/lib/jets/naming.rb +0 -63
  561. data/lib/jets/overrides/rails/action_controller.rb +0 -13
  562. data/lib/jets/overrides/rails/asset_tag_helper.rb +0 -114
  563. data/lib/jets/overrides/rails/common_methods.rb +0 -13
  564. data/lib/jets/overrides/rails/migration_checker.rb +0 -34
  565. data/lib/jets/overrides/rails/rendering_helper.rb +0 -27
  566. data/lib/jets/overrides/rails/url_helper.rb +0 -88
  567. data/lib/jets/overrides/rails.rb +0 -6
  568. data/lib/jets/rack_server.rb +0 -86
  569. data/lib/jets/resource/api_gateway/base_path/function.rb +0 -49
  570. data/lib/jets/resource/api_gateway/base_path/role.rb +0 -76
  571. data/lib/jets/resource/api_gateway/cors.rb +0 -61
  572. data/lib/jets/resource/api_gateway/method.rb +0 -102
  573. data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +0 -16
  574. data/lib/jets/resource/base.rb +0 -28
  575. data/lib/jets/resource/child_stack/api_deployment.rb +0 -58
  576. data/lib/jets/resource/child_stack/api_gateway.rb +0 -23
  577. data/lib/jets/resource/child_stack/api_resource/page.rb +0 -20
  578. data/lib/jets/resource/child_stack/api_resource.rb +0 -54
  579. data/lib/jets/resource/child_stack/base.rb +0 -24
  580. data/lib/jets/resource/iam/base_role_definition.rb +0 -47
  581. data/lib/jets/resource/lambda/function.rb +0 -221
  582. data/lib/jets/resource/logs/subscription_filter.rb +0 -31
  583. data/lib/jets/resource/permission.rb +0 -45
  584. data/lib/jets/resource.rb +0 -71
  585. data/lib/jets/router/error.rb +0 -4
  586. data/lib/jets/router/finder.rb +0 -47
  587. data/lib/jets/router/helpers/core_helper.rb +0 -27
  588. data/lib/jets/router/helpers/named_routes_helper.rb +0 -8
  589. data/lib/jets/router/helpers.rb +0 -4
  590. data/lib/jets/router/method_creator/code.rb +0 -99
  591. data/lib/jets/router/method_creator/edit.rb +0 -12
  592. data/lib/jets/router/method_creator/generic.rb +0 -11
  593. data/lib/jets/router/method_creator/index.rb +0 -48
  594. data/lib/jets/router/method_creator/new.rb +0 -12
  595. data/lib/jets/router/method_creator/root.rb +0 -15
  596. data/lib/jets/router/method_creator/show.rb +0 -12
  597. data/lib/jets/router/method_creator.rb +0 -50
  598. data/lib/jets/turbo/database_yaml.rb +0 -41
  599. data/lib/jets/turbo/project/.gitignore +0 -12
  600. data/lib/jets/turbo/project/.jetskeep +0 -1
  601. data/lib/jets/turbo/project/Gemfile +0 -16
  602. data/lib/jets/turbo/project/Rakefile +0 -2
  603. data/lib/jets/turbo/project/app/controllers/application_controller.rb +0 -2
  604. data/lib/jets/turbo/project/app/helpers/application_helper.rb +0 -2
  605. data/lib/jets/turbo/project/app/jobs/application_job.rb +0 -4
  606. data/lib/jets/turbo/project/config/application.rb +0 -5
  607. data/lib/jets/turbo/project/config/routes.rb +0 -4
  608. data/lib/jets/turbo/project/config.ru +0 -5
  609. data/lib/jets/turbo/rails.rb +0 -127
  610. data/lib/jets/turbo/templates/config/database.yml +0 -30
  611. data/lib/jets/turbo.rb +0 -56
  612. data/readme/prerelease.md +0 -6
  613. data/readme/testing.md +0 -60
  614. /data/{lib/jets → engines}/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -0
  615. /data/lib/jets/{commands → command}/help/build.md +0 -0
  616. /data/lib/jets/{commands → command}/help/clean/build.md +0 -0
  617. /data/lib/jets/{commands → command}/help/clean/log.md +0 -0
  618. /data/lib/jets/{commands → command}/help/console.md +0 -0
  619. /data/lib/jets/{commands → command}/help/db/generate.md +0 -0
  620. /data/lib/jets/{commands → command}/help/dbconsole.md +0 -0
  621. /data/lib/jets/{commands → command}/help/degenerate.md +0 -0
  622. /data/lib/jets/{commands → command}/help/delete.md +0 -0
  623. /data/lib/jets/{commands → command}/help/generate.md +0 -0
  624. /data/lib/jets/{commands → command}/help/import/rack.md +0 -0
  625. /data/lib/jets/{commands → command}/help/import/rails.md +0 -0
  626. /data/lib/jets/{commands → command}/help/server.md +0 -0
  627. /data/lib/jets/{commands → command}/help/status.md +0 -0
  628. /data/lib/jets/{commands → command}/help/upgrade.md +0 -0
  629. /data/lib/jets/{commands → command}/help/url.md +0 -0
  630. /data/lib/jets/{generator/templates/active_job → generators}/job/templates/application_job.rb.tt +0 -0
  631. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/.rspec +0 -0
  632. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/README.md +0 -0
  633. /data/{.gitmodules → lib/jets/generators/overrides/app/templates/app/assets/images/.keep} +0 -0
  634. /data/lib/jets/{commands/templates/skeleton/db/.gitkeep → generators/overrides/app/templates/app/assets/javascripts/.keep} +0 -0
  635. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/controllers/application_controller.rb +0 -0
  636. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/helpers/application_helper.rb +0 -0
  637. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/app/jobs/application_job.rb +0 -0
  638. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/config.ru +0 -0
  639. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/public/favicon.ico +0 -0
  640. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/controllers/posts_controller_spec.rb +0 -0
  641. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/fixtures/payloads/posts-index.json +0 -0
  642. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/fixtures/payloads/posts-show.json +0 -0
  643. /data/lib/jets/{commands/templates/skeleton → generators/overrides/app/templates}/spec/spec_helper.rb.tt +0 -0
  644. /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/_form.html.erb +0 -0
  645. /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/edit.html.erb +0 -0
  646. /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/new.html.erb +0 -0
  647. /data/lib/jets/{generator → generators/overrides}/templates/erb/scaffold/show.html.erb +0 -0
  648. /data/lib/jets/{generator → generators/overrides}/templates/rails/assets/javascript.js +0 -0
  649. /data/lib/jets/{generator → generators/overrides}/templates/rails/assets/stylesheet.css +0 -0
  650. /data/lib/jets/{generator → generators/overrides}/templates/rails/scaffold/scaffold.css +0 -0
@@ -1,4 +1,4 @@
1
- class Jets::Resource::ApiGateway::RestApi::Routes::Change
1
+ class Jets::Cfn::Resource::ApiGateway::RestApi::Routes::Change
2
2
  class Page < Base
3
3
  def changed?
4
4
  route_page_moved? || old_api_template?
@@ -33,15 +33,15 @@ class Jets::Resource::ApiGateway::RestApi::Routes::Change
33
33
  # logical id to page map
34
34
  # Important: In Cfn::Builders::ApiGatewayBuilder, the add_gateway_routes and ApiResourcesBuilder needs to run
35
35
  # before the parent add_gateway_rest_api method.
36
- def local_logical_ids_map(path_expression="#{Jets::Naming.template_path_prefix}-api-resources-*.yml")
36
+ def local_logical_ids_map(path_expression="#{Jets::Names.templates_folder}/api-resources-*.yml")
37
37
  logical_ids = {} # logical id => page number
38
38
 
39
39
  Dir.glob(path_expression).each do |path|
40
40
  md = path.match(/-api-resources-(\d+).yml/)
41
41
  page_number = md[1]
42
42
 
43
- template = Jets::Cfn::BuiltTemplate.get(path)
44
- template['Resources'].keys.each do |logical_id|
43
+ template = Jets::Cfn::Template.load_file(path)
44
+ template[:Resources].keys.each do |logical_id|
45
45
  logical_ids[logical_id] = page_number
46
46
  end
47
47
  end
@@ -55,7 +55,7 @@ class Jets::Resource::ApiGateway::RestApi::Routes::Change
55
55
 
56
56
  parent_resources.each do |resource|
57
57
  stack_name = resource.physical_resource_id # full physical id can be used as stack name also
58
- regexp = Regexp.new("#{Jets.config.project_namespace}-ApiResources(\\d+)-") # tricky to escape \d pattern
58
+ regexp = Regexp.new("#{Jets.project_namespace}-ApiResources(\\d+)-") # tricky to escape \d pattern
59
59
  md = stack_name.match(regexp)
60
60
  if md
61
61
  page_number = md[1]
@@ -85,7 +85,7 @@ class Jets::Resource::ApiGateway::RestApi::Routes::Change
85
85
  end
86
86
 
87
87
  def parent_resources
88
- resp = cfn.describe_stack_resources(stack_name: Jets::Naming.parent_stack_name)
88
+ resp = cfn.describe_stack_resources(stack_name: Jets::Names.parent_stack_name)
89
89
  resp.stack_resources
90
90
  end
91
91
  memoize :parent_resources
@@ -1,10 +1,15 @@
1
1
  # Detects route to changes
2
- class Jets::Resource::ApiGateway::RestApi::Routes::Change
2
+ class Jets::Cfn::Resource::ApiGateway::RestApi::Routes::Change
3
3
  class To < Base
4
4
  def changed?
5
5
  deployed_routes.each do |deployed_route|
6
+ next if deployed_route.engine # skip engine routes
7
+ next if deployed_route.internal # skip internal routes
8
+
6
9
  new_route = find_comparable_route(deployed_route)
7
- if new_route && new_route.to != deployed_route.to
10
+ next unless new_route
11
+
12
+ if new_route.to != deployed_route.to
8
13
  # change in already deployed route has been detected, requires bluegreen deploy
9
14
  return true
10
15
  end
@@ -18,7 +23,7 @@ class Jets::Resource::ApiGateway::RestApi::Routes::Change
18
23
  def find_comparable_route(deployed_route)
19
24
  new_routes.find do |new_route|
20
25
  new_route.path == deployed_route.path &&
21
- new_route.method == deployed_route.method
26
+ new_route.http_method == deployed_route.http_method
22
27
  end
23
28
  end
24
29
  end
@@ -1,5 +1,5 @@
1
1
  # Detects route variable changes
2
- class Jets::Resource::ApiGateway::RestApi::Routes::Change
2
+ class Jets::Cfn::Resource::ApiGateway::RestApi::Routes::Change
3
3
  class Variable < Base
4
4
  def changed?
5
5
  changed = false
@@ -29,7 +29,7 @@ class Jets::Resource::ApiGateway::RestApi::Routes::Change
29
29
  end
30
30
 
31
31
  def collision
32
- @collision ||= Jets::Resource::ApiGateway::RestApi::Routes::Collision.new
32
+ @collision ||= Jets::Cfn::Resource::ApiGateway::RestApi::Routes::Collision.new
33
33
  end
34
34
  end
35
35
  end
@@ -0,0 +1,27 @@
1
+ # Detects route changes
2
+ class Jets::Cfn::Resource::ApiGateway::RestApi::Routes
3
+ class Change
4
+ include Jets::AwsServices
5
+
6
+ def changed?
7
+ return false unless parent_stack_exists?
8
+ return true if reset?
9
+
10
+ # Note: Variable.changed? will likely always true in one_apigw_method_for_all_routes mode
11
+ # since parent variables are allowed to vary in Jets v5.
12
+ if Jets.config.cfn.build.routes == "one_apigw_method_for_all_routes"
13
+ MediaTypes.changed? || To.changed?
14
+ else
15
+ MediaTypes.changed? || To.changed? || Variable.changed? || Page.changed?
16
+ end
17
+ end
18
+
19
+ def reset?
20
+ ENV['JETS_RESET'] || ENV['JETS_API_REPLACE'] || ENV['JETS_REPLACE_API']
21
+ end
22
+
23
+ def parent_stack_exists?
24
+ stack_exists?(Jets::Names.parent_stack_name)
25
+ end
26
+ end
27
+ end
@@ -1,4 +1,4 @@
1
- class Jets::Resource::ApiGateway::RestApi::Routes::Collision
1
+ class Jets::Cfn::Resource::ApiGateway::RestApi::Routes::Collision
2
2
  class VariableException < RuntimeError
3
3
  def initialize(message="Route variable collisions")
4
4
  super(message)
@@ -1,5 +1,5 @@
1
1
  # Detects path variable collisions
2
- class Jets::Resource::ApiGateway::RestApi::Routes
2
+ class Jets::Cfn::Resource::ApiGateway::RestApi::Routes
3
3
  class Collision
4
4
  attr_reader :collisions
5
5
  def initialize
@@ -1,4 +1,4 @@
1
- class Jets::Resource::ApiGateway::RestApi
1
+ class Jets::Cfn::Resource::ApiGateway::RestApi
2
2
  class Routes
3
3
  def self.changed?
4
4
  Change.new.changed?
@@ -1,17 +1,18 @@
1
- module Jets::Resource::ApiGateway
2
- class RestApi < Jets::Resource::Base
1
+ module Jets::Cfn::Resource::ApiGateway
2
+ class RestApi < Jets::Cfn::Base
3
3
  def definition
4
4
  properties = {
5
- name: Jets::Naming.gateway_api_name,
6
- endpoint_configuration: { types: endpoint_types }
5
+ Name: Jets::Names.gateway_api_name,
6
+ EndpointConfiguration: { Types: endpoint_types }
7
7
  }
8
- properties[:binary_media_types] = binary_media_types if binary_media_types
9
- properties[:policy] = endpoint_policy if endpoint_policy
8
+ properties[:EndpointConfiguration][:VpcEndpointIds] = vpce_ids if vpce_ids
9
+ properties[:BinaryMediaTypes] = binary_media_types if binary_media_types
10
+ properties[:Policy] = endpoint_policy if endpoint_policy
10
11
 
11
12
  {
12
13
  internal_logical_id => {
13
- type: "AWS::ApiGateway::RestApi",
14
- properties: properties
14
+ Type: "AWS::ApiGateway::RestApi",
15
+ Properties: properties
15
16
  }
16
17
  }
17
18
  end
@@ -31,9 +32,9 @@ module Jets::Resource::ApiGateway
31
32
 
32
33
  def outputs
33
34
  {
34
- "RestApi" => "!Ref #{internal_logical_id}",
35
- "Region" => "!Ref AWS::Region",
36
- "RootResourceId" => "!GetAtt #{internal_logical_id}.RootResourceId",
35
+ RestApi: "!Ref #{internal_logical_id}",
36
+ Region: "!Ref AWS::Region",
37
+ RootResourceId: "!GetAtt #{internal_logical_id}.RootResourceId",
37
38
  }
38
39
  end
39
40
 
@@ -60,5 +61,14 @@ module Jets::Resource::ApiGateway
60
61
 
61
62
  endpoint_policy
62
63
  end
64
+
65
+ private
66
+
67
+ def vpce_ids
68
+ ids = Jets.config.api.vpc_endpoint_ids
69
+ return nil if ids.nil? || ids.empty?
70
+
71
+ ids
72
+ end
63
73
  end
64
- end
74
+ end
@@ -1,6 +1,6 @@
1
1
  # Does not do full expansion, mainly a container that holds the definition and
2
2
  # standardizes it without camelizing it.
3
- class Jets::Resource
3
+ class Jets::Cfn::Resource
4
4
  class Associated
5
5
  extend Memoist
6
6
 
@@ -1,5 +1,5 @@
1
- module Jets::Resource::Config
2
- class ConfigRule < Jets::Resource::Base
1
+ module Jets::Cfn::Resource::Config
2
+ class ConfigRule < Jets::Cfn::Base
3
3
  def initialize(app_class, meth, props={})
4
4
  @app_class = app_class.to_s
5
5
  @meth = meth
@@ -9,35 +9,35 @@ module Jets::Resource::Config
9
9
  def definition
10
10
  base = {
11
11
  config_rule_logical_id => {
12
- type: "AWS::Config::ConfigRule",
13
- properties: definition_properties
12
+ Type: "AWS::Config::ConfigRule",
13
+ Properties: definition_properties
14
14
  }
15
15
  }
16
16
 
17
17
  # Explicitly set depends_on to help with CloudFormation random race condition.
18
18
  # Seems to be a new CloudFormation and AWS Config resource issue.
19
- if definition_properties[:source][:owner] == 'CUSTOM_LAMBDA'
20
- base[config_rule_logical_id][:depends_on] = "{namespace}Permission"
19
+ if definition_properties[:Source][:Owner] == 'CUSTOM_LAMBDA'
20
+ base[config_rule_logical_id][:DependsOn] = "{namespace}Permission"
21
21
  end
22
22
 
23
23
  base
24
24
  end
25
25
 
26
- # Do not name this method properties, that is a computed method of `Jets::Resource::Base`
26
+ # Do not name this method properties, that is a computed method of `Jets::Cfn::Resource`
27
27
  def definition_properties
28
28
  {
29
- config_rule_name: config_rule_name,
30
- source: {
31
- owner: "CUSTOM_LAMBDA",
32
- source_identifier: "!GetAtt {namespace}LambdaFunction.Arn",
33
- source_details: [
29
+ ConfigRuleName: config_rule_name,
30
+ Source: {
31
+ Owner: "CUSTOM_LAMBDA",
32
+ SourceIdentifier: "!GetAtt {namespace}LambdaFunction.Arn",
33
+ SourceDetails: [
34
34
  {
35
- event_source: "aws.config",
36
- message_type: "ConfigurationItemChangeNotification"
35
+ EventSource: "aws.config",
36
+ MessageType: "ConfigurationItemChangeNotification"
37
37
  },
38
38
  {
39
- event_source: "aws.config",
40
- message_type: "OversizedConfigurationItemChangeNotification"
39
+ EventSource: "aws.config",
40
+ MessageType: "OversizedConfigurationItemChangeNotification"
41
41
  }
42
42
  ]
43
43
  },
@@ -45,7 +45,7 @@ module Jets::Resource::Config
45
45
  end
46
46
 
47
47
  def config_rule_logical_id
48
- "{namespace}_config_rule"
48
+ "{namespace}ConfigRule"
49
49
  end
50
50
 
51
51
  def config_rule_name
@@ -65,7 +65,7 @@ module Jets::Resource::Config
65
65
  end
66
66
 
67
67
  if namespace.nil?
68
- Jets.config.project_namespace
68
+ Jets.project_namespace
69
69
  else
70
70
  namespace
71
71
  end
@@ -1,13 +1,13 @@
1
1
  # ManagedRule is just different enough to be a separate class vs being part of the
2
2
  # ConfigRule class itself.
3
- module Jets::Resource::Config
3
+ module Jets::Cfn::Resource::Config
4
4
  class ManagedRule < ConfigRule
5
5
  def definition_properties
6
6
  {
7
- config_rule_name: config_rule_name,
8
- source: {
9
- owner: "AWS",
10
- source_identifier: @meth.upcase,
7
+ ConfigRuleName: config_rule_name,
8
+ Source: {
9
+ Owner: "AWS",
10
+ SourceIdentifier: @meth.upcase,
11
11
  },
12
12
  }.deep_merge(@props)
13
13
  end
@@ -1,5 +1,5 @@
1
- module Jets::Resource::Events
2
- class Rule < Jets::Resource::Base
1
+ module Jets::Cfn::Resource::Events
2
+ class Rule < Jets::Cfn::Base
3
3
  def initialize(props={})
4
4
  @props = props # associated_properties from dsl.rb
5
5
  end
@@ -7,25 +7,25 @@ module Jets::Resource::Events
7
7
  def definition
8
8
  {
9
9
  rule_logical_id => {
10
- type: "AWS::Events::Rule",
11
- properties: merged_properties
10
+ Type: "AWS::Events::Rule",
11
+ Properties: merged_properties
12
12
  }
13
13
  }
14
14
  end
15
15
 
16
- # Do not name this method properties, that is a computed method of `Jets::Resource::Base`
16
+ # Do not name this method properties, that is a computed method of `Jets::Cfn::Resource`
17
17
  def merged_properties
18
18
  {
19
- state: "ENABLED",
20
- targets: [{
21
- arn: "!GetAtt {namespace}LambdaFunction.Arn",
22
- id: "{namespace}RuleTarget"
19
+ State: "ENABLED",
20
+ Targets: [{
21
+ Arn: "!GetAtt {namespace}LambdaFunction.Arn",
22
+ Id: "{namespace}RuleTarget"
23
23
  }]
24
24
  }.deep_merge(@props)
25
25
  end
26
26
 
27
27
  def rule_logical_id
28
- "{namespace}_events_rule"
28
+ "{namespace}EventsRule"
29
29
  end
30
30
  end
31
31
  end
@@ -1,5 +1,5 @@
1
- module Jets::Resource::Iam
2
- class ApplicationRole < Jets::Resource::Base
1
+ module Jets::Cfn::Resource::Iam
2
+ class ApplicationRole < Jets::Cfn::Base
3
3
  include BaseRoleDefinition
4
4
 
5
5
  def initialize
@@ -11,11 +11,11 @@ module Jets::Resource::Iam
11
11
  end
12
12
 
13
13
  def role_logical_id
14
- "iam_role"
14
+ "IamRole"
15
15
  end
16
16
 
17
17
  def policy_name
18
- "#{Jets.config.project_namespace}-application-policy"
18
+ "#{Jets.project_namespace}-application-policy"
19
19
  end
20
20
 
21
21
  def outputs
@@ -0,0 +1,56 @@
1
+ module Jets::Cfn::Resource::Iam
2
+ module BaseRoleDefinition
3
+ attr_reader :policy_definitions, :managed_policy_definitions
4
+
5
+ def definition
6
+ logical_id = role_logical_id
7
+
8
+ # Do not assign pretty role_name because long controller names might hit the 64-char
9
+ # limit. Also, IAM roles are global, so assigning role names prevents cross region deploys.
10
+ definition = {
11
+ logical_id => {
12
+ Type: "AWS::IAM::Role",
13
+ Properties: {
14
+ Path: "/",
15
+ AssumeRolePolicyDocument: {
16
+ Version: "2012-10-17",
17
+ Statement: [{
18
+ Effect: "Allow",
19
+ Principal: {Service: ["lambda.amazonaws.com"]},
20
+ Action: ["sts:AssumeRole"]}
21
+ ]
22
+ }
23
+ }
24
+ }
25
+ }
26
+
27
+ # Add vpc permissions to all policies
28
+ definition[logical_id][:Properties][:Policies] = [
29
+ PolicyName: "vpc", # required, limited to 128-chars
30
+ PolicyDocument: vpc_policy_document,
31
+ ] if vpc_policy_document
32
+
33
+ unless managed_policy_arns.empty?
34
+ definition[logical_id][:Properties][:ManagedPolicyArns] = managed_policy_arns
35
+ end
36
+
37
+ definition
38
+ end
39
+
40
+ def vpc_policy_document
41
+ if Jets.config.function.vpc_config
42
+ {
43
+ Statement: [Jets.config.vpc_iam_policy_statement]
44
+ }
45
+ end
46
+ end
47
+
48
+ def policy_document
49
+ PolicyDocument.new(@policy_definitions.flatten.uniq).policy_document
50
+ end
51
+
52
+ def managed_policy_arns
53
+ ManagedPolicy.new(@managed_policy_definitions.flatten.uniq).arns
54
+ end
55
+ end
56
+ end
@@ -1,5 +1,5 @@
1
- module Jets::Resource::Iam
2
- class ClassRole < Jets::Resource::Base
1
+ module Jets::Cfn::Resource::Iam
2
+ class ClassRole < Jets::Cfn::Base
3
3
  include BaseRoleDefinition
4
4
 
5
5
  def initialize(app_class)
@@ -9,12 +9,12 @@ module Jets::Resource::Iam
9
9
  end
10
10
 
11
11
  def role_logical_id
12
- "{namespace}_iam_role".underscore
12
+ "{namespace}IamRole"
13
13
  end
14
14
 
15
15
  def policy_name
16
16
  class_namespace = replacements[:namespace].underscore.dasherize
17
- "#{Jets.config.project_namespace}-#{class_namespace}-policy" # camelized because used as template value
17
+ "#{Jets.project_namespace}-#{class_namespace}-policy" # camelized because used as template value
18
18
  end
19
19
 
20
20
  def replacements
@@ -41,7 +41,7 @@ module Jets::Resource::Iam
41
41
  end
42
42
 
43
43
  def application_role
44
- Jets::Resource::Iam::ApplicationRole.new
44
+ Jets::Cfn::Resource::Iam::ApplicationRole.new
45
45
  end
46
46
  memoize :application_role
47
47
 
@@ -1,5 +1,5 @@
1
- module Jets::Resource::Iam
2
- class FunctionRole < Jets::Resource::Base
1
+ module Jets::Cfn::Resource::Iam
2
+ class FunctionRole < Jets::Cfn::Base
3
3
  include BaseRoleDefinition
4
4
 
5
5
  def initialize(task)
@@ -9,12 +9,12 @@ module Jets::Resource::Iam
9
9
  end
10
10
 
11
11
  def role_logical_id
12
- "{namespace}_iam_role".underscore
12
+ "{namespace}IamRole"
13
13
  end
14
14
 
15
15
  def policy_name
16
16
  funcion_namespace = replacements[:namespace].underscore.dasherize
17
- "#{Jets.config.project_namespace}-#{funcion_namespace}-policy" # camelized because used as template value
17
+ "#{Jets.project_namespace}-#{funcion_namespace}-policy" # camelized because used as template value
18
18
  end
19
19
 
20
20
  def replacements
@@ -42,12 +42,12 @@ module Jets::Resource::Iam
42
42
  end
43
43
 
44
44
  def class_role
45
- Jets::Resource::Iam::ClassRole.new(@task.class_name.constantize)
45
+ Jets::Cfn::Resource::Iam::ClassRole.new(@task.class_name.constantize)
46
46
  end
47
47
  memoize :class_role
48
48
 
49
49
  def application_role
50
- Jets::Resource::Iam::ApplicationRole.new
50
+ Jets::Cfn::Resource::Iam::ApplicationRole.new
51
51
  end
52
52
  memoize :application_role
53
53
  end
@@ -1,4 +1,4 @@
1
- module Jets::Resource::Iam
1
+ module Jets::Cfn::Resource::Iam
2
2
  class ManagedPolicy
3
3
  extend Memoist
4
4
 
@@ -0,0 +1,31 @@
1
+ module Jets::Cfn::Resource::Iam
2
+ class Policy < Jets::Cfn::Base
3
+ def initialize(role)
4
+ @role = role
5
+ end
6
+ delegate :policy_document, :policy_name, :role_logical_id, :replacements, to: :@role
7
+
8
+ def policy_logical_id
9
+ role_logical_id.sub(/Role$/, "Policy")
10
+ end
11
+
12
+ def definition
13
+ logical_id = policy_logical_id
14
+
15
+ # Do not assign pretty role_name because long controller names might hit the 64-char
16
+ # limit. Also, IAM roles are global, so assigning role names prevents cross region deploys.
17
+ definition = {
18
+ logical_id => {
19
+ Type: "AWS::IAM::Policy",
20
+ Properties: {
21
+ Roles: [Ref: role_logical_id.camelize],
22
+ PolicyName: "#{policy_name[0..127]}", # required, limited to 128-chars
23
+ PolicyDocument: policy_document,
24
+ }
25
+ }
26
+ }
27
+
28
+ definition
29
+ end
30
+ end
31
+ end
@@ -1,20 +1,21 @@
1
- module Jets::Resource::Iam
1
+ module Jets::Cfn::Resource::Iam
2
2
  class PolicyDocument
3
3
  extend Memoist
4
+ include Jets::Util::Camelize
4
5
 
5
6
  attr_reader :definitions
6
7
  def initialize(*definitions)
7
8
  @definitions = definitions.flatten
8
9
  # empty starting policy that will be altered
9
10
  @policy = {
10
- version: "2012-10-17",
11
- statement: []
11
+ Version: "2012-10-17",
12
+ Statement: []
12
13
  }
13
14
  end
14
15
 
15
16
  def policy_document
16
17
  definitions.map { |definition| standardize(definition) }
17
- Jets::Camelizer.transform(@policy)
18
+ camelize(@policy)
18
19
  end
19
20
  memoize :policy_document # only process policy_document once
20
21
 
@@ -23,17 +24,17 @@ module Jets::Resource::Iam
23
24
  when String
24
25
  # Expands simple string from: logs => logs:*
25
26
  definition = "#{definition}:*" unless definition.include?(':')
26
- @policy[:statement] << {
27
- action: [definition],
28
- effect: "Allow",
29
- resource: "*",
27
+ @policy[:Statement] << {
28
+ Action: [definition],
29
+ Effect: "Allow",
30
+ Resource: "*",
30
31
  }
31
32
  when Hash
32
33
  definition = definition.stringify_keys
33
34
  if definition.key?("Version") # special case where we replace the policy entirely
34
35
  @policy = definition
35
36
  else
36
- @policy[:statement] << definition
37
+ @policy[:Statement] << definition
37
38
  end
38
39
  end
39
40
  end
@@ -1,6 +1,6 @@
1
1
  # CloudFormation AWS::IoT::TopicRule docs: https://amzn.to/2SMBOVm
2
- module Jets::Resource::Iot
3
- class TopicRule < Jets::Resource::Base
2
+ module Jets::Cfn::Resource::Iot
3
+ class TopicRule < Jets::Cfn::Base
4
4
  def initialize(props={})
5
5
  @props = props # associated_properties from dsl.rb
6
6
  end
@@ -8,27 +8,27 @@ module Jets::Resource::Iot
8
8
  def definition
9
9
  {
10
10
  topic_logical_id => {
11
- type: "AWS::IoT::TopicRule",
12
- properties: merged_properties,
11
+ Type: "AWS::IoT::TopicRule",
12
+ Properties: merged_properties,
13
13
  }
14
14
  }
15
15
  end
16
16
 
17
- # Do not name this method properties, that is a computed method of `Jets::Resource::Base`
17
+ # Do not name this method properties, that is a computed method of `Jets::Cfn::Resource`
18
18
  def merged_properties
19
19
  {
20
20
  # required properties
21
- topic_rule_payload: {
22
- actions: [{
23
- lambda: { function_arn: "!GetAtt {namespace}LambdaFunction.Arn" }
21
+ TopicRulePayload: {
22
+ Actions: [{
23
+ Lambda: { FunctionArn: "!GetAtt {namespace}LambdaFunction.Arn" }
24
24
  }],
25
- rule_disabled: 'true',
25
+ RuleDisabled: 'false',
26
26
  }
27
27
  }.deep_merge(@props)
28
28
  end
29
29
 
30
30
  def topic_logical_id
31
- "{namespace}_iot_topic_rule"
31
+ "{namespace}IotTopicRule"
32
32
  end
33
33
  end
34
34
  end
@@ -1,6 +1,6 @@
1
1
  # Note the Lambda function timeout must be less than or equal to the sqs queue default timeout.
2
- module Jets::Resource::Lambda
3
- class EventSourceMapping < Jets::Resource::Base
2
+ module Jets::Cfn::Resource::Lambda
3
+ class EventSourceMapping < Jets::Cfn::Base
4
4
  def initialize(props={})
5
5
  @props = props # associated_properties from dsl.rb
6
6
  end
@@ -8,18 +8,18 @@ module Jets::Resource::Lambda
8
8
  def definition
9
9
  # CloudFormation Docs: https://amzn.to/2WM6165
10
10
  properties = {
11
- # batch_size: 10, # Defaults: Kinesis 100, DynamoDB Streams: 100, SQS: 10
12
- # enabled: boolean,
13
- # event_source_arn: string, # required
14
- function_name: "!Ref {namespace}LambdaFunction",
15
- # starting_position: string # reqiured for Required for Amazon Kinesis and Amazon DynamoDB Streams sources
11
+ # BatchSize: 10, # Defaults: Kinesis 100, DynamoDB Streams: 100, SQS: 10
12
+ # Enabled: boolean,
13
+ # EventSourceArn: string, # required
14
+ FunctionName: "!Ref {namespace}LambdaFunction",
15
+ # StartingPosition: string # reqiured for Required for Amazon Kinesis and Amazon DynamoDB Streams sources
16
16
  }
17
17
  properties.merge!(@props)
18
18
 
19
19
  {
20
20
  event_source_mapping_logical_id => {
21
- type: "AWS::Lambda::EventSourceMapping",
22
- properties: properties
21
+ Type: "AWS::Lambda::EventSourceMapping",
22
+ Properties: properties
23
23
  }
24
24
  }
25
25
  end