forked from uncloud/uncloud
Initial yearly billing implementation
This commit is contained in:
parent
c086dbd357
commit
d089d06264
2 changed files with 94 additions and 29 deletions
|
|
@ -72,6 +72,8 @@ class VMProduct(Product):
|
|||
return self.cores * 3 + self.ram_in_gb * 4
|
||||
elif recurring_period == RecurringPeriod.PER_HOUR:
|
||||
return self.cores * 4.0/(30 * 24) + self.ram_in_gb * 4.5/(30* 24)
|
||||
elif recurring_period == RecurringPeriod.PER_YEAR:
|
||||
return (self.cores * 2.5 + self.ram_in_gb * 3.5) * 12
|
||||
else:
|
||||
raise Exception('Invalid recurring period for VM Product pricing.')
|
||||
|
||||
|
|
@ -88,7 +90,8 @@ class VMProduct(Product):
|
|||
@staticmethod
|
||||
def allowed_recurring_periods():
|
||||
return list(filter(
|
||||
lambda pair: pair[0] in [RecurringPeriod.PER_MONTH, RecurringPeriod.PER_HOUR],
|
||||
lambda pair: pair[0] in [RecurringPeriod.PER_YEAR,
|
||||
RecurringPeriod.PER_MONTH, RecurringPeriod.PER_HOUR],
|
||||
RecurringPeriod.choices))
|
||||
|
||||
class VMWithOSProduct(VMProduct):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue