jets 5.0.14 → 6.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -1
- data/Gemfile +4 -0
- data/README.md +19 -165
- data/Rakefile +3 -3
- data/exe/jets +2 -1
- data/jets.gemspec +15 -19
- data/lib/jets/api/agree.rb +62 -0
- data/lib/jets/api/base.rb +8 -0
- data/lib/jets/api/client.rb +246 -0
- data/lib/jets/api/config.rb +73 -0
- data/lib/jets/api/error.rb +70 -0
- data/lib/jets/api/ping.rb +9 -0
- data/lib/jets/api/project.rb +9 -0
- data/lib/jets/api/release.rb +17 -0
- data/lib/jets/api/response.rb +27 -0
- data/lib/jets/api/sig.rb +13 -0
- data/lib/jets/api/stack.rb +14 -0
- data/lib/jets/api.rb +17 -0
- data/lib/jets/autoloaders/gem.rb +47 -58
- data/lib/jets/autoloaders/main.rb +64 -0
- data/lib/jets/autoloaders.rb +14 -43
- data/lib/jets/aws_services/aws_helpers.rb +17 -0
- data/lib/jets/{aws_info.rb → aws_services/aws_info.rb} +24 -17
- data/lib/jets/aws_services/global_memoist.rb +9 -4
- data/lib/jets/aws_services/s3_bucket.rb +8 -10
- data/lib/jets/aws_services/stack_status.rb +5 -31
- data/lib/jets/aws_services.rb +36 -17
- data/lib/jets/bundle.rb +9 -7
- data/lib/jets/cfn/base.rb +16 -5
- data/lib/jets/cfn/bootstrap.rb +13 -0
- data/lib/jets/cfn/builder/interface.rb +22 -31
- data/lib/jets/cfn/builder/parent/genesis.rb +84 -0
- data/lib/jets/cfn/builder/post_process.rb +3 -3
- data/lib/jets/cfn/delete.rb +17 -0
- data/lib/jets/cfn/deploy.rb +151 -0
- data/lib/jets/cfn/iam/managed_policy.rb +21 -0
- data/lib/jets/cfn/iam/policy.rb +121 -0
- data/lib/jets/cfn/resource/associated.rb +1 -1
- data/lib/jets/cfn/resource/codebuild/fleet.rb +48 -0
- data/lib/jets/cfn/resource/codebuild/iam_role.rb +63 -0
- data/lib/jets/cfn/resource/codebuild/project/base.rb +4 -0
- data/lib/jets/cfn/resource/codebuild/project/ec2.rb +125 -0
- data/lib/jets/cfn/resource/codebuild/project/env.rb +55 -0
- data/lib/jets/cfn/resource/codebuild/project/format_env.rb +35 -0
- data/lib/jets/cfn/resource/codebuild/project/lambda.rb +15 -0
- data/lib/jets/cfn/resource/replacer.rb +5 -5
- data/lib/jets/cfn/resource/s3/bucket.rb +3 -3
- data/lib/jets/cfn/resource/s3/jets_bucket.rb +9 -18
- data/lib/jets/cfn/resource/standardizer.rb +11 -9
- data/lib/jets/cfn/rollback.rb +8 -0
- data/lib/jets/cfn/stack/deployable.rb +16 -0
- data/lib/jets/cfn/stack/rollback.rb +59 -0
- data/lib/jets/cfn/stack/template.rb +47 -0
- data/lib/jets/cfn/stack/yamler.rb +53 -0
- data/lib/jets/cfn/stack.rb +24 -0
- data/lib/jets/cfn/status.rb +41 -6
- data/lib/jets/cfn/teardown/bucket.rb +79 -0
- data/lib/jets/cfn/teardown.rb +20 -0
- data/lib/jets/cli/base.rb +46 -0
- data/lib/jets/cli/bootstrap.rb +17 -0
- data/lib/jets/cli/build.rb +8 -0
- data/lib/jets/cli/call.rb +133 -0
- data/lib/jets/cli/ci/base.rb +54 -0
- data/lib/jets/cli/ci/build.rb +8 -0
- data/lib/jets/cli/ci/delete.rb +25 -0
- data/lib/jets/cli/ci/deploy.rb +17 -0
- data/lib/jets/cli/ci/info.rb +40 -0
- data/lib/jets/cli/ci/init.rb +97 -0
- data/lib/jets/cli/ci/logs.rb +10 -0
- data/lib/jets/cli/ci/start.rb +121 -0
- data/lib/jets/cli/ci/status.rb +29 -0
- data/lib/jets/cli/ci/stop.rb +24 -0
- data/lib/jets/cli/ci/tailer.rb +17 -0
- data/lib/jets/cli/ci/templates/ci.rb.tt +19 -0
- data/lib/jets/cli/ci.rb +55 -0
- data/lib/jets/cli/clean.rb +10 -0
- data/lib/jets/cli/concurrency/base.rb +17 -0
- data/lib/jets/cli/concurrency/get.rb +37 -0
- data/lib/jets/cli/concurrency/info.rb +86 -0
- data/lib/jets/cli/concurrency/set.rb +31 -0
- data/lib/jets/cli/concurrency/unset.rb +21 -0
- data/lib/jets/cli/concurrency.rb +33 -0
- data/lib/jets/cli/curl/adapter/base.rb +8 -0
- data/lib/jets/cli/curl/adapter/cookies/jar.rb +28 -0
- data/lib/jets/cli/curl/adapter/cookies/parser.rb +48 -0
- data/lib/jets/cli/curl/adapter/lambda.rb +142 -0
- data/lib/jets/cli/curl/request.rb +62 -0
- data/lib/jets/cli/curl.rb +9 -0
- data/lib/jets/cli/delete.rb +23 -0
- data/lib/jets/cli/deploy.rb +18 -0
- data/lib/jets/cli/dotenv/base.rb +4 -0
- data/lib/jets/cli/dotenv/get.rb +14 -0
- data/lib/jets/cli/dotenv/list.rb +32 -0
- data/lib/jets/cli/dotenv/set.rb +50 -0
- data/lib/jets/cli/dotenv/ssm.rb +60 -0
- data/lib/jets/cli/dotenv/unset.rb +11 -0
- data/lib/jets/cli/dotenv.rb +28 -0
- data/lib/jets/cli/env/base.rb +13 -0
- data/lib/jets/cli/env/get.rb +13 -0
- data/lib/jets/cli/env/list.rb +19 -0
- data/lib/jets/cli/env/parse.rb +11 -0
- data/lib/jets/cli/env/set.rb +25 -0
- data/lib/jets/cli/env/unset.rb +17 -0
- data/lib/jets/cli/env.rb +29 -0
- data/lib/jets/cli/exec/command.rb +61 -0
- data/lib/jets/cli/exec/repl/history.rb +42 -0
- data/lib/jets/cli/exec/repl.rb +122 -0
- data/lib/jets/cli/exec.rb +14 -0
- data/lib/jets/cli/functions.rb +39 -0
- data/lib/jets/cli/generate/event.rb +29 -0
- data/lib/jets/cli/generate/templates/application_event.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/application_event.rb +4 -0
- data/lib/jets/cli/generate/templates/event_types/dynamodb.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/iot.rb.tt +6 -0
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/kinesis.rb.tt +2 -4
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/log.rb.tt +2 -4
- data/lib/jets/{generators/job → cli/generate}/templates/event_types/rule.rb.tt +2 -4
- data/lib/jets/cli/generate/templates/event_types/s3.rb.tt +13 -0
- data/lib/jets/cli/generate/templates/event_types/scheduled.rb.tt +6 -0
- data/lib/jets/cli/generate/templates/event_types/sns.rb.tt +8 -0
- data/lib/jets/cli/generate/templates/event_types/sqs.rb.tt +9 -0
- data/lib/jets/cli/generate.rb +6 -0
- data/lib/jets/cli/group/actions.rb +57 -0
- data/lib/jets/cli/group/base.rb +12 -0
- data/lib/jets/cli/group/helpers.rb +26 -0
- data/lib/jets/cli/help/build.md +1 -0
- data/lib/jets/cli/help/call.md +28 -0
- data/lib/jets/cli/help/curl.md +82 -0
- data/lib/jets/{command → cli}/help/delete.md +4 -4
- data/lib/jets/cli/help/deploy.md +5 -0
- data/lib/jets/cli/help/dotenv/get.md +4 -0
- data/lib/jets/cli/help/dotenv/list.md +5 -0
- data/lib/jets/cli/help/dotenv/set.md +25 -0
- data/lib/jets/cli/help/dotenv/unset.md +12 -0
- data/lib/jets/cli/help/exec.md +53 -0
- data/lib/jets/cli/help/generate/event.md +11 -0
- data/lib/jets/{command → cli}/help/logs.md +2 -2
- data/lib/jets/{command/help/releases.md → cli/help/release/history.md} +3 -3
- data/lib/jets/cli/help/rollback.md +5 -0
- data/lib/jets/cli/help/schedule/validate.md +1 -0
- data/lib/jets/{command → cli}/help/status.md +1 -1
- data/lib/jets/cli/help.rb +16 -0
- data/lib/jets/cli/init/detect.rb +30 -0
- data/lib/jets/cli/init/templates/config/jets/bootstrap.rb.tt +16 -0
- data/lib/jets/cli/init/templates/config/jets/deploy.rb.tt +43 -0
- data/lib/jets/cli/init/templates/config/jets/project.rb.tt +3 -0
- data/lib/jets/cli/init/templates/env/.env.tt +18 -0
- data/lib/jets/cli/init.rb +66 -0
- data/lib/jets/cli/lambda/checks.rb +22 -0
- data/lib/jets/cli/lambda/function.rb +104 -0
- data/lib/jets/cli/lambda/functions.rb +10 -0
- data/lib/jets/cli/lambda/lookup.rb +68 -0
- data/lib/jets/cli/login.rb +7 -0
- data/lib/jets/cli/logout.rb +7 -0
- data/lib/jets/cli/logs.rb +40 -0
- data/lib/jets/cli/maintenance/base.rb +15 -0
- data/lib/jets/cli/maintenance/mode.rb +44 -0
- data/lib/jets/cli/maintenance/web.rb +31 -0
- data/lib/jets/cli/maintenance/worker/base.rb +22 -0
- data/lib/jets/cli/maintenance/worker/restorer.rb +19 -0
- data/lib/jets/cli/maintenance/worker/saver.rb +15 -0
- data/lib/jets/cli/maintenance/worker/zeroer.rb +19 -0
- data/lib/jets/cli/maintenance/worker.rb +31 -0
- data/lib/jets/cli/maintenance.rb +32 -0
- data/lib/jets/cli/package/dockerfile.rb +9 -0
- data/lib/jets/cli/package.rb +8 -0
- data/lib/jets/cli/ping.rb +10 -0
- data/lib/jets/cli/projects.rb +22 -0
- data/lib/jets/cli/release/base.rb +4 -0
- data/lib/jets/cli/release/history.rb +68 -0
- data/lib/jets/cli/release/info.rb +59 -0
- data/lib/jets/cli/release/rollback.rb +15 -0
- data/lib/jets/cli/release.rb +23 -0
- data/lib/jets/cli/schedule/base.rb +5 -0
- data/lib/jets/cli/schedule/translate.rb +168 -0
- data/lib/jets/cli/schedule/validate.rb +95 -0
- data/lib/jets/cli/schedule.rb +15 -0
- data/lib/jets/cli/stacks.rb +33 -0
- data/lib/jets/cli/stop.rb +31 -0
- data/lib/jets/cli/teardown.rb +8 -0
- data/lib/jets/cli/tip.rb +86 -0
- data/lib/jets/cli/url.rb +41 -0
- data/lib/jets/cli/waf/base.rb +7 -0
- data/lib/jets/cli/waf/build.rb +8 -0
- data/lib/jets/cli/waf/delete.rb +17 -0
- data/lib/jets/cli/waf/deploy.rb +17 -0
- data/lib/jets/cli/waf/info.rb +128 -0
- data/lib/jets/cli/waf/init.rb +40 -0
- data/lib/jets/cli/waf/templates/waf.rb.tt +26 -0
- data/lib/jets/cli/waf.rb +38 -0
- data/lib/jets/cli.rb +180 -28
- data/lib/jets/code/copy/base.rb +84 -0
- data/lib/jets/code/copy/full.rb +9 -0
- data/lib/jets/code/copy/git_copy.rb +26 -0
- data/lib/jets/code/copy/git_inline.rb +13 -0
- data/lib/jets/code/copy/rsync.rb +19 -0
- data/lib/jets/code/dummy.rb +11 -0
- data/lib/jets/code/stager.rb +124 -0
- data/lib/jets/code/user.rb +24 -0
- data/lib/jets/code.rb +80 -0
- data/lib/jets/core/booter.rb +58 -0
- data/lib/jets/core/config/base.rb +17 -0
- data/lib/jets/core/config/bootstrap/cfn.rb +12 -0
- data/lib/jets/core/config/bootstrap/code.rb +16 -0
- data/lib/jets/core/config/bootstrap/codebuild.rb +97 -0
- data/lib/jets/core/config/bootstrap/s3_bucket.rb +19 -0
- data/lib/jets/core/config/bootstrap.rb +24 -0
- data/lib/jets/core/config/helpers/ssm.rb +9 -0
- data/lib/jets/core/config/helpers.rb +5 -0
- data/lib/jets/core/config/info.rb +27 -0
- data/lib/jets/core/config/project.rb +103 -0
- data/lib/jets/core.rb +26 -202
- data/lib/jets/core_ext/bundler.rb +6 -4
- data/lib/jets/core_ext.rb +0 -1
- data/lib/jets/dotenv/convention.rb +86 -0
- data/lib/jets/dotenv/ssm.rb +61 -38
- data/lib/jets/dotenv/var.rb +60 -0
- data/lib/jets/dotenv.rb +55 -50
- data/lib/jets/event/base.rb +55 -0
- data/lib/jets/event/dsl/dynamodb_event.rb +8 -0
- data/lib/jets/event/dsl/iot_event.rb +17 -0
- data/lib/jets/event/dsl/kinesis_event.rb +8 -0
- data/lib/jets/event/dsl/log_event.rb +8 -0
- data/lib/jets/event/dsl/rate_expression.rb +27 -0
- data/lib/jets/event/dsl/s3_event.rb +7 -0
- data/lib/jets/event/dsl/scheduled_event.rb +53 -0
- data/lib/jets/event/dsl/sns_event.rb +8 -0
- data/lib/jets/event/dsl/sqs_event.rb +8 -0
- data/lib/jets/{job → event}/dsl.rb +7 -12
- data/lib/jets/{job → event}/helpers/kinesis_event.rb +2 -2
- data/lib/jets/{job → event}/helpers/log_event.rb +5 -5
- data/lib/jets/event/helpers/s3_event.rb +76 -0
- data/lib/jets/event/helpers/sns_event.rb +16 -0
- data/lib/jets/event/helpers/sqs_event.rb +23 -0
- data/lib/jets/event/s3.rb +21 -0
- data/lib/jets/git/azure.rb +64 -0
- data/lib/jets/git/base.rb +26 -0
- data/lib/jets/git/bitbucket.rb +30 -0
- data/lib/jets/git/circleci.rb +23 -0
- data/lib/jets/git/codebuild.rb +49 -0
- data/lib/jets/git/custom.rb +32 -0
- data/lib/jets/git/git_cli.rb +28 -0
- data/lib/jets/git/github.rb +48 -0
- data/lib/jets/git/gitlab.rb +30 -0
- data/lib/jets/git/info.rb +39 -0
- data/lib/jets/git/local.rb +69 -0
- data/lib/jets/git/saved.rb +16 -0
- data/lib/jets/git/user.rb +33 -0
- data/lib/jets/git.rb +5 -0
- data/lib/jets/lambda/definition.rb +22 -16
- data/lib/jets/lambda/dsl.rb +394 -394
- data/lib/jets/lambda/function_constructor.rb +1 -2
- data/lib/jets/lambda/functions.rb +10 -25
- data/lib/jets/names.rb +5 -17
- data/lib/jets/prewarm.rb +27 -0
- data/lib/jets/rdoc.rb +2 -2
- data/lib/jets/remote/base.rb +11 -0
- data/lib/jets/remote/download.rb +65 -0
- data/lib/jets/remote/runner.rb +101 -0
- data/lib/jets/remote/tailer.rb +272 -0
- data/lib/jets/shim/adapter/alb.rb +16 -0
- data/lib/jets/shim/adapter/apigw.rb +37 -0
- data/lib/jets/shim/adapter/base.rb +16 -0
- data/lib/jets/shim/adapter/command.rb +21 -0
- data/lib/jets/shim/adapter/event.rb +27 -0
- data/lib/jets/shim/adapter/fallback.rb +64 -0
- data/lib/jets/shim/adapter/lambda.rb +35 -0
- data/lib/jets/shim/adapter/prewarm.rb +27 -0
- data/lib/jets/shim/adapter/web.rb +145 -0
- data/lib/jets/shim/config.rb +71 -0
- data/lib/jets/shim/handler.rb +60 -0
- data/lib/jets/shim/maintenance/maintenance.html +45 -0
- data/lib/jets/shim/maintenance.rb +37 -0
- data/lib/jets/shim/response/alb.rb +10 -0
- data/lib/jets/shim/response/apigw.rb +4 -0
- data/lib/jets/shim/response/base.rb +124 -0
- data/lib/jets/shim/response/lambda.rb +4 -0
- data/lib/jets/shim/response/web.rb +4 -0
- data/lib/jets/shim.rb +46 -0
- data/lib/jets/stack/{main/dsl → dsl/main}/base.rb +2 -23
- data/lib/jets/stack/dsl/main/cloudwatch.rb +6 -0
- data/lib/jets/stack/dsl/main/iam.rb +6 -0
- data/lib/jets/stack/dsl/main/kinesis.rb +6 -0
- data/lib/jets/stack/dsl/main/lambda.rb +39 -0
- data/lib/jets/stack/dsl/main/s3.rb +9 -0
- data/lib/jets/stack/dsl/main/sns.rb +12 -0
- data/lib/jets/stack/dsl/main/sqs.rb +6 -0
- data/lib/jets/stack/dsl/main.rb +15 -0
- data/lib/jets/stack/dsl/output.rb +11 -0
- data/lib/jets/stack/dsl/parameter.rb +11 -0
- data/lib/jets/stack/dsl/resource.rb +11 -0
- data/lib/jets/stack/dsl.rb +10 -0
- data/lib/jets/stack/{output/lookup.rb → outputs.rb} +7 -6
- data/lib/jets/stack.rb +11 -58
- data/lib/jets/thor/auth.rb +96 -0
- data/lib/jets/thor/base.rb +155 -0
- data/lib/jets/thor/help.rb +129 -0
- data/lib/jets/thor/project_check.rb +50 -0
- data/lib/jets/thor/shared_options.rb +31 -0
- data/lib/jets/thor/version_check.rb +51 -0
- data/lib/jets/util/call_line.rb +9 -0
- data/lib/jets/util/camelize.rb +1 -1
- data/lib/jets/util/git.rb +11 -0
- data/lib/jets/util/logging.rb +16 -0
- data/lib/jets/util/pretty.rb +23 -0
- data/lib/jets/util/sh.rb +38 -0
- data/lib/jets/util/sure.rb +25 -0
- data/lib/jets/util/truthy.rb +9 -0
- data/lib/jets/util/yamler.rb +3 -5
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +4 -6
- metadata +340 -563
- data/.circleci/config.yml +0 -92
- data/.cody/README.md +0 -13
- data/.cody/docs/bin/build.sh +0 -7
- data/.cody/docs/bin/bundler_setup.sh +0 -8
- data/.cody/docs/bin/cli_docs.sh +0 -6
- data/.cody/docs/bin/git_commit.sh +0 -27
- data/.cody/docs/bin/git_setup.sh +0 -12
- data/.cody/docs/bin/subnav.sh +0 -14
- data/.cody/docs/buildspec.yml +0 -10
- data/.cody/docs/project.rb +0 -10
- data/Dockerfile +0 -16
- data/Dockerfile.base +0 -53
- data/Guardfile +0 -22
- data/Procfile +0 -2
- data/engines/internal/app/controllers/jets/application_controller.rb +0 -28
- data/engines/internal/app/controllers/jets/bare_controller.rb +0 -6
- data/engines/internal/app/controllers/jets/health_controller.rb +0 -55
- data/engines/internal/app/controllers/jets/info_controller.rb +0 -45
- data/engines/internal/app/controllers/jets/mailers_controller.rb +0 -95
- data/engines/internal/app/controllers/jets/mount_controller.rb +0 -59
- data/engines/internal/app/controllers/jets/public_controller.rb +0 -35
- data/engines/internal/app/controllers/jets/welcome_controller.rb +0 -9
- data/engines/internal/app/functions/jets/base_path.rb +0 -109
- data/engines/internal/app/functions/jets/base_path_mapping.rb +0 -191
- data/engines/internal/app/jobs/jets/preheat_job.rb +0 -64
- data/engines/internal/app/shared/functions/jets/s3_bucket_config.rb +0 -33
- data/engines/internal/app/views/jets/info/properties.html.erb +0 -1
- data/engines/internal/app/views/jets/info/routes.html.erb +0 -10
- data/engines/internal/app/views/jets/mailers/email.html.erb +0 -165
- data/engines/internal/app/views/jets/mailers/index.html.erb +0 -8
- data/engines/internal/app/views/jets/mailers/mailer.html.erb +0 -6
- data/engines/internal/app/views/jets/welcome/index.html.erb +0 -95
- data/engines/internal/app/views/layouts/application.html.erb +0 -51
- data/engines/internal/lib/internal/actiondispatch.rb +0 -39
- data/engines/internal/lib/internal/actionmailer.rb +0 -51
- data/engines/internal/lib/internal/actionview.rb +0 -152
- data/engines/internal/lib/internal/activerecord.rb +0 -37
- data/engines/internal/lib/internal/activesupport.rb +0 -47
- data/engines/internal/lib/internal/engine.rb +0 -13
- data/engines/internal/lib/internal/i18n_engine.rb +0 -19
- data/engines/internal/lib/internal/jets_controller.rb +0 -46
- data/engines/internal/lib/internal/overrides/debug_exceptions.rb +0 -40
- data/engines/internal/lib/internal/templates/rescues/_trace.html.erb +0 -62
- data/engines/internal/lib/internal/templates/rescues/_trace.text.erb +0 -9
- data/engines/internal/lib/internal/turbines/asset_tag_helper.rb +0 -70
- data/engines/internal/lib/internal/turbines/helpers.rb +0 -18
- data/engines/internal/lib/internal/turbines/routes_helpers.rb +0 -42
- data/lib/jets/app_loader.rb +0 -77
- data/lib/jets/application/bootstrap.rb +0 -100
- data/lib/jets/application/configuration/defaults.rb +0 -256
- data/lib/jets/application/configuration.rb +0 -494
- data/lib/jets/application/default_middleware_stack.rb +0 -140
- data/lib/jets/application/dummy_erb_compiler.rb +0 -18
- data/lib/jets/application/finisher.rb +0 -266
- data/lib/jets/application/routes_reloader.rb +0 -80
- data/lib/jets/application.rb +0 -556
- data/lib/jets/authorizer/base.rb +0 -37
- data/lib/jets/authorizer/dsl.rb +0 -73
- data/lib/jets/authorizer/helpers/iam_helper.rb +0 -49
- data/lib/jets/autoloaders/inflector.rb +0 -21
- data/lib/jets/backtrace_cleaner.rb +0 -27
- data/lib/jets/booter.rb +0 -78
- data/lib/jets/builders/code_builder.rb +0 -352
- data/lib/jets/builders/code_size.rb +0 -58
- data/lib/jets/builders/gem_replacer.rb +0 -83
- data/lib/jets/builders/handler_generator.rb +0 -214
- data/lib/jets/builders/lambda_layer.rb +0 -63
- data/lib/jets/builders/md5.rb +0 -60
- data/lib/jets/builders/md5_zip.rb +0 -61
- data/lib/jets/builders/purger.rb +0 -35
- data/lib/jets/builders/rack_packager.rb +0 -51
- data/lib/jets/builders/rackup_wrappers/rackup +0 -19
- data/lib/jets/builders/rackup_wrappers/rackup.rb +0 -7
- data/lib/jets/builders/ruby_packager.rb +0 -288
- data/lib/jets/builders/shim_vars/app.rb +0 -82
- data/lib/jets/builders/shim_vars/base.rb +0 -25
- data/lib/jets/builders/shim_vars/shared.rb +0 -37
- data/lib/jets/builders/templates/handlers/one_lambda_for_all_controllers.rb +0 -33
- data/lib/jets/builders/templates/handlers/one_lambda_per_controller.rb +0 -20
- data/lib/jets/builders/templates/handlers/one_lambda_per_method.rb +0 -18
- data/lib/jets/builders/tidy.rb +0 -107
- data/lib/jets/builders/util.rb +0 -31
- data/lib/jets/cfn/builder/api/base.rb +0 -12
- data/lib/jets/cfn/builder/api/deployment.rb +0 -46
- data/lib/jets/cfn/builder/api/gateway.rb +0 -104
- data/lib/jets/cfn/builder/api/mapping.rb +0 -54
- data/lib/jets/cfn/builder/api/methods.rb +0 -72
- data/lib/jets/cfn/builder/api/paged.rb +0 -30
- data/lib/jets/cfn/builder/api/pages/base.rb +0 -105
- data/lib/jets/cfn/builder/api/pages/methods.rb +0 -17
- data/lib/jets/cfn/builder/api/pages/page.rb +0 -19
- data/lib/jets/cfn/builder/api/pages/resources.rb +0 -21
- data/lib/jets/cfn/builder/api/resources.rb +0 -40
- data/lib/jets/cfn/builder/authorizer.rb +0 -64
- data/lib/jets/cfn/builder/controller.rb +0 -28
- data/lib/jets/cfn/builder/function.rb +0 -9
- data/lib/jets/cfn/builder/job.rb +0 -10
- data/lib/jets/cfn/builder/nested.rb +0 -130
- data/lib/jets/cfn/builder/one_controller.rb +0 -53
- data/lib/jets/cfn/builder/parent/stagger.rb +0 -34
- data/lib/jets/cfn/builder/parent.rb +0 -149
- data/lib/jets/cfn/builder/rule.rb +0 -20
- data/lib/jets/cfn/builder/shared.rb +0 -15
- data/lib/jets/cfn/builder/util/source.rb +0 -21
- data/lib/jets/cfn/builder.rb +0 -230
- data/lib/jets/cfn/deployment.rb +0 -85
- data/lib/jets/cfn/download.rb +0 -39
- data/lib/jets/cfn/params/api/base.rb +0 -39
- data/lib/jets/cfn/params/api/cors.rb +0 -10
- data/lib/jets/cfn/params/api/methods.rb +0 -69
- data/lib/jets/cfn/params/api/resources.rb +0 -28
- data/lib/jets/cfn/params/common.rb +0 -14
- data/lib/jets/cfn/resource/api_gateway/authorizer.rb +0 -82
- data/lib/jets/cfn/resource/api_gateway/base_path/function.rb +0 -57
- data/lib/jets/cfn/resource/api_gateway/base_path/mapping.rb +0 -45
- data/lib/jets/cfn/resource/api_gateway/base_path/role.rb +0 -70
- data/lib/jets/cfn/resource/api_gateway/deployment.rb +0 -73
- data/lib/jets/cfn/resource/api_gateway/domain_name.rb +0 -65
- data/lib/jets/cfn/resource/api_gateway/method/authorization.rb +0 -41
- data/lib/jets/cfn/resource/api_gateway/method.rb +0 -92
- data/lib/jets/cfn/resource/api_gateway/resource.rb +0 -86
- data/lib/jets/cfn/resource/api_gateway/resource_id.rb +0 -25
- data/lib/jets/cfn/resource/api_gateway/rest_api/change_detection.rb +0 -10
- data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id/message.rb +0 -59
- data/lib/jets/cfn/resource/api_gateway/rest_api/logical_id.rb +0 -98
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/base.rb +0 -110
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/media_types.rb +0 -36
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/page.rb +0 -93
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/to.rb +0 -30
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change/variable.rb +0 -35
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/change.rb +0 -27
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision/variable_exception.rb +0 -7
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes/collision.rb +0 -121
- data/lib/jets/cfn/resource/api_gateway/rest_api/routes.rb +0 -7
- data/lib/jets/cfn/resource/api_gateway/rest_api.rb +0 -74
- data/lib/jets/cfn/resource/config/config_rule.rb +0 -74
- data/lib/jets/cfn/resource/config/managed_rule.rb +0 -15
- data/lib/jets/cfn/resource/events/rule.rb +0 -31
- data/lib/jets/cfn/resource/iam/application_role.rb +0 -27
- data/lib/jets/cfn/resource/iam/base_role_definition.rb +0 -56
- data/lib/jets/cfn/resource/iam/class_role.rb +0 -74
- data/lib/jets/cfn/resource/iam/function_role.rb +0 -54
- data/lib/jets/cfn/resource/iam/managed_policy.rb +0 -22
- data/lib/jets/cfn/resource/iam/policy.rb +0 -31
- data/lib/jets/cfn/resource/iam/policy_document.rb +0 -42
- data/lib/jets/cfn/resource/iot/topic_rule.rb +0 -34
- data/lib/jets/cfn/resource/lambda/event_source_mapping.rb +0 -31
- data/lib/jets/cfn/resource/lambda/function/controller.rb +0 -21
- data/lib/jets/cfn/resource/lambda/function/environment.rb +0 -64
- data/lib/jets/cfn/resource/lambda/function.rb +0 -266
- data/lib/jets/cfn/resource/lambda/gem_layer.rb +0 -17
- data/lib/jets/cfn/resource/lambda/layer_version.rb +0 -44
- data/lib/jets/cfn/resource/lambda/permission.rb +0 -51
- data/lib/jets/cfn/resource/logs/subscription_filter.rb +0 -31
- data/lib/jets/cfn/resource/nested/api/base.rb +0 -4
- data/lib/jets/cfn/resource/nested/api/deployment.rb +0 -53
- data/lib/jets/cfn/resource/nested/api/gateway.rb +0 -15
- data/lib/jets/cfn/resource/nested/api/mapping.rb +0 -33
- data/lib/jets/cfn/resource/nested/api/methods.rb +0 -30
- data/lib/jets/cfn/resource/nested/api/page.rb +0 -8
- data/lib/jets/cfn/resource/nested/api/resources.rb +0 -22
- data/lib/jets/cfn/resource/nested/app_class.rb +0 -116
- data/lib/jets/cfn/resource/nested/authorizer.rb +0 -34
- data/lib/jets/cfn/resource/nested/base.rb +0 -38
- data/lib/jets/cfn/resource/nested/one_controller.rb +0 -48
- data/lib/jets/cfn/resource/nested/shared.rb +0 -79
- data/lib/jets/cfn/resource/one/function.rb +0 -66
- data/lib/jets/cfn/resource/one/permission.rb +0 -17
- data/lib/jets/cfn/resource/route53/record_set.rb +0 -98
- data/lib/jets/cfn/resource/sns/subscription.rb +0 -29
- data/lib/jets/cfn/resource/sns/topic.rb +0 -35
- data/lib/jets/cfn/resource/sns/topic_policy.rb +0 -40
- data/lib/jets/cfn/resource/sqs/queue.rb +0 -21
- data/lib/jets/cfn/ship.rb +0 -192
- data/lib/jets/cfn/template.rb +0 -89
- data/lib/jets/cfn/upload.rb +0 -163
- data/lib/jets/command/actions.rb +0 -49
- data/lib/jets/command/api_helpers.rb +0 -42
- data/lib/jets/command/aws_helpers.rb +0 -26
- data/lib/jets/command/base.rb +0 -209
- data/lib/jets/command/behavior.rb +0 -83
- data/lib/jets/command/environment_argument.rb +0 -42
- data/lib/jets/command/help/build.md +0 -6
- data/lib/jets/command/help/call.md +0 -48
- data/lib/jets/command/help/clean/build.md +0 -5
- data/lib/jets/command/help/clean/log.md +0 -5
- data/lib/jets/command/help/console.md +0 -18
- data/lib/jets/command/help/db/generate.md +0 -8
- data/lib/jets/command/help/dbconsole.md +0 -9
- data/lib/jets/command/help/degenerate.md +0 -16
- data/lib/jets/command/help/deploy.md +0 -32
- data/lib/jets/command/help/gems/check.md +0 -1
- data/lib/jets/command/help/generate.md +0 -28
- data/lib/jets/command/help/import/rack.md +0 -13
- data/lib/jets/command/help/import/rails.md +0 -11
- data/lib/jets/command/help/new.md +0 -41
- data/lib/jets/command/help/rollback.md +0 -5
- data/lib/jets/command/help/routes.md +0 -15
- data/lib/jets/command/help/runner.md +0 -40
- data/lib/jets/command/help/server.md +0 -15
- data/lib/jets/command/help/upgrade.md +0 -7
- data/lib/jets/command/help.rb +0 -17
- data/lib/jets/command/helpers/editor.rb +0 -35
- data/lib/jets/command/rake_decorate.rb +0 -38
- data/lib/jets/command.rb +0 -142
- data/lib/jets/commands/application/application_command.rb +0 -46
- data/lib/jets/commands/build/build_command.rb +0 -33
- data/lib/jets/commands/call/anonymous_guesser.rb +0 -96
- data/lib/jets/commands/call/autoload_guesser.rb +0 -136
- data/lib/jets/commands/call/base_guesser.rb +0 -62
- data/lib/jets/commands/call/call_command.rb +0 -27
- data/lib/jets/commands/call/caller.rb +0 -184
- data/lib/jets/commands/call/guesser.rb +0 -48
- data/lib/jets/commands/clean/base.rb +0 -24
- data/lib/jets/commands/clean/build.rb +0 -13
- data/lib/jets/commands/clean/clean_command.rb +0 -15
- data/lib/jets/commands/clean/log.rb +0 -111
- data/lib/jets/commands/configure/configure_command.rb +0 -9
- data/lib/jets/commands/console/console_command.rb +0 -38
- data/lib/jets/commands/credentials/USAGE +0 -103
- data/lib/jets/commands/credentials/credentials_command/diffing.rb +0 -51
- data/lib/jets/commands/credentials/credentials_command.rb +0 -139
- data/lib/jets/commands/db/system/change/change_command.rb +0 -24
- data/lib/jets/commands/dbconsole/dbconsole_command.rb +0 -184
- data/lib/jets/commands/degenerate/degenerate_command.rb +0 -21
- data/lib/jets/commands/delete/delete_command.rb +0 -154
- data/lib/jets/commands/deploy/deploy_command.rb +0 -118
- data/lib/jets/commands/dev/dev_command.rb +0 -19
- data/lib/jets/commands/dotenv/dotenv_command.rb +0 -9
- data/lib/jets/commands/encrypted/USAGE +0 -46
- data/lib/jets/commands/encrypted/encrypted_command.rb +0 -87
- data/lib/jets/commands/gems/gems_command.rb +0 -14
- data/lib/jets/commands/generate/generate_command.rb +0 -95
- data/lib/jets/commands/help/USAGE +0 -20
- data/lib/jets/commands/help/help_command.rb +0 -15
- data/lib/jets/commands/initializers/initializers_command.rb +0 -19
- data/lib/jets/commands/logs/logs_command.rb +0 -45
- data/lib/jets/commands/new/new_command.rb +0 -19
- data/lib/jets/commands/notes/notes_command.rb +0 -30
- data/lib/jets/commands/plugin/plugin_command.rb +0 -45
- data/lib/jets/commands/projects/projects_command.rb +0 -30
- data/lib/jets/commands/rake/rake_command.rb +0 -59
- data/lib/jets/commands/releases/releases_command.rb +0 -124
- data/lib/jets/commands/rollback/rollback_command.rb +0 -33
- data/lib/jets/commands/routes/routes_command.rb +0 -19
- data/lib/jets/commands/runner/runner_command.rb +0 -60
- data/lib/jets/commands/server/server_command.rb +0 -291
- data/lib/jets/commands/stacks/stacks_command.rb +0 -39
- data/lib/jets/commands/status/status_command.rb +0 -16
- data/lib/jets/commands/url/url_command.rb +0 -92
- data/lib/jets/commands/version/version_command.rb +0 -11
- data/lib/jets/commands.rb +0 -17
- data/lib/jets/configuration.rb +0 -166
- data/lib/jets/controller/base.rb +0 -117
- data/lib/jets/controller/compat/abstract_controller/base.rb +0 -126
- data/lib/jets/controller/compat/action_controller/metal.rb +0 -99
- data/lib/jets/controller/compat/caching.rb +0 -13
- data/lib/jets/controller/compat/future.rb +0 -13
- data/lib/jets/controller/compat/route_set.rb +0 -47
- data/lib/jets/controller/decorate/apigw_stage.rb +0 -39
- data/lib/jets/controller/decorate/authorization.rb +0 -91
- data/lib/jets/controller/decorate/logging.rb +0 -90
- data/lib/jets/controller/decorate/redirecting.rb +0 -16
- data/lib/jets/controller/decorate/url_for.rb +0 -10
- data/lib/jets/controller/handler/apigw.rb +0 -93
- data/lib/jets/controller/handler.rb +0 -41
- data/lib/jets/controller/middleware/main.rb +0 -61
- data/lib/jets/controller/middleware/mimic/apigw.rb +0 -130
- data/lib/jets/controller/middleware/mimic/lambda_context.rb +0 -44
- data/lib/jets/controller/middleware/mimic.rb +0 -105
- data/lib/jets/controller/middleware/webpacker_setup.rb +0 -6
- data/lib/jets/controller/rack_adapter/action.rb +0 -35
- data/lib/jets/controller/rack_adapter/env.rb +0 -145
- data/lib/jets/controller/request/compat/params.rb +0 -144
- data/lib/jets/controller/request/compat/request.rb +0 -125
- data/lib/jets/controller/request.rb +0 -46
- data/lib/jets/controller/response/compat/response.rb +0 -67
- data/lib/jets/controller/response.rb +0 -144
- data/lib/jets/core_ext/kernel.rb +0 -13
- data/lib/jets/dev_caching.rb +0 -44
- data/lib/jets/dotenv/show.rb +0 -11
- data/lib/jets/engine/configuration.rb +0 -96
- data/lib/jets/engine/turbines.rb +0 -23
- data/lib/jets/engine.rb +0 -380
- data/lib/jets/erb.rb +0 -51
- data/lib/jets/generators/job/job_generator.rb +0 -41
- data/lib/jets/generators/job/templates/application_job.rb.tt +0 -6
- data/lib/jets/generators/job/templates/event_types/dynamodb.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/iot.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/s3.rb.tt +0 -11
- data/lib/jets/generators/job/templates/event_types/scheduled.rb.tt +0 -8
- data/lib/jets/generators/job/templates/event_types/sns.rb.tt +0 -11
- data/lib/jets/generators/job/templates/event_types/sqs.rb.tt +0 -11
- data/lib/jets/generators/overrides/app/USAGE +0 -38
- data/lib/jets/generators/overrides/app/app_generator.rb +0 -148
- data/lib/jets/generators/overrides/app/helpers.rb +0 -139
- data/lib/jets/generators/overrides/app/templates/.env +0 -10
- data/lib/jets/generators/overrides/app/templates/.gitignore.tt +0 -13
- data/lib/jets/generators/overrides/app/templates/.jetsignore +0 -6
- data/lib/jets/generators/overrides/app/templates/.rspec +0 -3
- data/lib/jets/generators/overrides/app/templates/Gemfile.tt +0 -28
- data/lib/jets/generators/overrides/app/templates/README.md +0 -11
- data/lib/jets/generators/overrides/app/templates/Rakefile +0 -2
- data/lib/jets/generators/overrides/app/templates/app/assets/config/manifest.js +0 -3
- data/lib/jets/generators/overrides/app/templates/app/assets/images/.keep +0 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/javascripts/.keep +0 -0
- data/lib/jets/generators/overrides/app/templates/app/assets/stylesheets/application.css +0 -15
- data/lib/jets/generators/overrides/app/templates/app/controllers/application_controller.rb +0 -2
- data/lib/jets/generators/overrides/app/templates/app/helpers/application_helper.rb +0 -2
- data/lib/jets/generators/overrides/app/templates/app/javascript/application.js +0 -5
- data/lib/jets/generators/overrides/app/templates/app/jobs/application_job.rb +0 -4
- data/lib/jets/generators/overrides/app/templates/app/models/application_record.rb +0 -3
- data/lib/jets/generators/overrides/app/templates/app/views/layouts/application.html.erb.tt +0 -30
- data/lib/jets/generators/overrides/app/templates/bin/jets +0 -3
- data/lib/jets/generators/overrides/app/templates/config/application.rb.tt +0 -15
- data/lib/jets/generators/overrides/app/templates/config/database.yml.tt +0 -27
- data/lib/jets/generators/overrides/app/templates/config/environments/development.rb.tt +0 -29
- data/lib/jets/generators/overrides/app/templates/config/environments/production.rb.tt +0 -21
- data/lib/jets/generators/overrides/app/templates/config/environments/test.rb.tt +0 -23
- data/lib/jets/generators/overrides/app/templates/config/initializers/content_security_policy.rb +0 -31
- data/lib/jets/generators/overrides/app/templates/config/initializers/filter_parameter_logging.rb +0 -8
- data/lib/jets/generators/overrides/app/templates/config/initializers/permissions_policy.rb +0 -11
- data/lib/jets/generators/overrides/app/templates/config/routes.rb +0 -13
- data/lib/jets/generators/overrides/app/templates/config.ru +0 -5
- data/lib/jets/generators/overrides/app/templates/db/.gitkeep +0 -0
- data/lib/jets/generators/overrides/app/templates/public/404.html +0 -67
- data/lib/jets/generators/overrides/app/templates/public/422.html +0 -67
- data/lib/jets/generators/overrides/app/templates/public/500.html +0 -66
- data/lib/jets/generators/overrides/app/templates/public/favicon.ico +0 -0
- data/lib/jets/generators/overrides/app/templates/spec/controllers/posts_controller_spec.rb +0 -15
- data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-index.json +0 -51
- data/lib/jets/generators/overrides/app/templates/spec/fixtures/payloads/posts-show.json +0 -53
- data/lib/jets/generators/overrides/app/templates/spec/spec_helper.rb.tt +0 -30
- data/lib/jets/generators/overrides/templates/erb/scaffold/_form.html.erb +0 -34
- data/lib/jets/generators/overrides/templates/erb/scaffold/edit.html.erb +0 -6
- data/lib/jets/generators/overrides/templates/erb/scaffold/index.html.erb +0 -22
- data/lib/jets/generators/overrides/templates/erb/scaffold/new.html.erb +0 -5
- data/lib/jets/generators/overrides/templates/erb/scaffold/partial.html.erb +0 -8
- data/lib/jets/generators/overrides/templates/erb/scaffold/show.html.erb +0 -9
- data/lib/jets/generators/overrides/templates/rails/assets/javascript.js +0 -2
- data/lib/jets/generators/overrides/templates/rails/assets/stylesheet.css +0 -4
- data/lib/jets/generators/overrides/templates/rails/scaffold/scaffold.css +0 -80
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/api_controller.rb.tt +0 -58
- data/lib/jets/generators/overrides/templates/rails/scaffold_controller/controller.rb.tt +0 -67
- data/lib/jets/generators.rb +0 -112
- data/lib/jets/inflections.rb +0 -32
- data/lib/jets/info.rb +0 -116
- data/lib/jets/initializable.rb +0 -95
- data/lib/jets/job/base.rb +0 -52
- data/lib/jets/job/dsl/dynamodb_event.rb +0 -78
- data/lib/jets/job/dsl/event_source_mapping.rb +0 -11
- data/lib/jets/job/dsl/iot_event.rb +0 -24
- data/lib/jets/job/dsl/kinesis_event.rb +0 -47
- data/lib/jets/job/dsl/log_event.rb +0 -15
- data/lib/jets/job/dsl/rule_event.rb +0 -78
- data/lib/jets/job/dsl/s3_event.rb +0 -77
- data/lib/jets/job/dsl/sns_event.rb +0 -54
- data/lib/jets/job/dsl/sqs_event.rb +0 -97
- data/lib/jets/job/helpers/s3_event.rb +0 -50
- data/lib/jets/job/helpers/sns_event.rb +0 -26
- data/lib/jets/job/helpers/sqs_event.rb +0 -26
- data/lib/jets/klass.rb +0 -108
- data/lib/jets/lambda/dsl/warnings.rb +0 -57
- data/lib/jets/mega/hash_converter.rb +0 -25
- data/lib/jets/mega/request/source.rb +0 -20
- data/lib/jets/mega/request.rb +0 -163
- data/lib/jets/overrides/dummy/rails.rb +0 -11
- data/lib/jets/overrides/lambda/marshaller.rb +0 -31
- data/lib/jets/overrides/lambda.rb +0 -1
- data/lib/jets/overrides/puma.rb +0 -10
- data/lib/jets/paths.rb +0 -243
- data/lib/jets/poly/base_executor.rb +0 -125
- data/lib/jets/poly/lambda_executor.rb +0 -16
- data/lib/jets/poly/node_error.rb +0 -8
- data/lib/jets/poly/node_executor.rb +0 -54
- data/lib/jets/poly/python_error.rb +0 -8
- data/lib/jets/poly/python_executor.rb +0 -23
- data/lib/jets/poly.rb +0 -73
- data/lib/jets/preheat.rb +0 -110
- data/lib/jets/processors/deducer.rb +0 -65
- data/lib/jets/processors/main_processor.rb +0 -54
- data/lib/jets/rack/logger.rb +0 -77
- data/lib/jets/router/compat/route_set.rb +0 -177
- data/lib/jets/router/dsl/mount.rb +0 -47
- data/lib/jets/router/dsl.rb +0 -164
- data/lib/jets/router/engine_mount.rb +0 -36
- data/lib/jets/router/help.rb +0 -130
- data/lib/jets/router/helpers/named_routes/add_full_url.rb +0 -13
- data/lib/jets/router/helpers/named_routes/generated.rb +0 -197
- data/lib/jets/router/helpers/named_routes/proxy.rb +0 -66
- data/lib/jets/router/matcher.rb +0 -204
- data/lib/jets/router/resources/base.rb +0 -7
- data/lib/jets/router/resources/filter.rb +0 -15
- data/lib/jets/router/resources/options.rb +0 -15
- data/lib/jets/router/route/after_initialize.rb +0 -64
- data/lib/jets/router/route/as.rb +0 -93
- data/lib/jets/router/route/authorizer.rb +0 -58
- data/lib/jets/router/route/compat.rb +0 -45
- data/lib/jets/router/route/info.rb +0 -74
- data/lib/jets/router/route/node.rb +0 -137
- data/lib/jets/router/route/path.rb +0 -93
- data/lib/jets/router/route.rb +0 -249
- data/lib/jets/router/route_set.rb +0 -214
- data/lib/jets/router/scope.rb +0 -230
- data/lib/jets/router/state.rb +0 -67
- data/lib/jets/router/util.rb +0 -8
- data/lib/jets/router.rb +0 -94
- data/lib/jets/ruby_version_check.rb +0 -15
- data/lib/jets/rule/base.rb +0 -20
- data/lib/jets/rule/dsl.rb +0 -109
- data/lib/jets/secrets.rb +0 -110
- data/lib/jets/spec_helpers/controllers/params.rb +0 -8
- data/lib/jets/spec_helpers/controllers/request.rb +0 -107
- data/lib/jets/spec_helpers/controllers/response.rb +0 -10
- data/lib/jets/spec_helpers/controllers.rb +0 -54
- data/lib/jets/spec_helpers/fixtures.rb +0 -11
- data/lib/jets/spec_helpers.rb +0 -15
- data/lib/jets/stack/builder.rb +0 -44
- data/lib/jets/stack/definition.rb +0 -47
- data/lib/jets/stack/depends/item.rb +0 -26
- data/lib/jets/stack/depends.rb +0 -34
- data/lib/jets/stack/function.rb +0 -71
- data/lib/jets/stack/main/dsl/cloudwatch.rb +0 -19
- data/lib/jets/stack/main/dsl/iam.rb +0 -8
- data/lib/jets/stack/main/dsl/kinesis.rb +0 -15
- data/lib/jets/stack/main/dsl/lambda.rb +0 -90
- data/lib/jets/stack/main/dsl/s3.rb +0 -12
- data/lib/jets/stack/main/dsl/sns.rb +0 -16
- data/lib/jets/stack/main/dsl/sqs.rb +0 -10
- data/lib/jets/stack/main/dsl.rb +0 -17
- data/lib/jets/stack/main.rb +0 -4
- data/lib/jets/stack/output/dsl.rb +0 -19
- data/lib/jets/stack/output.rb +0 -35
- data/lib/jets/stack/parameter/dsl.rb +0 -42
- data/lib/jets/stack/parameter.rb +0 -37
- data/lib/jets/stack/resource/dsl.rb +0 -19
- data/lib/jets/stack/resource.rb +0 -31
- data/lib/jets/stack/s3_event.rb +0 -101
- data/lib/jets/tasks/engine.rake +0 -85
- data/lib/jets/tasks/framework.rake +0 -66
- data/lib/jets/tasks/log.rake +0 -41
- data/lib/jets/tasks/middleware.rake +0 -9
- data/lib/jets/tasks/misc.rake +0 -81
- data/lib/jets/tasks/statistics.rake +0 -37
- data/lib/jets/tasks/tmp.rake +0 -51
- data/lib/jets/tasks/yarn.rake +0 -29
- data/lib/jets/tasks/zeitwerk.rake +0 -61
- data/lib/jets/tasks.rb +0 -18
- data/lib/jets/tmp_loader.rb +0 -53
- data/lib/jets/turbine/configurable.rb +0 -36
- data/lib/jets/turbine/configuration.rb +0 -101
- data/lib/jets/turbine.rb +0 -185
- data/lib/jets/util.rb +0 -40
- /data/lib/jets/{command → cli}/help/projects.md +0 -0
- /data/lib/jets/{command → cli}/help/stacks.md +0 -0
- /data/lib/jets/{command → cli}/help/url.md +0 -0
data/lib/jets/generators.rb
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
# Piggy back off of Rails Generators.
|
2
|
-
|
3
|
-
module Jets
|
4
|
-
# Original Rails::Generators is a module.
|
5
|
-
# It cannot be included or inherited given the way Rails module is defined.
|
6
|
-
# We use a class that delegates to the Rails::Generators.invoke method.
|
7
|
-
class Generators
|
8
|
-
include Jets::Command::Behavior
|
9
|
-
|
10
|
-
def initialize(namespace, args = ARGV, config = {})
|
11
|
-
@namespace, @args, @config = namespace, args, config
|
12
|
-
@args << '--pretend' if noop?
|
13
|
-
end
|
14
|
-
|
15
|
-
# Used to delegate noop option to Rails generator pretend option. Both work:
|
16
|
-
#
|
17
|
-
# jets generate scaffold user title:string --noop
|
18
|
-
# jets generate scaffold user title:string --pretend
|
19
|
-
#
|
20
|
-
# Grabbing directly from the ARGV because think its cleaner than passing options from
|
21
|
-
# Thor all the way down.
|
22
|
-
def noop?
|
23
|
-
ARGV.include?('--noop')
|
24
|
-
end
|
25
|
-
|
26
|
-
def run(behavior=:invoke)
|
27
|
-
if @namespace == "job"
|
28
|
-
run_job_generator
|
29
|
-
else
|
30
|
-
# Required by:
|
31
|
-
# jets generate migration create_articles user:references
|
32
|
-
# jets generate model article user:references
|
33
|
-
# Makes use of Rails.application
|
34
|
-
if %w[model migration].include?(@namespace)
|
35
|
-
require "jets/overrides/dummy/rails"
|
36
|
-
end
|
37
|
-
run_rails_generator
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
# For job generators, use a more custom generator instead of Rails generators.
|
42
|
-
# We this for more control over the jobs and can add more features.
|
43
|
-
# IE: Different event based jobs.
|
44
|
-
def run_job_generator
|
45
|
-
require "jets/generators/job/job_generator"
|
46
|
-
JobGenerator.start(@args, @config)
|
47
|
-
end
|
48
|
-
|
49
|
-
def run_rails_generator
|
50
|
-
# We lazy require so Rails const is only defined when using generators
|
51
|
-
# Using require at the top and configuring do_not_eager_load is not enough.
|
52
|
-
# This is because we call require "jets/generators" throughout the codebase.
|
53
|
-
require "rails/generators"
|
54
|
-
require "rails/configuration"
|
55
|
-
|
56
|
-
# => Jets::Generators.configure! => Rails::Generators.configure!(config)
|
57
|
-
self.class.configure!(config)
|
58
|
-
|
59
|
-
# Ultimately, Rails::Generator.invoke is called.
|
60
|
-
# Here are some examples to show how args are passed to Rails::Generator.invoke.
|
61
|
-
#
|
62
|
-
# jets generate kingsman:controllers users -c=sessions
|
63
|
-
# @namespace kingsman:controllers
|
64
|
-
# @args ["users", "-c=sessions"]
|
65
|
-
#
|
66
|
-
# jets generate scaffold post title:string body:text published:boolean --force
|
67
|
-
# @args ["post", "title:string", "body:text", "published:boolean", "--force"]
|
68
|
-
|
69
|
-
Rails::Generators.invoke(@namespace, @args, @config)
|
70
|
-
end
|
71
|
-
|
72
|
-
def config
|
73
|
-
config = Jets.application.config.generators
|
74
|
-
config.orm :active_record, migration: true, timestamps: true
|
75
|
-
config.templates = [jets_templates_path] # add jets_templates_path for customizations
|
76
|
-
if Jets.application.config.mode == 'api'
|
77
|
-
config.api_only = true
|
78
|
-
config.template_engine nil
|
79
|
-
else
|
80
|
-
config.template_engine :erb
|
81
|
-
end
|
82
|
-
config
|
83
|
-
end
|
84
|
-
|
85
|
-
# Rails and Thor allows overriding the provided templates with source root.
|
86
|
-
# The structure is slightly different with source_paths.
|
87
|
-
# source_root railties-7.0.8/lib/rails/generators/erb/scaffold/templates
|
88
|
-
# source_paths lib/jets/generators/overrides/templates/erb/scaffold
|
89
|
-
# See how templates is prefix instead of a suffix.
|
90
|
-
# erb/scaffold/templates
|
91
|
-
# templates/erb/scaffold
|
92
|
-
# This is nice because everything is together in the overrides/template folder.
|
93
|
-
def jets_templates_path
|
94
|
-
File.expand_path("generators/overrides/templates", __dir__)
|
95
|
-
end
|
96
|
-
|
97
|
-
class << self
|
98
|
-
def configure!(config)
|
99
|
-
require "rails/generators"
|
100
|
-
Rails::Generators.configure!(config)
|
101
|
-
end
|
102
|
-
|
103
|
-
def invoke(generator, args = ARGV, config = {})
|
104
|
-
new(generator, args, config).run(:invoke)
|
105
|
-
end
|
106
|
-
|
107
|
-
def revoke(generator, args = ARGV, config = {})
|
108
|
-
new(generator, args, config).run(:revoke)
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
data/lib/jets/inflections.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
module Jets
|
2
|
-
class Inflections
|
3
|
-
class << self
|
4
|
-
def load!
|
5
|
-
ActiveSupport::Inflector.inflections(:en) do |inflect|
|
6
|
-
load(inflect, base)
|
7
|
-
load(inflect, custom)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def load(inflect, inflections)
|
12
|
-
inflections.each do |k,v|
|
13
|
-
inflect.irregular k,v
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
# base custom inflections
|
18
|
-
def base
|
19
|
-
{
|
20
|
-
sns: 'sns',
|
21
|
-
sqs: 'sqs'
|
22
|
-
}
|
23
|
-
end
|
24
|
-
|
25
|
-
# User defined custom inflections
|
26
|
-
def custom
|
27
|
-
path = "#{Jets.root}/config/inflections.yml"
|
28
|
-
File.exist?(path) ? Jets::Util::Yamler.load_file(path) : {}
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
data/lib/jets/info.rb
DELETED
@@ -1,116 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "cgi"
|
4
|
-
require "rack"
|
5
|
-
|
6
|
-
module Jets
|
7
|
-
# This module helps build the runtime properties that are displayed in
|
8
|
-
# Jets::InfoController responses. These include the active Jets version,
|
9
|
-
# Ruby version, Rack version, and so on.
|
10
|
-
module Info
|
11
|
-
mattr_accessor :properties, default: []
|
12
|
-
|
13
|
-
class << @@properties
|
14
|
-
def names
|
15
|
-
map(&:first)
|
16
|
-
end
|
17
|
-
|
18
|
-
def value_for(property_name)
|
19
|
-
if property = assoc(property_name)
|
20
|
-
property.last
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
class << self # :nodoc:
|
26
|
-
def property(name, value = nil)
|
27
|
-
value ||= yield
|
28
|
-
properties << [name, value] if value
|
29
|
-
rescue Exception
|
30
|
-
end
|
31
|
-
|
32
|
-
def to_s
|
33
|
-
column_width = properties.names.map(&:length).max
|
34
|
-
info = properties.map do |name, value|
|
35
|
-
value = value.join(", ") if value.is_a?(Array)
|
36
|
-
"%-#{column_width}s %s" % [name, value]
|
37
|
-
end
|
38
|
-
info.unshift "About your application's environment"
|
39
|
-
info * "\n"
|
40
|
-
end
|
41
|
-
|
42
|
-
alias inspect to_s
|
43
|
-
|
44
|
-
def to_html
|
45
|
-
(+"<table>").tap do |table|
|
46
|
-
properties.each do |(name, value)|
|
47
|
-
table << %(<tr><td class="name">#{CGI.escapeHTML(name.to_s)}</td>)
|
48
|
-
formatted_value = if value.kind_of?(Array)
|
49
|
-
"<ul>" + value.map { |v| "<li>#{CGI.escapeHTML(v.to_s)}</li>" }.join + "</ul>"
|
50
|
-
else
|
51
|
-
CGI.escapeHTML(value.to_s)
|
52
|
-
end
|
53
|
-
table << %(<td class="value">#{formatted_value}</td></tr>)
|
54
|
-
end
|
55
|
-
table << "</table>"
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
# The Jets version.
|
61
|
-
property "Jets version" do
|
62
|
-
Jets.version.to_s
|
63
|
-
end
|
64
|
-
|
65
|
-
# The Ruby version and platform, e.g. "2.0.0-p247 (x86_64-darwin12.4.0)".
|
66
|
-
property "Ruby version" do
|
67
|
-
RUBY_DESCRIPTION
|
68
|
-
end
|
69
|
-
|
70
|
-
# The RubyGems version, if it's installed.
|
71
|
-
property "RubyGems version" do
|
72
|
-
Gem::VERSION
|
73
|
-
end
|
74
|
-
|
75
|
-
property "Rack version" do
|
76
|
-
::Rack.release
|
77
|
-
end
|
78
|
-
|
79
|
-
property "JavaScript Runtime" do
|
80
|
-
ExecJS.runtime.name
|
81
|
-
end
|
82
|
-
|
83
|
-
# Note: The Jets.configuration.middleware is not available until Jets.boot finishes.
|
84
|
-
# It's important for the jets gem not to eager load because
|
85
|
-
# Jets.configuration.middleware is not available until after Jets.boot.
|
86
|
-
#
|
87
|
-
# Originally called Jets.boot here, but it results in a boot twice.
|
88
|
-
# That results in weird behavior like commenting out DebugException middleware
|
89
|
-
# breaks startup with ActiveSupport::Dependencies.autoload_paths freeze error.
|
90
|
-
# The side-effect errors are hard to debug. Jets::Info should be loaded lazily.
|
91
|
-
#
|
92
|
-
# In Jets::Autoloaders::Gem we do_not_eager_load Jets::Info to avoid this issue.
|
93
|
-
property "Middleware" do
|
94
|
-
Jets.configuration.middleware.map(&:inspect)
|
95
|
-
end
|
96
|
-
|
97
|
-
# The application's location on the filesystem.
|
98
|
-
property "Application root" do
|
99
|
-
File.expand_path(Jets.root)
|
100
|
-
end
|
101
|
-
|
102
|
-
# The current Jets environment (development, test, or production).
|
103
|
-
property "Environment" do
|
104
|
-
Jets.env
|
105
|
-
end
|
106
|
-
|
107
|
-
# The name of the database adapter for the current environment.
|
108
|
-
property "Database adapter" do
|
109
|
-
ActiveRecord::Base.connection.pool.db_config.adapter
|
110
|
-
end
|
111
|
-
|
112
|
-
property "Database schema version" do
|
113
|
-
ActiveRecord::Base.connection.migration_context.current_version rescue nil
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
data/lib/jets/initializable.rb
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "tsort"
|
4
|
-
|
5
|
-
module Jets
|
6
|
-
module Initializable
|
7
|
-
def self.included(base) # :nodoc:
|
8
|
-
base.extend ClassMethods
|
9
|
-
end
|
10
|
-
|
11
|
-
class Initializer
|
12
|
-
attr_reader :name, :block
|
13
|
-
|
14
|
-
def initialize(name, context, options, &block)
|
15
|
-
options[:group] ||= :default
|
16
|
-
@name, @context, @options, @block = name, context, options, block
|
17
|
-
end
|
18
|
-
|
19
|
-
def before
|
20
|
-
@options[:before]
|
21
|
-
end
|
22
|
-
|
23
|
-
def after
|
24
|
-
@options[:after]
|
25
|
-
end
|
26
|
-
|
27
|
-
def belongs_to?(group)
|
28
|
-
@options[:group] == group || @options[:group] == :all
|
29
|
-
end
|
30
|
-
|
31
|
-
def run(*args)
|
32
|
-
@context.instance_exec(*args, &block)
|
33
|
-
end
|
34
|
-
|
35
|
-
def bind(context)
|
36
|
-
return self if @context
|
37
|
-
Initializer.new(@name, context, @options, &block)
|
38
|
-
end
|
39
|
-
|
40
|
-
def context_class
|
41
|
-
@context.class
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
class Collection < Array
|
46
|
-
include TSort
|
47
|
-
|
48
|
-
alias :tsort_each_node :each
|
49
|
-
def tsort_each_child(initializer, &block)
|
50
|
-
select { |i| i.before == initializer.name || i.name == initializer.after }.each(&block)
|
51
|
-
end
|
52
|
-
|
53
|
-
def +(other)
|
54
|
-
Collection.new(to_a + other.to_a)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def run_initializers(group = :default, *args)
|
59
|
-
return if instance_variable_defined?(:@ran)
|
60
|
-
initializers.tsort_each do |initializer|
|
61
|
-
initializer.run(*args) if initializer.belongs_to?(group)
|
62
|
-
end
|
63
|
-
@ran = true
|
64
|
-
end
|
65
|
-
|
66
|
-
def initializers
|
67
|
-
@initializers ||= self.class.initializers_for(self)
|
68
|
-
end
|
69
|
-
|
70
|
-
module ClassMethods
|
71
|
-
def initializers
|
72
|
-
@initializers ||= Collection.new
|
73
|
-
end
|
74
|
-
|
75
|
-
def initializers_chain
|
76
|
-
initializers = Collection.new
|
77
|
-
ancestors.reverse_each do |klass|
|
78
|
-
next unless klass.respond_to?(:initializers)
|
79
|
-
initializers = initializers + klass.initializers
|
80
|
-
end
|
81
|
-
initializers
|
82
|
-
end
|
83
|
-
|
84
|
-
def initializers_for(binding)
|
85
|
-
Collection.new(initializers_chain.map { |i| i.bind(binding) })
|
86
|
-
end
|
87
|
-
|
88
|
-
def initializer(name, opts = {}, &blk)
|
89
|
-
raise ArgumentError, "A block must be passed when defining an initializer" unless blk
|
90
|
-
opts[:after] ||= initializers.last.name unless initializers.empty? || initializers.find { |i| i.name == opts[:before] }
|
91
|
-
initializers << Initializer.new(name, nil, opts, &blk)
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
data/lib/jets/job/base.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
# Job public methods get turned into Lambda functions.
|
4
|
-
#
|
5
|
-
# Jets::Job::Base < Jets::Lambda::Functions
|
6
|
-
# Both Jets::Job::Base and Jets::Lambda::Functions have Dsl modules included.
|
7
|
-
# So the Jets::Job::Dsl overrides some of the Jets::Lambda::Functions behavior.
|
8
|
-
module Jets::Job
|
9
|
-
class Base < Jets::Lambda::Functions
|
10
|
-
include Dsl
|
11
|
-
|
12
|
-
# non-DSL methods
|
13
|
-
include Helpers::KinesisEvent
|
14
|
-
include Helpers::LogEvent
|
15
|
-
include Helpers::S3Event
|
16
|
-
include Helpers::SnsEvent
|
17
|
-
include Helpers::SqsEvent
|
18
|
-
prepend Jets::ExceptionReporting::Process
|
19
|
-
|
20
|
-
# Tracks bucket each time an s3_event is declared
|
21
|
-
# Map of bucket_name => stack_name (nested part)
|
22
|
-
cattr_accessor :_s3_events # dont want this to be inheritable intentionally
|
23
|
-
self._s3_events = {}
|
24
|
-
|
25
|
-
class << self
|
26
|
-
def process(event, context, meth)
|
27
|
-
job = new(event, context, meth)
|
28
|
-
job.send(meth)
|
29
|
-
end
|
30
|
-
|
31
|
-
def perform_now(meth, event={}, context={})
|
32
|
-
process(event, context, meth)
|
33
|
-
end
|
34
|
-
|
35
|
-
def perform_later(meth, event={}, context={})
|
36
|
-
if on_lambda?
|
37
|
-
function_name = "#{self.to_s.underscore}-#{meth}"
|
38
|
-
call = Jets::Commands::Call::Caller.new(function_name, JSON.dump(event), invocation_type: "Event")
|
39
|
-
call.run
|
40
|
-
else
|
41
|
-
Jets.logger.info "INFO: Not on AWS Lambda. In local mode perform_later executes the job with perform_now instead."
|
42
|
-
perform_now(meth, event, context)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
def on_lambda?
|
48
|
-
!!ENV['AWS_LAMBDA_FUNCTION_NAME']
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,78 +0,0 @@
|
|
1
|
-
module Jets::Job::Dsl
|
2
|
-
module DynamodbEvent
|
3
|
-
def dynamodb_event(table_name_without_namespace, options={})
|
4
|
-
return if ENV['JETS_NO_INTERNET'] # Disable during build since jets build tries to init this
|
5
|
-
|
6
|
-
table_name = add_dynamodb_table_namespace(table_name_without_namespace)
|
7
|
-
stream_arn = full_dynamodb_stream_arn(table_name)
|
8
|
-
default_iam_policy = default_dynamodb_stream_policy(stream_arn)
|
9
|
-
|
10
|
-
# Create iam policy allows access to dynamodb
|
11
|
-
iam_policy_option = [options.delete(:iam_policy)].compact.flatten
|
12
|
-
user_iam_policy = [@iam_policy].compact.flatten
|
13
|
-
iam_policy_props = iam_policy_option + user_iam_policy + [default_iam_policy]
|
14
|
-
iam_policy(iam_policy_props)
|
15
|
-
|
16
|
-
props = options # by this time options only has EventSourceMapping properties
|
17
|
-
default = {
|
18
|
-
EventSourceArn: stream_arn,
|
19
|
-
StartingPosition: "TRIM_HORIZON",
|
20
|
-
}
|
21
|
-
props = default.merge(props)
|
22
|
-
|
23
|
-
event_source_mapping(props)
|
24
|
-
end
|
25
|
-
|
26
|
-
def add_dynamodb_table_namespace(table_name_without_namespace)
|
27
|
-
ns = if Jets.config.events.dynamodb.table_namespace == true
|
28
|
-
Jets.table_namespace # does not include extra
|
29
|
-
elsif Jets.config.events.dynamodb.table_namespace
|
30
|
-
Jets.config.events.dynamodb.table_namespace # allow user to fully control namespace
|
31
|
-
end
|
32
|
-
ns_separator = Jets.config.events.dynamodb.table_namespace_separator
|
33
|
-
[ns, table_name_without_namespace].compact.join(ns_separator)
|
34
|
-
end
|
35
|
-
|
36
|
-
# Expands table name to the full stream arn. Example:
|
37
|
-
#
|
38
|
-
# test-table
|
39
|
-
# To:
|
40
|
-
# arn:aws:dynamodb:us-west-2:112233445566:table/test-table/stream/2019-02-15T21:41:15.217
|
41
|
-
#
|
42
|
-
# Note, this does not check if the stream has been disabled.
|
43
|
-
def full_dynamodb_stream_arn(table_name)
|
44
|
-
return table_name if table_name.include?("arn:aws:dynamodb") # assume full stream arn
|
45
|
-
|
46
|
-
begin
|
47
|
-
resp = dynamodb.describe_table(table_name: table_name)
|
48
|
-
rescue Aws::DynamoDB::Errors::ResourceNotFoundException => e
|
49
|
-
puts e.message
|
50
|
-
puts "ERROR: Was not able to find the DynamoDB table: #{table_name}.".color(:red)
|
51
|
-
code_line = caller.grep(%r{/app/jobs}).first
|
52
|
-
puts "Please check: #{code_line}"
|
53
|
-
puts "Exiting"
|
54
|
-
exit 1
|
55
|
-
end
|
56
|
-
stream_arn = resp.table.latest_stream_arn
|
57
|
-
return stream_arn if stream_arn
|
58
|
-
end
|
59
|
-
|
60
|
-
def default_dynamodb_stream_policy(stream_name_arn='*')
|
61
|
-
stream = {
|
62
|
-
Action: ["dynamodb:GetRecords",
|
63
|
-
"dynamodb:GetShardIterator",
|
64
|
-
"dynamodb:DescribeStream",
|
65
|
-
"dynamodb:ListStreams"],
|
66
|
-
Effect: "Allow",
|
67
|
-
Resource: stream_name_arn,
|
68
|
-
}
|
69
|
-
table_name_arn = stream_name_arn.gsub(%r{/stream/20.*},'')
|
70
|
-
table = {
|
71
|
-
Action: ["dynamodb:DescribeTable"],
|
72
|
-
Effect: "Allow",
|
73
|
-
Resource: table_name_arn,
|
74
|
-
}
|
75
|
-
[stream, table]
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# SqsEvent uses this module
|
2
|
-
module Jets::Job::Dsl
|
3
|
-
module EventSourceMapping
|
4
|
-
def event_source_mapping(props={})
|
5
|
-
r = Jets::Cfn::Resource::Lambda::EventSourceMapping.new(props)
|
6
|
-
with_fresh_properties do
|
7
|
-
resource(r.definition) # add associated resource immediately
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Jets::Job::Dsl
|
2
|
-
module IotEvent
|
3
|
-
# The user must at least pass in an SQL statement
|
4
|
-
def iot_event(props={})
|
5
|
-
if props.is_a?(String) # SQL Statement
|
6
|
-
props = {Sql: props}
|
7
|
-
topic_props = {TopicRulePayload: props}
|
8
|
-
elsif props.key?(:TopicRulePayload) # full properties structure
|
9
|
-
topic_props = props
|
10
|
-
else # just the TopicRulePayload
|
11
|
-
topic_props = {TopicRulePayload: props}
|
12
|
-
end
|
13
|
-
|
14
|
-
declare_iot_topic(topic_props)
|
15
|
-
end
|
16
|
-
|
17
|
-
def declare_iot_topic(props={})
|
18
|
-
r = Jets::Cfn::Resource::Iot::TopicRule.new(props)
|
19
|
-
with_fresh_properties do
|
20
|
-
resource(r.definition) # add associated resource immediately
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module Jets::Job::Dsl
|
2
|
-
module KinesisEvent
|
3
|
-
def kinesis_event(stream_name, options={})
|
4
|
-
stream_arn = full_kinesis_stream_arn(stream_name)
|
5
|
-
default_iam_policy = default_kinesis_stream_policy(stream_arn)
|
6
|
-
|
7
|
-
# Create iam policy allows access to kinesis
|
8
|
-
iam_policy_option = [options.delete(:iam_policy)].compact.flatten
|
9
|
-
user_iam_policy = [@iam_policy].compact.flatten
|
10
|
-
iam_policy_props = iam_policy_option + user_iam_policy + [default_iam_policy]
|
11
|
-
iam_policy(iam_policy_props)
|
12
|
-
|
13
|
-
props = options # by this time options only has EventSourceMapping properties
|
14
|
-
default = {
|
15
|
-
EventSourceArn: stream_arn,
|
16
|
-
StartingPosition: "LATEST",
|
17
|
-
}
|
18
|
-
props = default.merge(props)
|
19
|
-
|
20
|
-
event_source_mapping(props)
|
21
|
-
end
|
22
|
-
|
23
|
-
# Expands table name to the full stream arn. Example:
|
24
|
-
#
|
25
|
-
# test-table
|
26
|
-
# To:
|
27
|
-
# arn:aws:kinesis:us-west-2:112233445566:table/test-table/stream/2019-02-15T21:41:15.217
|
28
|
-
#
|
29
|
-
# Note, this does not check if the stream has been disabled.
|
30
|
-
def full_kinesis_stream_arn(stream_name)
|
31
|
-
return stream_name if stream_name.include?("arn:aws:kinesis") # assume full stream arn
|
32
|
-
|
33
|
-
"arn:aws:kinesis:#{Jets.aws.region}:#{Jets.aws.account}:stream/#{stream_name}"
|
34
|
-
end
|
35
|
-
|
36
|
-
def default_kinesis_stream_policy(stream_name_arn='*')
|
37
|
-
{
|
38
|
-
Action: ["kinesis:GetRecords",
|
39
|
-
"kinesis:GetShardIterator",
|
40
|
-
"kinesis:DescribeStream",
|
41
|
-
"kinesis:ListStreams"],
|
42
|
-
Effect: "Allow",
|
43
|
-
Resource: stream_name_arn,
|
44
|
-
}
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Jets::Job::Dsl
|
2
|
-
module LogEvent
|
3
|
-
def log_event(log_group_name, props={})
|
4
|
-
props.merge!(LogGroupName: log_group_name)
|
5
|
-
declare_log_subscription_filter(props)
|
6
|
-
end
|
7
|
-
|
8
|
-
def declare_log_subscription_filter(props={})
|
9
|
-
r = Jets::Cfn::Resource::Logs::SubscriptionFilter.new(props)
|
10
|
-
with_fresh_properties do
|
11
|
-
resource(r.definition) # add associated resource immediately
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,78 +0,0 @@
|
|
1
|
-
module Jets::Job::Dsl
|
2
|
-
module RuleEvent
|
3
|
-
# Public: Creates CloudWatch Event Rule
|
4
|
-
#
|
5
|
-
# expression - The rate expression.
|
6
|
-
#
|
7
|
-
# Examples
|
8
|
-
#
|
9
|
-
# rate("10 minutes")
|
10
|
-
# rate("10 minutes", description: "Hard job")
|
11
|
-
#
|
12
|
-
def rate(expression, props={})
|
13
|
-
schedule_job("rate(#{expression})", props)
|
14
|
-
end
|
15
|
-
|
16
|
-
# Public: Creates CloudWatch Event Rule
|
17
|
-
#
|
18
|
-
# expression - The cron expression.
|
19
|
-
#
|
20
|
-
# Examples
|
21
|
-
#
|
22
|
-
# cron("0 */12 * * ? *")
|
23
|
-
# cron("0 */12 * * ? *", description: "Hard job")
|
24
|
-
#
|
25
|
-
def cron(expression, props={})
|
26
|
-
schedule_job("cron(#{expression})", props)
|
27
|
-
end
|
28
|
-
|
29
|
-
def schedule_job(expression, props={})
|
30
|
-
props = props.merge(ScheduleExpression: expression)
|
31
|
-
rule_event(props)
|
32
|
-
end
|
33
|
-
|
34
|
-
def rule_event(props={})
|
35
|
-
# detail should all be lowercase: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
|
36
|
-
# source should also all be lowercase
|
37
|
-
if props.key?(:detail)
|
38
|
-
# :description should be lowercased. It's a convenience property, and belongs at a higher level
|
39
|
-
description = props.key?(:description) ? props.delete(:description) : rule_description
|
40
|
-
rule_props = { EventPattern: props, Description: description }
|
41
|
-
else # if props.key?(:event_pattern)
|
42
|
-
props[:Description] ||= rule_description
|
43
|
-
rule_props = props
|
44
|
-
end
|
45
|
-
|
46
|
-
with_fresh_properties(multiple_resources: false) do
|
47
|
-
associated_properties(rule_props) # TODO: consider getting rid of @associated_properties concept
|
48
|
-
resource(events_rule_definition) # add associated resource immediately
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def rule_description
|
53
|
-
self.rule_counter += 1
|
54
|
-
"#{self.name} event rule #{rule_counter}"
|
55
|
-
end
|
56
|
-
|
57
|
-
def events_rule_definition
|
58
|
-
resource = Jets::Cfn::Resource::Events::Rule.new(associated_properties)
|
59
|
-
resource.definition # returns a definition to be added by associated_resources
|
60
|
-
end
|
61
|
-
|
62
|
-
# Deprecated methods, will be removed in the future
|
63
|
-
def events_rule(props)
|
64
|
-
puts "DEPRECATED: events_rule. Instead use rule_event. The events_rule will be removed in the future. Pausing for 5 seconds".color(:yellow)
|
65
|
-
puts caller[0]
|
66
|
-
sleep 5
|
67
|
-
rule_event(props)
|
68
|
-
end
|
69
|
-
# Deprecated methods, will be removed in the future
|
70
|
-
|
71
|
-
def event_pattern(props)
|
72
|
-
puts "DEPRECATED: events_rule. Instead use rule_event. The events_rule will be removed in the future. Pausing for 5 seconds".color(:yellow)
|
73
|
-
puts caller[0]
|
74
|
-
sleep 5
|
75
|
-
rule_event(props)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|