34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
async def operate_ecs(ns={}):
|
|
import aiohttp
|
|
NETWORK_URL = 'http://api.capitalonline.net/ecs/v1'
|
|
action = 'OperateInstance'
|
|
method = "POST"
|
|
param = {}
|
|
body = {
|
|
"EcsIds": json.loads(ns['EcsIds']) if isinstance(ns['EcsIds'], str) else ns['EcsIds'],
|
|
"OpType": ns.get('OpType'),
|
|
"DeleteEip": int(ns.get('DeleteEip')) if ns.get('DeleteEip') else 1
|
|
}
|
|
url = get_signature(action, method, NETWORK_URL, param=param)
|
|
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')
|
|
if result.get('Message'):
|
|
result['msg'] = result.pop('Message')
|
|
else:
|
|
result['msg'] = result.pop('Msg')
|
|
else:
|
|
result['status'] = False
|
|
if result.get('Message'):
|
|
result['msg'] = result.pop('Message')
|
|
else:
|
|
result['msg'] = result.pop('Msg')
|
|
return result
|
|
|
|
ret = await operate_ecs(params_kw)
|
|
return ret |