kboss/b/capital/create_eip.dspy
2025-07-16 14:27:17 +08:00

41 lines
1.5 KiB
Plaintext

async def create_eip(ns={}):
"""
:param ns:
:return:
"""
if ns.get('Description'):
ns['Description'] = ns['orgid'] + '0_____0' + ns.get('Description')
else:
ns['Description'] = ns['orgid'] + '0_____0' + 'Default'
import aiohttp
NETWORK_URL = 'http://cdsapi.capitalonline.net/vpc'
action = 'CreateEIP'
method = "POST"
param = {}
url = get_signature(action, method, NETWORK_URL, param=param)
body = {
"RegionCode": ns.get('RegionCode'),
"AvailableZoneId": ns.get('AvailableZoneId'), # 边缘节点必传
"BandwidthType": ns.get('BandwidthType'),
"BillScheme": ns.get('BillScheme'),
"Qos": int(ns['Qos']),
"Size": int(ns['Size']),
"Description": ns.get('Description'),
"SubjectId": int(ns.get('SubjectId')) if ns.get('SubjectId') else None
}
async with aiohttp.ClientSession() as session:
async with session.request(method, url, json=body) as response:
resp = await response.text()
result = json.loads(resp)
if result['Code'] == 'Success':
result['status'] = True
result.pop('Code')
result['data'] = result.pop('Data')
result['msg'] = result.pop('Message')
else:
result['status'] = False
result['msg'] = result.pop('Message')
return result
ret = await create_eip(params_kw)
return ret