cloudformation-ruby-dsl 0.5.4 → 1.0.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/README.md +3 -3
- data/bin/cfntemplate-to-ruby +2 -0
- data/cloudformation-ruby-dsl.gemspec +4 -3
- data/examples/cloudformation-ruby-script.rb +9 -9
- data/lib/cloudformation-ruby-dsl/cfntemplate.rb +187 -341
- data/lib/cloudformation-ruby-dsl/dsl.rb +249 -0
- data/lib/cloudformation-ruby-dsl/version.rb +1 -1
- metadata +34 -79
- data/vendor/AWSCloudFormation-1.0.12/README.TXT +0 -44
- data/vendor/AWSCloudFormation-1.0.12/RELEASENOTES.TXT +0 -6
- data/vendor/AWSCloudFormation-1.0.12/THIRDPARTYLICENSE.TXT +0 -824
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-cancel-update-stack +0 -9
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-cancel-update-stack.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-cmd +0 -15
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-cmd.cmd +0 -42
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-create-stack +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-create-stack.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-delete-stack +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-delete-stack.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-events +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-events.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resource +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resource.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resources +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resources.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stacks +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stacks.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-get-template +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-get-template.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stack-resources +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stack-resources.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stacks +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stacks.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-update-stack +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-update-stack.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-validate-template +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-validate-template.cmd +0 -19
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-version +0 -7
- data/vendor/AWSCloudFormation-1.0.12/bin/cfn-version.cmd +0 -21
- data/vendor/AWSCloudFormation-1.0.12/bin/service +0 -29
- data/vendor/AWSCloudFormation-1.0.12/bin/service.cmd +0 -74
- data/vendor/AWSCloudFormation-1.0.12/credential-file-path.template +0 -2
- data/vendor/AWSCloudFormation-1.0.12/lib/CliCommando-1.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/activation-1.1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/commons-cli-1.1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/commons-codec-1.3.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/commons-discovery-0.2.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/commons-httpclient-3.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/commons-logging-1.0.4.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/commons-logging-api-1.1.1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/httpclient-4.2.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/jaxb-api-2.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/jaxb-impl-2.0.1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/jaxws-api-2.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/jdom-1.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/log4j.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/serializer.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/service.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/stax-api-1.0.1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/wsdl4j-1.6.1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/wss4j-1.5.7.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/wstx-asl-3.2.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/xalan-j2-2.7.0.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/xfire-all-1.2.6.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/xfire-jsr181-api-1.0-M1.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/lib/xmlsec-1.4.2.jar +0 -0
- data/vendor/AWSCloudFormation-1.0.12/license.txt +0 -96
- data/vendor/AWSCloudFormation-1.0.12/notice.txt +0 -40
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
############################ Utility functions
|
|
4
|
+
|
|
5
|
+
# Formats a template as JSON
|
|
6
|
+
def generate_template(template)
|
|
7
|
+
format_json template, !template.nopretty
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def generate_json(data, pretty = true)
|
|
11
|
+
# Raw formatting
|
|
12
|
+
return JSON.generate(data) unless pretty
|
|
13
|
+
|
|
14
|
+
# Pretty formatting
|
|
15
|
+
JSON.pretty_generate(data)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
############################# Generic DSL
|
|
20
|
+
|
|
21
|
+
class JsonObjectDSL
|
|
22
|
+
def initialize(&block)
|
|
23
|
+
@dict = {}
|
|
24
|
+
instance_eval &block
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def value(values)
|
|
28
|
+
@dict.update(values)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def default(key, value)
|
|
32
|
+
@dict[key] ||= value
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def to_json(*args)
|
|
36
|
+
@dict.to_json(*args)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def print()
|
|
40
|
+
puts JSON.pretty_generate(self)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
############################# CloudFormation DSL
|
|
45
|
+
|
|
46
|
+
# Main entry point
|
|
47
|
+
def raw_template(parameters = {}, stack_name = nil, aws_region = default_region, nopretty = false, &block)
|
|
48
|
+
TemplateDSL.new(parameters, stack_name, aws_region, nopretty, &block)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def default_region
|
|
52
|
+
ENV['EC2_REGION'] || ENV['AWS_DEFAULT_REGION'] || 'us-east-1'
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Core interpreter for the DSL
|
|
56
|
+
class TemplateDSL < JsonObjectDSL
|
|
57
|
+
attr_reader :parameters, :aws_region, :nopretty, :stack_name
|
|
58
|
+
|
|
59
|
+
def initialize(parameters = {}, stack_name = nil, aws_region = default_region, nopretty = false)
|
|
60
|
+
@parameters = parameters
|
|
61
|
+
@stack_name = stack_name
|
|
62
|
+
@aws_region = aws_region
|
|
63
|
+
@nopretty = nopretty
|
|
64
|
+
super()
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def exec!()
|
|
68
|
+
cfn(self)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def parameter(name, options)
|
|
72
|
+
default(:Parameters, {})[name] = options
|
|
73
|
+
@parameters[name] ||= options[:Default]
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Find parameters where the specified attribute is true then remove the attribute from the cfn template.
|
|
77
|
+
def excise_parameter_attribute!(attribute)
|
|
78
|
+
marked_parameters = []
|
|
79
|
+
@dict.fetch(:Parameters, {}).each do |param, options|
|
|
80
|
+
if options.delete(attribute.to_sym) or options.delete(attribute.to_s)
|
|
81
|
+
marked_parameters << param
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
marked_parameters
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def mapping(name, options)
|
|
88
|
+
# if options is a string and a valid file then the script will process the external file.
|
|
89
|
+
default(:Mappings, {})[name] = \
|
|
90
|
+
if options.is_a?(Hash); options
|
|
91
|
+
elsif options.is_a?(String); load_from_file(options)['Mappings'][name]
|
|
92
|
+
else; raise("Options for mapping #{name} is neither a string or a hash. Error!")
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def load_from_file(filename)
|
|
97
|
+
file = File.open(filename)
|
|
98
|
+
|
|
99
|
+
begin
|
|
100
|
+
# Figure out what the file extension is and process accordingly.
|
|
101
|
+
contents = case File.extname(filename)
|
|
102
|
+
when ".rb"; eval(file.read, nil, filename)
|
|
103
|
+
when ".json"; JSON.load(file)
|
|
104
|
+
when ".yaml"; YAML::load(file)
|
|
105
|
+
else; raise("Do not recognize extension of #{filename}.")
|
|
106
|
+
end
|
|
107
|
+
ensure
|
|
108
|
+
file.close
|
|
109
|
+
end
|
|
110
|
+
contents
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def excise_tags!
|
|
114
|
+
tags = @dict.fetch(:Tags, {})
|
|
115
|
+
@dict.delete(:Tags)
|
|
116
|
+
tags
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def tag(tag)
|
|
120
|
+
tag.each do | name, value |
|
|
121
|
+
default(:Tags, {})[name] = value
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def condition(name, options) default(:Conditions, {})[name] = options end
|
|
126
|
+
|
|
127
|
+
def resource(name, options) default(:Resources, {})[name] = options end
|
|
128
|
+
|
|
129
|
+
def output(name, options) default(:Outputs, {})[name] = options end
|
|
130
|
+
|
|
131
|
+
def find_in_map(map, key, name)
|
|
132
|
+
# Eagerly evaluate mappings when all keys are known at template expansion time
|
|
133
|
+
if map.is_a?(String) && key.is_a?(String) && name.is_a?(String)
|
|
134
|
+
# We don't know whether the map was built with string keys or symbol keys. Try both.
|
|
135
|
+
def get(map, key) map[key] || map.fetch(key.to_sym) end
|
|
136
|
+
get(get(@dict.fetch(:Mappings).fetch(map), key), name)
|
|
137
|
+
else
|
|
138
|
+
{ :'Fn::FindInMap' => [ map, key, name ] }
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def base64(value) { :'Fn::Base64' => value } end
|
|
144
|
+
|
|
145
|
+
def find_in_map(map, key, name) { :'Fn::FindInMap' => [ map, key, name ] } end
|
|
146
|
+
|
|
147
|
+
def get_att(resource, attribute) { :'Fn::GetAtt' => [ resource, attribute ] } end
|
|
148
|
+
|
|
149
|
+
def get_azs(region = '') { :'Fn::GetAZs' => region } end
|
|
150
|
+
|
|
151
|
+
def join(delim, *list)
|
|
152
|
+
case list.length
|
|
153
|
+
when 0 then ''
|
|
154
|
+
when 1 then list[0]
|
|
155
|
+
else join_list(delim,list)
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# Variant of join that matches the native CFN syntax.
|
|
160
|
+
def join_list(delim, list) { :'Fn::Join' => [ delim, list ] } end
|
|
161
|
+
|
|
162
|
+
def equal(one, two) { :'Fn::Equals' => [one, two] } end
|
|
163
|
+
|
|
164
|
+
def fn_not(condition) { :'Fn::Not' => [condition] } end
|
|
165
|
+
|
|
166
|
+
def fn_or(*condition_list)
|
|
167
|
+
case condition_list.length
|
|
168
|
+
when 0..1 then raise "fn_or needs at least 2 items."
|
|
169
|
+
when 2..10 then { :'Fn::Or' => condition_list }
|
|
170
|
+
else raise "fn_or needs a list of 2-10 items that evaluate to true/false."
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def fn_and(*condition_list)
|
|
175
|
+
case condition_list.length
|
|
176
|
+
when 0..1 then raise "fn_and needs at least 2 items."
|
|
177
|
+
when 2..10 then { :'Fn::And' => condition_list }
|
|
178
|
+
else raise "fn_and needs a list of 2-10 items that evaluate to true/false."
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def fn_if(cond, if_true, if_false) { :'Fn::If' => [cond, if_true, if_false] } end
|
|
183
|
+
|
|
184
|
+
def not_equal(one, two) fn_not(equal(one,two)) end
|
|
185
|
+
|
|
186
|
+
def select(index, list) { :'Fn::Select' => [ index, list ] } end
|
|
187
|
+
|
|
188
|
+
def ref(name) { :Ref => name } end
|
|
189
|
+
|
|
190
|
+
def aws_account_id() ref("AWS::AccountId") end
|
|
191
|
+
|
|
192
|
+
def aws_notification_arns() ref("AWS::NotificationARNs") end
|
|
193
|
+
|
|
194
|
+
def aws_no_value() ref("AWS::NoValue") end
|
|
195
|
+
|
|
196
|
+
def aws_stack_id() ref("AWS::StackId") end
|
|
197
|
+
|
|
198
|
+
def aws_stack_name() ref("AWS::StackName") end
|
|
199
|
+
|
|
200
|
+
# deprecated, for backward compatibility
|
|
201
|
+
def no_value()
|
|
202
|
+
warn_deprecated('no_value()', 'aws_no_value()')
|
|
203
|
+
aws_no_value()
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# Read the specified file and return its value as a string literal
|
|
207
|
+
def file(filename) File.read(File.absolute_path(filename, File.dirname($PROGRAM_NAME))) end
|
|
208
|
+
|
|
209
|
+
# Interpolates a string like "NAME={{ref('Service')}}" and returns a CloudFormation "Fn::Join"
|
|
210
|
+
# operation to collect the results. Anything between {{ and }} is interpreted as a Ruby expression
|
|
211
|
+
# and eval'd. This is especially useful with Ruby "here" documents.
|
|
212
|
+
# Local variables may also be exposed to the string via the `locals` hash.
|
|
213
|
+
def interpolate(string, locals={})
|
|
214
|
+
list = []
|
|
215
|
+
while string.length > 0
|
|
216
|
+
head, match, string = string.partition(/\{\{.*?\}\}/)
|
|
217
|
+
list << head if head.length > 0
|
|
218
|
+
list << eval(match[2..-3], nil, 'interpolated string') if match.length > 0
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
# Split out strings in an array by newline, for visibility
|
|
222
|
+
list = list.flat_map {|value| value.is_a?(String) ? value.lines.to_a : value }
|
|
223
|
+
join('', *list)
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
def join_interpolate(delim, string)
|
|
227
|
+
$stderr.puts "join_interpolate(delim,string) has been deprecated; use interpolate(string) instead"
|
|
228
|
+
interpolate(string)
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# This class is used by erb templates so they can access the parameters passed
|
|
232
|
+
class Namespace
|
|
233
|
+
attr_accessor :params
|
|
234
|
+
def initialize(hash)
|
|
235
|
+
@params = hash
|
|
236
|
+
end
|
|
237
|
+
def get_binding
|
|
238
|
+
binding
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Combines the provided ERB template with optional parameters
|
|
243
|
+
def erb_template(filename, params = {})
|
|
244
|
+
ERB.new(file(filename), nil, '-').result(Namespace.new(params).get_binding)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
def warn_deprecated(old, new)
|
|
248
|
+
$stderr.puts "Warning: '#{old}' has been deprecated. Please update your template to use '#{new}' instead."
|
|
249
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cloudformation-ruby-dsl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shawn Smith
|
|
@@ -15,65 +15,79 @@ authors:
|
|
|
15
15
|
autorequire:
|
|
16
16
|
bindir: bin
|
|
17
17
|
cert_chain: []
|
|
18
|
-
date: 2015-
|
|
18
|
+
date: 2015-06-19 00:00:00.000000000 Z
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
21
21
|
name: detabulator
|
|
22
22
|
requirement: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
type: :runtime
|
|
28
28
|
prerelease: false
|
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '0'
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: json
|
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
type: :runtime
|
|
42
42
|
prerelease: false
|
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- -
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '0'
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
|
-
name:
|
|
49
|
+
name: bundler
|
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- -
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
59
|
+
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '0'
|
|
62
62
|
- !ruby/object:Gem::Dependency
|
|
63
|
-
name:
|
|
63
|
+
name: aws-sdk
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
type: :runtime
|
|
70
|
+
prerelease: false
|
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
- !ruby/object:Gem::Dependency
|
|
77
|
+
name: diffy
|
|
64
78
|
requirement: !ruby/object:Gem::Requirement
|
|
65
79
|
requirements:
|
|
66
|
-
- -
|
|
80
|
+
- - ">="
|
|
67
81
|
- !ruby/object:Gem::Version
|
|
68
82
|
version: '0'
|
|
69
83
|
type: :runtime
|
|
70
84
|
prerelease: false
|
|
71
85
|
version_requirements: !ruby/object:Gem::Requirement
|
|
72
86
|
requirements:
|
|
73
|
-
- -
|
|
87
|
+
- - ">="
|
|
74
88
|
- !ruby/object:Gem::Version
|
|
75
89
|
version: '0'
|
|
76
|
-
description: Ruby DSL library that provides a wrapper around the
|
|
90
|
+
description: Ruby DSL library that provides a wrapper around the CloudFormation.
|
|
77
91
|
email:
|
|
78
92
|
- Shawn.Smith@bazaarvoice.com
|
|
79
93
|
- Dave.Barcelo@bazaarvoice.com
|
|
@@ -88,7 +102,7 @@ executables:
|
|
|
88
102
|
extensions: []
|
|
89
103
|
extra_rdoc_files: []
|
|
90
104
|
files:
|
|
91
|
-
- .gitignore
|
|
105
|
+
- ".gitignore"
|
|
92
106
|
- Gemfile
|
|
93
107
|
- LICENSE.txt
|
|
94
108
|
- README.md
|
|
@@ -110,69 +124,10 @@ files:
|
|
|
110
124
|
- initial_contributions.md
|
|
111
125
|
- lib/cloudformation-ruby-dsl.rb
|
|
112
126
|
- lib/cloudformation-ruby-dsl/cfntemplate.rb
|
|
127
|
+
- lib/cloudformation-ruby-dsl/dsl.rb
|
|
113
128
|
- lib/cloudformation-ruby-dsl/spotprice.rb
|
|
114
129
|
- lib/cloudformation-ruby-dsl/table.rb
|
|
115
130
|
- lib/cloudformation-ruby-dsl/version.rb
|
|
116
|
-
- vendor/AWSCloudFormation-1.0.12/README.TXT
|
|
117
|
-
- vendor/AWSCloudFormation-1.0.12/RELEASENOTES.TXT
|
|
118
|
-
- vendor/AWSCloudFormation-1.0.12/THIRDPARTYLICENSE.TXT
|
|
119
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-cancel-update-stack
|
|
120
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-cancel-update-stack.cmd
|
|
121
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-cmd
|
|
122
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-cmd.cmd
|
|
123
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-create-stack
|
|
124
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-create-stack.cmd
|
|
125
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-delete-stack
|
|
126
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-delete-stack.cmd
|
|
127
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-events
|
|
128
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-events.cmd
|
|
129
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resource
|
|
130
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resource.cmd
|
|
131
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resources
|
|
132
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stack-resources.cmd
|
|
133
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stacks
|
|
134
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-describe-stacks.cmd
|
|
135
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-get-template
|
|
136
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-get-template.cmd
|
|
137
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stack-resources
|
|
138
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stack-resources.cmd
|
|
139
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stacks
|
|
140
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-list-stacks.cmd
|
|
141
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-update-stack
|
|
142
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-update-stack.cmd
|
|
143
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-validate-template
|
|
144
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-validate-template.cmd
|
|
145
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-version
|
|
146
|
-
- vendor/AWSCloudFormation-1.0.12/bin/cfn-version.cmd
|
|
147
|
-
- vendor/AWSCloudFormation-1.0.12/bin/service
|
|
148
|
-
- vendor/AWSCloudFormation-1.0.12/bin/service.cmd
|
|
149
|
-
- vendor/AWSCloudFormation-1.0.12/credential-file-path.template
|
|
150
|
-
- vendor/AWSCloudFormation-1.0.12/lib/CliCommando-1.0.jar
|
|
151
|
-
- vendor/AWSCloudFormation-1.0.12/lib/activation-1.1.jar
|
|
152
|
-
- vendor/AWSCloudFormation-1.0.12/lib/commons-cli-1.1.jar
|
|
153
|
-
- vendor/AWSCloudFormation-1.0.12/lib/commons-codec-1.3.jar
|
|
154
|
-
- vendor/AWSCloudFormation-1.0.12/lib/commons-discovery-0.2.jar
|
|
155
|
-
- vendor/AWSCloudFormation-1.0.12/lib/commons-httpclient-3.0.jar
|
|
156
|
-
- vendor/AWSCloudFormation-1.0.12/lib/commons-logging-1.0.4.jar
|
|
157
|
-
- vendor/AWSCloudFormation-1.0.12/lib/commons-logging-api-1.1.1.jar
|
|
158
|
-
- vendor/AWSCloudFormation-1.0.12/lib/httpclient-4.2.jar
|
|
159
|
-
- vendor/AWSCloudFormation-1.0.12/lib/jaxb-api-2.0.jar
|
|
160
|
-
- vendor/AWSCloudFormation-1.0.12/lib/jaxb-impl-2.0.1.jar
|
|
161
|
-
- vendor/AWSCloudFormation-1.0.12/lib/jaxws-api-2.0.jar
|
|
162
|
-
- vendor/AWSCloudFormation-1.0.12/lib/jdom-1.0.jar
|
|
163
|
-
- vendor/AWSCloudFormation-1.0.12/lib/log4j.jar
|
|
164
|
-
- vendor/AWSCloudFormation-1.0.12/lib/serializer.jar
|
|
165
|
-
- vendor/AWSCloudFormation-1.0.12/lib/service.jar
|
|
166
|
-
- vendor/AWSCloudFormation-1.0.12/lib/stax-api-1.0.1.jar
|
|
167
|
-
- vendor/AWSCloudFormation-1.0.12/lib/wsdl4j-1.6.1.jar
|
|
168
|
-
- vendor/AWSCloudFormation-1.0.12/lib/wss4j-1.5.7.jar
|
|
169
|
-
- vendor/AWSCloudFormation-1.0.12/lib/wstx-asl-3.2.0.jar
|
|
170
|
-
- vendor/AWSCloudFormation-1.0.12/lib/xalan-j2-2.7.0.jar
|
|
171
|
-
- vendor/AWSCloudFormation-1.0.12/lib/xfire-all-1.2.6.jar
|
|
172
|
-
- vendor/AWSCloudFormation-1.0.12/lib/xfire-jsr181-api-1.0-M1.jar
|
|
173
|
-
- vendor/AWSCloudFormation-1.0.12/lib/xmlsec-1.4.2.jar
|
|
174
|
-
- vendor/AWSCloudFormation-1.0.12/license.txt
|
|
175
|
-
- vendor/AWSCloudFormation-1.0.12/notice.txt
|
|
176
131
|
homepage: http://github.com/bazaarvoice/cloudformation-ruby-dsl
|
|
177
132
|
licenses: []
|
|
178
133
|
metadata: {}
|
|
@@ -183,19 +138,19 @@ require_paths:
|
|
|
183
138
|
- bin
|
|
184
139
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
140
|
requirements:
|
|
186
|
-
- -
|
|
141
|
+
- - ">="
|
|
187
142
|
- !ruby/object:Gem::Version
|
|
188
143
|
version: '0'
|
|
189
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
145
|
requirements:
|
|
191
|
-
- -
|
|
146
|
+
- - ">="
|
|
192
147
|
- !ruby/object:Gem::Version
|
|
193
148
|
version: '0'
|
|
194
149
|
requirements: []
|
|
195
150
|
rubyforge_project:
|
|
196
|
-
rubygems_version: 2.
|
|
151
|
+
rubygems_version: 2.2.2
|
|
197
152
|
signing_key:
|
|
198
153
|
specification_version: 4
|
|
199
|
-
summary: Ruby DSL library that provides a wrapper around the
|
|
200
|
-
[Bazaarvoice](http://www.bazaarvoice.com).
|
|
154
|
+
summary: Ruby DSL library that provides a wrapper around the CloudFormation. Written
|
|
155
|
+
by [Bazaarvoice](http://www.bazaarvoice.com).
|
|
201
156
|
test_files: []
|