EndlessWaffleCLI 0.1.1 → 0.1.2

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: df630c1c06a03d41d2153b9b51eaa55dc2edd9cd
4
- data.tar.gz: 95c6de991d5d603246078b76a179163812c65493
3
+ metadata.gz: 69d070b9260f55b55cf94708b25a6feedf85f9ef
4
+ data.tar.gz: a5150c6c87dce4128761dc1b82e57eeb5a5a8fae
5
5
  SHA512:
6
- metadata.gz: 67d4bca71069d9f972592c3a60a6980a0d5934f2a38d6bf6d28e952fff258d7337e8eb4ff3dd29933dc69ec80424eccb01cc14d5a0255a50a64d603c35610d1d
7
- data.tar.gz: 05ddb7e7a43eeba421f68d1014d5dddd6cfd86aee20ac9310c8e2dfa26144cadd717b8e3238f3356be1324b5c76dfb0f97bf6cb6f90fcf7ae083298accf9d48d
6
+ metadata.gz: 2d3b01f71adb9be2788b8981dcfe0c007d4b92cb07e29583173dda308e316eb296232bd87b636d68357397e5fbc24adc2e7e273e5cf6db004c840aa86a58467b
7
+ data.tar.gz: 5a8181fadf1d9fb39e3e22539198a4010e54761137f5acd760eacc5fe11023be3123a7f6bc50d10a1308ae0c62ec3ce13855fcc56ea34bb1bbcb990c979d9102
data/Gemfile.lock ADDED
@@ -0,0 +1,56 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ EndlessWaffleCLI (0.1.1)
5
+ bundler (~> 1.12)
6
+ colorize (~> 0.8.1)
7
+ console_table (~> 0.2.4)
8
+ highline (~> 1.7, >= 1.7.8)
9
+ mime-types (~> 3.1)
10
+ net-ssh (~> 3.2)
11
+ net-ssh-gateway (~> 1.2)
12
+ net-ssh-multi (~> 1.2, >= 1.2.1)
13
+ rake (~> 10.0)
14
+ rest-client (~> 2.0)
15
+ unf (~> 0.1.4)
16
+ unf_ext (~> 0.0.7.2)
17
+
18
+ GEM
19
+ remote: https://rubygems.org/
20
+ specs:
21
+ colorize (0.8.1)
22
+ console_table (0.2.4)
23
+ ruby-terminfo (~> 0.1)
24
+ domain_name (0.5.20160615)
25
+ unf (>= 0.0.5, < 1.0.0)
26
+ highline (1.7.8)
27
+ http-cookie (1.0.2)
28
+ domain_name (~> 0.5)
29
+ mime-types (3.1)
30
+ mime-types-data (~> 3.2015)
31
+ mime-types-data (3.2016.0521)
32
+ net-ssh (3.2.0)
33
+ net-ssh-gateway (1.2.0)
34
+ net-ssh (>= 2.6.5)
35
+ net-ssh-multi (1.2.1)
36
+ net-ssh (>= 2.6.5)
37
+ net-ssh-gateway (>= 1.2.0)
38
+ netrc (0.11.0)
39
+ rake (10.5.0)
40
+ rest-client (2.0.0)
41
+ http-cookie (>= 1.0.2, < 2.0)
42
+ mime-types (>= 1.16, < 4.0)
43
+ netrc (~> 0.8)
44
+ ruby-terminfo (0.1.1)
45
+ unf (0.1.4)
46
+ unf_ext
47
+ unf_ext (0.0.7.2)
48
+
49
+ PLATFORMS
50
+ ruby
51
+
52
+ DEPENDENCIES
53
+ EndlessWaffleCLI!
54
+
55
+ BUNDLED WITH
56
+ 1.12.5
data/exe/enum CHANGED
@@ -99,7 +99,7 @@ end while 1
99
99
  def showTable(result)
100
100
  table_config = [
101
101
  {:key=>:instanceId, :size=>13, :title=>"Instance Id"},
102
- {:key=>:name, :size=>9, :title=>"Name"},
102
+ {:key=>:name, :size=>13, :title=>"Name"},
103
103
  {:key=>:role, :size=>8, :title=>"Role"},
104
104
  {:key=>:environment, :size=>8, :title=>"Env"},
105
105
  {:key=>:instanceType, :size=>10, :title=>"Type"},
data/exe/ewami ADDED
@@ -0,0 +1,129 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "EndlessWaffleCLI"
5
+ require 'json'
6
+ require 'getoptlong'
7
+ require 'console_table'
8
+
9
+ query = {}
10
+ updateCache = false
11
+ showJSON = false
12
+
13
+ if ENV['EndlessWaffleURL'].nil?
14
+ puts "EndlessWaffleCLI requires the 'EndlessWaffleURL' environment variable to be set."
15
+ exit 1
16
+ else
17
+ EndlessWaffleCLI.setServer ENV['EndlessWaffleURL']
18
+ end
19
+
20
+ if ENV['EndlessWaffleToken'].nil?
21
+ puts "EndlessWaffleCLI requires the 'EndlessWaffleToken' environment variable to be set."
22
+ exit 1
23
+ else
24
+ EndlessWaffleCLI.setToken ENV['EndlessWaffleToken']
25
+ end
26
+
27
+ def showHelp
28
+ puts
29
+ puts "Endless Waffle AMI"
30
+ puts "Usage example: #{$0} -a us-east-1c"
31
+ puts
32
+ puts "Options:"
33
+ puts "-a or --availability_zone".ljust(30) +"-> Specifiy Availability Aone"
34
+ puts "-n or --name".ljust(30) +"-> Specifiy Name"
35
+ puts "-i or --instance_type".ljust(30) +"-> Specify instance type"
36
+ puts "-b or --version".ljust(30) +"-> Specify version"
37
+ puts "-r or --release".ljust(30) +"-> Specify release"
38
+ puts "-q or --ami_id".ljust(30) +"-> Specify amiid"
39
+ puts "-j or --json".ljust(30) +"-> Raw JSON output"
40
+ puts "-c or --cache ".ljust(30) +"-> Update local Cache database with current AWS data"
41
+ puts "-h or --help".ljust(30) +"-> Show this help message."
42
+ puts
43
+ end
44
+
45
+ parser = GetoptLong.new
46
+ parser.set_options(["-a", "--availability_zone", GetoptLong::NO_ARGUMENT],
47
+ ["-n", "--name", GetoptLong::NO_ARGUMENT],
48
+ ["-i", "--instance_type", GetoptLong::NO_ARGUMENT],
49
+ ["-v", "--version", GetoptLong::NO_ARGUMENT],
50
+ ["-r", "--release", GetoptLong::NO_ARGUMENT],
51
+ ["-q", "--ami_id", GetoptLong::NO_ARGUMENT],
52
+ ["-j", "--json", GetoptLong::NO_ARGUMENT],
53
+ ["-c", "--cache", GetoptLong::NO_ARGUMENT],
54
+ ["-h", "--help", GetoptLong::NO_ARGUMENT]
55
+ )
56
+
57
+ begin
58
+ begin
59
+ opt,arg = parser.get_option
60
+ break if not opt
61
+ case opt
62
+ when "-h" || "--help"
63
+ showHelp
64
+ exit
65
+ when "-a" || "--availability_zone"
66
+ query.store(:availability_zone, ARGV[0])
67
+ when "-n" || "--name"
68
+ query.store(:name, ARGV[0])
69
+ when "-i" || "--instance_type"
70
+ query.store(:instance_type, ARGV[0])
71
+ when "-v" || "--version"
72
+ query.store(:version, ARGV[0])
73
+ when "-q" || "--ami_id"
74
+ query.store(:ami_id, ARGV[0])
75
+ when "-j" || "--json"
76
+ showJSON = true
77
+ when "-c" || "--cache"
78
+ updateCache = true
79
+ end
80
+ rescue => err
81
+ puts "#{err.class()}: #{err.message}"
82
+ exit 1
83
+ end
84
+ end while 1
85
+
86
+ def showTable(result)
87
+ table_config = [
88
+ {:key=>:name, :size=>9, :title=>"Name"},
89
+ {:key=>:version, :size=>10, :title=>"Version"},
90
+ {:key=>:release, :size=>10, :title=>"Release"},
91
+ {:key=>:availability_zone, :size=>17, :title=>"Zone"},
92
+ {:key=>:arch, :size=>7, :title=>"Arch"},
93
+ {:key=>:instance_type, :size=>18, :title=>"Instance Type"},
94
+ {:key=>:ami_id, :size=>10, :title=>"AMI"},
95
+ {:key=>:aki_id, :size=>10, :title=>"AKI"}
96
+
97
+ ]
98
+ ConsoleTable.define(table_config) do |table|
99
+ result.each do |r|
100
+ table << [
101
+ r["name"],
102
+ r["version"],
103
+ r["release"],
104
+ r["availability_zone"],
105
+ r["arch"],
106
+ r["instance_type"],
107
+ r["ami_id"],
108
+ r["aki_id"]
109
+ ]
110
+ end
111
+ end
112
+ end
113
+
114
+ def showJSON(result)
115
+ puts JSON.pretty_generate(result)
116
+ end
117
+
118
+ if updateCache == true
119
+ puts "Running Cache Update:"
120
+ puts EndlessWaffleCLI.updateAmi
121
+ end
122
+
123
+ result = EndlessWaffleCLI.queryAmi query
124
+
125
+ if showJSON == false
126
+ showTable result
127
+ else
128
+ showJSON result
129
+ end
data/exe/ewssl CHANGED
@@ -174,7 +174,7 @@ def storeCertificateChain
174
174
  end
175
175
 
176
176
  def genDataBag
177
- @my_databag_path = "#{@my_path}/#{@fqdn.gsub('*','star')}-chain-#{@timestamp}.json"
177
+ @my_databag_path = "#{@my_path}/#{@fqdn.gsub('*','star')}-#{@timestamp}.json"
178
178
  databag = {}
179
179
  databag.store(:id, "ssl")
180
180
  databag.store(:key, @key.to_pem)
data/exe/ewsubnets ADDED
@@ -0,0 +1,129 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "EndlessWaffleCLI"
5
+ require 'json'
6
+ require 'getoptlong'
7
+ require 'console_table'
8
+ require 'colorize'
9
+
10
+ query = {}
11
+ updateCache = false
12
+ showJSON = false
13
+
14
+ if ENV['EndlessWaffleURL'].nil?
15
+ puts "EndlessWaffleCLI requires the 'EndlessWaffleURL' environment variable to be set."
16
+ exit 1
17
+ else
18
+ EndlessWaffleCLI.setServer ENV['EndlessWaffleURL']
19
+ end
20
+
21
+ if ENV['EndlessWaffleToken'].nil?
22
+ puts "EndlessWaffleCLI requires the 'EndlessWaffleToken' environment variable to be set."
23
+ exit 1
24
+ else
25
+ EndlessWaffleCLI.setToken ENV['EndlessWaffleToken']
26
+ end
27
+
28
+ def colorizeState(state)
29
+ if state > 0
30
+ state.to_s.colorize(:green)
31
+ else
32
+ state.to_s.colorize(:red)
33
+ end
34
+ end
35
+
36
+ def showHelp
37
+ puts
38
+ puts "Endless Waffle Subnets"
39
+ puts "Usage example: #{$0} -a us-east-1c"
40
+ puts
41
+ puts "Options:"
42
+ puts "-m or --monochrome".ljust(30) +"-> Show results in monochrome"
43
+ puts "-a or --availability_zone".ljust(30) +"-> Specifiy Availability Aone"
44
+ puts "-v or --vpc_id".ljust(30) +"-> Specifiy vpc_id"
45
+ puts "-s or --subnet_id".ljust(30) +"-> Specify subnet_id"
46
+ puts "-j or --json".ljust(30) +"-> Raw JSON output"
47
+ puts "-c or --cache ".ljust(30) +"-> Update local Cache database with current AWS data"
48
+ puts "-h or --help".ljust(30) +"-> Show this help message."
49
+ puts
50
+ end
51
+
52
+ parser = GetoptLong.new
53
+ parser.set_options(["-m", "--monochrome", GetoptLong::NO_ARGUMENT],
54
+ ["-a", "--availability_zone", GetoptLong::NO_ARGUMENT],
55
+ ["-v", "--vpc_id", GetoptLong::NO_ARGUMENT],
56
+ ["-s", "--subnet_id", GetoptLong::NO_ARGUMENT],
57
+ ["-j", "--json", GetoptLong::NO_ARGUMENT],
58
+ ["-c", "--cache", GetoptLong::NO_ARGUMENT],
59
+ ["-h", "--help", GetoptLong::NO_ARGUMENT]
60
+ )
61
+
62
+ begin
63
+ begin
64
+ opt,arg = parser.get_option
65
+ break if not opt
66
+ case opt
67
+ when "-h" || "--help"
68
+ showHelp
69
+ exit
70
+ when "-m" || "--monochrome"
71
+ String.disable_colorization = true
72
+ when "-a" || "--availability_zone"
73
+ query.store(:availability_zone, ARGV[0])
74
+ when "-v" || "--vpc_id"
75
+ query.store(:vpc_id, ARGV[0])
76
+ when "-s" || "--subnet_id"
77
+ query.store(:subnet_id, ARGV[0])
78
+ when "-j" || "--json"
79
+ showJSON = true
80
+ when "-c" || "--cache"
81
+ updateCache = true
82
+ end
83
+ rescue => err
84
+ puts "#{err.class()}: #{err.message}"
85
+ exit 1
86
+ end
87
+ end while 1
88
+
89
+ def showTable(result)
90
+ table_config = [
91
+ {:key=>:subnet_id, :size=>16, :title=>"Subnet Id"},
92
+ {:key=>:state, :size=>10, :title=>"State"},
93
+ {:key=>:vpc_id, :size=>14, :title=>"VPC"},
94
+ {:key=>:availability_zone, :size=>12, :title=>"Zone"},
95
+ {:key=>:cidr_block, :size=>16, :title=>"CIDR"},
96
+ {:key=>:map_public_ip_on_launch, :size=>7, :title=>"Public"},
97
+ {:key=>:available_ip_address_count, :size=>15, :title=>"Unallocated ips"}
98
+ ]
99
+ ConsoleTable.define(table_config) do |table|
100
+ result.each do |r|
101
+ table << [
102
+ r["subnet_id"].colorize(:yellow),
103
+ r["state"],
104
+ r["vpc_id"],
105
+ r["availability_zone"],
106
+ r["cidr_block"],
107
+ r["map_public_ip_on_launch"],
108
+ colorizeState(r["available_ip_address_count"])
109
+ ]
110
+ end
111
+ end
112
+ end
113
+
114
+ def showJSON(result)
115
+ puts JSON.pretty_generate(result)
116
+ end
117
+
118
+ if updateCache == true
119
+ puts "Running Cache Update:"
120
+ puts EndlessWaffleCLI.updateSubnets
121
+ end
122
+
123
+ result = EndlessWaffleCLI.querySubnets query
124
+
125
+ if showJSON == false
126
+ showTable result
127
+ else
128
+ showJSON result
129
+ end
@@ -1,3 +1,3 @@
1
1
  module EndlessWaffleCLI
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -49,4 +49,40 @@ module EndlessWaffleCLI
49
49
  end
50
50
  end
51
51
 
52
+ def self.updateSubnets
53
+ begin
54
+ result = RestClient.get "#{@@server}/subnets/update", :accept => :json, :Authorization => "Token token=\"#{@@token}\""
55
+ JSON.parse(result.body)
56
+ rescue => e
57
+ raise e
58
+ end
59
+ end
60
+
61
+ def self.querySubnets(query={})
62
+ begin
63
+ result = RestClient.post "#{@@server}/subnets/show", { :query => query }.to_json, :content_type => :json, :accept => :json, :Authorization => "Token token=\"#{@@token}\""
64
+ JSON.parse(result.body)
65
+ rescue => e
66
+ raise e
67
+ end
68
+ end
69
+
70
+ def self.updateAmi
71
+ begin
72
+ result = RestClient.get "#{@@server}/ami/update", :accept => :json, :Authorization => "Token token=\"#{@@token}\""
73
+ JSON.parse(result.body)
74
+ rescue => e
75
+ raise e
76
+ end
77
+ end
78
+
79
+ def self.queryAmi(query={})
80
+ begin
81
+ result = RestClient.post "#{@@server}/ami/show", { :query => query }.to_json, :content_type => :json, :accept => :json, :Authorization => "Token token=\"#{@@token}\""
82
+ JSON.parse(result.body)
83
+ rescue => e
84
+ raise e
85
+ end
86
+ end
87
+
52
88
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: EndlessWaffleCLI
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dr. Ogg
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-04 00:00:00.000000000 Z
11
+ date: 2016-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -196,8 +196,10 @@ email:
196
196
  executables:
197
197
  - enum
198
198
  - enum-ssh
199
+ - ewami
199
200
  - ewssh
200
201
  - ewssl
202
+ - ewsubnets
201
203
  - ewtoken
202
204
  extensions: []
203
205
  extra_rdoc_files: []
@@ -205,6 +207,7 @@ files:
205
207
  - ".gitignore"
206
208
  - EndlessWaffleCLI.gemspec
207
209
  - Gemfile
210
+ - Gemfile.lock
208
211
  - README.md
209
212
  - Rakefile
210
213
  - bin/console
@@ -220,8 +223,10 @@ files:
220
223
  - build/lib/build/version.rb
221
224
  - exe/enum
222
225
  - exe/enum-ssh
226
+ - exe/ewami
223
227
  - exe/ewssh
224
228
  - exe/ewssl
229
+ - exe/ewsubnets
225
230
  - exe/ewtoken
226
231
  - lib/EndlessWaffleCLI.rb
227
232
  - lib/EndlessWaffleCLI/version.rb