autostacker24 1.0.67 → 1.0.68
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/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
|