Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 66 additions & 66 deletions ucloud/client.py
Original file line number Diff line number Diff line change
@@ -1,66 +1,66 @@
# -*- coding: utf-8 -*-

from ucloud.core import client


class Client(client.Client):
def __init__(self, config, transport=None, middleware=None, logger=None):
self._config = config
super(Client, self).__init__(config, transport, middleware, logger)

def umem(self):
from ucloud.services.umem.client import UMemClient

return UMemClient(self._config, self.transport, self.middleware, self.logger)

def unet(self):
from ucloud.services.unet.client import UNetClient

return UNetClient(self._config, self.transport, self.middleware, self.logger)

def uaccount(self):
from ucloud.services.uaccount.client import UAccountClient

return UAccountClient(
self._config, self.transport, self.middleware, self.logger
)

def udisk(self):
from ucloud.services.udisk.client import UDiskClient

return UDiskClient(self._config, self.transport, self.middleware, self.logger)

def udpn(self):
from ucloud.services.udpn.client import UDPNClient

return UDPNClient(self._config, self.transport, self.middleware, self.logger)

def uhost(self):
from ucloud.services.uhost.client import UHostClient

return UHostClient(self._config, self.transport, self.middleware, self.logger)

def pathx(self):
from ucloud.services.pathx.client import PathXClient

return PathXClient(self._config, self.transport, self.middleware, self.logger)

def uphost(self):
from ucloud.services.uphost.client import UPHostClient

return UPHostClient(self._config, self.transport, self.middleware, self.logger)

def vpc(self):
from ucloud.services.vpc.client import VPCClient

return VPCClient(self._config, self.transport, self.middleware, self.logger)

def udb(self):
from ucloud.services.udb.client import UDBClient

return UDBClient(self._config, self.transport, self.middleware, self.logger)

def ulb(self):
from ucloud.services.ulb.client import ULBClient

return ULBClient(self._config, self.transport, self.middleware, self.logger)
# -*- coding: utf-8 -*-
from ucloud.core import client
class Client(client.Client):
def __init__(self, config, transport=None, middleware=None):
self._config = config
super(Client, self).__init__(config, transport, middleware)
def umem(self):
from ucloud.services.umem.client import UMemClient
return UMemClient(self._config, self.transport, self.middleware, self.logger)
def unet(self):
from ucloud.services.unet.client import UNetClient
return UNetClient(self._config, self.transport, self.middleware, self.logger)
def uaccount(self):
from ucloud.services.uaccount.client import UAccountClient
return UAccountClient(
self._config, self.transport, self.middleware, self.logger
)
def udisk(self):
from ucloud.services.udisk.client import UDiskClient
return UDiskClient(self._config, self.transport, self.middleware, self.logger)
def udpn(self):
from ucloud.services.udpn.client import UDPNClient
return UDPNClient(self._config, self.transport, self.middleware, self.logger)
def uhost(self):
from ucloud.services.uhost.client import UHostClient
return UHostClient(self._config, self.transport, self.middleware, self.logger)
def pathx(self):
from ucloud.services.pathx.client import PathXClient
return PathXClient(self._config, self.transport, self.middleware, self.logger)
def uphost(self):
from ucloud.services.uphost.client import UPHostClient
return UPHostClient(self._config, self.transport, self.middleware, self.logger)
def vpc(self):
from ucloud.services.vpc.client import VPCClient
return VPCClient(self._config, self.transport, self.middleware, self.logger)
def udb(self):
from ucloud.services.udb.client import UDBClient
return UDBClient(self._config, self.transport, self.middleware, self.logger)
def ulb(self):
from ucloud.services.ulb.client import ULBClient
return ULBClient(self._config, self.transport, self.middleware, self.logger)
10 changes: 8 additions & 2 deletions ucloud/core/transport/_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,15 @@ def _send(self, req, **options):
adapter = self._load_adapter(options.get("max_retries"))
session.mount("http://", adapter=adapter)
session.mount("https://", adapter=adapter)
resp = self.convert_response(
session.request(req.method.upper(), url=req.url, json=req.json)
session_resp = session.request(
method=req.method.upper(),
url=req.url,
json=req.json,
data=req.data,
params=req.params,
headers=req.headers,
)
resp = self.convert_response(session_resp)
resp.request = req
return resp

Expand Down
109 changes: 88 additions & 21 deletions ucloud/services/pathx/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,24 @@ def __init__(self, config, transport=None, middleware=None, logger=None):
def create_global_ssh_instance(self, req=None, **kwargs):
""" CreateGlobalSSHInstance - 创建GlobalSSH实例

:param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html)
:param Area: (Required) 填写支持SSH访问IP的地区名称,如“洛杉矶”,“新加坡”,“香港”,“东京”,“华盛顿”,“法兰克福”。Area和AreaCode两者必填一个
:param AreaCode: (Required) AreaCode, 区域航空港国际通用代码。Area和AreaCode两者必填一个
:param Port: (Required) SSH端口,1-65535且不能使用80,443端口
:param TargetIP: (Required) 被SSH访问的IP
:param ChargeType: (Optional) 支付方式,如按月、按年、按时
:param CouponId: (Optional) 使用代金券可冲抵部分费用
:param Quantity: (Optional) 购买数量
:param Remark: (Optional) 备注信息
**Request**

- **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Area** (str) - (Required) 填写支持SSH访问IP的地区名称,如“洛杉矶”,“新加坡”,“香港”,“东京”,“华盛顿”,“法兰克福”。Area和AreaCode两者必填一个
- **AreaCode** (str) - (Required) AreaCode, 区域航空港国际通用代码。Area和AreaCode两者必填一个
- **Port** (int) - (Required) SSH端口,1-65535且不能使用80,443端口
- **TargetIP** (str) - (Required) 被SSH访问的IP
- **ChargeType** (str) - 支付方式,如按月、按年、按时
- **CouponId** (str) - 使用代金券可冲抵部分费用
- **Quantity** (int) - 购买数量
- **Remark** (str) - 备注信息

**Response**

- **InstanceId** (str) - 实例ID,资源唯一标识
- **AcceleratingDomain** (str) - 加速域名,访问该域名可就近接入
- **Message** (str) - 提示信息

"""
d = {"ProjectId": self.config.project_id}
req and d.update(req)
Expand All @@ -31,8 +40,15 @@ def create_global_ssh_instance(self, req=None, **kwargs):
def delete_global_ssh_instance(self, req=None, **kwargs):
""" DeleteGlobalSSHInstance - 删除GlobalSSH实例

:param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html)
:param InstanceId: (Required) 实例Id,资源的唯一标识
**Request**

- **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **InstanceId** (str) - (Required) 实例Id,资源的唯一标识

**Response**

- **Message** (str) - 提示信息

"""
d = {"ProjectId": self.config.project_id}
req and d.update(req)
Expand All @@ -43,8 +59,24 @@ def delete_global_ssh_instance(self, req=None, **kwargs):
def describe_global_ssh_area(self, req=None, **kwargs):
""" DescribeGlobalSSHArea - 获取GlobalSSH覆盖的地区列表 用于控制显示哪些机房地域可以使用SSH特性

:param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html)
:param Region: (Config) 机房地域代号,如hk、 us-ca、 us-ws等。不填默认为空,返回所有支持地区。
**Request**

- **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config) 机房地域代号,如hk、 us-ca、 us-ws等。不填默认为空,返回所有支持地区。

**Response**

- **AreaSet** (list) - 见 **GlobalSSHArea** 模型定义
- **Message** (str) - 提示信息

**Response Model**

**GlobalSSHArea**

- **AreaCode** (str) - 地区代号,以地区AirPort Code
- **RegionSet** (list) - ucloud机房代号构成的数组,如["hk","us-ca"]
- **Area** (str) - GlobalSSH覆盖的地区,如香港、东京、洛杉矶等

"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
Expand All @@ -55,8 +87,29 @@ def describe_global_ssh_area(self, req=None, **kwargs):
def describe_global_ssh_instance(self, req=None, **kwargs):
""" DescribeGlobalSSHInstance - 获取GlobalSSH实例列表(传实例ID获取单个实例信息,不传获取项目下全部实例)

:param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html)
:param InstanceId: (Optional) 实例ID,资源唯一标识
**Request**

- **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **InstanceId** (str) - 实例ID,资源唯一标识

**Response**

- **InstanceSet** (list) - 见 **GlobalSSHInfo** 模型定义

**Response Model**

**GlobalSSHInfo**

- **TargetIP** (str) - 被SSH访问的EIP
- **Port** (int) - SSH登陆端口
- **ChargeType** (str) - 支付周期,如Month,Year等
- **AcceleratingDomain** (str) - 加速域名
- **Area** (str) - 被SSH访问的IP所在地区
- **Remark** (str) - 备注信息
- **CreateTime** (int) - 资源创建时间戳
- **ExpireTime** (int) - 资源过期时间戳
- **InstanceId** (str) - 实例ID,资源唯一标识

"""
d = {"ProjectId": self.config.project_id}
req and d.update(req)
Expand All @@ -67,9 +120,16 @@ def describe_global_ssh_instance(self, req=None, **kwargs):
def modify_global_ssh_port(self, req=None, **kwargs):
""" ModifyGlobalSSHPort - 修改GlobalSSH端口

:param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html)
:param InstanceId: (Required) 实例ID,资源唯一标识
:param Port: (Required) 调整后的SSH登陆端口
**Request**

- **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **InstanceId** (str) - (Required) 实例ID,资源唯一标识
- **Port** (int) - (Required) 调整后的SSH登陆端口

**Response**

- **Message** (str) - 提示信息

"""
d = {"ProjectId": self.config.project_id}
req and d.update(req)
Expand All @@ -80,9 +140,16 @@ def modify_global_ssh_port(self, req=None, **kwargs):
def modify_global_ssh_remark(self, req=None, **kwargs):
""" ModifyGlobalSSHRemark - 修改GlobalSSH备注

:param ProjectId: (Config) 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html)
:param InstanceId: (Required) 实例ID,资源唯一标识
:param Remark: (Optional) 备注信息,不填默认为空字符串
**Request**

- **ProjectId** (str) - (Config) 项目ID,如org-xxxx。请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **InstanceId** (str) - (Required) 实例ID,资源唯一标识
- **Remark** (str) - 备注信息,不填默认为空字符串

**Response**

- **Message** (str) - 接口返回消息

"""
d = {"ProjectId": self.config.project_id}
req and d.update(req)
Expand Down
Loading