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

39 lines
1.5 KiB
Plaintext

async def describe_subnet(ns={}):
import aiohttp
NETWORK_URL = 'http://cdsapi.capitalonline.net/vpc'
action = 'DescribeSubnet'
method = "POST"
param = {}
url = get_signature(action, method, NETWORK_URL, param=param)
body = {
"RegionCode": ns.get('RegionCode'),
"Keyword": ns.get('Keyword'),
"PageNumber": int(ns.get('PageNumber')) if ns.get('PageNumber') else 1,
"VPCId": ns.get('VPCId'),
"AvailableZoneCode": ns.get('AvailableZoneCode')
}
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['data']['Total'] > 0:
new_sub_li = []
for sub in result['data']['SubnetList']:
if ns['orgid'] in sub['VPCName']:
sub['VPCName'] = sub['VPCName'][-7:]
new_sub_li.append(sub)
result['data']['SubnetList'] = new_sub_li
result['data']['Total'] = len(new_sub_li)
result['msg'] = result.pop('Message')
else:
result['status'] = False
result['msg'] = result.pop('Message')
return result
ret = await describe_subnet(params_kw)
return ret