Add get_vm_config_from_stripe_id stripe util function
This commit is contained in:
parent
0b99a0cbec
commit
21eb88ef62
1 changed files with 27 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
import stripe
|
import stripe
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from datacenterlight.models import StripePlan
|
from datacenterlight.models import StripePlan
|
||||||
|
@ -376,6 +377,32 @@ class StripeUtils(object):
|
||||||
else:
|
else:
|
||||||
return stripe_plan_id_string
|
return stripe_plan_id_string
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_vm_config_from_stripe_id(stripe_id):
|
||||||
|
"""
|
||||||
|
Given a string like "dcl-v1-cpu-2-ram-5gb-ssd-10gb" return different
|
||||||
|
configuration params as a dict
|
||||||
|
|
||||||
|
:param stripe_id|str
|
||||||
|
:return: dict
|
||||||
|
"""
|
||||||
|
pattern = re.compile(r'^dcl-v(\d+)-cpu-(\d+)-ram-(\d+\.?\d*)gb-ssd-(\d+)gb-?(\d*\.?\d*)(chf)?$')
|
||||||
|
match_res = pattern.match(stripe_id)
|
||||||
|
if match_res is not None:
|
||||||
|
price = None
|
||||||
|
try:
|
||||||
|
price=match_res.group(5)
|
||||||
|
except IndexError as ie:
|
||||||
|
logger.debug("Did not find price in {}".format(stripe_id))
|
||||||
|
return {
|
||||||
|
'version': match_res.group(1),
|
||||||
|
'cores': match_res.group(2),
|
||||||
|
'ram': match_res.group(3),
|
||||||
|
'ssd': match_res.group(4),
|
||||||
|
'price': price
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_stripe_plan_name(cpu, memory, disk_size, price):
|
def get_stripe_plan_name(cpu, memory, disk_size, price):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in a new issue