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 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