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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 011e9bdc25672f70fe6bf1a96cce80ca7f6e0ff0
4
- data.tar.gz: d57dfb2d268cac5631ce12bf80b919a06edf692d
3
+ metadata.gz: 9cfee64a5b09e2a35673749ce6748a060ad7956d
4
+ data.tar.gz: ca24c2708877818a3603f31c6fecc99022354716
5
5
  SHA512:
6
- metadata.gz: 65d6effa19097bfa665fdc6e582d4f4d75c8cf0d899bec0a7bad6fa4f07e5cb37335146803ae2f895e90a33b0b20326ba11db327dbbcc8cc08a2ca515e724131
7
- data.tar.gz: 7ef99ef3dce94265d32addd34bb6d621c1f2f633450a327a6fd97df3e9e9cc266520bc67ed2b6667333e3e40edb0b302fca446b831fdacaeeecc6b97c4fdf725
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 "\tpreprocess\t pretty print template after preprocessing"
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.67
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-15 00:00:00.000000000 Z
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.0
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.0
69
+ version: '0.37'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rake
72
72
  requirement: !ruby/object:Gem::Requirement