sparkle_formation 3.0.32 → 3.0.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/LICENSE +1 -1
- data/lib/sparkle_formation/provider/terraform.rb +9 -1
- data/lib/sparkle_formation/resources.rb +7 -0
- data/lib/sparkle_formation/resources/aws.rb +18 -24
- data/lib/sparkle_formation/resources/aws_resources.json +2107 -186
- data/lib/sparkle_formation/resources/azure_resources.json +16497 -5796
- data/lib/sparkle_formation/resources/heat_resources.json +190 -4
- data/lib/sparkle_formation/resources/terraform.rb +16 -0
- data/lib/sparkle_formation/resources/terraform_account_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_acme_resources.json +59 -0
- data/lib/sparkle_formation/resources/terraform_alicloud_resources.json +4023 -0
- data/lib/sparkle_formation/resources/terraform_arukas_resources.json +49 -0
- data/lib/sparkle_formation/resources/terraform_aws_resources.json +15899 -0
- data/lib/sparkle_formation/resources/terraform_azure_resources.json +572 -0
- data/lib/sparkle_formation/resources/terraform_azurerm_resources.json +6632 -0
- data/lib/sparkle_formation/resources/terraform_azurestack_resources.json +1231 -0
- data/lib/sparkle_formation/resources/terraform_bigip_resources.json +1004 -0
- data/lib/sparkle_formation/resources/terraform_bitbucket_resources.json +123 -0
- data/lib/sparkle_formation/resources/terraform_brightbox_resources.json +283 -0
- data/lib/sparkle_formation/resources/terraform_bucket_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_chef_resources.json +132 -0
- data/lib/sparkle_formation/resources/terraform_circonus_resources.json +406 -0
- data/lib/sparkle_formation/resources/terraform_clc_resources.json +222 -0
- data/lib/sparkle_formation/resources/terraform_cloudflare_resources.json +638 -0
- data/lib/sparkle_formation/resources/terraform_cloudscale_resources.json +96 -0
- data/lib/sparkle_formation/resources/terraform_cloudstack_resources.json +888 -0
- data/lib/sparkle_formation/resources/terraform_cobbler_resources.json +589 -0
- data/lib/sparkle_formation/resources/terraform_consul_resources.json +297 -0
- data/lib/sparkle_formation/resources/terraform_databases_resources.json +14 -0
- data/lib/sparkle_formation/resources/terraform_datadog_resources.json +385 -0
- data/lib/sparkle_formation/resources/terraform_digitalocean_resources.json +408 -0
- data/lib/sparkle_formation/resources/terraform_dme_resources.json +29 -0
- data/lib/sparkle_formation/resources/terraform_dns_resources.json +137 -0
- data/lib/sparkle_formation/resources/terraform_dnsimple_resources.json +39 -0
- data/lib/sparkle_formation/resources/terraform_docker_resources.json +266 -0
- data/lib/sparkle_formation/resources/terraform_dyn_resources.json +34 -0
- data/lib/sparkle_formation/resources/terraform_fastly_resources.json +124 -0
- data/lib/sparkle_formation/resources/terraform_flexibleengine_resources.json +2915 -0
- data/lib/sparkle_formation/resources/terraform_github_resources.json +449 -0
- data/lib/sparkle_formation/resources/terraform_gitlab_resources.json +267 -0
- data/lib/sparkle_formation/resources/terraform_google_resources.json +2485 -0
- data/lib/sparkle_formation/resources/terraform_grafana_resources.json +135 -0
- data/lib/sparkle_formation/resources/terraform_hcloud_resources.json +201 -0
- data/lib/sparkle_formation/resources/terraform_heroku_resources.json +447 -0
- data/lib/sparkle_formation/resources/terraform_huaweicloud_resources.json +2508 -0
- data/lib/sparkle_formation/resources/terraform_icinga2_resources.json +100 -0
- data/lib/sparkle_formation/resources/terraform_influxdb_resources.json +68 -0
- data/lib/sparkle_formation/resources/terraform_kubernetes_resources.json +277 -0
- data/lib/sparkle_formation/resources/terraform_librato_resources.json +167 -0
- data/lib/sparkle_formation/resources/terraform_linode_resources.json +252 -0
- data/lib/sparkle_formation/resources/terraform_local_resources.json +19 -0
- data/lib/sparkle_formation/resources/terraform_logentries_resources.json +56 -0
- data/lib/sparkle_formation/resources/terraform_logicmonitor_resources.json +140 -0
- data/lib/sparkle_formation/resources/terraform_mailgun_resources.json +29 -0
- data/lib/sparkle_formation/resources/terraform_mysql_resources.json +143 -0
- data/lib/sparkle_formation/resources/terraform_netlify_resources.json +90 -0
- data/lib/sparkle_formation/resources/terraform_newrelic_resources.json +298 -0
- data/lib/sparkle_formation/resources/terraform_nomad_resources.json +149 -0
- data/lib/sparkle_formation/resources/terraform_ns1_resources.json +320 -0
- data/lib/sparkle_formation/resources/terraform_nsxt_resources.json +813 -0
- data/lib/sparkle_formation/resources/terraform_nutanix_resources.json +596 -0
- data/lib/sparkle_formation/resources/terraform_oci_resources.json +3567 -0
- data/lib/sparkle_formation/resources/terraform_oneandone_resources.json +221 -0
- data/lib/sparkle_formation/resources/terraform_opc_resources.json +1224 -0
- data/lib/sparkle_formation/resources/terraform_openstack_resources.json +3293 -0
- data/lib/sparkle_formation/resources/terraform_opentelekomcloud_resources.json +2881 -0
- data/lib/sparkle_formation/resources/terraform_opsgenie_resources.json +56 -0
- data/lib/sparkle_formation/resources/terraform_oraclepaas_resources.json +551 -0
- data/lib/sparkle_formation/resources/terraform_ovh_resources.json +541 -0
- data/lib/sparkle_formation/resources/terraform_packet_resources.json +295 -0
- data/lib/sparkle_formation/resources/terraform_pagerduty_resources.json +329 -0
- data/lib/sparkle_formation/resources/terraform_panos_resources.json +2686 -0
- data/lib/sparkle_formation/resources/terraform_postgresql_resources.json +181 -0
- data/lib/sparkle_formation/resources/terraform_powerdns_resources.json +34 -0
- data/lib/sparkle_formation/resources/terraform_profitbricks_resources.json +523 -0
- data/lib/sparkle_formation/resources/terraform_projects_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_rabbitmq_resources.json +161 -0
- data/lib/sparkle_formation/resources/terraform_rancher_resources.json +310 -0
- data/lib/sparkle_formation/resources/terraform_random_resources.json +167 -0
- data/lib/sparkle_formation/resources/terraform_rightscale_resources.json +796 -0
- data/lib/sparkle_formation/resources/terraform_ring_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_rundeck_resources.json +175 -0
- data/lib/sparkle_formation/resources/terraform_runscope_resources.json +167 -0
- data/lib/sparkle_formation/resources/terraform_scaleway_resources.json +267 -0
- data/lib/sparkle_formation/resources/terraform_ses_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_sfn_resources.json +36 -0
- data/lib/sparkle_formation/resources/terraform_softlayer_resources.json +136 -0
- data/lib/sparkle_formation/resources/terraform_spotinst_resources.json +237 -0
- data/lib/sparkle_formation/resources/terraform_statuscake_resources.json +159 -0
- data/lib/sparkle_formation/resources/terraform_subnetwork_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_telefonicaopencloud_resources.json +1558 -0
- data/lib/sparkle_formation/resources/terraform_template_resources.json +24 -0
- data/lib/sparkle_formation/resources/terraform_tencentcloud_resources.json +656 -0
- data/lib/sparkle_formation/resources/terraform_tfe_resources.json +306 -0
- data/lib/sparkle_formation/resources/terraform_tls_resources.json +120 -0
- data/lib/sparkle_formation/resources/terraform_triton_resources.json +291 -0
- data/lib/sparkle_formation/resources/terraform_ultradns_resources.json +222 -0
- data/lib/sparkle_formation/resources/terraform_vault_resources.json +1414 -0
- data/lib/sparkle_formation/resources/terraform_vcd_resources.json +311 -0
- data/lib/sparkle_formation/resources/terraform_vsphere_resources.json +1076 -0
- data/lib/sparkle_formation/sparkle_attribute/aws.rb +78 -32
- data/lib/sparkle_formation/sparkle_attribute/terraform.rb +24 -5
- data/lib/sparkle_formation/sparkle_formation.rb +18 -4
- data/lib/sparkle_formation/version.rb +1 -1
- data/sparkle_formation.gemspec +23 -23
- metadata +97 -5
@@ -8,6 +8,33 @@ class SparkleFormation
|
|
8
8
|
# AWS specific helper implementations
|
9
9
|
module Aws
|
10
10
|
|
11
|
+
# CIDR generator
|
12
|
+
#
|
13
|
+
# @param ipblock [String] CIDR address block
|
14
|
+
# @param count [Integer] Number of CIDRs to generate
|
15
|
+
# @param cidrbits [Integer] Number of subnet bits for the CIDR
|
16
|
+
# @return [Hash]
|
17
|
+
def _cf_cidr(ipblock, count, cidrbits)
|
18
|
+
{"Fn::Cidr" => [ipblock, count, cidrbits]}
|
19
|
+
end
|
20
|
+
|
21
|
+
alias_method :_cidr, :_cf_cidr
|
22
|
+
alias_method :cidr!, :_cf_cidr
|
23
|
+
|
24
|
+
# Transform generator
|
25
|
+
#
|
26
|
+
# @param name [String] name of transformation
|
27
|
+
# @param parameters [Hash] transformation parameters
|
28
|
+
# @return [Hash]
|
29
|
+
def _cf_transform(name, parameters)
|
30
|
+
__t_stringish(name)
|
31
|
+
__t_hashish(parameters)
|
32
|
+
{"Fn::Transform" => {"Name" => name, "Parameters" => parameters}}
|
33
|
+
end
|
34
|
+
|
35
|
+
alias_method :_transform, :_cf_transform
|
36
|
+
alias_method :transform!, :_cf_transform
|
37
|
+
|
11
38
|
# @overload _cf_join(*args, opts={})
|
12
39
|
# Fn::Join generator
|
13
40
|
# @param args [String, Hash] list of items to join
|
@@ -24,6 +51,7 @@ class SparkleFormation
|
|
24
51
|
{"Fn::Join" => [options[:options][:delimiter] || "", *args]}
|
25
52
|
end
|
26
53
|
|
54
|
+
alias_method :_join, :_cf_join
|
27
55
|
alias_method :join!, :_cf_join
|
28
56
|
|
29
57
|
# Split generator
|
@@ -37,6 +65,7 @@ class SparkleFormation
|
|
37
65
|
{"Fn::Split" => [delimiter, string]}
|
38
66
|
end
|
39
67
|
|
68
|
+
alias_method :_split, :_cf_split
|
40
69
|
alias_method :split!, :_cf_split
|
41
70
|
|
42
71
|
# Sub generator
|
@@ -170,18 +199,20 @@ class SparkleFormation
|
|
170
199
|
{"Fn::Select" => [index, item]}
|
171
200
|
end
|
172
201
|
|
202
|
+
alias_method :_select, :_cf_select
|
173
203
|
alias_method :select!, :_cf_select
|
174
204
|
|
175
205
|
# Condition generator
|
176
206
|
#
|
177
207
|
# @param name [String, Symbol] symbol will be processed
|
178
208
|
# @return [Hash]
|
179
|
-
def
|
209
|
+
def _cf_condition(name)
|
180
210
|
__t_stringish(name)
|
181
211
|
{"Condition" => __attribute_key(name)}
|
182
212
|
end
|
183
213
|
|
184
|
-
alias_method :
|
214
|
+
alias_method :_condition, :_cf_condition
|
215
|
+
alias_method :condition!, :_cf_condition
|
185
216
|
|
186
217
|
# Condition setter
|
187
218
|
#
|
@@ -189,11 +220,12 @@ class SparkleFormation
|
|
189
220
|
# @return [SparkleStruct]
|
190
221
|
# @note this is used to set a {"Condition" => "Name"} into the
|
191
222
|
# current context, generally the top level of a resource
|
192
|
-
def
|
223
|
+
def _cf_on_condition(name)
|
193
224
|
_set(*_condition(name).to_a.flatten)
|
194
225
|
end
|
195
226
|
|
196
|
-
alias_method :
|
227
|
+
alias_method :_on_condition, :_cf_on_condition
|
228
|
+
alias_method :on_condition!, :_cf_on_condition
|
197
229
|
|
198
230
|
# Fn::If generator
|
199
231
|
#
|
@@ -201,11 +233,12 @@ class SparkleFormation
|
|
201
233
|
# @param true_value [Object] item to be used when true
|
202
234
|
# @param false_value [Object] item to be used when false
|
203
235
|
# @return [Hash]
|
204
|
-
def
|
236
|
+
def _cf_if(cond, true_value, false_value)
|
205
237
|
{"Fn::If" => _array(__attribute_key(cond), true_value, false_value)}
|
206
238
|
end
|
207
239
|
|
208
|
-
alias_method :
|
240
|
+
alias_method :_if, :_cf_if
|
241
|
+
alias_method :if!, :_cf_if
|
209
242
|
|
210
243
|
# Fn::And generator
|
211
244
|
#
|
@@ -213,7 +246,7 @@ class SparkleFormation
|
|
213
246
|
# @return [Hash]
|
214
247
|
# @note symbols will be processed and set as condition. strings
|
215
248
|
# will be set as condition directly. procs will be evaluated
|
216
|
-
def
|
249
|
+
def _cf_and(*args)
|
217
250
|
{
|
218
251
|
"Fn::And" => _array(
|
219
252
|
*args.map { |v|
|
@@ -227,24 +260,26 @@ class SparkleFormation
|
|
227
260
|
}
|
228
261
|
end
|
229
262
|
|
230
|
-
alias_method :
|
263
|
+
alias_method :_and, :_cf_and
|
264
|
+
alias_method :and!, :_cf_and
|
231
265
|
|
232
266
|
# Fn::Equals generator
|
233
267
|
#
|
234
268
|
# @param v1 [Object]
|
235
269
|
# @param v2 [Object]
|
236
270
|
# @return [Hash]
|
237
|
-
def
|
271
|
+
def _cf_equals(v1, v2)
|
238
272
|
{"Fn::Equals" => _array(v1, v2)}
|
239
273
|
end
|
240
274
|
|
241
|
-
alias_method :
|
275
|
+
alias_method :_equals, :_cf_equals
|
276
|
+
alias_method :equals!, :_cf_equals
|
242
277
|
|
243
278
|
# Fn::Not generator
|
244
279
|
#
|
245
280
|
# @param arg [Object]
|
246
281
|
# @return [Hash]
|
247
|
-
def
|
282
|
+
def _cf_not(arg)
|
248
283
|
if arg.is_a?(String) || arg.is_a?(Symbol)
|
249
284
|
arg = _condition(arg)
|
250
285
|
else
|
@@ -253,14 +288,15 @@ class SparkleFormation
|
|
253
288
|
{"Fn::Not" => [arg]}
|
254
289
|
end
|
255
290
|
|
256
|
-
alias_method :
|
291
|
+
alias_method :_not, :_cf_not
|
292
|
+
alias_method :not!, :_cf_not
|
257
293
|
|
258
294
|
# Fn::Or generator
|
259
295
|
#
|
260
296
|
# @param v1 [Object]
|
261
297
|
# @param v2 [Object]
|
262
298
|
# @return [Hash]
|
263
|
-
def
|
299
|
+
def _cf_or(*args)
|
264
300
|
{
|
265
301
|
"Fn::Or" => _array(
|
266
302
|
*args.map { |v|
|
@@ -274,61 +310,68 @@ class SparkleFormation
|
|
274
310
|
}
|
275
311
|
end
|
276
312
|
|
277
|
-
alias_method :
|
313
|
+
alias_method :_or, :_cf_or
|
314
|
+
alias_method :or!, :_cf_or
|
278
315
|
|
279
316
|
# No value generator
|
280
317
|
#
|
281
318
|
# @return [Hash]
|
282
|
-
def
|
319
|
+
def _cf_no_value
|
283
320
|
_ref("AWS::NoValue")
|
284
321
|
end
|
285
322
|
|
286
|
-
alias_method :
|
323
|
+
alias_method :_no_value, :_cf_no_value
|
324
|
+
alias_method :no_value!, :_cf_no_value
|
287
325
|
|
288
326
|
# Region generator
|
289
327
|
#
|
290
328
|
# @return [Hash]
|
291
|
-
def
|
329
|
+
def _cf_region
|
292
330
|
_ref("AWS::Region")
|
293
331
|
end
|
294
332
|
|
295
|
-
alias_method :
|
333
|
+
alias_method :_region, :_cf_region
|
334
|
+
alias_method :region!, :_cf_region
|
296
335
|
|
297
336
|
# Notification ARNs generator
|
298
337
|
#
|
299
338
|
# @return [Hash]
|
300
|
-
def
|
339
|
+
def _cf_notification_arns
|
301
340
|
_ref("AWS::NotificationARNs")
|
302
341
|
end
|
303
342
|
|
304
|
-
alias_method :
|
343
|
+
alias_method :_notification_arns, :_cf_notification_arns
|
344
|
+
alias_method :notification_arns!, :_cf_notification_arns
|
305
345
|
|
306
346
|
# Account ID generator
|
307
347
|
#
|
308
348
|
# @return [Hash]
|
309
|
-
def
|
349
|
+
def _cf_account_id
|
310
350
|
_ref("AWS::AccountId")
|
311
351
|
end
|
312
352
|
|
313
|
-
alias_method :
|
353
|
+
alias_method :_account_id, :_cf_account_id
|
354
|
+
alias_method :account_id!, :_cf_account_id
|
314
355
|
|
315
356
|
# Stack ID generator
|
316
357
|
#
|
317
358
|
# @return [Hash]
|
318
|
-
def
|
359
|
+
def _cf_stack_id
|
319
360
|
_ref("AWS::StackId")
|
320
361
|
end
|
321
362
|
|
322
|
-
alias_method :
|
363
|
+
alias_method :_stack_id, :_cf_stack_id
|
364
|
+
alias_method :stack_id!, :_cf_stack_id
|
323
365
|
|
324
366
|
# Stack name generator
|
325
367
|
#
|
326
368
|
# @return [Hash]
|
327
|
-
def
|
369
|
+
def _cf_stack_name
|
328
370
|
_ref("AWS::StackName")
|
329
371
|
end
|
330
372
|
|
331
|
-
alias_method :
|
373
|
+
alias_method :_stack_name, :_cf_stack_name
|
374
|
+
alias_method :stack_name!, :_cf_stack_name
|
332
375
|
|
333
376
|
# Resource dependency generator
|
334
377
|
# @overload _depends_on(resource_name)
|
@@ -339,21 +382,23 @@ class SparkleFormation
|
|
339
382
|
# @param resource_names [Array<String, Symbol>] list of logical resource names
|
340
383
|
# @return [Array<String>]
|
341
384
|
# @note this will directly modify the struct at its current context to inject depends on structure
|
342
|
-
def
|
385
|
+
def _cf_depends_on(*args)
|
343
386
|
_set("DependsOn", [args].flatten.compact.map { |s| __attribute_key(s) })
|
344
387
|
end
|
345
388
|
|
346
|
-
alias_method :
|
389
|
+
alias_method :_depends_on, :_cf_depends_on
|
390
|
+
alias_method :depends_on!, :_cf_depends_on
|
347
391
|
|
348
392
|
# Reference output value from nested stack
|
349
393
|
#
|
350
394
|
# @param stack_name [String, Symbol] logical resource name of stack
|
351
395
|
# @apram output_name [String, Symbol] stack output name
|
352
|
-
def
|
396
|
+
def _cf_stack_output(stack_name, output_name)
|
353
397
|
_cf_attr(_process_key(stack_name), "Outputs.#{__attribute_key(output_name)}")
|
354
398
|
end
|
355
399
|
|
356
|
-
alias_method :
|
400
|
+
alias_method :_stack_output, :_cf_stack_output
|
401
|
+
alias_method :stack_output!, :_cf_stack_output
|
357
402
|
|
358
403
|
# @return [TrueClass, FalseClass] resource can be tagged
|
359
404
|
def taggable?
|
@@ -371,7 +416,7 @@ class SparkleFormation
|
|
371
416
|
#
|
372
417
|
# @param hash [Hash] Key/value pair tags
|
373
418
|
# @return [SparkleStruct]
|
374
|
-
def
|
419
|
+
def _cf_tags(hash)
|
375
420
|
__t_hashish(hash)
|
376
421
|
_set("Tags",
|
377
422
|
hash.map { |k, v|
|
@@ -379,7 +424,8 @@ class SparkleFormation
|
|
379
424
|
})
|
380
425
|
end
|
381
426
|
|
382
|
-
alias_method :
|
427
|
+
alias_method :_tags, :_cf_tags
|
428
|
+
alias_method :tags!, :_cf_tags
|
383
429
|
end
|
384
430
|
end
|
385
431
|
end
|
@@ -118,13 +118,32 @@ class SparkleFormation
|
|
118
118
|
alias_method "#{f_name}!".to_sym, "_#{f_name}".to_sym
|
119
119
|
end
|
120
120
|
|
121
|
+
# Lookup resource based on name and provide formatted
|
122
|
+
# reference to the resource with type included.
|
123
|
+
#
|
124
|
+
# @param name [String, Symbol] resource name
|
125
|
+
# @return [String] resource name
|
121
126
|
def __resource_lookup(name)
|
122
|
-
|
123
|
-
if
|
124
|
-
name
|
125
|
-
|
126
|
-
|
127
|
+
return name.to_s if name.to_s.include?(".")
|
128
|
+
if root!.key?(:resources) && root!.resources.key?(name)
|
129
|
+
resource = root!.resources[name]
|
130
|
+
if resource.key?(:type)
|
131
|
+
return "#{resource.type}.#{name}"
|
132
|
+
end
|
133
|
+
end
|
134
|
+
if root!.key?(:resource)
|
135
|
+
types = root!.resource._keys
|
136
|
+
matches = types.find_all do |type|
|
137
|
+
root!.resource._set(type).key?(name)
|
138
|
+
end
|
139
|
+
if matches.size > 1
|
140
|
+
raise ArgumentError.new "Non-unique resource name. Multiple type " \
|
141
|
+
"matches for resource `#{name}`"
|
142
|
+
elsif matches.size == 1
|
143
|
+
return "#{matches.first}.#{name}"
|
144
|
+
end
|
127
145
|
end
|
146
|
+
name.to_s
|
128
147
|
end
|
129
148
|
|
130
149
|
# Resource dependency generator
|
@@ -18,6 +18,10 @@ class SparkleFormation
|
|
18
18
|
DEFAULT_STACK_RESOURCE = "AWS::CloudFormation::Stack"
|
19
19
|
# @return [Array<String>] collection of valid stack resource types
|
20
20
|
VALID_STACK_RESOURCES = [DEFAULT_STACK_RESOURCE]
|
21
|
+
# @return [Hash] name mappings for providers used in lookups (resources/sparkles)
|
22
|
+
PROVIDER_MAPPINGS = Smash.new(
|
23
|
+
:open_stack => :heat,
|
24
|
+
).freeze
|
21
25
|
|
22
26
|
class << self
|
23
27
|
include SparkleFormation::Utils::TypeCheckers
|
@@ -707,10 +711,7 @@ class SparkleFormation
|
|
707
711
|
else
|
708
712
|
struct_class = SparkleStruct
|
709
713
|
end
|
710
|
-
|
711
|
-
@provider_resources = Resources.const_get(camel(provider))
|
712
|
-
provider_resources.load!
|
713
|
-
end
|
714
|
+
load_resources!
|
714
715
|
compiled = struct_class.new
|
715
716
|
compiled._set_self(self)
|
716
717
|
compiled._struct_class = struct_class
|
@@ -994,4 +995,17 @@ class SparkleFormation
|
|
994
995
|
end
|
995
996
|
MultiJson.dump(compile.dump!, *args)
|
996
997
|
end
|
998
|
+
|
999
|
+
protected
|
1000
|
+
|
1001
|
+
# Load provider specific resources handling
|
1002
|
+
def load_resources!
|
1003
|
+
if provider && @provider_resources.nil?
|
1004
|
+
provider_name = camel(PROVIDER_MAPPINGS.fetch(provider, provider))
|
1005
|
+
if Resources.const_defined?(provider_name)
|
1006
|
+
@provider_resources = Resources.const_get(provider_name)
|
1007
|
+
provider_resources.load!
|
1008
|
+
end
|
1009
|
+
end
|
1010
|
+
end
|
997
1011
|
end
|
data/sparkle_formation.gemspec
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
-
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__)) +
|
2
|
-
require
|
1
|
+
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__)) + "/lib/"
|
2
|
+
require "sparkle_formation/version"
|
3
3
|
Gem::Specification.new do |s|
|
4
|
-
s.name =
|
4
|
+
s.name = "sparkle_formation"
|
5
5
|
s.version = SparkleFormation::VERSION.version
|
6
|
-
s.summary =
|
7
|
-
s.author =
|
8
|
-
s.email =
|
9
|
-
s.homepage =
|
10
|
-
s.description =
|
11
|
-
s.license =
|
12
|
-
s.require_path =
|
13
|
-
s.required_ruby_version =
|
14
|
-
s.add_runtime_dependency
|
15
|
-
s.add_runtime_dependency
|
16
|
-
s.add_runtime_dependency
|
17
|
-
s.add_development_dependency
|
18
|
-
s.add_development_dependency
|
19
|
-
s.add_development_dependency
|
20
|
-
s.add_development_dependency
|
21
|
-
s.add_development_dependency
|
22
|
-
s.add_development_dependency
|
23
|
-
s.add_development_dependency
|
24
|
-
s.executables <<
|
25
|
-
s.files = Dir[
|
6
|
+
s.summary = "Orchestration Template Generator"
|
7
|
+
s.author = "Chris Roberts"
|
8
|
+
s.email = "chrisroberts.code@gmail.com"
|
9
|
+
s.homepage = "http://github.com/sparkleformation/sparkle_formation"
|
10
|
+
s.description = "Ruby DSL for programmatic orchestration API template generation"
|
11
|
+
s.license = "Apache-2.0"
|
12
|
+
s.require_path = "lib"
|
13
|
+
s.required_ruby_version = ">= 2.1"
|
14
|
+
s.add_runtime_dependency "attribute_struct", ">= 0.4.3", "< 0.5"
|
15
|
+
s.add_runtime_dependency "multi_json"
|
16
|
+
s.add_runtime_dependency "bogo"
|
17
|
+
s.add_development_dependency "minitest"
|
18
|
+
s.add_development_dependency "rspec", "~> 3.5"
|
19
|
+
s.add_development_dependency "rake", "~> 10"
|
20
|
+
s.add_development_dependency "yard"
|
21
|
+
s.add_development_dependency "rufo", "~> 0.3.0"
|
22
|
+
s.add_development_dependency "redcarpet", "~> 2.0"
|
23
|
+
s.add_development_dependency "github-markup"
|
24
|
+
s.executables << "generate_sparkle_docs"
|
25
|
+
s.files = Dir["{lib,docs}/**/*"] + %w(sparkle_formation.gemspec README.md CHANGELOG.md LICENSE)
|
26
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sparkle_formation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Roberts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: attribute_struct
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.3
|
19
|
+
version: 0.4.3
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '0.5'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.3
|
29
|
+
version: 0.4.3
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0.5'
|
@@ -210,7 +210,99 @@ files:
|
|
210
210
|
- lib/sparkle_formation/resources/rackspace.rb
|
211
211
|
- lib/sparkle_formation/resources/rackspace_resources.json
|
212
212
|
- lib/sparkle_formation/resources/terraform.rb
|
213
|
+
- lib/sparkle_formation/resources/terraform_account_resources.json
|
214
|
+
- lib/sparkle_formation/resources/terraform_acme_resources.json
|
215
|
+
- lib/sparkle_formation/resources/terraform_alicloud_resources.json
|
216
|
+
- lib/sparkle_formation/resources/terraform_arukas_resources.json
|
217
|
+
- lib/sparkle_formation/resources/terraform_aws_resources.json
|
218
|
+
- lib/sparkle_formation/resources/terraform_azure_resources.json
|
219
|
+
- lib/sparkle_formation/resources/terraform_azurerm_resources.json
|
220
|
+
- lib/sparkle_formation/resources/terraform_azurestack_resources.json
|
221
|
+
- lib/sparkle_formation/resources/terraform_bigip_resources.json
|
222
|
+
- lib/sparkle_formation/resources/terraform_bitbucket_resources.json
|
223
|
+
- lib/sparkle_formation/resources/terraform_brightbox_resources.json
|
224
|
+
- lib/sparkle_formation/resources/terraform_bucket_resources.json
|
225
|
+
- lib/sparkle_formation/resources/terraform_chef_resources.json
|
226
|
+
- lib/sparkle_formation/resources/terraform_circonus_resources.json
|
227
|
+
- lib/sparkle_formation/resources/terraform_clc_resources.json
|
228
|
+
- lib/sparkle_formation/resources/terraform_cloudflare_resources.json
|
229
|
+
- lib/sparkle_formation/resources/terraform_cloudscale_resources.json
|
230
|
+
- lib/sparkle_formation/resources/terraform_cloudstack_resources.json
|
231
|
+
- lib/sparkle_formation/resources/terraform_cobbler_resources.json
|
232
|
+
- lib/sparkle_formation/resources/terraform_consul_resources.json
|
233
|
+
- lib/sparkle_formation/resources/terraform_databases_resources.json
|
234
|
+
- lib/sparkle_formation/resources/terraform_datadog_resources.json
|
235
|
+
- lib/sparkle_formation/resources/terraform_digitalocean_resources.json
|
236
|
+
- lib/sparkle_formation/resources/terraform_dme_resources.json
|
237
|
+
- lib/sparkle_formation/resources/terraform_dns_resources.json
|
238
|
+
- lib/sparkle_formation/resources/terraform_dnsimple_resources.json
|
239
|
+
- lib/sparkle_formation/resources/terraform_docker_resources.json
|
240
|
+
- lib/sparkle_formation/resources/terraform_dyn_resources.json
|
241
|
+
- lib/sparkle_formation/resources/terraform_fastly_resources.json
|
242
|
+
- lib/sparkle_formation/resources/terraform_flexibleengine_resources.json
|
243
|
+
- lib/sparkle_formation/resources/terraform_github_resources.json
|
244
|
+
- lib/sparkle_formation/resources/terraform_gitlab_resources.json
|
245
|
+
- lib/sparkle_formation/resources/terraform_google_resources.json
|
246
|
+
- lib/sparkle_formation/resources/terraform_grafana_resources.json
|
247
|
+
- lib/sparkle_formation/resources/terraform_hcloud_resources.json
|
248
|
+
- lib/sparkle_formation/resources/terraform_heroku_resources.json
|
249
|
+
- lib/sparkle_formation/resources/terraform_huaweicloud_resources.json
|
250
|
+
- lib/sparkle_formation/resources/terraform_icinga2_resources.json
|
251
|
+
- lib/sparkle_formation/resources/terraform_influxdb_resources.json
|
252
|
+
- lib/sparkle_formation/resources/terraform_kubernetes_resources.json
|
253
|
+
- lib/sparkle_formation/resources/terraform_librato_resources.json
|
254
|
+
- lib/sparkle_formation/resources/terraform_linode_resources.json
|
255
|
+
- lib/sparkle_formation/resources/terraform_local_resources.json
|
256
|
+
- lib/sparkle_formation/resources/terraform_logentries_resources.json
|
257
|
+
- lib/sparkle_formation/resources/terraform_logicmonitor_resources.json
|
258
|
+
- lib/sparkle_formation/resources/terraform_mailgun_resources.json
|
259
|
+
- lib/sparkle_formation/resources/terraform_mysql_resources.json
|
260
|
+
- lib/sparkle_formation/resources/terraform_netlify_resources.json
|
261
|
+
- lib/sparkle_formation/resources/terraform_newrelic_resources.json
|
262
|
+
- lib/sparkle_formation/resources/terraform_nomad_resources.json
|
263
|
+
- lib/sparkle_formation/resources/terraform_ns1_resources.json
|
264
|
+
- lib/sparkle_formation/resources/terraform_nsxt_resources.json
|
265
|
+
- lib/sparkle_formation/resources/terraform_nutanix_resources.json
|
266
|
+
- lib/sparkle_formation/resources/terraform_oci_resources.json
|
267
|
+
- lib/sparkle_formation/resources/terraform_oneandone_resources.json
|
268
|
+
- lib/sparkle_formation/resources/terraform_opc_resources.json
|
269
|
+
- lib/sparkle_formation/resources/terraform_openstack_resources.json
|
270
|
+
- lib/sparkle_formation/resources/terraform_opentelekomcloud_resources.json
|
271
|
+
- lib/sparkle_formation/resources/terraform_opsgenie_resources.json
|
272
|
+
- lib/sparkle_formation/resources/terraform_oraclepaas_resources.json
|
273
|
+
- lib/sparkle_formation/resources/terraform_ovh_resources.json
|
274
|
+
- lib/sparkle_formation/resources/terraform_packet_resources.json
|
275
|
+
- lib/sparkle_formation/resources/terraform_pagerduty_resources.json
|
276
|
+
- lib/sparkle_formation/resources/terraform_panos_resources.json
|
277
|
+
- lib/sparkle_formation/resources/terraform_postgresql_resources.json
|
278
|
+
- lib/sparkle_formation/resources/terraform_powerdns_resources.json
|
279
|
+
- lib/sparkle_formation/resources/terraform_profitbricks_resources.json
|
280
|
+
- lib/sparkle_formation/resources/terraform_projects_resources.json
|
281
|
+
- lib/sparkle_formation/resources/terraform_rabbitmq_resources.json
|
282
|
+
- lib/sparkle_formation/resources/terraform_rancher_resources.json
|
283
|
+
- lib/sparkle_formation/resources/terraform_random_resources.json
|
213
284
|
- lib/sparkle_formation/resources/terraform_resources.json
|
285
|
+
- lib/sparkle_formation/resources/terraform_rightscale_resources.json
|
286
|
+
- lib/sparkle_formation/resources/terraform_ring_resources.json
|
287
|
+
- lib/sparkle_formation/resources/terraform_rundeck_resources.json
|
288
|
+
- lib/sparkle_formation/resources/terraform_runscope_resources.json
|
289
|
+
- lib/sparkle_formation/resources/terraform_scaleway_resources.json
|
290
|
+
- lib/sparkle_formation/resources/terraform_ses_resources.json
|
291
|
+
- lib/sparkle_formation/resources/terraform_sfn_resources.json
|
292
|
+
- lib/sparkle_formation/resources/terraform_softlayer_resources.json
|
293
|
+
- lib/sparkle_formation/resources/terraform_spotinst_resources.json
|
294
|
+
- lib/sparkle_formation/resources/terraform_statuscake_resources.json
|
295
|
+
- lib/sparkle_formation/resources/terraform_subnetwork_resources.json
|
296
|
+
- lib/sparkle_formation/resources/terraform_telefonicaopencloud_resources.json
|
297
|
+
- lib/sparkle_formation/resources/terraform_template_resources.json
|
298
|
+
- lib/sparkle_formation/resources/terraform_tencentcloud_resources.json
|
299
|
+
- lib/sparkle_formation/resources/terraform_tfe_resources.json
|
300
|
+
- lib/sparkle_formation/resources/terraform_tls_resources.json
|
301
|
+
- lib/sparkle_formation/resources/terraform_triton_resources.json
|
302
|
+
- lib/sparkle_formation/resources/terraform_ultradns_resources.json
|
303
|
+
- lib/sparkle_formation/resources/terraform_vault_resources.json
|
304
|
+
- lib/sparkle_formation/resources/terraform_vcd_resources.json
|
305
|
+
- lib/sparkle_formation/resources/terraform_vsphere_resources.json
|
214
306
|
- lib/sparkle_formation/sparkle.rb
|
215
307
|
- lib/sparkle_formation/sparkle_attribute.rb
|
216
308
|
- lib/sparkle_formation/sparkle_attribute/aws.rb
|
@@ -229,7 +321,7 @@ files:
|
|
229
321
|
- lib/sparkle_formation/utils.rb
|
230
322
|
- lib/sparkle_formation/version.rb
|
231
323
|
- sparkle_formation.gemspec
|
232
|
-
homepage: http://github.com/
|
324
|
+
homepage: http://github.com/sparkleformation/sparkle_formation
|
233
325
|
licenses:
|
234
326
|
- Apache-2.0
|
235
327
|
metadata: {}
|