Skip to content

Commit

Permalink
pricing: add other systems' pricing (#17)
Browse files Browse the repository at this point in the history
Update data and test to current values

Co-authored-by: Piotr Frankowski <[email protected]>
  • Loading branch information
piotrfrankowski and Piotr Frankowski authored Jan 25, 2021
1 parent 98e6a6f commit a199765
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 12 deletions.
2 changes: 1 addition & 1 deletion data/generated_bindata.go

Large diffs are not rendered by default.

19 changes: 12 additions & 7 deletions ec2_instance_data.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,20 @@ type StorageConfiguration struct {
}

type RegionPrices struct {
Linux LinuxPricing `json:"linux"`
EBSSurcharge float64 `json:"ebs,string"`
// ignored for now
// Mswinsqlweb interface{} `json:"mswinSQLWeb"`
// Mswinsql interface{} `json:"mswinSQL"`
// Mswin interface{} `json:"mswin"`
Linux Pricing `json:"linux"`
LinuxSQL Pricing `json:"linuxSQL"`
LinuxSQLEnterprise Pricing `json:"linuxSQLEnterprise"`
LinuxSQLWeb Pricing `json:"linuxSQLWeb"`
MSWin Pricing `json:"mswin"`
MSWinSQL Pricing `json:"mswinSQL"`
MSWinSQLEnterprise Pricing `json:"mswinSQLEnterprise"`
MSWinSQLWeb Pricing `json:"mswinSQLWeb"`
RHEL Pricing `json:"rhel"`
SLES Pricing `json:"sles"`
EBSSurcharge float64 `json:"ebs,string"`
}

type LinuxPricing struct {
type Pricing struct {
OnDemand float64 `json:"ondemand,string"`
// ignored for now
// Reserved interface{} `json:"reserved"`
Expand Down
24 changes: 20 additions & 4 deletions ec2_instance_data_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@ func TestData(t *testing.T) {
VCPU: 1,
Pricing: map[string]RegionPrices{
"us-east-1": {
Linux: LinuxPricing{
Linux: Pricing{
OnDemand: 0.0058,
},
MSWin: Pricing{
OnDemand: 0.0081,
},
EBSSurcharge: 0.0,
},
},
Expand All @@ -33,10 +36,13 @@ func TestData(t *testing.T) {
VCPU: 8,
Pricing: map[string]RegionPrices{
"us-east-1": {
Linux: LinuxPricing{
Linux: Pricing{
OnDemand: 0.532,
},
EBSSurcharge: 0.050,
MSWin: Pricing{
OnDemand: 1.036,
},
EBSSurcharge: 0.0,
},
},
},
Expand All @@ -51,9 +57,12 @@ func TestData(t *testing.T) {
GPU: 16,
Pricing: map[string]RegionPrices{
"us-east-1": {
Linux: LinuxPricing{
Linux: Pricing{
OnDemand: 14.4,
},
MSWin: Pricing{
OnDemand: 17.344,
},
EBSSurcharge: 0,
},
},
Expand Down Expand Up @@ -90,6 +99,13 @@ func TestData(t *testing.T) {
i.Pricing["us-east-1"].Linux.OnDemand)
}

if i.Pricing["us-east-1"].MSWin.OnDemand != tt.instance.Pricing["us-east-1"].MSWin.OnDemand {
t.Errorf("Data(): %v, want MSWin price %v, got %v",
tt.instance.InstanceType,
tt.instance.Pricing["us-east-1"].MSWin.OnDemand,
i.Pricing["us-east-1"].MSWin.OnDemand)
}

if i.Pricing["us-east-1"].EBSSurcharge != tt.instance.Pricing["us-east-1"].EBSSurcharge {
t.Errorf("Data(): %v, want ebs cost %v, got %v",
tt.instance.InstanceType,
Expand Down

0 comments on commit a199765

Please sign in to comment.