amazon-pricing 0.1.84 → 0.1.85
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 +8 -8
- data/Gemfile.lock +1 -2
- data/lib/amazon-pricing/definitions/database-type.rb +13 -14
- data/lib/amazon-pricing/definitions/rds-instance-type.rb +6 -2
- data/lib/amazon-pricing/rds-price-list.rb +24 -8
- data/lib/amazon-pricing/version.rb +1 -1
- data/test/ec2_instance_types_test.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
MjdiNjM2NzdlYWNjYjFlZDJiNTAyNmM5YzhkYzBmYjQwYTZjYjM1NA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
ZWJmNGNlMTdlOGZhMTE4Y2U4YTRkMmQ3Y2FmN2JjNWRiY2YzNTcyMg==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
ZWNkMWRiYTgxNjcxZTczZjM3Mzk4ODRhOGFhMmI4YjQwYjQxYTVmYzI3MDFk
|
|
10
|
+
NDgzMDg0NmQ4M2YxOTg0ODljNjc1ZGExMzAyYTAyZjZhMzRhNDE0MjE1NDhk
|
|
11
|
+
NDdlYTVkNDljMDgzYTMyMWMwYzlkNWVmNmMwOWYzMDNlYjA5MDg=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
YmJkYzQ3ZGE3MWU1YTA1NWYwMjMwMTg4ZmIwOGRmOTczNmU2Njk4NzMxYjQ3
|
|
14
|
+
N2FmMzk3NGQxNDljY2E5YjJjNzU2NDZkYTBlZjY3ZGY2N2IxN2ZhYjRkNzJj
|
|
15
|
+
MzRhODM0ZGY3NzA2NWQ5ZDkwN2ZlMzI4ZTZjNTFkODllODY2ZmU=
|
data/Gemfile.lock
CHANGED
|
@@ -40,6 +40,8 @@ module AwsPricing
|
|
|
40
40
|
'mariadb_standard' => 'MariaDB',
|
|
41
41
|
'mariadb_multiaz' => 'MariaDB (Multi-AZ)',
|
|
42
42
|
|
|
43
|
+
'oracle_se2_standard' => 'Oracle Database Standard Edition Two',
|
|
44
|
+
'oracle_se2_multiaz' => 'Oracle Database Standard Edition Two (Multi-AZ)',
|
|
43
45
|
# Oracle SE2 BYOL prices are copied from Enterprise BYOL prices and not collected
|
|
44
46
|
# (so no need to add rds-price-list.rb)
|
|
45
47
|
'oracle_se2_byol' => 'Oracle Database Standard Edition Two (BYOL)',
|
|
@@ -55,14 +57,18 @@ module AwsPricing
|
|
|
55
57
|
'postgres_multiaz' => 'postgresql_multiaz',
|
|
56
58
|
'postgresql' => 'postgresql_standard',
|
|
57
59
|
'postgresql_multiaz' => 'postgresql_multiaz',
|
|
58
|
-
'oracle-se1(li)' => 'oracle_se1_standard',
|
|
59
|
-
'oracle-se1(byol)' => 'oracle_se1_byol',
|
|
60
|
-
'oracle-se1(li)_multiaz' => 'oracle_se1_multiaz',
|
|
61
|
-
'oracle-se1(byol)_multiaz' => 'oracle_se1_byol_multiaz',
|
|
62
60
|
'oracle-se(byol)' => 'oracle_se_byol',
|
|
63
|
-
'oracle-ee(byol)' => 'oracle_ee_byol',
|
|
64
61
|
'oracle-se(byol)_multiaz' => 'oracle_se_byol_multiaz',
|
|
62
|
+
'oracle-ee(byol)' => 'oracle_ee_byol',
|
|
65
63
|
'oracle-ee(byol)_multiaz' => 'oracle_ee_byol_multiaz',
|
|
64
|
+
'oracle-se1(li)' => 'oracle_se1_standard',
|
|
65
|
+
'oracle-se1(li)_multiaz' => 'oracle_se1_multiaz',
|
|
66
|
+
'oracle-se1(byol)' => 'oracle_se1_byol',
|
|
67
|
+
'oracle-se1(byol)_multiaz' => 'oracle_se1_byol_multiaz',
|
|
68
|
+
'oracle-se2(li)' => 'oracle_se2_standard',
|
|
69
|
+
'oracle-se2(li)_multiaz' => 'oracle_se2_multiaz',
|
|
70
|
+
'oracle-se2(byol)' => 'oracle_se2_byol',
|
|
71
|
+
'oracle-se2(byol)_multiaz' => 'oracle_se2_byol_multiaz',
|
|
66
72
|
'sqlserver-ee(byol)' => 'sqlserver_ee_byol',
|
|
67
73
|
'sqlserver-ee(byol)_multiaz' => 'sqlserver_ee_byol_multiaz',
|
|
68
74
|
'sqlserver-ee(li)' => 'sqlserver_ee_standard',
|
|
@@ -76,26 +82,19 @@ module AwsPricing
|
|
|
76
82
|
'aurora' => 'aurora_standard',
|
|
77
83
|
'mariadb' => 'mariadb_standard',
|
|
78
84
|
'mariadb_multiaz' => 'mariadb_multiaz',
|
|
79
|
-
|
|
80
|
-
# Oracle SE2 BYOL prices are copied from Enterprise BYOL prices and not collected
|
|
81
|
-
# (so no need to add rds-price-list.rb)
|
|
82
|
-
'oracle-se2(byol)' => 'oracle_se2_byol',
|
|
83
|
-
'oracle-se2(byol)_multiaz' => 'oracle_se2_byol_multiaz',
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
@@DB_Deploy_Types = {
|
|
87
88
|
:mysql => [:standard, :multiaz],
|
|
88
89
|
:postgresql => [:standard, :multiaz],
|
|
89
90
|
:oracle_se1 => [:standard, :multiaz, :byol, :byol_multiaz],
|
|
91
|
+
:oracle_se2 => [:standard, :multiaz, :byol, :byol_multiaz],
|
|
90
92
|
:oracle_se => [:byol, :byol_multiaz],
|
|
91
93
|
:oracle_ee => [:byol, :byol_multiaz],
|
|
92
94
|
:sqlserver_se => [:standard, :multiaz, :byol, :byol_multiaz],
|
|
93
95
|
:sqlserver_ee => [:byol, :byol_multiaz, :standard, :multiaz],
|
|
94
96
|
:aurora => [:standard],
|
|
95
97
|
:mariadb => [:standard, :multiaz],
|
|
96
|
-
|
|
97
|
-
# oracle_se2 prices are copied, not collected
|
|
98
|
-
:oracle_se2 => [:byol, :byol_multiaz],
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
def self.display_name(name)
|
|
@@ -105,7 +104,7 @@ module AwsPricing
|
|
|
105
104
|
def self.get_database_name
|
|
106
105
|
[:mysql, :postgresql, :oracle_se1, :oracle_se, :oracle_ee, :sqlserver_ex, :sqlserver_web,
|
|
107
106
|
:sqlserver_se, :sqlserver_ee, :aurora, :mariadb,
|
|
108
|
-
:oracle_se2 # oracle_se2 prices are
|
|
107
|
+
:oracle_se2 # oracle_se2 license included prices are collected, and BYOL prices are copied from oracle_se
|
|
109
108
|
]
|
|
110
109
|
end
|
|
111
110
|
|
|
@@ -85,8 +85,10 @@ module AwsPricing
|
|
|
85
85
|
end
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
|
-
# Copy prices from oracle_se to
|
|
88
|
+
# Copy byol prices from oracle_se to oracle_{ee,se1,se2}
|
|
89
89
|
if database_type == :oracle_se && is_byol
|
|
90
|
+
update_pricing :oracle_ee, type_of_instance, json, is_multi_az, is_byol
|
|
91
|
+
update_pricing :oracle_se1, type_of_instance, json, is_multi_az, is_byol
|
|
90
92
|
update_pricing :oracle_se2, type_of_instance, json, is_multi_az, is_byol
|
|
91
93
|
end
|
|
92
94
|
end
|
|
@@ -126,8 +128,10 @@ module AwsPricing
|
|
|
126
128
|
# Do nothing for other names
|
|
127
129
|
end
|
|
128
130
|
end
|
|
129
|
-
# Copy prices from oracle_se to
|
|
131
|
+
# Copy byol prices from oracle_se to oracle_{ee,se1,se2}
|
|
130
132
|
if database_type == :oracle_se && is_byol
|
|
133
|
+
update_pricing_new :oracle_ee, type_of_instance, prices, term, is_multi_az, is_byol
|
|
134
|
+
update_pricing_new :oracle_se1, type_of_instance, prices, term, is_multi_az, is_byol
|
|
131
135
|
update_pricing_new :oracle_se2, type_of_instance, prices, term, is_multi_az, is_byol
|
|
132
136
|
end
|
|
133
137
|
end
|
|
@@ -20,9 +20,15 @@ module AwsPricing
|
|
|
20
20
|
:mysql => {:mysql=>["standard","multiAZ"]},
|
|
21
21
|
:postgresql => {:postgresql=>["standard","multiAZ"]},
|
|
22
22
|
:oracle => {
|
|
23
|
-
:
|
|
24
|
-
:
|
|
25
|
-
:
|
|
23
|
+
# AWS: Oracle - Enterprise Edition, Standard Edition Two, Standard Edition, Standard Edition One.
|
|
24
|
+
# License Included Charges supported: Standard Edition One, Standard Edition Two
|
|
25
|
+
# BYOL Charges supported: do not vary by edition for BYOL Amazon RDS pricing.
|
|
26
|
+
# NB: since we explicitly copy Oracle BYOL RdsInstanceType.update_pricing_new, repeated BYOL is redundant here;
|
|
27
|
+
# only '#{db}' is used to build the URL, so repeated '#{db_type}' is like copying
|
|
28
|
+
:oracle_se =>["byol-standard", "byol-multiAZ"],
|
|
29
|
+
#:oracle_ee =>["byol-standard", "byol-multiAZ"], # byol is same, so copied
|
|
30
|
+
:oracle_se1=>["li-standard", "li-multiAZ"], # byol is same, so copied
|
|
31
|
+
:oracle_se2=>["se2-li-standard", "se2-li-multiAZ"] # byol is same, so copied
|
|
26
32
|
},
|
|
27
33
|
:sqlserver => {
|
|
28
34
|
:sqlserver_ex=>["li-ex"],
|
|
@@ -40,24 +46,34 @@ module AwsPricing
|
|
|
40
46
|
}
|
|
41
47
|
|
|
42
48
|
# the following cli will extract all the URLs referenced on the AWS pricing page that fetch_reserved_rds_instance_pricing2 uses:
|
|
43
|
-
# curl
|
|
49
|
+
# curl https://aws.amazon.com/rds/pricing/ 2>/dev/null | grep 'model' |grep reserved-instances
|
|
50
|
+
# NB: the URL is built using '#{db_str}-#{deploy_type}', so repeats for 'db' below are required
|
|
44
51
|
@@RESERVED_DB_DEPLOY_TYPE2 = {
|
|
45
52
|
:mysql => {:mysql=>["standard","multiAZ"]},
|
|
46
53
|
:postgresql => {:postgresql=>["standard","multiAZ"]},
|
|
47
|
-
:oracle => {
|
|
48
|
-
|
|
54
|
+
:oracle => {
|
|
55
|
+
# AWS: Oracle - Enterprise Edition, Standard Edition Two, Standard Edition, Standard Edition One.
|
|
56
|
+
# License Included Charges supported: Standard Edition One, Standard Edition Two
|
|
57
|
+
# BYOL Charges supported: do not vary by edition for BYOL Amazon RDS pricing.
|
|
58
|
+
:oracle_se =>["byol-standard", "byol-multiAZ"],
|
|
59
|
+
# oracle_ee is not here (nor collected), see RESERVED_DB_WITH_SAME_PRICING2 below
|
|
60
|
+
# :oracle_se =>["byol-standard", "byol-multiAZ"], # again, note only byol (so not needed)
|
|
61
|
+
:oracle_se1=>["license-included-standard", "license-included-multiAZ"],
|
|
62
|
+
:oracle_se2=>["license-included-standard", "license-included-multiAZ"]
|
|
63
|
+
},
|
|
49
64
|
:sqlserver => {
|
|
50
65
|
:sqlserver_ex =>["license-included-standard"],
|
|
51
|
-
:sqlserver_web=>["license-included-standard"],
|
|
66
|
+
:sqlserver_web=>["license-included-standard", "license-included-multiAZ"],
|
|
52
67
|
:sqlserver_se =>["byol-standard", "byol-multiAZ", "license-included-standard", "license-included-multiAZ"],
|
|
53
68
|
:sqlserver_ee =>["byol-standard", "byol-multiAZ", "license-included-standard", "license-included-multiAZ"]},
|
|
54
|
-
:aurora => {:aurora => ["multiAZ"]},
|
|
69
|
+
:aurora => {:aurora => ["standard", "multiAZ"]},
|
|
55
70
|
:mariadb => {:mariadb => ["standard", "multiAZ"]}
|
|
56
71
|
}
|
|
57
72
|
|
|
58
73
|
@@RESERVED_DB_WITH_SAME_PRICING2 = {
|
|
59
74
|
:mysql => [:mysql],
|
|
60
75
|
:postgresql => [:postgresql],
|
|
76
|
+
:oracle_se2 => [:oracle_se2],
|
|
61
77
|
:oracle_se1 => [:oracle_se1],
|
|
62
78
|
:oracle_se => [:oracle_se, :oracle_ee],
|
|
63
79
|
:sqlserver_ex => [:sqlserver_ex],
|
|
@@ -94,7 +94,7 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
|
94
94
|
assert region.ebs_price.standard_per_million_io == 0.05
|
|
95
95
|
assert region.ebs_price.preferred_per_gb == 0.125
|
|
96
96
|
assert region.ebs_price.preferred_per_iops == 0.065
|
|
97
|
-
assert region.ebs_price.s3_snaps_per_gb == 0.
|
|
97
|
+
assert region.ebs_price.s3_snaps_per_gb == 0.05
|
|
98
98
|
# next two prices were added by aws (May 09, 2016)
|
|
99
99
|
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.045
|
|
100
100
|
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.025
|
|
@@ -189,7 +189,7 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
|
189
189
|
assert region.ebs_price.standard_per_million_io == 0.065
|
|
190
190
|
assert region.ebs_price.preferred_per_gb == 0.15
|
|
191
191
|
assert region.ebs_price.preferred_per_iops == 0.078
|
|
192
|
-
assert region.ebs_price.s3_snaps_per_gb == 0.
|
|
192
|
+
assert region.ebs_price.s3_snaps_per_gb == 0.066
|
|
193
193
|
# next two prices were added by aws (May 09, 2016)
|
|
194
194
|
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.054
|
|
195
195
|
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.03
|
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.
|
|
4
|
+
version: 0.1.85
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joe Kinsella
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-08-
|
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A Ruby library for retrieving pricing for Amazon Web Services
|
|
14
14
|
email:
|