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 re
|
||||
import stripe
|
||||
from django.conf import settings
|
||||
from datacenterlight.models import StripePlan
|
||||
|
@ -376,6 +377,32 @@ class StripeUtils(object):
|
|||
else:
|
||||
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
|
||||
def get_stripe_plan_name(cpu, memory, disk_size, price):
|
||||
"""
|
||||
|
|
Loading…
Reference in a new issue