cfn-toml 1.0.3 → 1.0.4

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
  SHA256:
3
- metadata.gz: 00bd39e7cbec125d8539fd5abc41160bf5888ea787c4d44c5871920805c9245f
4
- data.tar.gz: 877e8e6de0dc303fd53b8b4c667a712367553872980f141328feb0d12544964c
3
+ metadata.gz: ae9bc1c1b290518289f35114d0bcb93699f1b36c782efe0bcf5774d562e75a00
4
+ data.tar.gz: b37be42117520546fcf181d85dbb245420a49f8f9ce9d709d20c4519084f8e58
5
5
  SHA512:
6
- metadata.gz: a16742d4e1e9ba72e94b55e831350408bd30493bd99ab1564ad8a2287821f73eae8d19c5ec25cd9ea34eb34af7d611629b9fc6a484c91627c71e5c249fcf6485
7
- data.tar.gz: c83583d1c01b241ce8d07c4bf4a3be297cd51fa3b352fe5ed4827a064c6f437e17dbf7e162e09e4c528989acafcee9504d02b263668f5d9b11247f5e4928807a
6
+ metadata.gz: 40a1f5c6b1569b58e360bfba8e06df90549f852f32205af9ba14d4a6b587d2a2c0df343d3baf1b56db9c571264eec1cad0c3deb4b560ade655509f0fd8994bc2
7
+ data.tar.gz: a86cd3a80aee41f5f74fca6db84995cf49de56978cca04160beeb13956c8b9cdaca525ba1eb02a7cd19783c4e89c5d92510acd2e636ae33b25e02790d938945a
@@ -3,6 +3,8 @@ $LOAD_PATH << File.expand_path('lib')
3
3
 
4
4
  require 'optparse'
5
5
  require 'cfn_toml'
6
+ require 'pry'
7
+ require 'pathname'
6
8
 
7
9
  def show_version
8
10
  puts "CfnToml v#{CfnToml::VERSION}"
@@ -11,25 +13,35 @@ end
11
13
 
12
14
  def show_help
13
15
  puts <<~HELP
14
- Usage: toml-conf [options]
16
+ Usage: cfn-toml [options]
15
17
  Options:
16
18
  -t, --toml path to toml file
17
- -v, --version show version
18
- HELP
19
+ -p, --profile profile name (only used with cfn-toml init)
20
+ -v, --version show version
21
+
22
+ Initialize:
23
+ cfn-toml init mystack --profile myprofile
19
24
 
25
+ Bash Examples:
26
+ REGION=$(cfn-toml key deploy.region)
27
+ PARAMETERS=$(cfn-toml params v1)
28
+ OVERRIDE_PARAMETERS=$(cfn-toml params v2)
29
+ BUCKET=$(cfn-toml key bucket --tom /path/to/conf.prod.toml)
30
+ HELP
20
31
  exit 0
21
32
  end
22
33
 
23
34
  options = {}
24
35
 
25
- arg1 = ARGV[0]
26
- arg2 = ARGV[1]
27
-
28
36
  parser = OptionParser.new do|opts|
29
- opts.on('--toml PATH') do |path|
37
+ opts.on('-t PATH', '--toml PATH') do |path|
30
38
  options[:toml_filepath] = path
31
39
  end
32
40
 
41
+ opts.on('-p NAME', '--profile NAME') do |name|
42
+ options[:profile] = name
43
+ end
44
+
33
45
  opts.on('-h', '--help') do
34
46
  show_help
35
47
  end
@@ -39,19 +51,29 @@ end
39
51
  begin
40
52
  parser.parse!
41
53
 
42
- show_help if options.empty?
54
+ arg1 = ARGV[0]
55
+ arg2 = ARGV[1]
43
56
 
44
57
  # Defaults
45
- options[:toml_filepath] ||= 'config.toml'
58
+ options[:toml_filepath] ||= "config.toml"
59
+ options[:toml_filepath] = File.expand_path options[:toml_filepath]
60
+ options[:profile] ||= 'default'
46
61
 
47
- result =
48
62
  if arg1 == 'key'
49
- CfnToml.key options[:toml_filepath], arg2
63
+ result = CfnToml.key options[:toml_filepath], arg2
64
+ STDOUT.puts result
50
65
  elsif arg1 == 'params'
51
- CfnToml.params options[:toml_filepath], arg2
66
+ result = CfnToml.params options[:toml_filepath], arg2
67
+ STDOUT.puts result
68
+ elsif arg1 == 'init'
69
+ # arg2 - stackname
70
+ # arg3 - profile
71
+ stackname = nil
72
+ stackname = arg2 if !arg2.nil? || !arg2 == ''
73
+ CfnToml.init options[:toml_filepath], arg2, options[:profile]
74
+ STDOUT.puts options[:toml_filepath]
52
75
  end
53
76
 
54
- STDOUT.puts result
55
77
 
56
78
  exit 0
57
79
  rescue => e
@@ -1,6 +1,24 @@
1
1
  require 'toml-rb'
2
+ require 'fileutils'
2
3
 
3
4
  module CfnToml
5
+ def self.init toml_filepath, stackname, profile
6
+ region = `aws configure get region --profile #{profile}`
7
+ region ||= 'us-east-1'
8
+ stackname ||= 'stackname'
9
+
10
+ toml_path = File.dirname toml_filepath
11
+ FileUtils.mkpath(toml_path) unless File.exists?(toml_path)
12
+
13
+ File.open(toml_filepath, "w") do |f|
14
+ f.write "[deploy]\n"
15
+ f.write "profile = '#{profile}'\n"
16
+ f.write "stack_name = '#{stackname}'\n"
17
+ f.write "region = '#{region.chomp}'\n\n"
18
+ f.write "[parameters]\n"
19
+ end
20
+ end
21
+
4
22
  def self.key toml_filepath, key
5
23
  data = TomlRB.load_file(toml_filepath)
6
24
  namespace, key = key.split('.')
@@ -1,3 +1,3 @@
1
1
  module CfnToml
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfn-toml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Brown
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2021-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pry
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: toml-rb
15
29
  requirement: !ruby/object:Gem::Requirement