jets 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile.lock +1 -1
- data/lib/jets.rb +2 -0
- data/lib/jets/cfn/ship.rb +2 -0
- data/lib/jets/cfn/template_builders/base_child_builder.rb +14 -0
- data/lib/jets/cfn/template_builders/controller_builder.rb +4 -74
- data/lib/jets/cfn/template_builders/interface.rb +5 -0
- data/lib/jets/cfn/template_builders/job_builder.rb +1 -55
- data/lib/jets/cfn/template_builders/rule_builder.rb +7 -58
- data/lib/jets/cfn/template_mappers.rb +1 -4
- data/lib/jets/cfn/template_mappers/child_mapper.rb +1 -1
- data/lib/jets/cfn/template_mappers/gateway_resource_mapper.rb +5 -4
- data/lib/jets/commands/build.rb +2 -2
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +4 -1
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +2 -2
- data/lib/jets/job.rb +0 -1
- data/lib/jets/job/dsl.rb +52 -34
- data/lib/jets/lambda/dsl.rb +43 -1
- data/lib/jets/lambda/task.rb +2 -1
- data/lib/jets/pascalize.rb +26 -8
- data/lib/jets/resource.rb +7 -0
- data/lib/jets/resource/attributes.rb +46 -0
- data/lib/jets/resource/creator.rb +17 -0
- data/lib/jets/resource/permission.rb +43 -0
- data/lib/jets/resource/replacer.rb +40 -0
- data/lib/jets/resource/replacer/base.rb +98 -0
- data/lib/jets/resource/replacer/config_rule.rb +18 -0
- data/lib/jets/resource/route.rb +67 -0
- data/lib/jets/resource/route/attributes.rb +8 -0
- data/lib/jets/resource/route/cors.rb +60 -0
- data/lib/jets/rule.rb +0 -2
- data/lib/jets/rule/dsl.rb +71 -31
- data/lib/jets/version.rb +1 -1
- metadata +12 -8
- data/lib/jets/cfn/template_mappers/config_rule_mapper.rb +0 -34
- data/lib/jets/cfn/template_mappers/events_rule_mapper.rb +0 -40
- data/lib/jets/cfn/template_mappers/gateway_method_mapper.rb +0 -56
- data/lib/jets/job/task.rb +0 -17
- data/lib/jets/rule/aws_managed_rule.rb +0 -12
- data/lib/jets/rule/task.rb +0 -44
@@ -1,56 +0,0 @@
|
|
1
|
-
class Jets::Cfn::TemplateMappers
|
2
|
-
class GatewayMethodMapper
|
3
|
-
def initialize(route)
|
4
|
-
@route = route # {to: "posts#index", path: "posts", method: :get}
|
5
|
-
end
|
6
|
-
|
7
|
-
def logical_id
|
8
|
-
if @route.homepage?
|
9
|
-
"RootPathHomepageGetApiGatewayMethod"
|
10
|
-
else
|
11
|
-
"#{path_method_id}ApiGatewayMethod"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def path_method_id
|
16
|
-
path = @route.path.gsub(':','_').gsub('/','_').gsub('*','')
|
17
|
-
method = @route.method.downcase
|
18
|
-
"#{path}_#{method}".camelize
|
19
|
-
end
|
20
|
-
|
21
|
-
# Example returns:
|
22
|
-
# ApiGatewayResourcePostsIdEdit or
|
23
|
-
# ApiGatewayResourcePostsId or
|
24
|
-
# ApiGatewayResourcePosts
|
25
|
-
def gateway_resource_logical_id
|
26
|
-
resource_map.logical_id
|
27
|
-
end
|
28
|
-
|
29
|
-
def cors_logical_id
|
30
|
-
resource_map.cors_logical_id
|
31
|
-
end
|
32
|
-
|
33
|
-
def resource_map
|
34
|
-
@resource_map ||= GatewayResourceMapper.new(@route.path)
|
35
|
-
end
|
36
|
-
|
37
|
-
def lambda_function_logical_id
|
38
|
-
"#{controller_action_logical_id}LambdaFunction"
|
39
|
-
end
|
40
|
-
|
41
|
-
def permission_logical_id
|
42
|
-
"#{controller_action_logical_id}ApiGatewayPermission"
|
43
|
-
end
|
44
|
-
|
45
|
-
# Example: PostsControllerIndex
|
46
|
-
def controller_action_logical_id
|
47
|
-
controller, action = @route.to.split('#')
|
48
|
-
"#{controller}_controller_#{action}".camelize.gsub('::','')
|
49
|
-
end
|
50
|
-
|
51
|
-
def controller
|
52
|
-
controller, action = @route.to.split('#')
|
53
|
-
"#{controller}_controller".camelize
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
data/lib/jets/job/task.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
class Jets::Job::Task < Jets::Lambda::Task
|
2
|
-
attr_reader :state
|
3
|
-
def initialize(class_name, meth, options={})
|
4
|
-
super
|
5
|
-
@rate = options[:rate]
|
6
|
-
@cron = options[:cron]
|
7
|
-
@state = options[:state] || 'ENABLED'
|
8
|
-
end
|
9
|
-
|
10
|
-
def schedule_expression
|
11
|
-
if @rate
|
12
|
-
"rate(#{@rate})"
|
13
|
-
elsif @cron
|
14
|
-
"cron(#{@cron})"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
class Jets::Rule::AwsManagedRule < Jets::Rule::Task
|
2
|
-
def config_rule_defaults
|
3
|
-
source_identifier = meth.to_s.upcase
|
4
|
-
{
|
5
|
-
"ConfigRuleName" => config_rule_name,
|
6
|
-
"Source" => {
|
7
|
-
"Owner" => "AWS",
|
8
|
-
"SourceIdentifier" => source_identifier
|
9
|
-
}
|
10
|
-
}
|
11
|
-
end
|
12
|
-
end
|
data/lib/jets/rule/task.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
class Jets::Rule::Task < Jets::Lambda::Task
|
2
|
-
attr_reader :config_rule
|
3
|
-
def initialize(class_name, meth, options={})
|
4
|
-
super
|
5
|
-
@config_rule = options[:config_rule] || {}
|
6
|
-
end
|
7
|
-
|
8
|
-
def config_rule_name
|
9
|
-
@properties[:config_rule_name] || conventional_config_rule_name
|
10
|
-
end
|
11
|
-
|
12
|
-
def conventional_config_rule_name
|
13
|
-
name_without_rule = @class_name.underscore.gsub(/_rule$/,'')
|
14
|
-
"#{name_without_rule}_#{@meth}".dasherize
|
15
|
-
end
|
16
|
-
|
17
|
-
def config_rule_properties
|
18
|
-
props = Jets::Pascalize.pascalize(@config_rule)
|
19
|
-
props = config_rule_defaults.merge(props)
|
20
|
-
props
|
21
|
-
end
|
22
|
-
|
23
|
-
def config_rule_defaults
|
24
|
-
map = Jets::Cfn::TemplateMappers::ConfigRuleMapper.new(self)
|
25
|
-
source_identifier = "!GetAtt #{map.lambda_function_logical_id}.Arn"
|
26
|
-
{
|
27
|
-
"ConfigRuleName" => config_rule_name,
|
28
|
-
"Source" => {
|
29
|
-
"Owner" => "CUSTOM_LAMBDA",
|
30
|
-
"SourceIdentifier" => source_identifier,
|
31
|
-
"SourceDetails" => [
|
32
|
-
{
|
33
|
-
"EventSource" => "aws.config",
|
34
|
-
"MessageType" => "ConfigurationItemChangeNotification"
|
35
|
-
},
|
36
|
-
{
|
37
|
-
"EventSource" => "aws.config",
|
38
|
-
"MessageType" => "OversizedConfigurationItemChangeNotification"
|
39
|
-
}
|
40
|
-
]
|
41
|
-
}
|
42
|
-
}
|
43
|
-
end
|
44
|
-
end
|