aws-cfn-yats 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MGUyNmI0YjgwMWY3ZDJkNDQxMjdlNjRkMzBlZWUzNDI5YmNmNDQ1Yg==
5
- data.tar.gz: !binary |-
6
- OWYwYWIwYWVjNzI4YzVhNjYxMTk4ZTUxNzZjNTkzYzU1N2Y0YmY5ZA==
2
+ SHA1:
3
+ metadata.gz: fda00bef545348a75a1f0174c6326191849f52c0
4
+ data.tar.gz: b8a994c8177d43ccb3851431ef539fd00c50875f
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NjYxMmExYjUwZWJkYjFlNTVmMWJlNTc3MmUwODAzZWU4YWRiMTZlM2I0MjEx
10
- NTg3MGZhNWEyNTIyMzhlYWZiMzY2NGQ1YjdlYzIwOWJkNTlmZTk0MTM2MGM4
11
- MjczYWNkMmQwNzUwMTI5ODZlOTIwOTc2NGI0N2UyNWI3MjQ2YzQ=
12
- data.tar.gz: !binary |-
13
- NTc2MDFmNDY4N2Q0YzZhYmU4NWIwZDJiNDk3MTRlNWUwMTY3MzU2MjhhY2Y0
14
- MzUxNWViNDk4ZDgyZjAwM2Y2OWEyNDU3M2JjYTBlZjViNjM5ZTE0ZGI0ODgx
15
- MzZiM2Q0ZjY5ODRjZDhjYmIxMTc4ZmIyMzk4OTdhMTE0NGE0MjU=
6
+ metadata.gz: bfe62e3061e0501f7aea69dfdf07af1907d49385eabf9029c2b0b74b4509b959a96d469c89a1cb96c0d11bb73cfe2ae0adfea9868be610ff5a78b8cfab70ce3d
7
+ data.tar.gz: 3d7bf59a237f67fa825cfc513d84511bb14d55bf1a2bf46966c6cbae8e9df3d841ad9ee7f60f366f08aaa287aa9fd2b3281afd1cb94a0033b240d436247a717e
data/aws-cfn-yats.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'aws-cfn-dsl', '>=0.0.2'
21
+ # spec.add_dependency 'aws-cfn-dsl', '>=0.0.2'
22
22
  spec.add_dependency 'aws-cfn-decompiler', '>= 0.0.3', '~> 0.0'
23
23
  spec.add_dependency 'aws-cfn-compiler', '>= 0.2.1', '~> 0.2'
24
24
  spec.add_dependency 'cloud_builder', '> 0'
data/aws-cfn-yats.iml CHANGED
@@ -21,14 +21,13 @@
21
21
  <orderEntry type="sourceFolder" forTests="false" />
22
22
  <orderEntry type="library" scope="PROVIDED" name="activesupport (v4.1.1, RVM: ruby-2.1.2) [gem]" level="application" />
23
23
  <orderEntry type="library" scope="PROVIDED" name="awesome_print (v1.2.0, RVM: ruby-2.1.2) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="aws-cfn-dsl (v0.0.2, RVM: ruby-2.1.2) [gem]" level="application" />
24
+ <orderEntry type="library" scope="PROVIDED" name="aws-cfn-compiler (v0.2.1, RVM: ruby-2.1.2) [gem]" level="application" />
25
+ <orderEntry type="library" scope="PROVIDED" name="aws-cfn-decompiler (v0.0.3, RVM: ruby-2.1.2) [gem]" level="application" />
25
26
  <orderEntry type="library" scope="PROVIDED" name="aws-sdk (v1.43.2, RVM: ruby-2.1.2) [gem]" level="application" />
26
27
  <orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.2, RVM: ruby-2.1.2) [gem]" level="application" />
27
28
  <orderEntry type="library" scope="PROVIDED" name="clamp (v0.6.3, RVM: ruby-2.1.2) [gem]" level="application" />
28
29
  <orderEntry type="library" scope="PROVIDED" name="cloud_builder (v0.0.11, RVM: ruby-2.1.2) [gem]" level="application" />
29
- <orderEntry type="library" scope="PROVIDED" name="cloudformation-ruby-dsl (v0.4.3, RVM: ruby-2.1.2) [gem]" level="application" />
30
30
  <orderEntry type="library" scope="PROVIDED" name="cloudformer (v0.0.11, RVM: ruby-2.1.2) [gem]" level="application" />
31
- <orderEntry type="library" scope="PROVIDED" name="detabulator (v0.1.0, RVM: ruby-2.1.2) [gem]" level="application" />
32
31
  <orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.9, RVM: ruby-2.1.2) [gem]" level="application" />
33
32
  <orderEntry type="library" scope="PROVIDED" name="mini_portile (v0.6.0, RVM: ruby-2.1.2) [gem]" level="application" />
34
33
  <orderEntry type="library" scope="PROVIDED" name="minitest (v5.3.4, RVM: ruby-2.1.2) [gem]" level="application" />
data/bin/cfn-yaml2json ADDED
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ # Borrowing from "whiches" gem ...
6
+ cmd = File.basename(__FILE__)
7
+ exes = []
8
+ exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
9
+ ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
10
+ exts.each { |ext|
11
+ exe = File.join(path, "#{cmd}#{ext}")
12
+ exes << exe if File.executable? exe
13
+ }
14
+ end
15
+ path = if exes.size > 0
16
+ File.dirname(exes[0])
17
+ else
18
+ File.dirname(__FILE__)
19
+ end
20
+
21
+ add_path = File.expand_path(File.join(path, "..", "lib"))
22
+ $:.unshift(add_path)
23
+
24
+ require 'aws/cfn/yats'
25
+ require 'json'
26
+
27
+ unless (ARGV & %w(-h --help -?)).empty?
28
+ $stderr.puts <<"EOF"
29
+ usage: #{$PROGRAM_NAME} [cloudformation-template.json] ...
30
+
31
+ Converts the specified CloudFormation JSON template or template fragment to
32
+ Ruby DSL syntax. Reads from stdin or from the specified json files. Note
33
+ that the input must be valid JSON.
34
+
35
+ Examples:
36
+
37
+ # Convert a JSON CloudFormation template to Ruby DSL syntax
38
+ #{$PROGRAM_NAME} my-template.json > my-template.rb
39
+ chmod +x my-template.rb
40
+
41
+ # Convert the JSON fragment in the clipboard to Ruby DSL syntax
42
+ pbpaste | #{$PROGRAM_NAME} | less
43
+
44
+ EOF
45
+ exit(2)
46
+ end
47
+
48
+ y2j = Aws::Cfn::Yats::Yaml2Json.new
49
+
50
+ if ARGV.empty?
51
+ template = $stdin.read
52
+ y2j.transform(template)
53
+ else
54
+ ARGV.each do |filename|
55
+ template = File.read(filename)
56
+ y2j.transform(template)
57
+ end
58
+ end
59
+ # The user should make the resulting template executable w/chmod +x
data/bin/cfn-yats ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ # Borrowing from "whiches" gem ...
6
+ cmd = File.basename(__FILE__)
7
+ exes = []
8
+ exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
9
+ ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
10
+ exts.each { |ext|
11
+ exe = File.join(path, "#{cmd}#{ext}")
12
+ exes << exe if File.executable? exe
13
+ }
14
+ end
15
+ path = if exes.size > 0
16
+ File.dirname(exes[0])
17
+ else
18
+ File.dirname(__FILE__)
19
+ end
20
+
21
+ add_path = File.expand_path(File.join(path, "..", "lib"))
22
+ $:.unshift(add_path)
23
+
24
+ require 'aws/cfn/yats'
data/bin/yats ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ # Borrowing from "whiches" gem ...
6
+ cmd = File.basename(__FILE__)
7
+ exes = []
8
+ exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
9
+ ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
10
+ exts.each { |ext|
11
+ exe = File.join(path, "#{cmd}#{ext}")
12
+ exes << exe if File.executable? exe
13
+ }
14
+ end
15
+ path = if exes.size > 0
16
+ File.dirname(exes[0])
17
+ else
18
+ File.dirname(__FILE__)
19
+ end
20
+
21
+ add_path = File.expand_path(File.join(path, "..", "lib"))
22
+ $:.unshift(add_path)
23
+
24
+ require 'aws/cfn/yats'
data/lib/aws/cfn/yats.rb CHANGED
@@ -3,3 +3,4 @@ require "aws/cfn/yats/base"
3
3
  require "aws/cfn/yats/fncall"
4
4
  require "aws/cfn/yats/json2rb"
5
5
  require "aws/cfn/yats/json2yaml"
6
+ require "aws/cfn/yats/yaml2json"
@@ -9,7 +9,7 @@ module Aws
9
9
 
10
10
  def pprint_cfn_template(tpl)
11
11
 
12
- yml = YAML::dump(@json)
12
+ yml = YAML::dump(tpl)
13
13
 
14
14
  puts yml
15
15
  end
@@ -1,7 +1,7 @@
1
1
  module Aws
2
2
  module Cfn
3
3
  module Yats
4
- VERSION = "0.0.3"
4
+ VERSION = "0.0.4"
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,28 @@
1
+ require "aws/cfn/yats/base"
2
+ require 'yaml'
3
+
4
+ module Aws
5
+ module Cfn
6
+ module Yats
7
+
8
+ class Yaml2Json < Base
9
+ attr_accessor :yaml
10
+
11
+ def transform(template)
12
+ @template = template
13
+ @yaml = YAML.load(template)
14
+ @simple = simplify(@yaml)
15
+ pprint(@simple)
16
+ end
17
+
18
+ def pprint_cfn_template(tpl)
19
+
20
+ @json = JSON.pretty_generate(tpl)
21
+
22
+ puts @json
23
+ end
24
+
25
+ end
26
+ end
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-cfn-yats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christo De Lange
@@ -10,100 +10,86 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: aws-cfn-dsl
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ! '>='
18
- - !ruby/object:Gem::Version
19
- version: 0.0.2
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ! '>='
25
- - !ruby/object:Gem::Version
26
- version: 0.0.2
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: aws-cfn-decompiler
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - ! '>='
17
+ - - ">="
32
18
  - !ruby/object:Gem::Version
33
19
  version: 0.0.3
34
- - - ~>
20
+ - - "~>"
35
21
  - !ruby/object:Gem::Version
36
22
  version: '0.0'
37
23
  type: :runtime
38
24
  prerelease: false
39
25
  version_requirements: !ruby/object:Gem::Requirement
40
26
  requirements:
41
- - - ! '>='
27
+ - - ">="
42
28
  - !ruby/object:Gem::Version
43
29
  version: 0.0.3
44
- - - ~>
30
+ - - "~>"
45
31
  - !ruby/object:Gem::Version
46
32
  version: '0.0'
47
33
  - !ruby/object:Gem::Dependency
48
34
  name: aws-cfn-compiler
49
35
  requirement: !ruby/object:Gem::Requirement
50
36
  requirements:
51
- - - ! '>='
37
+ - - ">="
52
38
  - !ruby/object:Gem::Version
53
39
  version: 0.2.1
54
- - - ~>
40
+ - - "~>"
55
41
  - !ruby/object:Gem::Version
56
42
  version: '0.2'
57
43
  type: :runtime
58
44
  prerelease: false
59
45
  version_requirements: !ruby/object:Gem::Requirement
60
46
  requirements:
61
- - - ! '>='
47
+ - - ">="
62
48
  - !ruby/object:Gem::Version
63
49
  version: 0.2.1
64
- - - ~>
50
+ - - "~>"
65
51
  - !ruby/object:Gem::Version
66
52
  version: '0.2'
67
53
  - !ruby/object:Gem::Dependency
68
54
  name: cloud_builder
69
55
  requirement: !ruby/object:Gem::Requirement
70
56
  requirements:
71
- - - ! '>'
57
+ - - ">"
72
58
  - !ruby/object:Gem::Version
73
59
  version: '0'
74
60
  type: :runtime
75
61
  prerelease: false
76
62
  version_requirements: !ruby/object:Gem::Requirement
77
63
  requirements:
78
- - - ! '>'
64
+ - - ">"
79
65
  - !ruby/object:Gem::Version
80
66
  version: '0'
81
67
  - !ruby/object:Gem::Dependency
82
68
  name: bundler
83
69
  requirement: !ruby/object:Gem::Requirement
84
70
  requirements:
85
- - - ~>
71
+ - - "~>"
86
72
  - !ruby/object:Gem::Version
87
73
  version: '1.5'
88
74
  type: :development
89
75
  prerelease: false
90
76
  version_requirements: !ruby/object:Gem::Requirement
91
77
  requirements:
92
- - - ~>
78
+ - - "~>"
93
79
  - !ruby/object:Gem::Version
94
80
  version: '1.5'
95
81
  - !ruby/object:Gem::Dependency
96
82
  name: rake
97
83
  requirement: !ruby/object:Gem::Requirement
98
84
  requirements:
99
- - - ! '>='
85
+ - - ">="
100
86
  - !ruby/object:Gem::Version
101
87
  version: '0'
102
88
  type: :development
103
89
  prerelease: false
104
90
  version_requirements: !ruby/object:Gem::Requirement
105
91
  requirements:
106
- - - ! '>='
92
+ - - ">="
107
93
  - !ruby/object:Gem::Version
108
94
  version: '0'
109
95
  description: AWS Cloudformation templates expressed with a Ruby DSL, YAML or JSON
@@ -113,10 +99,13 @@ email:
113
99
  executables:
114
100
  - cfn-json2rb
115
101
  - cfn-json2yaml
102
+ - cfn-yaml2json
103
+ - cfn-yats
104
+ - yats
116
105
  extensions: []
117
106
  extra_rdoc_files: []
118
107
  files:
119
- - .gitignore
108
+ - ".gitignore"
120
109
  - Gemfile
121
110
  - LICENSE
122
111
  - LICENSE.txt
@@ -126,12 +115,16 @@ files:
126
115
  - aws-cfn-yats.iml
127
116
  - bin/cfn-json2rb
128
117
  - bin/cfn-json2yaml
118
+ - bin/cfn-yaml2json
119
+ - bin/cfn-yats
120
+ - bin/yats
129
121
  - lib/aws/cfn/yats.rb
130
122
  - lib/aws/cfn/yats/base.rb
131
123
  - lib/aws/cfn/yats/fncall.rb
132
124
  - lib/aws/cfn/yats/json2rb.rb
133
125
  - lib/aws/cfn/yats/json2yaml.rb
134
126
  - lib/aws/cfn/yats/version.rb
127
+ - lib/aws/cfn/yats/yaml2json.rb
135
128
  homepage: ''
136
129
  licenses:
137
130
  - MIT
@@ -142,12 +135,12 @@ require_paths:
142
135
  - lib
143
136
  required_ruby_version: !ruby/object:Gem::Requirement
144
137
  requirements:
145
- - - ! '>='
138
+ - - ">="
146
139
  - !ruby/object:Gem::Version
147
140
  version: '0'
148
141
  required_rubygems_version: !ruby/object:Gem::Requirement
149
142
  requirements:
150
- - - ! '>='
143
+ - - ">="
151
144
  - !ruby/object:Gem::Version
152
145
  version: '0'
153
146
  requirements: []