def fpga_image_delete(ak, sk, project_id, region, host, fpga_image_id): uri = '/v1/%s/cloudservers/fpga_image/%s' % (project_id, fpga_image_id) headers = sign_request_v4(ak, sk, 'DELETE', host, uri, region, 'ecs') resp = requests.delete('https://%s%s' % (host, uri), headers=headers, timeout=timeout, verify=cert_verify) return resp_without_body(resp)
def get_subnet(ak, sk, project_id, region, host, net_id): uri = '/v1/%s/subnets/%s' % (project_id, net_id) headers = sign_request_v4(ak, sk, 'GET', host, uri, region, 'vpc') resp = requests.get('https://%s%s' % (host, uri), headers=headers, timeout=timeout, verify=cert_verify) return resp_with_text_error(resp)
def get_os_interface(ak, sk, project_id, region, host, instance_id): uri = '/v2/%s/servers/%s/os-interface' % (project_id, instance_id) headers = sign_request_v4(ak, sk, 'GET', host, uri, region, 'ecs') resp = requests.get('https://%s%s' % (host, uri), headers=headers, timeout=timeout, verify=cert_verify) return resp_with_text_error(resp)
def get_project(ak, sk, region, host): headers = sign_request_v4(ak, sk, 'GET', host, '/v3/projects', region, 'iam', params={'name': region}) headers['Content-Type'] = 'application/json;charset=utf8' resp = requests.get( 'https://%s/v3/projects?name=%s' % (host, region), headers=headers, timeout=timeout, verify=cert_verify) return resp_with_text_error(resp)
def put_subnet(ak, sk, project_id, region, host, vpc_id, net_id, body): uri = '/v1/%s/vpcs/%s/subnets/%s' % (project_id, vpc_id, net_id) headers = sign_request_v4(ak, sk, 'PUT', host, uri, region, 'vpc', body=body) headers['Content-Type'] = 'application/json;charset=utf8' resp = requests.put( 'https://%s%s' % (host, uri), headers=headers, data=body, timeout=timeout, verify=cert_verify) return resp_with_text_error(resp)
def fpga_image_relation_delete(ak, sk, project_id, region, host, fpga_image_id, image_id): uri = '/v1/%s/cloudservers/fpga_image/%s/association' % (project_id, fpga_image_id) body = json.dumps({'image': {'id': image_id}}) headers = sign_request_v4(ak, sk, 'DELETE', host, uri, region, 'ecs', body=body) headers['Content-Type'] = 'application/json;charset=utf8' resp = requests.delete( 'https://%s%s' % (host, uri), headers=headers, data=body, timeout=timeout, verify=cert_verify) return resp_without_body(resp)
def fpga_image_create(ak, sk, project_id, region, host, fpga_image): uri = '/v2/%s/cloudservers/fpga_image' % project_id body = json.dumps({'fpga_image': fpga_image}) headers = sign_request_v4(ak, sk, 'POST', host, uri, region, 'ecs', body=body) headers['Content-Type'] = 'application/json;charset=utf8' resp = requests.post( 'https://%s%s' % (host, uri), headers=headers, data=body, timeout=timeout, verify=cert_verify) return resp_with_json_error(resp)
def fpga_image_relation_list(ak, sk, project_id, region, host, params=None): uri = '/v1/%s/cloudservers/fpga_image/associations' % project_id if params is not None: params = {k: str(v) for k, v in params.items()} query_str = '&'.join('%s=%s' % (k, v) for k, v in params.items()) else: query_str = '' headers = sign_request_v4(ak, sk, 'GET', host, uri, region, 'ecs', params=params) resp = requests.get( 'https://%s%s?%s' % (host, uri, query_str), headers=headers, timeout=timeout, verify=cert_verify) return resp_with_json_error(resp)
def get_project(ak, sk, region, host): headers = sign_request_v4(ak, sk, 'GET', host, '/v3/projects', region, 'iam', params={'name': region}) headers['Content-Type'] = 'application/json;charset=utf8' resp = requests.get('https://%s/v3/projects?name=%s' % (host, region), headers=headers, timeout=timeout, verify=cert_verify) if resp.status_code >= 300: raise HttpException(resp.status_code, resp.reason, get_text_error(resp.text)) try: return resp.json() except Exception: return dict()