rubycfn 0.3.5 → 0.3.6

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: 39a82a073d5753b06c41f7f39a9b82ad19eaa291
4
- data.tar.gz: 756508d6801e4b7acda5309e45de5f880f10ffbb
3
+ metadata.gz: f4442707e07573f3c2da20d53671910caf3f8c8d
4
+ data.tar.gz: 10183704a3a12f0d77b8dabe8f1b5c3570454e01
5
5
  SHA512:
6
- metadata.gz: 48a66c217fc3c7b5c46a806afd992ab7543b15bc8a21520a2c2a890a8105b83e6359101c4eda6452926440c725a0c57c720884ae1e4ae76f0a05fec749fdc27c
7
- data.tar.gz: eecf7e5297b92792a0cf77789258512b806fabf57b19496fbf887c8fcdad190d015b39878baba20b42204a7d7c4b4a79c6af7b3472c2fb47f7a5fea3c731c00b
6
+ metadata.gz: 5941864e3125790d0a59da7fa26862e5e2929e020f0342ff670378502075f2208086f858333ec060fd1d620974a3f7a7333c2559f828c966ac17bf82d5ea3c12
7
+ data.tar.gz: 8dc9c51d380d69b36c2b65bff6528c2b9fa1768d3382777894344d5d8e8b140698ba5ad29a4a5c478eabf91ac3fad47712b105c2dd381ee2f41d9022812cffdd
data/CHANGELOG.md CHANGED
@@ -2,7 +2,11 @@
2
2
  All notable changes to Rubycfn will be documented in this file.
3
3
  This project uses [Semantic Versioning](http://semver.org/).
4
4
 
5
- ## 0.3.6 (Next Release)
5
+ ## 0.3.7 (Next Release)
6
+
7
+ ## 0.3.6
8
+
9
+ * Added STDIN pipe to rubycfn cli and file name argument support -- [@dennisvink][@dennisvink]
6
10
 
7
11
  ## 0.3.5
8
12
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubycfn (0.3.5)
4
+ rubycfn (0.3.6)
5
5
  activesupport (~> 5.1.5)
6
6
  dotenv (~> 2.4.0)
7
7
  json (~> 2.1.0)
data/README.md CHANGED
@@ -3,6 +3,8 @@
3
3
  [RubyCfn](https://rubycfn.com/) is a light-weight tiny CloudFormation, Deployment Manager and ARM DSL to make expressing
4
4
  AWS templates as Ruby code a bit more pleasing to the eye.
5
5
 
6
+ You can find the [CloudFormation Compiler](https://rubycfn.com/) at https://rubycfn.com with examples.
7
+
6
8
  Note, as of 0.3.3 the default project structure changed quite a bit. The README.md does not reflect
7
9
  those changes yet. A rubycfn project is now provisioned with a nested stack set up, and includes
8
10
  a nested VPC and a nested ECS stack.
@@ -20,7 +22,7 @@ __________ ____ __________________.___._________ _____________________
20
22
  | _/ | /| | _// | |/ \ \/ | __) | | _/
21
23
  | | \ | / | | \\____ |\ \____| \ | | \
22
24
  |____|_ /______/ |______ // ______| \______ /\___ / |______ /
23
- \/ \/ \/ \/ \/ \/ [v0.3.5]
25
+ \/ \/ \/ \/ \/ \/ [v0.3.6]
24
26
  Project name? example
25
27
  Account ID? 1234567890
26
28
  Select region EU (Frankfurt)
@@ -228,6 +230,31 @@ For example:
228
230
  end
229
231
  ```
230
232
 
233
+ ## Generating CloudFormation using the Rubycfn CLI
234
+
235
+ It is not necessary to start a Rubycfn project to generate CloudFormation templates.
236
+ The examples from the [Rubycfn CloudFormation Compiler](https://rubycfn.com/) can be used with the Rubycfn cli directly.
237
+ Take this `template.rb` as an example:
238
+
239
+ ```ruby
240
+ parameter :bucket_name,
241
+ description: "Bucket name"
242
+
243
+ resource :foobar,
244
+ type: "AWS::S3::Bucket" do |r|
245
+ r.property(:name) { :bucket_name.ref }
246
+ end
247
+ ```
248
+
249
+ You can generate a CloudFormation template from this script in the following ways:
250
+ `cat template.rb | rubycfn`
251
+
252
+ or
253
+
254
+ `rubycfn template.rb`
255
+
256
+ Both commands will output the CloudFormation template without the need for you to set up a project.
257
+
231
258
  ## Implemented AWS functions
232
259
 
233
260
  You can Ref by postpending the .ref method to any string. E.g. "string".ref
data/bin/rubycfn CHANGED
@@ -8,6 +8,31 @@ require "rubycfn/version"
8
8
 
9
9
  require_relative "../lib/cli_methods"
10
10
 
11
+ if ARGV.first || (ARGF.filename != "-" or (not STDIN.tty? and not STDIN.closed?))
12
+ require "rubycfn"
13
+ require "active_support/concern"
14
+ module RubycfnStack
15
+ if (ARGF.filename != "-" or (not STDIN.tty? and not STDIN.closed?))
16
+ contents = []
17
+ ARGF.each_line do |line|
18
+ contents.push(line)
19
+ end
20
+ contents = contents.join("\n")
21
+ else
22
+ raise "File #{ARGV.first} not found!" unless File.file?(ARGV.first)
23
+ contents = File.read(ARGV.first)
24
+ end
25
+ extend ActiveSupport::Concern
26
+ include Rubycfn
27
+ included do
28
+ eval(contents)
29
+ end
30
+ end
31
+ cfn = include RubycfnStack
32
+ puts cfn.render_template
33
+ exit
34
+ end
35
+
11
36
  path = File.expand_path(File.dirname(File.dirname(__FILE__)))
12
37
  puts rubycfn_banner(Rubycfn::VERSION)
13
38
  prompt = TTY::Prompt.new
@@ -1,4 +1,4 @@
1
1
  # Rubycfn version
2
2
  module Rubycfn
3
- VERSION = "0.3.5"
3
+ VERSION = "0.3.6"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubycfn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Vink
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-10 00:00:00.000000000 Z
11
+ date: 2019-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: neatjson
@@ -324,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
324
  version: '0'
325
325
  requirements: []
326
326
  rubyforge_project:
327
- rubygems_version: 2.5.1
327
+ rubygems_version: 2.6.7
328
328
  signing_key:
329
329
  specification_version: 4
330
330
  summary: Rubycfn