jets 1.7.1 → 1.7.2
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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -2
- data/.gitignore +1 -0
- data/CHANGELOG.md +5 -0
- data/lib/jets/job/dsl.rb +19 -18
- data/lib/jets/job/dsl/event_source_mapping.rb +3 -58
- data/lib/jets/job/dsl/sns_event.rb +46 -0
- data/lib/jets/job/dsl/sqs_event.rb +96 -0
- data/lib/jets/lambda/dsl.rb +1 -1
- data/lib/jets/rack_server.rb +8 -2
- data/lib/jets/resource/sns.rb +1 -0
- data/lib/jets/resource/sns/subscription.rb +29 -0
- data/lib/jets/resource/sns/topic.rb +35 -0
- data/lib/jets/spec_helpers.rb +5 -0
- data/lib/jets/spec_helpers/params.rb +3 -3
- data/lib/jets/spec_helpers/request.rb +6 -0
- data/lib/jets/stack/main/extensions/sns.rb +1 -1
- data/lib/jets/version.rb +1 -1
- metadata +6 -3
- data/Gemfile.lock +0 -190
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d4b8b6547644c895f4b9f86ea9c58d1732f89bd68cc3f71a73cf4d2a6733eb0
|
4
|
+
data.tar.gz: e6447ef5b8099c9c405be40315cf9aa2dc711958158a79a86f578c1f0258117d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a90c4010311c435bc32714738dd83ece60822a8c34cb9d848c198bd0d8d9518129a764c5edf3ea873747f3ff38d3630ec991a907f5afd9acf6befabada4fd58
|
7
|
+
data.tar.gz: b2013f481f5be249ee7798bb746306d25e52ff9f1515020b28c3e7e7583511ea3796666734a202c3514235d0d6816ce28e677ef397238c88531a44116f0cbbb7
|
data/.circleci/config.yml
CHANGED
@@ -28,7 +28,7 @@ jobs:
|
|
28
28
|
# Download and cache dependencies
|
29
29
|
- restore_cache:
|
30
30
|
keys:
|
31
|
-
- v2-dependencies-{{ checksum "
|
31
|
+
- v2-dependencies-{{ checksum "jets.gemspec" }}
|
32
32
|
# fallback to using the latest cache if no exact match is found
|
33
33
|
- v2-dependencies-
|
34
34
|
|
@@ -40,7 +40,7 @@ jobs:
|
|
40
40
|
- save_cache:
|
41
41
|
paths:
|
42
42
|
- ./vendor/bundle
|
43
|
-
key: v2-dependencies-{{ checksum "
|
43
|
+
key: v2-dependencies-{{ checksum "jets.gemspec" }}
|
44
44
|
|
45
45
|
# Database setup
|
46
46
|
# - run: bundle exec rake db:create
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,11 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [1.7.2]
|
7
|
+
- #189: spec_helpers: `get` request now converts dangling params to query params. `query` keyword can be used to do the same thing explicitly.
|
8
|
+
- #190 SNS Event Lambda Trigger Support
|
9
|
+
- Start rack server on 127.0.0.1 for mega mode
|
10
|
+
|
6
11
|
## [1.7.1]
|
7
12
|
- fix Turbines with no initializer blocks
|
8
13
|
|
data/lib/jets/job/dsl.rb
CHANGED
@@ -8,11 +8,15 @@
|
|
8
8
|
#
|
9
9
|
module Jets::Job::Dsl
|
10
10
|
extend ActiveSupport::Concern
|
11
|
-
autoload :EventSourceMapping, "jets/job/dsl/event_source_mapping"
|
11
|
+
autoload :EventSourceMapping, "jets/job/dsl/event_source_mapping" # base for sqs_event, etc
|
12
|
+
autoload :SnsEvent, "jets/job/dsl/sns_event"
|
13
|
+
autoload :SqsEvent, "jets/job/dsl/sqs_event"
|
12
14
|
|
13
15
|
included do
|
14
16
|
class << self
|
15
17
|
include EventSourceMapping
|
18
|
+
include SnsEvent
|
19
|
+
include SqsEvent
|
16
20
|
|
17
21
|
# Public: Creates CloudWatch Event Rule
|
18
22
|
#
|
@@ -41,30 +45,27 @@ module Jets::Job::Dsl
|
|
41
45
|
end
|
42
46
|
|
43
47
|
def schedule_job(expression, props={})
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
@associated_properties = nil # reset for next definition, since we're defining eagerly
|
48
|
+
with_fresh_properties(multiple_resources: false) do
|
49
|
+
props = props.merge(schedule_expression: expression)
|
50
|
+
associated_properties(props)
|
51
|
+
resource(events_rule_definition) # add associated resource immediately
|
52
|
+
end
|
50
53
|
end
|
51
54
|
|
52
55
|
def event_pattern(details={}, props={})
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
@associated_properties = nil # reset for next definition, since we're defining eagerly
|
56
|
+
with_fresh_properties(multiple_resources: false) do
|
57
|
+
props = props.merge(event_pattern: details)
|
58
|
+
associated_properties(props)
|
59
|
+
resource(events_rule_definition) # add associated resource immediately
|
60
|
+
end
|
59
61
|
add_descriptions # useful: generic description in the Event Rule console
|
60
62
|
end
|
61
63
|
|
62
64
|
def events_rule(props={})
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
@associated_properties = nil # reset for next definition, since we're defining eagerly
|
65
|
+
with_fresh_properties(multiple_resources: false) do
|
66
|
+
associated_properties(props)
|
67
|
+
resource(events_rule_definition) # add associated resource immediately
|
68
|
+
end
|
68
69
|
end
|
69
70
|
|
70
71
|
# Works with eager definitions
|
@@ -1,66 +1,11 @@
|
|
1
|
+
# SqsEvent uses this module
|
1
2
|
module Jets::Job::Dsl
|
2
3
|
module EventSourceMapping
|
3
|
-
def declare_queue(props)
|
4
|
-
props ||= {} # since options.delete(:queue_properties) can be nil
|
5
|
-
r = Jets::Resource::Sqs::Queue.new(props)
|
6
|
-
with_resource_options(fresh_properties: true, multiple: true) do
|
7
|
-
resource(r.definition) # add associated resources immediately
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
4
|
def event_source_mapping(props={})
|
12
5
|
r = Jets::Resource::Lambda::EventSourceMapping.new(props)
|
13
|
-
|
14
|
-
resource(r.definition) # add associated
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def sqs_event(queue_name, options={})
|
19
|
-
if queue_name == :generate_queue
|
20
|
-
queue_arn = "!GetAtt {namespace}SqsQueue.Arn"
|
21
|
-
default_iam_policy = default_sqs_iam_policy('*') # Dont have access to full ARN on initial creation
|
22
|
-
declare_queue(options.delete(:queue_properties)) # delete to avoid using them for event_source_mapping
|
23
|
-
elsif queue_name.include?('!Ref') # reference shared resource
|
24
|
-
queue_arn = queue_name
|
25
|
-
default_iam_policy = default_sqs_iam_policy('*') # Dont have access to full ARN on initial creation
|
26
|
-
else # short-handle existing queue or full queue arn
|
27
|
-
queue_arn = full_queue_arn(queue_name)
|
28
|
-
default_iam_policy = default_sqs_iam_policy(queue_arn)
|
6
|
+
with_fresh_properties do
|
7
|
+
resource(r.definition) # add associated resource immediately
|
29
8
|
end
|
30
|
-
|
31
|
-
# Create iam policy allows access to queue
|
32
|
-
# Allow disabling in case use wants to add permission application-wide and not have extra IAM policy
|
33
|
-
iam_policy_props = options.delete(:iam_policy) || @iam_policy || default_iam_policy
|
34
|
-
iam_policy(iam_policy_props) unless iam_policy_props == :disable
|
35
|
-
|
36
|
-
props = options # by this time options only has EventSourceMapping properties
|
37
|
-
default = {
|
38
|
-
event_source_arn: queue_arn
|
39
|
-
}
|
40
|
-
props = default.merge(props)
|
41
|
-
|
42
|
-
event_source_mapping(props)
|
43
|
-
end
|
44
|
-
|
45
|
-
# Expands simple queue name to full arn. Example:
|
46
|
-
#
|
47
|
-
# hello-queue
|
48
|
-
# To:
|
49
|
-
# arn:aws:sqs:us-west-2:112233445566:hello-queue
|
50
|
-
def full_queue_arn(queue_name)
|
51
|
-
return queue_name if queue_name.include?("arn:aws:sqs")
|
52
|
-
|
53
|
-
"arn:aws:sqs:#{Jets.aws.region}:#{Jets.aws.account}:#{queue_name}"
|
54
|
-
end
|
55
|
-
|
56
|
-
def default_sqs_iam_policy(queue_name_arn='*')
|
57
|
-
{
|
58
|
-
action: ["sqs:ReceiveMessage",
|
59
|
-
"sqs:DeleteMessage",
|
60
|
-
"sqs:GetQueueAttributes"],
|
61
|
-
effect: "Allow",
|
62
|
-
resource: queue_name_arn,
|
63
|
-
}
|
64
9
|
end
|
65
10
|
end
|
66
11
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Jets::Job::Dsl
|
2
|
+
module SnsEvent
|
3
|
+
def sns_event(topic_name, props={})
|
4
|
+
if topic_name.to_s =~ /generate/
|
5
|
+
declare_sns_topic(props.delete(:topic_properties))
|
6
|
+
topic_arn = "!Ref {namespace}SnsTopic"
|
7
|
+
props.merge!(topic_arn: topic_arn)
|
8
|
+
declare_sns_subscription(props)
|
9
|
+
elsif topic_name.include?('!Ref') # reference shared resource
|
10
|
+
topic_arn = topic_name # contains !Ref
|
11
|
+
props.merge!(topic_arn: topic_arn)
|
12
|
+
declare_sns_subscription(props)
|
13
|
+
else # existing topic: short name or full arn
|
14
|
+
topic_arn = full_sns_topic_arn(topic_name)
|
15
|
+
props.merge!(topic_arn: topic_arn)
|
16
|
+
declare_sns_subscription(props)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def declare_sns_topic(props={})
|
21
|
+
props ||= {} # props.delete(:topic_properties) can be nil
|
22
|
+
r = Jets::Resource::Sns::Topic.new(props)
|
23
|
+
with_fresh_properties do
|
24
|
+
resource(r.definition) # add associated resource immediately
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def declare_sns_subscription(props={})
|
29
|
+
r = Jets::Resource::Sns::Subscription.new(props)
|
30
|
+
with_fresh_properties do
|
31
|
+
resource(r.definition) # add associated resource immediately
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Expands simple topic name to full arn. Example:
|
36
|
+
#
|
37
|
+
# hello-topic
|
38
|
+
# To:
|
39
|
+
# arn:aws:sns:us-west-2:112233445566:hello-topic
|
40
|
+
def full_sns_topic_arn(topic_name)
|
41
|
+
return topic_name if topic_name.include?("arn:aws:sns")
|
42
|
+
|
43
|
+
"arn:aws:sns:#{Jets.aws.region}:#{Jets.aws.account}:#{topic_name}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# ## Event Source Mapping
|
2
|
+
#
|
3
|
+
# Underneath the hood, the `sqs_event` method sets up a [Lambda::EventSourceMapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html). So:
|
4
|
+
#
|
5
|
+
# ```ruby
|
6
|
+
# class HardJob
|
7
|
+
# class_timeout 30 # must be less than or equal to the SQS queue default timeout
|
8
|
+
#
|
9
|
+
# sqs_event "hello-queue"
|
10
|
+
# def dig
|
11
|
+
# puts "dig event #{JSON.dump(event)}"
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# ```
|
15
|
+
#
|
16
|
+
# Cloud also be written with something like this:
|
17
|
+
#
|
18
|
+
# ```ruby
|
19
|
+
# class HardJob
|
20
|
+
# class_timeout 30 # must be less than or equal to the SQS queue default timeout
|
21
|
+
#
|
22
|
+
# event_source_mapping(
|
23
|
+
# event_source_arn: "arn:aws:sqs:us-west-2:112233445566:hello-queue",
|
24
|
+
# )
|
25
|
+
# iam_policy(
|
26
|
+
# action: ["sqs:ReceiveMessage",
|
27
|
+
# "sqs:DeleteMessage",
|
28
|
+
# "sqs:GetQueueAttributes"],
|
29
|
+
# effect: "Allow",
|
30
|
+
# resource: "arn:aws:sqs:us-west-2:112233445566:hello-queue",
|
31
|
+
# )
|
32
|
+
# def dig
|
33
|
+
# puts "dig event #{JSON.dump(event)}"
|
34
|
+
# end
|
35
|
+
# end
|
36
|
+
# ```
|
37
|
+
#
|
38
|
+
module Jets::Job::Dsl
|
39
|
+
module SqsEvent
|
40
|
+
def sqs_event(queue_name, options={})
|
41
|
+
if queue_name.to_s =~ /generate/
|
42
|
+
queue_arn = "!GetAtt {namespace}SqsQueue.Arn"
|
43
|
+
default_iam_policy = default_sqs_iam_policy('*') # Dont have access to full ARN on initial creation
|
44
|
+
declare_sqs_queue(options.delete(:queue_properties)) # delete to avoid using them for event_source_mapping
|
45
|
+
elsif queue_name.include?('!Ref') # reference shared resource
|
46
|
+
queue_arn = queue_name
|
47
|
+
default_iam_policy = default_sqs_iam_policy('*') # Dont have access to full ARN on initial creation
|
48
|
+
else # existing queue: short name or full arn
|
49
|
+
queue_arn = full_sqs_queue_arn(queue_name)
|
50
|
+
default_iam_policy = default_sqs_iam_policy(queue_arn)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Create iam policy allows access to queue
|
54
|
+
# Allow disabling in case use wants to add permission application-wide and not have extra IAM policy
|
55
|
+
iam_policy_props = options.delete(:iam_policy) || @iam_policy || default_iam_policy
|
56
|
+
iam_policy(iam_policy_props) unless iam_policy_props == :disable
|
57
|
+
|
58
|
+
props = options # by this time options only has EventSourceMapping properties
|
59
|
+
default = {
|
60
|
+
event_source_arn: queue_arn
|
61
|
+
}
|
62
|
+
props = default.merge(props)
|
63
|
+
|
64
|
+
event_source_mapping(props)
|
65
|
+
end
|
66
|
+
|
67
|
+
def declare_sqs_queue(props)
|
68
|
+
props ||= {} # since options.delete(:queue_properties) can be nil
|
69
|
+
r = Jets::Resource::Sqs::Queue.new(props)
|
70
|
+
with_fresh_properties do
|
71
|
+
resource(r.definition) # add associated resource immediately
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# Expands simple queue name to full arn. Example:
|
76
|
+
#
|
77
|
+
# hello-queue
|
78
|
+
# To:
|
79
|
+
# arn:aws:sqs:us-west-2:112233445566:hello-queue
|
80
|
+
def full_sqs_queue_arn(queue_name)
|
81
|
+
return queue_name if queue_name.include?("arn:aws:sqs")
|
82
|
+
|
83
|
+
"arn:aws:sqs:#{Jets.aws.region}:#{Jets.aws.account}:#{queue_name}"
|
84
|
+
end
|
85
|
+
|
86
|
+
def default_sqs_iam_policy(queue_name_arn='*')
|
87
|
+
{
|
88
|
+
action: ["sqs:ReceiveMessage",
|
89
|
+
"sqs:DeleteMessage",
|
90
|
+
"sqs:GetQueueAttributes"],
|
91
|
+
effect: "Allow",
|
92
|
+
resource: queue_name_arn,
|
93
|
+
}
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
data/lib/jets/lambda/dsl.rb
CHANGED
@@ -155,7 +155,7 @@ module Jets::Lambda::Dsl
|
|
155
155
|
# interfere with being able to pass in any keys for the properties hash at the end.
|
156
156
|
#
|
157
157
|
# TODO: If there's a cleaner way of doing this, let me know.
|
158
|
-
def
|
158
|
+
def with_fresh_properties(fresh_properties: true, multiple_resources: true)
|
159
159
|
@associated_properties = nil if fresh_properties # dont use any current associated_properties
|
160
160
|
@multiple_resources = multiple_resources
|
161
161
|
|
data/lib/jets/rack_server.rb
CHANGED
@@ -36,8 +36,14 @@ module Jets
|
|
36
36
|
# down to the sub bin/rackup command cleans up the child process fine.
|
37
37
|
Bundler.with_clean_env do
|
38
38
|
args = ''
|
39
|
-
|
40
|
-
|
39
|
+
# only forward the host option, port is always 9292 for simplicity
|
40
|
+
if @options[:host]
|
41
|
+
args << " --host #{@options[:host]}"
|
42
|
+
else
|
43
|
+
args << " --host 127.0.0.1" # using the default localhost is not starting up https://stackoverflow.com/questions/4356646/address-family-not-supported-by-protocol-family
|
44
|
+
end
|
45
|
+
|
46
|
+
|
41
47
|
command = "cd #{rack_project} && bin/rackup#{args}" # leads to the same wrapper rack scripts
|
42
48
|
puts "=> #{command}".color(:green)
|
43
49
|
system(command)
|
data/lib/jets/resource/sns.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
# CloudFormation SNS Subscription docs: https://amzn.to/2SJtN3C
|
2
|
+
module Jets::Resource::Sns
|
3
|
+
class Subscription < Jets::Resource::Base
|
4
|
+
def initialize(props)
|
5
|
+
@props = props # associated_properties from dsl.rb
|
6
|
+
end
|
7
|
+
|
8
|
+
def definition
|
9
|
+
{
|
10
|
+
subscription_logical_id => {
|
11
|
+
type: "AWS::SNS::Subscription",
|
12
|
+
properties: merged_properties,
|
13
|
+
}
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
# Do not name this method properties, that is a computed method of `Jets::Resource::Base`
|
18
|
+
def merged_properties
|
19
|
+
{
|
20
|
+
endpoint: "!GetAtt {namespace}LambdaFunction.Arn",
|
21
|
+
protocol: "lambda",
|
22
|
+
}.deep_merge(@props)
|
23
|
+
end
|
24
|
+
|
25
|
+
def subscription_logical_id
|
26
|
+
"{namespace}_sns_subscription"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# CloudFormation SNS Topic docs: https://amzn.to/2MYbUZc
|
2
|
+
module Jets::Resource::Sns
|
3
|
+
class Topic < Jets::Resource::Base
|
4
|
+
def initialize(props)
|
5
|
+
@props = props # associated_properties from dsl.rb
|
6
|
+
end
|
7
|
+
|
8
|
+
def definition
|
9
|
+
{
|
10
|
+
topic_logical_id => {
|
11
|
+
type: "AWS::SNS::Topic",
|
12
|
+
properties: merged_properties,
|
13
|
+
}
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
# Do not name this method properties, that is a computed method of `Jets::Resource::Base`
|
18
|
+
def merged_properties
|
19
|
+
display_name = "{namespace} Topic"[0..99] # limit is 100 chars
|
20
|
+
{
|
21
|
+
display_name: display_name,
|
22
|
+
# Not setting subscription this way but instead with a SNS::Subscription resource so the interface
|
23
|
+
# is consistent. Leaving comment in here to remind me and in case decide to change this.
|
24
|
+
# subscription: [
|
25
|
+
# endpoint: "!GetAtt {namespace}LambdaFunction.Arn",
|
26
|
+
# protocol: "lambda"
|
27
|
+
# ]
|
28
|
+
}.deep_merge(@props)
|
29
|
+
end
|
30
|
+
|
31
|
+
def topic_logical_id
|
32
|
+
"{namespace}_sns_topic"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/jets/spec_helpers.rb
CHANGED
@@ -32,6 +32,11 @@ module Jets
|
|
32
32
|
request.headers.deep_merge!(params.delete(:headers) || {})
|
33
33
|
|
34
34
|
request.params.body_params = params.delete(:params) || params || {}
|
35
|
+
|
36
|
+
request.params.query_params = params.delete(:query)
|
37
|
+
request.params.query_params ||= params if request.method == :get
|
38
|
+
request.params.query_params ||= {}
|
39
|
+
|
35
40
|
request.params.path_params = params
|
36
41
|
|
37
42
|
@response = request.dispatch!
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module Jets
|
2
2
|
module SpecHelpers
|
3
3
|
class Params
|
4
|
-
attr_accessor :path_params, :body_params
|
5
|
-
def initialize(path_params={}, body_params={})
|
6
|
-
@path_params, @body_params = path_params, body_params
|
4
|
+
attr_accessor :path_params, :body_params, :query_params
|
5
|
+
def initialize(path_params={}, body_params={}, query_params={})
|
6
|
+
@path_params, @body_params, @query_params = path_params, body_params, query_params
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
data/lib/jets/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -438,7 +438,6 @@ files:
|
|
438
438
|
- Dockerfile
|
439
439
|
- Dockerfile.base
|
440
440
|
- Gemfile
|
441
|
-
- Gemfile.lock
|
442
441
|
- Guardfile
|
443
442
|
- LICENSE.txt
|
444
443
|
- Procfile
|
@@ -653,6 +652,8 @@ files:
|
|
653
652
|
- lib/jets/job/base.rb
|
654
653
|
- lib/jets/job/dsl.rb
|
655
654
|
- lib/jets/job/dsl/event_source_mapping.rb
|
655
|
+
- lib/jets/job/dsl/sns_event.rb
|
656
|
+
- lib/jets/job/dsl/sqs_event.rb
|
656
657
|
- lib/jets/klass.rb
|
657
658
|
- lib/jets/lambda.rb
|
658
659
|
- lib/jets/lambda/dsl.rb
|
@@ -744,6 +745,8 @@ files:
|
|
744
745
|
- lib/jets/resource/route53/record_set.rb
|
745
746
|
- lib/jets/resource/s3.rb
|
746
747
|
- lib/jets/resource/sns.rb
|
748
|
+
- lib/jets/resource/sns/subscription.rb
|
749
|
+
- lib/jets/resource/sns/topic.rb
|
747
750
|
- lib/jets/resource/sqs.rb
|
748
751
|
- lib/jets/resource/sqs/queue.rb
|
749
752
|
- lib/jets/resource/standardizer.rb
|
data/Gemfile.lock
DELETED
@@ -1,190 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/tongueroo/webpacker.git
|
3
|
-
revision: 3651cc317358018ebd16de75df3b8184adf1b818
|
4
|
-
branch: jets
|
5
|
-
specs:
|
6
|
-
webpacker (3.2.0)
|
7
|
-
activesupport (>= 4.2)
|
8
|
-
rack-proxy (>= 0.6.1)
|
9
|
-
railties (>= 4.2)
|
10
|
-
|
11
|
-
PATH
|
12
|
-
remote: .
|
13
|
-
specs:
|
14
|
-
jets (1.7.1)
|
15
|
-
activerecord (~> 5.2.1)
|
16
|
-
activesupport (~> 5.2.1)
|
17
|
-
aws-sdk-apigateway
|
18
|
-
aws-sdk-cloudformation
|
19
|
-
aws-sdk-cloudwatchlogs
|
20
|
-
aws-sdk-dynamodb
|
21
|
-
aws-sdk-lambda
|
22
|
-
aws-sdk-s3
|
23
|
-
aws-sdk-sns
|
24
|
-
aws-sdk-sqs
|
25
|
-
dotenv
|
26
|
-
gems
|
27
|
-
hashie
|
28
|
-
jets-html-sanitizer
|
29
|
-
json
|
30
|
-
kramdown
|
31
|
-
memoist
|
32
|
-
mimemagic
|
33
|
-
rack
|
34
|
-
railties (~> 5.2.1)
|
35
|
-
rainbow
|
36
|
-
recursive-open-struct
|
37
|
-
text-table
|
38
|
-
thor
|
39
|
-
|
40
|
-
GEM
|
41
|
-
remote: https://rubygems.org/
|
42
|
-
specs:
|
43
|
-
actionpack (5.2.2)
|
44
|
-
actionview (= 5.2.2)
|
45
|
-
activesupport (= 5.2.2)
|
46
|
-
rack (~> 2.0)
|
47
|
-
rack-test (>= 0.6.3)
|
48
|
-
rails-dom-testing (~> 2.0)
|
49
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
50
|
-
actionview (5.2.2)
|
51
|
-
activesupport (= 5.2.2)
|
52
|
-
builder (~> 3.1)
|
53
|
-
erubi (~> 1.4)
|
54
|
-
rails-dom-testing (~> 2.0)
|
55
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
56
|
-
activemodel (5.2.2)
|
57
|
-
activesupport (= 5.2.2)
|
58
|
-
activerecord (5.2.2)
|
59
|
-
activemodel (= 5.2.2)
|
60
|
-
activesupport (= 5.2.2)
|
61
|
-
arel (>= 9.0)
|
62
|
-
activesupport (5.2.2)
|
63
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
64
|
-
i18n (>= 0.7, < 2)
|
65
|
-
minitest (~> 5.1)
|
66
|
-
tzinfo (~> 1.1)
|
67
|
-
arel (9.0.0)
|
68
|
-
aws-eventstream (1.0.1)
|
69
|
-
aws-partitions (1.136.0)
|
70
|
-
aws-sdk-apigateway (1.23.0)
|
71
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
72
|
-
aws-sigv4 (~> 1.0)
|
73
|
-
aws-sdk-cloudformation (1.14.0)
|
74
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
75
|
-
aws-sigv4 (~> 1.0)
|
76
|
-
aws-sdk-cloudwatchlogs (1.13.0)
|
77
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
78
|
-
aws-sigv4 (~> 1.0)
|
79
|
-
aws-sdk-core (3.46.0)
|
80
|
-
aws-eventstream (~> 1.0)
|
81
|
-
aws-partitions (~> 1.0)
|
82
|
-
aws-sigv4 (~> 1.0)
|
83
|
-
jmespath (~> 1.0)
|
84
|
-
aws-sdk-dynamodb (1.20.0)
|
85
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
86
|
-
aws-sigv4 (~> 1.0)
|
87
|
-
aws-sdk-kms (1.13.0)
|
88
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
89
|
-
aws-sigv4 (~> 1.0)
|
90
|
-
aws-sdk-lambda (1.17.0)
|
91
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
92
|
-
aws-sigv4 (~> 1.0)
|
93
|
-
aws-sdk-s3 (1.30.1)
|
94
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
95
|
-
aws-sdk-kms (~> 1)
|
96
|
-
aws-sigv4 (~> 1.0)
|
97
|
-
aws-sdk-sns (1.9.0)
|
98
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
99
|
-
aws-sigv4 (~> 1.0)
|
100
|
-
aws-sdk-sqs (1.10.0)
|
101
|
-
aws-sdk-core (~> 3, >= 3.39.0)
|
102
|
-
aws-sigv4 (~> 1.0)
|
103
|
-
aws-sigv4 (1.0.3)
|
104
|
-
builder (3.2.3)
|
105
|
-
byebug (10.0.2)
|
106
|
-
concurrent-ruby (1.1.4)
|
107
|
-
crass (1.0.4)
|
108
|
-
diff-lcs (1.3)
|
109
|
-
dotenv (2.6.0)
|
110
|
-
dynomite (1.2.2)
|
111
|
-
activesupport
|
112
|
-
aws-sdk-dynamodb
|
113
|
-
erubi (1.8.0)
|
114
|
-
gems (1.1.1)
|
115
|
-
json
|
116
|
-
hashie (3.6.0)
|
117
|
-
i18n (1.5.3)
|
118
|
-
concurrent-ruby (~> 1.0)
|
119
|
-
jets-html-sanitizer (1.0.4)
|
120
|
-
loofah (~> 2.2, >= 2.2.2)
|
121
|
-
jmespath (1.4.0)
|
122
|
-
json (2.1.0)
|
123
|
-
kramdown (2.1.0)
|
124
|
-
loofah (2.2.3)
|
125
|
-
crass (~> 1.0.2)
|
126
|
-
nokogiri (>= 1.5.9)
|
127
|
-
memoist (0.16.0)
|
128
|
-
method_source (0.9.2)
|
129
|
-
mimemagic (0.3.3)
|
130
|
-
mini_portile2 (2.4.0)
|
131
|
-
minitest (5.11.3)
|
132
|
-
mysql2 (0.5.2)
|
133
|
-
nokogiri (1.10.1)
|
134
|
-
mini_portile2 (~> 2.4.0)
|
135
|
-
rack (2.0.6)
|
136
|
-
rack-proxy (0.6.5)
|
137
|
-
rack
|
138
|
-
rack-test (1.1.0)
|
139
|
-
rack (>= 1.0, < 3)
|
140
|
-
rails-dom-testing (2.0.3)
|
141
|
-
activesupport (>= 4.2.0)
|
142
|
-
nokogiri (>= 1.6)
|
143
|
-
rails-html-sanitizer (1.0.4)
|
144
|
-
loofah (~> 2.2, >= 2.2.2)
|
145
|
-
railties (5.2.2)
|
146
|
-
actionpack (= 5.2.2)
|
147
|
-
activesupport (= 5.2.2)
|
148
|
-
method_source
|
149
|
-
rake (>= 0.8.7)
|
150
|
-
thor (>= 0.19.0, < 2.0)
|
151
|
-
rainbow (3.0.0)
|
152
|
-
rake (12.3.2)
|
153
|
-
recursive-open-struct (1.1.0)
|
154
|
-
rspec (3.8.0)
|
155
|
-
rspec-core (~> 3.8.0)
|
156
|
-
rspec-expectations (~> 3.8.0)
|
157
|
-
rspec-mocks (~> 3.8.0)
|
158
|
-
rspec-core (3.8.0)
|
159
|
-
rspec-support (~> 3.8.0)
|
160
|
-
rspec-expectations (3.8.2)
|
161
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
162
|
-
rspec-support (~> 3.8.0)
|
163
|
-
rspec-mocks (3.8.0)
|
164
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
165
|
-
rspec-support (~> 3.8.0)
|
166
|
-
rspec-support (3.8.0)
|
167
|
-
rspec_junit_formatter (0.4.1)
|
168
|
-
rspec-core (>= 2, < 4, != 2.12.0)
|
169
|
-
text-table (1.2.4)
|
170
|
-
thor (0.20.3)
|
171
|
-
thread_safe (0.3.6)
|
172
|
-
tzinfo (1.2.5)
|
173
|
-
thread_safe (~> 0.1)
|
174
|
-
|
175
|
-
PLATFORMS
|
176
|
-
ruby
|
177
|
-
|
178
|
-
DEPENDENCIES
|
179
|
-
bundler
|
180
|
-
byebug
|
181
|
-
dynomite
|
182
|
-
jets!
|
183
|
-
mysql2 (~> 0.5.2)
|
184
|
-
rake
|
185
|
-
rspec
|
186
|
-
rspec_junit_formatter
|
187
|
-
webpacker!
|
188
|
-
|
189
|
-
BUNDLED WITH
|
190
|
-
1.17.3
|