autostacker24 1.0.67 → 1.0.68
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/autostacker24 +13 -1
- data/lib/autostacker24/template_preprocessor.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cfee64a5b09e2a35673749ce6748a060ad7956d
|
4
|
+
data.tar.gz: ca24c2708877818a3603f31c6fecc99022354716
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adb8c374dcb3c32e14709f988a4127e1bd214fb37a9f8b3f4c361b90765287a2840e684f4e03942f36c8d25b684bd0d12e09a9aff6815c74d4532ac5f5ccbd6d
|
7
|
+
data.tar.gz: c3bdffaf36168fa15018ccc0fda6edda2ba2ebc1260df64334bbccddfaed93bc1a19f499709a837bbeeeafb66d25cf447f49598449735c0fdb05ba52a7bdd5a6
|
data/bin/autostacker24
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'autostacker24'
|
5
|
+
require 'yaml'
|
5
6
|
|
6
7
|
def error(msg)
|
7
8
|
puts "\nError: #{msg}\n\n#{USAGE}"
|
@@ -25,13 +26,15 @@ parser = OptionParser.new do |opts|
|
|
25
26
|
opts.separator 'Commands:'
|
26
27
|
opts.separator "\tcreate\t\t create or update a stack"
|
27
28
|
opts.separator "\tdelete\t\t delete a stack"
|
28
|
-
opts.separator "\
|
29
|
+
opts.separator "\tshow\t\t pretty print template after preprocessing"
|
29
30
|
opts.separator "\tvalidate\t validate the template"
|
31
|
+
opts.separator "\tconvert\t\t convert a template to yaml"
|
30
32
|
opts.separator ''
|
31
33
|
opts.separator 'Options:'
|
32
34
|
opts.on('--template TEMPLATE', 'Path to template') {|v| args.template = v}
|
33
35
|
opts.on('--stack STACK', 'Name of stack') {|v| args.stack = v}
|
34
36
|
opts.on('--parent PARENT', 'Name of parent stack') {|v| args.parent = v}
|
37
|
+
opts.on('--to-json', 'Convert yaml template to json') {|_| args.json = true}
|
35
38
|
opts.on('--region REGION', 'AWS region') {|v| args.region = v}
|
36
39
|
opts.on('--profile PROFILE', 'AWS profile (use aws configure)') {|v| args.profile = v}
|
37
40
|
opts.on('--param KEY=VALUE', 'Stack Parameter') {|v| args.params.store(*v.split('=')) }
|
@@ -67,6 +70,15 @@ case args.command
|
|
67
70
|
when /preprocess|show/
|
68
71
|
check_template(args)
|
69
72
|
puts JSON.pretty_generate(JSON.parse(Stacker.template_body(args.template)))
|
73
|
+
when /convert/
|
74
|
+
check_template(args)
|
75
|
+
template = File.read(args.template)
|
76
|
+
if args.json
|
77
|
+
puts '// autostacker24 CloudFormation JSON template'
|
78
|
+
puts JSON.pretty_generate(YAML.load(template))
|
79
|
+
else
|
80
|
+
puts JSON.parse(template).to_yaml.sub('---', '# autostacker24 CloudFormation YAML template')
|
81
|
+
end
|
70
82
|
else
|
71
83
|
error("unknown command '#{args.command}'")
|
72
84
|
end
|
@@ -48,12 +48,12 @@ module AutoStacker24
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def self.preprocess_user_data(s)
|
51
|
-
m = /\A@file:\/\/(.*)/.match(s)
|
52
|
-
s = File.read(m[1]) if m
|
53
51
|
{'Fn::Base64' => preprocess_string(s)}
|
54
52
|
end
|
55
53
|
|
56
54
|
def self.preprocess_string(s)
|
55
|
+
m = /^@file:\/\/(.*)$/.match(s)
|
56
|
+
s = File.read(m[1]) if m
|
57
57
|
parts = tokenize(s).map do |token|
|
58
58
|
case token
|
59
59
|
when '@@' then '@'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autostacker24
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.68
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johannes Mueller
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-03-
|
12
|
+
date: 2016-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk-core
|
@@ -59,14 +59,14 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.37
|
62
|
+
version: '0.37'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.37
|
69
|
+
version: '0.37'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rake
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|