amazon-pricing 0.1.97 → 0.1.98

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGMwNWE5YzkwMzYwYmRhYzFkYzYyNjQyY2MyNmQwMGE2MDgxZTg3Mg==
4
+ ZTczM2E3YTRhYmRjNTZjZjQzMTMzYjk4YzY5MzQ2OWNlYTFkODA2Mw==
5
5
  data.tar.gz: !binary |-
6
- Y2JkNmQyMDU4NmFmYTRkZDM4OGNiZDc2ZDUzMTlmMjYxNzhiN2JlMg==
6
+ NTI3NDM1MTM4MTI4M2Y4OWZmNjY3MzM1ZDk4OWEzZTlhMGFlZDBlYQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTg1NTBlMzIxMmJkZDBkMTI5OTcxMjIzNDhlZGE2NmIzZDEyM2Y0ZmVmMzhh
10
- ZjRlZGM4YTBlNDczNDQ5N2E4ODVlOGJkZjIxODI4NWNiMTM3ODlhYTBmNTEw
11
- ZGUzNzMxZGE3MDFhMmVhNjlmNmMzMTgyZWUwMmVmYjEwMmVhYzM=
9
+ ZDk5MjczY2ZmZmM5NzBhZjExYTI3ZWI0MjIyMmMxYTk0MWYyNDQwOGRiZTY4
10
+ NDZkOWQ5ZThhYTc1NDFkYzU5YTAxYTgwNzRlMWI4MDdhODQ1ZWQ1ZDU5NzYz
11
+ NDkyN2E1ZTUwNjE0YmRjMmY0MjFlNzQwNGUxOTFkZjRjZjllNDk=
12
12
  data.tar.gz: !binary |-
13
- YTU2MDQ2OWZiOTExMmVmZWQzNmJjMzdiOWI2OTdhZWI0ZTBlMGQzNzk4Njc1
14
- MmFhMGI5ZjkwOWY4MzI3MjhlNWVhZWYyYjczOTY3NjI5ZTBlMDRjNmZlNzdm
15
- NmRmMTA4Mzk5MjQwYzljMmUwOTAzYjUwNzRiNDIwM2U5YWQ4ZjM=
13
+ MTRkYjc2MDY5MDM3M2E2OGNjM2UyNzU4OTA2N2UwMWNiYzFiY2M3NjUwOGQy
14
+ NGY3NTlmYzc2NTU4OGFkNDQwZWVmYmIzZTU4NTE4OGM0MzA0NmRiOWRlMDYz
15
+ MGJkOGE3NjI0YzRmNzE4MjRkNmM3MGQ2MzUyYTgzOGRkODdmOGM=
data/Gemfile CHANGED
@@ -10,4 +10,5 @@ group :test do
10
10
  gem 'rake'
11
11
  gem 'test-unit'
12
12
  gem 'rspec', '~> 2.11.0'
13
+ gem 'simplecov', require: false
13
14
  end
@@ -311,7 +311,8 @@ module AwsPricing
311
311
  't2.xlarge' => :high, # same as c4.2xlarge, cf:https://aws.amazon.com/blogs/aws/new-t2-xlarge-and-t2-2xlarge-instances/
312
312
  't2.2xlarge' => :high, # same as m4.xlarge, cf:https://aws.amazon.com/blogs/aws/new-t2-xlarge-and-t2-2xlarge-instances/
313
313
  'x1.16xlarge' => :ten_gigabit,
314
- 'x1.32xlarge' => :ten_gigabit,
314
+ 'x1.32xlarge' => :twenty_gigabit,
315
+ 'x1e.32xlarge' => :twenty_gigabit,
315
316
  }
316
317
 
317
318
  end
@@ -208,6 +208,7 @@ module AwsPricing
208
208
  'c4.large' => 'Compute Optimized Large', 'c4.xlarge' => 'Compute Optimized Extra Large', 'c4.2xlarge' => 'Compute Optimized Double Extra Large', 'c4.4xlarge' => 'Compute Optimized Quadruple Extra Large', 'c4.8xlarge' => 'Compute Optimized Eight Extra Large',
209
209
  'x1.16xlarge' => 'Memory Optimized Hextuple Large-scale Enterprise-class',
210
210
  'x1.32xlarge' => 'Memory Optimized Large-scale Enterprise-class',
211
+ 'x1e.32xlarge' => 'Memory Optimized Extended Large-scale Enterprise-class',
211
212
  'f1.2xlarge' => 'FPGA Hardware Acceleration Double Extra Large', 'f1.16xlarge' => 'FPGA Hardware Acceleration Hextuple Extra Large'
212
213
  }
213
214
  @@Disk_Lookup = {
@@ -235,7 +236,7 @@ module AwsPricing
235
236
  'r4.large' => 0, 'r4.xlarge' => 0, 'r4.2xlarge' => 0, 'r4.4xlarge' => 0, 'r4.8xlarge' => 0, 'r4.16xlarge' => 0,
236
237
  't2.nano' => 0, 't2.micro' => 0, 't2.small' => 0, 't2.medium' => 0, 't2.large' => 0, 't2.xlarge' => 0, 't2.2xlarge' => 0,
237
238
  'c4.large' => 0, 'c4.xlarge' => 0, 'c4.2xlarge' => 0, 'c4.4xlarge' => 0, 'c4.8xlarge' => 0,
238
- 'x1.16xlarge' => 3840, 'x1.32xlarge' => 3840,
239
+ 'x1.16xlarge' => 1920, 'x1.32xlarge' => 3840, 'x1e.32xlarge' => 3840,
239
240
  'p2.xlarge' => 0, 'p2.8xlarge' => 0, 'p2.16xlarge' => 0,
240
241
  'f1.2xlarge' => 470, 'f1.16xlarge' => 3760,
241
242
  }
@@ -264,7 +265,7 @@ module AwsPricing
264
265
  'r4.large' => 64, 'r4.xlarge' => 64, 'r4.2xlarge' => 64, 'r4.4xlarge' => 64, 'r4.8xlarge' => 64, 'r4.16xlarge' => 64,
265
266
  't2.nano' => 64, 't2.micro' => 64, 't2.small' => 64, 't2.medium' => 64, 't2.large' => 64, 't2.xlarge' => 64, 't2.2xlarge' => 64,
266
267
  'c4.large' => 64, 'c4.xlarge' => 64, 'c4.2xlarge' => 64, 'c4.4xlarge' => 64, 'c4.8xlarge' => 64,
267
- 'x1.16xlarge' => 64, 'x1.32xlarge' => 64,
268
+ 'x1.16xlarge' => 64, 'x1.32xlarge' => 64, 'x1e.32xlarge' => 64,
268
269
  'p2.xlarge' => 64, 'p2.8xlarge' => 64, 'p2.16xlarge' => 64,
269
270
  }
270
271
  @@Disk_Type_Lookup = {
@@ -293,7 +294,7 @@ module AwsPricing
293
294
  'r4.large' => :ebs, 'r4.xlarge' => :ebs, 'r4.2xlarge' => :ebs, 'r4.4xlarge' => :ebs, 'r4.8xlarge' => :ebs, 'r4.16xlarge' => :ebs,
294
295
  't2.nano' => :ebs, 't2.micro' => :ebs, 't2.small' => :ebs, 't2.medium' => :ebs, 't2.large' => :ebs, 't2.xlarge' => :ebs, 't2.2xlarge' => :ebs,
295
296
  'c4.large' => :ebs, 'c4.xlarge' => :ebs, 'c4.2xlarge' => :ebs, 'c4.4xlarge' => :ebs, 'c4.8xlarge' => :ebs,
296
- 'x1.16xlarge' => :ssd, 'x1.32xlarge' => :ssd,
297
+ 'x1.16xlarge' => :ssd, 'x1.32xlarge' => :ssd, 'x1e.32xlarge' => :ssd,
297
298
  'p2.xlarge' => :ebs, 'p2.8xlarge' => :ebs, 'p2.16xlarge' => :ebs,
298
299
  'f1.2xlarge' => :ssd, 'f1.16xlarge' => :ssd,
299
300
  }
@@ -447,8 +448,9 @@ module AwsPricing
447
448
  # t2.small is EBS-only
448
449
  # t2.xlarge is EBS-only
449
450
  # t2.2xlarge is EBS-only
450
- 'x1.16xlarge' => [940, 105123],
451
- 'x1.32xlarge' => [940, 105123],
451
+ 'x1.16xlarge' => [7000, 105123], # dedicated EBS bw 7000 Gbps
452
+ 'x1.32xlarge' => [14000, 210246], # dedicated EBS bw 14000 Gbps
453
+ 'x1e.32xlarge' => [14000, 210246], # dedicated EBS bw 14000 Gbps
452
454
  }
453
455
  end
454
456
 
@@ -29,7 +29,8 @@ module AwsPricing
29
29
  'm4' => { "large"=>22, "xlarge"=>11, "2xlarge"=>5, "4xlarge"=>4, "10xlarge"=>1, "16xlarge"=>1 },
30
30
  'i2' => { "xlarge"=>8, "2xlarge"=>4, "4xlarge"=>2, "8xlarge"=>1, "16xlarge"=>1 },
31
31
  'i3' => { "large"=>32, "xlarge"=>16, "2xlarge"=>8, "4xlarge"=>4, "8xlarge"=>2, "16xlarge"=>1 },
32
- 'x1' => { "16xlarge"=>2, "32xlarge"=>1 }
32
+ 'x1' => { "16xlarge"=>2, "32xlarge"=>1 },
33
+ 'x1e' => { "32xlarge"=>1 },
33
34
  }
34
35
 
35
36
  def get_ec2_dhi_od_pricing
@@ -57,6 +58,10 @@ module AwsPricing
57
58
 
58
59
  # hack for now until I can get capacity for fpga instances
59
60
  next if family == 'f1'
61
+ if @@CAPACITY_HASH[family].nil?
62
+ $stderr.puts "[fetch_ec2_dedicated_host_instance_pricing] WARNING: unable to find CAPACITY_HASH for #{family}"
63
+ next
64
+ end
60
65
 
61
66
  dhprice = tier['prices']['USD']
62
67
  @@CAPACITY_HASH[family].each do |inst_size,capacity|
@@ -31,7 +31,8 @@ module AwsPricing
31
31
  'CurrentGen' => {
32
32
  'R3' => ['r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge'],
33
33
  'R4' => ['r4.large', 'r4.xlarge', 'r4.2xlarge', 'r4.4xlarge', 'r4.8xlarge', 'r4.16xlarge'],
34
- 'X1' => ['x1.16xlarge', 'x1.32xlarge']
34
+ 'X1' => ['x1.16xlarge', 'x1.32xlarge'],
35
+ 'X1E' => ['x1e.32xlarge'],
35
36
  },
36
37
  'PreviousGen' => {
37
38
  'M2' => ['m2.xlarge', 'm2.2xlarge', 'm2.4xlarge'],
@@ -8,5 +8,5 @@
8
8
  # Home:: http://github.com/CloudHealth/amazon-pricing
9
9
  #++
10
10
  module AwsPricing
11
- VERSION = '0.1.97'
11
+ VERSION = '0.1.98'
12
12
  end
@@ -0,0 +1,4 @@
1
+ ---
2
+ coverage:
3
+ version: 2
4
+ enabled: true
@@ -9,7 +9,6 @@ describe AwsPricing::Ec2DedicatedHostPriceList do
9
9
  def validate_price_in_region region
10
10
  # Result have valid node name
11
11
  region.ec2_dh_types.each do |dh_type|
12
- expect(dh_type.api_name).to have(2).characters
13
12
  expect(dh_type.region.ec2_dh_types[0].category_types[:linux].name).to eq(:linux)
14
13
  expect(dh_type.region.ec2_dh_types[0].category_types[:linux].ondemand_price_per_hour.class).to eq(Float)
15
14
  end
@@ -1,5 +1,8 @@
1
1
  #BROKEN IN TDDIUM: Dir.glob('spec/support/**/*.rb').sort.each {|f| require f}
2
2
 
3
+ require 'simplecov'
4
+ SimpleCov.start 'rails'
5
+
3
6
  RSpec.configure do |c|
4
7
  c.filter_run_excluding broken: true
5
8
  end
@@ -105,12 +105,13 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
105
105
  # next two prices are no longer provided by aws (May 09, 2016)
106
106
  assert region.ebs_price.standard_per_gb == 0.05
107
107
  assert region.ebs_price.standard_per_million_io == 0.05
108
- assert region.ebs_price.preferred_per_gb == 0.125
109
- assert region.ebs_price.preferred_per_iops == 0.065
108
+ # preferred_per_gb,preferred_per_ios,ssd_per_gb,ebs_optimized_hdd_per_gb,ebs_cold_hdd_per_gb not always provided by aws (2017-09-17)
109
+ assert region.ebs_price.preferred_per_gb == 0.125 if region.ebs_price.preferred_per_gb
110
+ assert region.ebs_price.preferred_per_iops == 0.065 if region.ebs_price.preferred_per_iops
110
111
  assert region.ebs_price.s3_snaps_per_gb == 0.05
111
112
  # next two prices were added by aws (May 09, 2016)
112
- assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.045
113
- assert region.ebs_price.ebs_cold_hdd_per_gb == 0.025
113
+ assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.045 if region.ebs_price.ebs_optimized_hdd_per_gb
114
+ assert region.ebs_price.ebs_cold_hdd_per_gb == 0.025 if region.ebs_price.ebs_cold_hdd_per_gb
114
115
 
115
116
  end
116
117
 
@@ -120,10 +121,11 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
120
121
  # next two prices are no longer provided by aws (May 09, 2016)
121
122
  assert_not_nil region.ebs_price.standard_per_gb
122
123
  assert_not_nil region.ebs_price.standard_per_million_io
123
- assert_not_nil region.ebs_price.preferred_per_gb
124
- assert_not_nil region.ebs_price.preferred_per_iops
125
- assert_not_nil region.ebs_price.ebs_optimized_hdd_per_gb
126
- assert_not_nil region.ebs_price.ebs_cold_hdd_per_gb
124
+ # preferred_per_gb,preferred_per_ios,ssd_per_gb,ebs_optimized_hdd_per_gb,ebs_cold_hdd_per_gb not always provided by aws (2017-09-17)
125
+ assert_not_nil region.ebs_price.preferred_per_gb if region.ebs_price.preferred_per_gb
126
+ assert_not_nil region.ebs_price.preferred_per_iops if region.ebs_price.preferred_per_iops
127
+ assert_not_nil region.ebs_price.ebs_optimized_hdd_per_gb if region.ebs_price.ebs_optimized_hdd_per_gb
128
+ assert_not_nil region.ebs_price.ebs_cold_hdd_per_gb if region.ebs_price.ebs_cold_hdd_per_gb
127
129
  assert_not_nil region.ebs_price.s3_snaps_per_gb
128
130
  end
129
131
  end
@@ -199,13 +201,14 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
199
201
  region = @@ec2_pricing.get_region('us-gov-west-1')
200
202
  # next two prices are no longer provided by aws (May 09, 2016)
201
203
  assert region.ebs_price.standard_per_gb == 0.065
202
- assert region.ebs_price.standard_per_million_io == 0.065
203
- assert region.ebs_price.preferred_per_gb == 0.15
204
- assert region.ebs_price.preferred_per_iops == 0.078
204
+ assert region.ebs_price.standard_per_million_io == 0.065
205
+ # preferred_per_gb,preferred_per_ios,ssd_per_gb,ebs_optimized_hdd_per_gb,ebs_cold_hdd_per_gb not always provided by aws (2017-09-17)
206
+ assert region.ebs_price.preferred_per_gb == 0.15 if region.ebs_price.preferred_per_gb
207
+ assert region.ebs_price.preferred_per_iops == 0.078 if region.ebs_price.preferred_per_iops
205
208
  assert region.ebs_price.s3_snaps_per_gb == 0.066
206
209
  # next two prices were added by aws (May 09, 2016)
207
- assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.054
208
- assert region.ebs_price.ebs_cold_hdd_per_gb == 0.03
210
+ assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.054 if region.ebs_price.ebs_optimized_hdd_per_gb
211
+ assert region.ebs_price.ebs_cold_hdd_per_gb == 0.03 if region.ebs_price.ebs_cold_hdd_per_gb
209
212
 
210
213
  end
211
214
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amazon-pricing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.97
4
+ version: 0.1.98
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Kinsella
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-18 00:00:00.000000000 Z
11
+ date: 2017-09-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A Ruby library for retrieving pricing for Amazon Web Services
14
14
  email:
@@ -54,6 +54,7 @@ files:
54
54
  - lib/amazon-pricing/helpers/instance-type.rb
55
55
  - lib/amazon-pricing/rds-price-list.rb
56
56
  - lib/amazon-pricing/version.rb
57
+ - solano.yml
57
58
  - spec/lib/amazon-pricing/definitions/database-type_spec.rb
58
59
  - spec/lib/amazon-pricing/ec2_dh_pricing_spec.rb
59
60
  - spec/lib/amazon-pricing/ec2_dhi_pricing_spec.rb