monosasi 0.1.4 → 0.1.5
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/.gitignore +1 -0
- data/lib/monosasi.rb +4 -1
- data/lib/monosasi/dsl/context/rule/target.rb +15 -4
- data/lib/monosasi/dsl/context/rule/target/batch_parameters.rb +39 -0
- data/lib/monosasi/dsl/context/rule/target/ecs_parameters.rb +81 -0
- data/lib/monosasi/dsl/converter.rb +12 -6
- data/lib/monosasi/version.rb +1 -1
- data/monosasi.gemspec +2 -1
- metadata +23 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b60110d249f0b7a8ac57184b1a398dfa99453c0d2f8219524f7990bb304ced65
|
4
|
+
data.tar.gz: c428dbafa7f1b7796cc6df50a32a07efac35854a96ac0a8a3a77da5266ac62b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 063bca03baf00957de3c42baf2596076f8430564d5926eacdebb2c83683c56c53e43c658b7df73e710a25e9053746eafce7176dce63d811ea6c1e1faa442f20e
|
7
|
+
data.tar.gz: 97f3a6c0949aec6d28f012da71ce4d27364ebea3059365d5afaf03f6507491258e21bc947b96233f854a972cdb850af1334cbd237b9d1a7fed4c525ae003b92a
|
data/.gitignore
CHANGED
data/lib/monosasi.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
require 'aws-sdk'
|
1
|
+
require 'aws-sdk-cloudwatchevents'
|
2
2
|
require 'diffy'
|
3
|
+
require 'dslh'
|
3
4
|
require 'hashie'
|
4
5
|
require 'json'
|
5
6
|
require 'logger'
|
@@ -24,5 +25,7 @@ require 'monosasi/dsl/template_helper'
|
|
24
25
|
require 'monosasi/dsl/context'
|
25
26
|
require 'monosasi/dsl/context/rule'
|
26
27
|
require 'monosasi/dsl/context/rule/target'
|
28
|
+
require 'monosasi/dsl/context/rule/target/batch_parameters'
|
29
|
+
require 'monosasi/dsl/context/rule/target/ecs_parameters'
|
27
30
|
require 'monosasi/dsl/converter'
|
28
31
|
require 'monosasi/exporter'
|
@@ -1,5 +1,6 @@
|
|
1
1
|
class Monosasi::DSL::Context::Rule::Target
|
2
2
|
include Monosasi::DSL::TemplateHelper
|
3
|
+
include Monosasi::Logger::Helper # TODO: remove this line when log() would not been called
|
3
4
|
|
4
5
|
def initialize(context, id, &block)
|
5
6
|
@id = id
|
@@ -32,11 +33,21 @@ class Monosasi::DSL::Context::Rule::Target
|
|
32
33
|
@result[:role_arn] = value.to_s
|
33
34
|
end
|
34
35
|
|
35
|
-
def ecs_parameters(*values)
|
36
|
-
|
36
|
+
def ecs_parameters(*values, &block)
|
37
|
+
unless values.empty?
|
38
|
+
log(:warn, "`ecs_parameter(Hash)` will no longer be available. use ecs_parameter(block)", color: :yellow)
|
39
|
+
@result[:ecs_parameters] = Hash(*values)
|
40
|
+
else
|
41
|
+
@result[:ecs_parameters] = Monosasi::DSL::Context::Rule::Target::EcsParameters.new(@context, &block).result
|
42
|
+
end
|
37
43
|
end
|
38
44
|
|
39
|
-
def batch_parameters(*values)
|
40
|
-
|
45
|
+
def batch_parameters(*values, &block)
|
46
|
+
unless values.empty?
|
47
|
+
log(:warn, "`batch_parameter(Hash)` will no longer be available. use batch_parameter(block)", color: :yellow)
|
48
|
+
@result[:batch_parameters] = Hash(*values)
|
49
|
+
else
|
50
|
+
@result[:batch_parameters] = Monosasi::DSL::Context::Rule::Target::BatchParameters.new(@context, &block).result
|
51
|
+
end
|
41
52
|
end
|
42
53
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Monosasi::DSL::Context::Rule::Target::BatchParameters
|
2
|
+
include Monosasi::DSL::TemplateHelper
|
3
|
+
|
4
|
+
def initialize(context, &block)
|
5
|
+
@context = context
|
6
|
+
@result = {}
|
7
|
+
instance_eval(&block)
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader :result
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def job_definition(value)
|
15
|
+
@result[:job_definition] = value.to_s
|
16
|
+
end
|
17
|
+
|
18
|
+
def job_name(value)
|
19
|
+
@result[:job_name] = value.to_s
|
20
|
+
end
|
21
|
+
|
22
|
+
class BatchRetryStrategy
|
23
|
+
include Monosasi::DSL::TemplateHelper
|
24
|
+
|
25
|
+
def initialize(context, &block)
|
26
|
+
@context = context
|
27
|
+
@result = {}
|
28
|
+
instance_eval(&block)
|
29
|
+
end
|
30
|
+
|
31
|
+
attr_reader :result
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def attempts(value)
|
36
|
+
@result[:attempts] = value
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
class Monosasi::DSL::Context::Rule::Target::EcsParameters
|
2
|
+
include Monosasi::DSL::TemplateHelper
|
3
|
+
|
4
|
+
def initialize(context, &block)
|
5
|
+
@context = context
|
6
|
+
@result = {}
|
7
|
+
instance_eval(&block)
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader :result
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def task_definition_arn(value)
|
15
|
+
@result[:task_definition_arn] = value.to_s
|
16
|
+
end
|
17
|
+
|
18
|
+
def task_count(value)
|
19
|
+
@result[:task_count] = value
|
20
|
+
end
|
21
|
+
|
22
|
+
def launch_type(value)
|
23
|
+
@result[:launch_type] = value.to_s
|
24
|
+
end
|
25
|
+
|
26
|
+
def network_configuration(&block)
|
27
|
+
@result[:network_configuration] = NetworkConfiguration.new(@context, &block).result
|
28
|
+
end
|
29
|
+
|
30
|
+
def platform_version(value)
|
31
|
+
@result[:platform_version] = value.to_s
|
32
|
+
end
|
33
|
+
|
34
|
+
def group(value)
|
35
|
+
@result[:group] = value.to_s
|
36
|
+
end
|
37
|
+
|
38
|
+
class NetworkConfiguration
|
39
|
+
include Monosasi::DSL::TemplateHelper
|
40
|
+
|
41
|
+
def initialize(context, &block)
|
42
|
+
@context = context
|
43
|
+
@result = {}
|
44
|
+
instance_eval(&block)
|
45
|
+
end
|
46
|
+
|
47
|
+
attr_reader :result
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def awsvpc_configuration(&block)
|
52
|
+
@result[:awsvpc_configuration] = AwsvpcConfiguration.new(@context, &block).result
|
53
|
+
end
|
54
|
+
|
55
|
+
class AwsvpcConfiguration
|
56
|
+
include Monosasi::DSL::TemplateHelper
|
57
|
+
|
58
|
+
def initialize(context, &block)
|
59
|
+
@context = context
|
60
|
+
@result = {}
|
61
|
+
instance_eval(&block)
|
62
|
+
end
|
63
|
+
|
64
|
+
attr_reader :result
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
def subnets(values)
|
69
|
+
@result[:subnets] = values
|
70
|
+
end
|
71
|
+
|
72
|
+
def security_groups(values)
|
73
|
+
@result[:security_groups] = values
|
74
|
+
end
|
75
|
+
|
76
|
+
def assign_public_ip(value)
|
77
|
+
@result[:assign_public_ip] = value.to_s
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -96,9 +96,8 @@ end
|
|
96
96
|
end
|
97
97
|
|
98
98
|
if target[:ecs_parameters]
|
99
|
-
body +=
|
100
|
-
|
101
|
-
EOS
|
99
|
+
body += output_ecs_parameters(target[:ecs_parameters])
|
100
|
+
body += "\n"
|
102
101
|
end
|
103
102
|
|
104
103
|
if target[:role_arn]
|
@@ -108,9 +107,8 @@ end
|
|
108
107
|
end
|
109
108
|
|
110
109
|
if target[:batch_parameters]
|
111
|
-
body +=
|
112
|
-
|
113
|
-
EOS
|
110
|
+
body += output_batch_parameters(target[:batch_parameters])
|
111
|
+
body += "\n"
|
114
112
|
end
|
115
113
|
|
116
114
|
<<-EOS.chomp
|
@@ -119,4 +117,12 @@ end
|
|
119
117
|
end
|
120
118
|
EOS
|
121
119
|
end
|
120
|
+
|
121
|
+
def output_ecs_parameters(params)
|
122
|
+
Dslh.deval({"ecs_parameters" => params}, initial_depth: 2, force_dump_braces: true)
|
123
|
+
end
|
124
|
+
|
125
|
+
def output_batch_parameters(params)
|
126
|
+
Dslh.deval({"batch_parameters" => params}, initial_depth: 2, force_dump_braces: true)
|
127
|
+
end
|
122
128
|
end
|
data/lib/monosasi/version.rb
CHANGED
data/monosasi.gemspec
CHANGED
@@ -19,8 +19,9 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_dependency 'aws-sdk', '
|
22
|
+
spec.add_dependency 'aws-sdk-cloudwatchevents', '~> 1.13'
|
23
23
|
spec.add_dependency 'diffy'
|
24
|
+
spec.add_dependency 'dslh'
|
24
25
|
spec.add_dependency 'hashie'
|
25
26
|
spec.add_dependency 'parallel'
|
26
27
|
spec.add_dependency 'pp_sort_hash'
|
metadata
CHANGED
@@ -1,31 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monosasi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- winebarrel
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: aws-sdk
|
14
|
+
name: aws-sdk-cloudwatchevents
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: diffy
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
31
|
- - ">="
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
33
|
+
version: '0'
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
38
|
- - ">="
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
42
|
+
name: dslh
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - ">="
|
@@ -161,6 +175,8 @@ files:
|
|
161
175
|
- lib/monosasi/dsl/context.rb
|
162
176
|
- lib/monosasi/dsl/context/rule.rb
|
163
177
|
- lib/monosasi/dsl/context/rule/target.rb
|
178
|
+
- lib/monosasi/dsl/context/rule/target/batch_parameters.rb
|
179
|
+
- lib/monosasi/dsl/context/rule/target/ecs_parameters.rb
|
164
180
|
- lib/monosasi/dsl/converter.rb
|
165
181
|
- lib/monosasi/dsl/template_helper.rb
|
166
182
|
- lib/monosasi/exporter.rb
|
@@ -191,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
207
|
version: '0'
|
192
208
|
requirements: []
|
193
209
|
rubyforge_project:
|
194
|
-
rubygems_version: 2.7.
|
210
|
+
rubygems_version: 2.7.3
|
195
211
|
signing_key:
|
196
212
|
specification_version: 4
|
197
213
|
summary: Monosasi is a tool to manage Cloudwatch Events rules.
|