aws-rds-instance_types 0.2.0 → 0.3.0

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: 6f11391a277cc8f6d5458c82fc26574ea4bb422d
4
- data.tar.gz: fd989751ad40cf796c34263e1ae9f1c19c3a5a08
3
+ metadata.gz: 10825fbd401fd97265d9c6cc789190576052127b
4
+ data.tar.gz: 1b962f5264e9c1dba4ad9277a8d03eccbf0cc182
5
5
  SHA512:
6
- metadata.gz: e1198cd4c463c91fbc26f3a08fd70abedd20320d9e503d31c2191c440fbc9544b9654b6e1ee285da6a387253e57e7079f8c55ee6cb75f54b743dc91a7db8715d
7
- data.tar.gz: 1c5ac85d60a4d762a85dc1cbd47dc0e71890a4b550419dc8ab3a93e2a1f9bb817efaae90ce57b938b567dd3518bf741378fac804078f0a44aa7abea66ff89b8c
6
+ metadata.gz: ee70bc544cb03aadc0861f044081ce2169ff0007a9d05d8ee39ee521df899490c92a85dd45f81ccd12220a59991f932766014c181f2a20f8a2d465fcc8f502f0
7
+ data.tar.gz: afb92c16617868792c599b4100ae3580a0d9e80d539565a5a98d13c158a42a3719839c0852356533f664523ac56e10da2b5b69161bb60f32cde11fe2122155cc
@@ -1,10 +1,10 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- require File.expand_path('../lib/aws/rds/instance_types/version', __FILE__)
3
+ require File.expand_path('../lib/dldinternet/aws/rds/instance_types/version', __FILE__)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "aws-rds-instance_types"
7
- gem.version = Aws::Rds::InstanceTypes::VERSION
7
+ gem.version = DLDInternet::AWS::RDS::Instance_Types::VERSION
8
8
  gem.description =
9
9
  gem.summary = %q{Retrieve an up to date list of valid AWS RDS Instance Types directly from Amazon Web Services official site.}
10
10
  gem.license = 'Apachev2'
@@ -21,8 +21,13 @@ Gem::Specification.new do |gem|
21
21
  gem.add_development_dependency 'rake', '~> 0.8'
22
22
  gem.add_development_dependency 'rubygems-tasks', '~> 0.2'
23
23
 
24
+ gem.add_runtime_dependency('thor', ['>= 0.19.1'])
24
25
  gem.add_runtime_dependency(%q<mechanize>, ['>= 2.7.2'])
25
26
  gem.add_runtime_dependency(%q<nokogiri>, ['>= 1.5.0'])
26
- gem.add_runtime_dependency(%q<awesome_print>, ['>= 1.2.0'])
27
- gem.add_runtime_dependency(%q<colorize>, ['>= 0.7.2'])
27
+ gem.add_dependency 'awesome_print', '> 0'
28
+ gem.add_dependency 'inifile', '> 0'
29
+ gem.add_dependency 'colorize', '>= 0'
30
+ gem.add_dependency 'dldinternet-mixlib-logging', '>= 0.4.3'
31
+ gem.add_dependency 'psych'
32
+ gem.add_dependency 'json'
28
33
  end
@@ -3,20 +3,14 @@
3
3
  # Adjust lib path
4
4
  _lib=File.expand_path(File.dirname(__FILE__) + '/../lib')
5
5
  $:.unshift(_lib) unless $:.include?(_lib)
6
+ require 'dldinternet/aws/rds/instance_types/cli'
6
7
 
7
- require 'dldinternet/aws/rds'
8
- include DLDInternet::AWS::RDS
9
-
10
- require 'mechanize'
11
- mechanize = Mechanize.new
12
- mechanize.open_timeout = 5
13
- mechanize.read_timeout = 10
14
-
15
- require 'awesome_print'
16
- require 'colorize'
17
-
18
- begin
19
- puts getInstanceTypes(:mechanize => mechanize).ai
20
- rescue Timeout::Error => e
21
- puts "Unable to retrieve instance type details in a reasonable time (#{mechanize.open_timeout}s). Giving up ...".light_red
8
+ # =====================================================================================================================
9
+ rc = DLDInternet::AWS::RDS::Instance_Types::Cli.start(ARGV)
10
+ if rc.is_a?(Fixnum)
11
+ exit rc
12
+ else
13
+ puts rc.ai
14
+ exit 0
22
15
  end
16
+
@@ -1,119 +1,19 @@
1
1
  module DLDInternet
2
2
  module AWS
3
3
  module RDS
4
- class Error < StandardError ; end
5
- HEADINGS = [
6
- :Instance_Type,
7
- :vCPU,
8
- :Memory,
9
- :PIOPS_Optimized,
10
- :Network_Performance,
11
- :Generation,
12
- ]
13
- DEBUG = true
14
- attr_reader :instance_types
4
+ module Instance_Types
15
5
 
16
- # ---------------------------------------------------------------------------------------------------------------
17
- def getInstanceTypes(options={})
18
- unless @instance_types
19
- @instance_types = {}
20
- require 'mechanize'
21
- mechanize = options[:mechanize]
22
- unless mechanize
23
- mechanize = Mechanize.new
24
- mechanize.user_agent_alias = 'Mac Safari' # Pretend to use a Mac
25
- end
26
- url = options[:url] || 'http://aws.amazon.com/rds/details/'
6
+ class << self
27
7
 
28
- page = mechanize.get(url)
8
+ require 'dldinternet/aws/rds/instance_types/mixins/RDS_instance_types'
9
+ include DLDInternet::AWS::RDS::Instance_Types::MixIns::RDS_Instance_Types
29
10
 
30
- require 'nokogiri'
31
-
32
- nk = Nokogiri::HTML(page.body)
33
- div = nk.css('div.page-content')
34
- # noinspection RubyAssignmentExpressionInConditionalInspection
35
- if div = find_div(div, %r'^<div\s+class="nine columns content-with-nav')
36
- # noinspection RubyAssignmentExpressionInConditionalInspection
37
- if div = find_div(div, %r'^<div\s+class="content parsys')
38
- divs = div.css('div').to_a
39
- itm = nil
40
- idx = 0
41
- divs.each do |d|
42
- as = d.css('div div h2 a')
43
- as.each do |a|
44
- # puts "'#{a.text}'"
45
- if a.text.match %r'\s*DB Instance Classes\s*'
46
- itm = d
47
- break
48
- end
49
- end
50
- break if itm
51
- idx += 1
52
- end
53
- if idx < divs.count
54
- divs = divs[idx..-1]
55
- table = nil
56
- divs.each do |d|
57
- table = d.css('div.aws-table table')
58
- break if table
59
- end
60
-
61
- @instance_types = scrapeTable(HEADINGS, table) if table
62
- end
63
- end
64
- end
65
11
  end
66
- @instance_types
67
- end
68
12
 
69
- def find_div(nk,regex)
70
- ret = nil
71
- divs = nk.search('div')
72
- if divs.count > 0
73
- nine = divs.select { |div| div.to_s.match regex }
74
- if nine.count >= 1
75
- nine = nine.shift
76
- ret = nine
77
- end
78
- end
79
- ret
80
13
  end
81
14
 
82
- # ---------------------------------------------------------------------------------------------------------------
83
- def scrapeTable(cHeadings,table)
84
- raise Error.new 'Cannot find instance type table' unless (table.is_a?(Nokogiri::XML::Element) or table.is_a?(Nokogiri::XML::NodeSet))
85
- rows = table.search('tr')[0..-1]
86
- head = rows.shift
87
-
88
- cols = head.search('td').collect { |td|
89
- text = td.text.to_s
90
- text = text.gsub(%r/(\r?\n)+/, ' ').strip
91
- CGI.unescapeHTML(text)
92
- }
93
- instance_types = {
94
- :headings => {},
95
- :details => []
96
- }
97
- (0..cols.size-1).map { |i| instance_types[:headings][cHeadings[i]] = cols[i] }
98
- instance_types[:headings][cHeadings[-1]] = 'Generation'
99
- instance_set = nil
100
- rows.each do |row|
101
-
102
- cells = row.search('td').collect { |td|
103
- CGI.unescapeHTML(td.text.to_s.gsub(%r/(\r?\n)+/, ' ').strip)
104
- }
105
- if cells.count == 1 or (cells[1] == cells[2] and cells[2] == cells[4])
106
- instance_set = cells[0]
107
- else
108
- raise StandardError.new "This row does not have the same number of cells as the table header: #{row.text.to_s.strip}" unless cells.size == cols.size
109
- instance = {}
110
- (0..cells.size-1).map { |i| instance[cHeadings[i]] = cells[i] }
111
- instance[cHeadings[-1]] = instance_set
112
- instance_types[:details] << instance
113
- end
114
- end
115
- instance_types
116
- end
117
15
  end
16
+
118
17
  end
119
- end
18
+
19
+ end
@@ -0,0 +1,87 @@
1
+ require 'thor'
2
+ require 'awesome_print'
3
+ require 'colorize'
4
+ require 'dldinternet/aws/rds/instance_types/version'
5
+ require 'dldinternet/aws/rds/instance_types/error'
6
+ require 'dldinternet/aws/rds/instance_types/scraper'
7
+ require 'dldinternet/aws/rds/instance_types/cli'
8
+ require 'dldinternet/aws/rds/instance_types'
9
+
10
+ module DLDInternet
11
+ module AWS
12
+ module RDS
13
+ module Instance_Types
14
+ class Cli < Thor
15
+ class_option :verbose, :type => :boolean
16
+ class_option :debug, :type => :boolean
17
+ class_option :log_level, :type => :string, :banner => 'Log level ([:trace, :debug, :info, :step, :warn, :error, :fatal, :todo])'
18
+ class_option :inifile, :type => :string
19
+ class_option :help, :type => :boolean
20
+ class_option :format, :type => :string, :default => 'pretty', :banner => '[:pretty, :yaml, :json]'
21
+
22
+ no_commands do
23
+
24
+ require 'dldinternet/aws/rds/instance_types/mixins/no_commands'
25
+ include DLDInternet::AWS::RDS::Instance_Types::MixIns::NoCommands
26
+
27
+ end
28
+
29
+ def help()
30
+ puts "Version: #{VERSION}"
31
+ super
32
+ end
33
+
34
+ def self.start(argv = ARGV, config = {})
35
+ if argv.size == 0 or argv[0].match(%r'^--')
36
+ argv.unshift('get')
37
+ end
38
+ super(argv,config)
39
+ end
40
+
41
+ def initialize(args = [], local_options = {}, config = {})
42
+ super(args,local_options,config)
43
+ @log_level = :step
44
+ end
45
+
46
+ desc 'get', 'get instance types'
47
+ def get()
48
+ parse_options
49
+ puts 'get instance types' if options[:verbose]
50
+
51
+ it = DLDInternet::AWS::RDS::Instance_Types.getRDS_Instance_Types()
52
+ case options[:format]
53
+ when /yaml/
54
+ puts it.to_yaml line_width: 1024, indentation: 4, canonical: false
55
+ when /json/
56
+ puts JSON.pretty_generate( it, { indent: "\t", space: ' '})
57
+ else
58
+ puts it.ai
59
+ end
60
+ 0
61
+ end
62
+
63
+ desc 'load ARGS', 'load instance types'
64
+ def load(path)
65
+ parse_options
66
+ puts 'load instance types' if options[:verbose]
67
+
68
+ it = DLDInternet::AWS::RDS::Instance_Types.loadRDS_Instance_Types(path)
69
+ ap it
70
+ end
71
+
72
+ desc 'save', 'save instance types'
73
+ def save(path)
74
+ parse_options
75
+ puts 'save instance types' if options[:verbose]
76
+
77
+ it = DLDInternet::AWS::Rds::Instance_Types.getRDS_Instance_Types()
78
+ DLDInternet::AWS::Rds::Instance_Types.saveRDS_Instance_Types(path, it)
79
+ end
80
+
81
+ default_task 'get'
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+
@@ -0,0 +1,9 @@
1
+ module DLDInternet
2
+ module AWS
3
+ module RDS
4
+ module Instance_Types
5
+ class Error < StandardError ; end
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,119 @@
1
+ require 'thor'
2
+ require 'awesome_print'
3
+ require 'inifile'
4
+ require 'colorize'
5
+
6
+ module DLDInternet
7
+ module AWS
8
+ module RDS
9
+ module Instance_Types
10
+
11
+ LOG_LEVELS = [:trace, :debug, :info, :step, :warn, :error, :fatal, :todo]
12
+
13
+ module MixIns
14
+ module NoCommands
15
+ require 'dldinternet/mixlib/logging'
16
+ include DLDInternet::Mixlib::Logging
17
+
18
+ def validate_options
19
+ _options = options.dup
20
+ if options[:log_level]
21
+ log_level = options[:log_level].to_sym
22
+ raise "Invalid log-level: #{log_level}" unless LOG_LEVELS.include?(log_level)
23
+ _options[:log_level] = log_level
24
+ else
25
+ _options[:log_level] ||= :step
26
+ end
27
+ @options = _options
28
+ end
29
+
30
+ def parse_options
31
+ if options[:help]
32
+ Cli.start(['help'])
33
+ exit 0
34
+ end
35
+ validate_options
36
+
37
+ lcs = ::Logging::ColorScheme.new( 'compiler', :levels => {
38
+ :trace => :blue,
39
+ :debug => :cyan,
40
+ :info => :green,
41
+ :step => :green,
42
+ :warn => :yellow,
43
+ :error => :red,
44
+ :fatal => :red,
45
+ :todo => :purple,
46
+ })
47
+ scheme = lcs.scheme
48
+ scheme['trace'] = "\e[38;5;33m"
49
+ scheme['fatal'] = "\e[38;5;89m"
50
+ scheme['todo'] = "\e[38;5;55m"
51
+ lcs.scheme scheme
52
+ @config = @options.dup
53
+ @config[:log_opts] = lambda{|mlll| {
54
+ :pattern => "%#{mlll}l: %m %g\n",
55
+ :date_pattern => '%Y-%m-%d %H:%M:%S',
56
+ :color_scheme => 'compiler',
57
+ :trace => (@config[:trace].nil? ? false : @config[:trace]),
58
+ # [2014-06-30 Christo] DO NOT do this ... it needs to be a FixNum!!!!
59
+ # If you want to do ::Logging.init first then fine ... go ahead :)
60
+ # :level => @config[:log_level],
61
+ }
62
+ }
63
+ @logger = getLogger(@config)
64
+
65
+ if @options[:inifile]
66
+ @options[:inifile] = File.expand_path(@options[:inifile])
67
+ unless File.exist?(@options[:inifile])
68
+ raise "#{@options[:inifile]} not found!"
69
+ end
70
+ begin
71
+ ini = ::IniFile.load(@options[:inifile])
72
+ ini['global'].each{ |key,value|
73
+ @options[key.to_s]=value
74
+ }
75
+ def _expand(k,v,regex,rerun)
76
+ matches = v.match(regex)
77
+ if matches
78
+ var = matches[1]
79
+ if options[var]
80
+ options[k]=v.gsub(/\%\(#{var}\)/,options[var]).gsub(/\%#{var}/,options[var])
81
+ else
82
+ rerun[var] = 1
83
+ end
84
+ end
85
+ end
86
+
87
+ pending = nil
88
+ rerun = {}
89
+ begin
90
+ pending = rerun
91
+ rerun = {}
92
+ options.to_hash.each{|k,v|
93
+ if v.to_s.match(/\%/)
94
+ _expand(k,v,%r'[^\\]\%\((\w+)\)', rerun)
95
+ _expand(k,v,%r'[^\\]\%(\w+)', rerun)
96
+ end
97
+ }
98
+ # Should break out the first time that we make no progress!
99
+ end while pending != rerun
100
+ rescue ::IniFile::Error => e
101
+ # noop
102
+ rescue ::Exception => e
103
+ @logger.error "#{e.class.name} #{e.message}"
104
+ raise e
105
+ end
106
+ end
107
+
108
+ if options[:verbose]
109
+ @logger.info "Options:\n#{options.ai}"
110
+ end
111
+
112
+ end
113
+
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,91 @@
1
+ require 'thor'
2
+ require 'awesome_print'
3
+ require 'inifile'
4
+ require 'colorize'
5
+ require 'dldinternet/aws/rds/instance_types/scraper'
6
+
7
+ module DLDInternet
8
+ module AWS
9
+ module RDS
10
+ module Instance_Types
11
+ module MixIns
12
+ module RDS_Instance_Types
13
+
14
+ def getFileFormat(path)
15
+ format = case File.extname(File.basename(path)).downcase
16
+ when /json|js/
17
+ 'json'
18
+ when /yaml|yml/
19
+ 'yaml'
20
+ else
21
+ raise DLDInternet::AWS::RDS::Instance_Types::Error.new("Unsupported file type: #{path}")
22
+ end
23
+ end
24
+
25
+ def saveRDS_Instance_Types(path,it)
26
+ format = getFileFormat(path)
27
+ begin
28
+ File.open path, File::CREAT|File::TRUNC|File::RDWR, 0644 do |f|
29
+ case format
30
+ when /yaml/
31
+ f.write it.to_yaml line_width: 1024, indentation: 4, canonical: false
32
+ when /json/
33
+ f.write JSON.pretty_generate(it, { indent: "\t", space: ' '})
34
+ else
35
+ f.write YAML::dump(it)
36
+ # abort! "Unsupported save format #{format}!"
37
+ end
38
+ f.close
39
+ end
40
+ rescue
41
+ abort! "!!! Could not write file #{path}: \nException: #{$!}\nParent directory exists? #{File.directory?(File.dirname(path))}\n"
42
+ end
43
+ 0
44
+ end
45
+
46
+ def loadRDS_Instance_Types(path)
47
+ format = getFileFormat(path)
48
+ spec = File.read(path)
49
+ case format
50
+ when /json/
51
+ JSON.parse(spec)
52
+ #when /yaml/
53
+ else
54
+ begin
55
+ YAML.load(spec)
56
+ rescue Psych::SyntaxError => e
57
+ abort! "Error in the template specification: #{e.message}\n#{spec.split(/\n/).map{|l| "#{i+=1}: #{l}"}.join("\n")}"
58
+ end
59
+ # else
60
+ # abort! "Unsupported file type: #{path}"
61
+ end
62
+ end
63
+
64
+ def getRDS_Instance_Types(mechanize=nil)
65
+ unless mechanize
66
+ require 'mechanize'
67
+ mechanize = ::Mechanize.new
68
+ mechanize.open_timeout = 5
69
+ mechanize.read_timeout = 10
70
+ end
71
+
72
+ scraper = DLDInternet::AWS::RDS::Instance_Types::Scraper.new()
73
+
74
+ begin
75
+ return scraper.getInstanceTypes(:mechanize => mechanize)
76
+ rescue Timeout::Error => e
77
+ puts "Unable to retrieve instance type details in a reasonable time (#{mechanize.open_timeout}s). Giving up ...".light_red
78
+ return nil
79
+ end
80
+ end
81
+
82
+ def abort!(msg)
83
+ raise DLDInternet::AWS::RDS::Instance_Types::Error.new msg
84
+ end
85
+
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,127 @@
1
+ module DLDInternet
2
+ module AWS
3
+ module RDS
4
+ module Instance_Types
5
+ HEADINGS = [
6
+ :Instance_Type,
7
+ :vCPU,
8
+ :Memory,
9
+ :PIOPS_Optimized,
10
+ :Network_Performance,
11
+ :Generation,
12
+ ]
13
+ DEBUG = true
14
+ class Scraper
15
+ attr_reader :instance_types
16
+
17
+ # ---------------------------------------------------------------------------------------------------------------
18
+ def initialize
19
+ @instance_types = {}
20
+ end
21
+
22
+ # ---------------------------------------------------------------------------------------------------------------
23
+ def getInstanceTypes(options={})
24
+ unless @instance_types.size > 0
25
+ require 'mechanize'
26
+ mechanize = options[:mechanize]
27
+ unless mechanize
28
+ mechanize = Mechanize.new
29
+ mechanize.user_agent_alias = 'Mac Safari' # Pretend to use a Mac
30
+ end
31
+ url = options[:url] || 'http://aws.amazon.com/rds/details/'
32
+
33
+ page = mechanize.get(url)
34
+
35
+ require 'nokogiri'
36
+
37
+ nk = Nokogiri::HTML(page.body)
38
+ div = nk.css('div.page-content')
39
+ # noinspection RubyAssignmentExpressionInConditionalInspection
40
+ if div = find_div(div, %r'^<div\s+class="nine columns content-with-nav')
41
+ # noinspection RubyAssignmentExpressionInConditionalInspection
42
+ if div = find_div(div, %r'^<div\s+class="content parsys')
43
+ divs = div.css('div').to_a
44
+ itm = nil
45
+ idx = 0
46
+ divs.each do |d|
47
+ as = d.css('div div h2 a')
48
+ as.each do |a|
49
+ # puts "'#{a.text}'"
50
+ if a.text.match %r'\s*DB Instance Classes\s*'
51
+ itm = d
52
+ break
53
+ end
54
+ end
55
+ break if itm
56
+ idx += 1
57
+ end
58
+ if idx < divs.count
59
+ divs = divs[idx..-1]
60
+ table = nil
61
+ divs.each do |d|
62
+ table = d.css('div.aws-table table')
63
+ break if table
64
+ end
65
+
66
+ @instance_types = scrapeTable(HEADINGS, table) if table
67
+ end
68
+ end
69
+ end
70
+ end
71
+ @instance_types
72
+ end
73
+
74
+ def find_div(nk,regex)
75
+ ret = nil
76
+ divs = nk.search('div')
77
+ if divs.count > 0
78
+ nine = divs.select { |div| div.to_s.match regex }
79
+ if nine.count >= 1
80
+ nine = nine.shift
81
+ ret = nine
82
+ end
83
+ end
84
+ ret
85
+ end
86
+
87
+ # ---------------------------------------------------------------------------------------------------------------
88
+ def scrapeTable(cHeadings,table)
89
+ raise Error.new 'Cannot find instance type table' unless (table.is_a?(Nokogiri::XML::Element) or table.is_a?(Nokogiri::XML::NodeSet))
90
+ rows = table.search('tr')[0..-1]
91
+ head = rows.shift
92
+
93
+ cols = head.search('td').collect { |td|
94
+ text = td.text.to_s
95
+ text = text.gsub(%r/(\r?\n)+/, ' ').strip
96
+ CGI.unescapeHTML(text)
97
+ }
98
+ instance_types = {
99
+ :headings => {},
100
+ :details => []
101
+ }
102
+ (0..cols.size-1).map { |i| instance_types[:headings][cHeadings[i]] = cols[i] }
103
+ instance_types[:headings][cHeadings[-1]] = 'Generation'
104
+ instance_set = nil
105
+ rows.each do |row|
106
+
107
+ cells = row.search('td').collect { |td|
108
+ CGI.unescapeHTML(td.text.to_s.gsub(%r/(\r?\n)+/, ' ').strip)
109
+ }
110
+ if cells.count == 1 or (cells[1] == cells[2] and cells[2] == cells[4])
111
+ instance_set = cells[0]
112
+ else
113
+ raise StandardError.new "This row does not have the same number of cells as the table header: #{row.text.to_s.strip}" unless cells.size == cols.size
114
+ instance = {}
115
+ (0..cells.size-1).map { |i| instance[cHeadings[i]] = cells[i] }
116
+ instance[cHeadings[-1]] = instance_set
117
+ instance_types[:details] << instance
118
+ end
119
+ end
120
+ instance_types
121
+ end
122
+
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,10 @@
1
+ module DLDInternet
2
+ module AWS
3
+ module RDS
4
+ module Instance_Types
5
+ # aws-rds-instance_types version
6
+ VERSION = '0.3.0'
7
+ end
8
+ end
9
+ end
10
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-rds-instance_types
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christo De Lange
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-15 00:00:00.000000000 Z
11
+ date: 2014-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.19.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.19.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: mechanize
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -82,32 +96,88 @@ dependencies:
82
96
  version: 1.5.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: awesome_print
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">"
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">"
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: inifile
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">"
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">"
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: colorize
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
88
130
  - !ruby/object:Gem::Version
89
- version: 1.2.0
131
+ version: '0'
90
132
  type: :runtime
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - ">="
95
137
  - !ruby/object:Gem::Version
96
- version: 1.2.0
138
+ version: '0'
97
139
  - !ruby/object:Gem::Dependency
98
- name: colorize
140
+ name: dldinternet-mixlib-logging
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 0.4.3
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.4.3
153
+ - !ruby/object:Gem::Dependency
154
+ name: psych
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: json
99
169
  requirement: !ruby/object:Gem::Requirement
100
170
  requirements:
101
171
  - - ">="
102
172
  - !ruby/object:Gem::Version
103
- version: 0.7.2
173
+ version: '0'
104
174
  type: :runtime
105
175
  prerelease: false
106
176
  version_requirements: !ruby/object:Gem::Requirement
107
177
  requirements:
108
178
  - - ">="
109
179
  - !ruby/object:Gem::Version
110
- version: 0.7.2
180
+ version: '0'
111
181
  description: Retrieve an up to date list of valid AWS RDS Instance Types directly
112
182
  from Amazon Web Services official site.
113
183
  email: rubygems@dldinternet.com
@@ -131,9 +201,14 @@ files:
131
201
  - features/step_definitions/.gitkeep
132
202
  - features/step_definitions/aws-rds-instance_types_steps.rb
133
203
  - lib/aws/rds/instance_types.rb
134
- - lib/aws/rds/instance_types/version.rb
135
204
  - lib/dldinternet/aws/rds.rb
136
205
  - lib/dldinternet/aws/rds/instance_types.rb
206
+ - lib/dldinternet/aws/rds/instance_types/cli.rb
207
+ - lib/dldinternet/aws/rds/instance_types/error.rb
208
+ - lib/dldinternet/aws/rds/instance_types/mixins/no_commands.rb
209
+ - lib/dldinternet/aws/rds/instance_types/mixins/rds_instance_types.rb
210
+ - lib/dldinternet/aws/rds/instance_types/scraper.rb
211
+ - lib/dldinternet/aws/rds/instance_types/version.rb
137
212
  homepage: https://rubygems.org/gems/aws-rds-instance_types
138
213
  licenses:
139
214
  - Apachev2
@@ -1,8 +0,0 @@
1
- module Aws
2
- module Rds
3
- module InstanceTypes
4
- # aws-rds-instance_types version
5
- VERSION = '0.2.0'
6
- end
7
- end
8
- end