41 lines
1.5 KiB
Plaintext
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 |