stacker 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/stacker/stack.rb +1 -6
- data/lib/stacker/stack/errors.rb +41 -0
- data/lib/stacker/stack/template.rb +3 -0
- data/lib/stacker/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee70d019619b3105e087cd13603eef0f32ce234e
|
4
|
+
data.tar.gz: de0606601b47c370a90196e59d81c1bbe9c870d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2549d8f9d28c551055be54ca26afd054c6a933244a26b96492011dfafe9dc4fe8572482d7ecd84d59f23747d596748d4cb4675edfed78e78a8bb6dd4ac4a905
|
7
|
+
data.tar.gz: 4b1503839d320111ec4bc469ea090f60d9626a7cb2e08871da5c9ad60fbd9bcaabab5232f609683b83cc24a00b8206756dca5f7382177ba838bc2aa584f8f36b
|
data/lib/stacker/stack.rb
CHANGED
@@ -3,6 +3,7 @@ require 'active_support/core_ext/hash/slice'
|
|
3
3
|
require 'active_support/core_ext/module/delegation'
|
4
4
|
require 'aws-sdk'
|
5
5
|
require 'memoist'
|
6
|
+
require 'stacker/stack/errors'
|
6
7
|
require 'stacker/stack/capabilities'
|
7
8
|
require 'stacker/stack/parameters'
|
8
9
|
require 'stacker/stack/template'
|
@@ -10,12 +11,6 @@ require 'stacker/stack/template'
|
|
10
11
|
module Stacker
|
11
12
|
class Stack
|
12
13
|
|
13
|
-
class Error < StandardError; end
|
14
|
-
class StackPolicyError < Error; end
|
15
|
-
class DoesNotExistError < Error; end
|
16
|
-
class MissingParameters < Error; end
|
17
|
-
class UpToDateError < Error; end
|
18
|
-
|
19
14
|
extend Memoist
|
20
15
|
|
21
16
|
CLIENT_METHODS = %w[
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'jsonlint'
|
2
|
+
|
3
|
+
module Stacker
|
4
|
+
class Stack
|
5
|
+
|
6
|
+
class Error < StandardError; end
|
7
|
+
class StackPolicyError < Error; end
|
8
|
+
class DoesNotExistError < Error; end
|
9
|
+
class MissingParameters < Error; end
|
10
|
+
class UpToDateError < Error; end
|
11
|
+
|
12
|
+
class TemplateSyntaxError < Error
|
13
|
+
|
14
|
+
def initialize(path)
|
15
|
+
@path = path
|
16
|
+
end
|
17
|
+
|
18
|
+
def message
|
19
|
+
<<END_MSG
|
20
|
+
Syntax error(s) in template.
|
21
|
+
#{path}:
|
22
|
+
#{errors}
|
23
|
+
END_MSG
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_reader :path
|
29
|
+
|
30
|
+
def errors
|
31
|
+
@errors ||= begin
|
32
|
+
linter = JsonLint::Linter.new
|
33
|
+
linter.check path
|
34
|
+
linter.errors.values.join "\n"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -2,6 +2,7 @@ require 'active_support/core_ext/string/inflections'
|
|
2
2
|
require 'json'
|
3
3
|
require 'memoist'
|
4
4
|
require 'stacker/differ'
|
5
|
+
require 'stacker/stack'
|
5
6
|
require 'stacker/stack/component'
|
6
7
|
|
7
8
|
module Stacker
|
@@ -26,6 +27,8 @@ module Stacker
|
|
26
27
|
{}
|
27
28
|
end
|
28
29
|
end
|
30
|
+
rescue JSON::ParserError
|
31
|
+
raise TemplateSyntaxError.new path
|
29
32
|
end
|
30
33
|
|
31
34
|
def remote
|
data/lib/stacker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stacker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cotap, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: jsonlint
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.2.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.2.0
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: memoist
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,6 +180,7 @@ files:
|
|
166
180
|
- lib/stacker/resolver.rb
|
167
181
|
- lib/stacker/stack/capabilities.rb
|
168
182
|
- lib/stacker/stack/component.rb
|
183
|
+
- lib/stacker/stack/errors.rb
|
169
184
|
- lib/stacker/stack/parameters.rb
|
170
185
|
- lib/stacker/stack/template.rb
|
171
186
|
- lib/stacker/stack.rb
|