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

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