amazon-pricing 0.1.97 → 0.1.98

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,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