Skip to content

Commit 2e259b1

Browse files
authored
auto codegen for ISMS
1 parent 84ca927 commit 2e259b1

File tree

7 files changed

+203
-0
lines changed

7 files changed

+203
-0
lines changed

docs/services.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,13 @@ IPSecVPN
101101
:members:
102102

103103

104+
ISMS
105+
----
106+
107+
.. autoclass:: ucloud.services.isms.client.ISMSClient
108+
:members:
109+
110+
104111
UFS
105112
---
106113

ucloud/client.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,16 @@ def ipsecvpn(self):
4242
self.logger,
4343
)
4444

45+
def isms(self):
46+
from ucloud.services.isms.client import ISMSClient
47+
48+
return ISMSClient(
49+
self._auto_config("isms"),
50+
self.transport,
51+
self.middleware,
52+
self.logger,
53+
)
54+
4555
def stepflow(self):
4656
from ucloud.services.stepflow.client import StepFlowClient
4757

ucloud/services/isms/__init__.py

Whitespace-only changes.

ucloud/services/isms/client.py

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
""" Code is generated by ucloud-model, DO NOT EDIT IT. """
2+
3+
import typing
4+
5+
6+
from ucloud.core.client import Client
7+
from ucloud.services.isms.schemas import apis
8+
9+
10+
class ISMSClient(Client):
11+
def __init__(
12+
self, config: dict, transport=None, middleware=None, logger=None
13+
):
14+
super(ISMSClient, self).__init__(config, transport, middleware, logger)
15+
16+
def get_isms_send_receipt(
17+
self, req: typing.Optional[dict] = None, **kwargs
18+
) -> dict:
19+
"""GetISMSSendReceipt - 获取视频短信发送记录的状态回执
20+
21+
**Request**
22+
23+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
24+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
25+
- **TaskIdSet** (list) - (Required) 发送记录TaskId集合。调用SendUSMSVideoMessage时返回的TaskId的集合。以TaskIdSet.0、TaskIdSet.1...TaskIdSet.N的形式传入。每次请求最多支持100个
26+
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
27+
28+
**Response**
29+
30+
- **Data** (list) - 见 **ReceiptPerTask** 模型定义
31+
- **Message** (str) - 错误信息
32+
- **ReqUuid** (str) - 本次请求uuid
33+
34+
**Response Model**
35+
36+
**ReceiptPerPhone**
37+
- **Phone** (str) - 手机号码
38+
- **ReceiptCode** (str) - 回执码
39+
- **ReceiptDesc** (str) - 回执结果描述
40+
- **ReceiptResult** (str) - 回执结果(发送成功、发送失败、状态未知)
41+
- **ReceiptTime** (int) - 回执返回时间
42+
- **SessionId** (str) - SessionId
43+
44+
45+
**ReceiptPerTask**
46+
- **ReceiptSet** (list) - 见 **ReceiptPerPhone** 模型定义
47+
- **TaskId** (str) - 发送短信时返回的TaskId
48+
49+
50+
"""
51+
# build request
52+
d = {
53+
"ProjectId": self.config.project_id,
54+
"Region": self.config.region,
55+
}
56+
req and d.update(req)
57+
d = apis.GetISMSSendReceiptRequestSchema().dumps(d)
58+
59+
resp = self.invoke("GetISMSSendReceipt", d, **kwargs)
60+
return apis.GetISMSSendReceiptResponseSchema().loads(resp)
61+
62+
def send_isms_message(
63+
self, req: typing.Optional[dict] = None, **kwargs
64+
) -> dict:
65+
"""SendISMSMessage - 发送视频短信
66+
67+
**Request**
68+
69+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
70+
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
71+
- **PhoneSet** (list) - (Required) 手机号码列表。暂时只支持中国大陆号码。若号码中带区号,需要将区号使用小括号包含,放在号码前面。如: (86)1851623xxxx
72+
- **TemplateId** (str) - (Required) 视频短信模板Id
73+
- **Zone** (str) - (Required) 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
74+
75+
**Response**
76+
77+
- **Message** (str) - 错误信息
78+
- **ReqUuid** (str) - 本次请求uuid
79+
- **TaskId** (str) - 本次调用TaskId,使用该字段查询回执信息
80+
81+
"""
82+
# build request
83+
d = {
84+
"ProjectId": self.config.project_id,
85+
"Region": self.config.region,
86+
}
87+
req and d.update(req)
88+
d = apis.SendISMSMessageRequestSchema().dumps(d)
89+
90+
# build options
91+
kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
92+
93+
resp = self.invoke("SendISMSMessage", d, **kwargs)
94+
return apis.SendISMSMessageResponseSchema().loads(resp)

ucloud/services/isms/schemas/__init__.py

Whitespace-only changes.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
""" Code is generated by ucloud-model, DO NOT EDIT IT. """
2+
3+
4+
from ucloud.core.typesystem import schema, fields
5+
from ucloud.services.isms.schemas import models
6+
7+
""" ISMS API Schema
8+
"""
9+
10+
11+
"""
12+
API: GetISMSSendReceipt
13+
14+
获取视频短信发送记录的状态回执
15+
"""
16+
17+
18+
class GetISMSSendReceiptRequestSchema(schema.RequestSchema):
19+
"""GetISMSSendReceipt - 获取视频短信发送记录的状态回执"""
20+
21+
fields = {
22+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
23+
"Region": fields.Str(required=True, dump_to="Region"),
24+
"TaskIdSet": fields.List(fields.Str()),
25+
"Zone": fields.Str(required=True, dump_to="Zone"),
26+
}
27+
28+
29+
class GetISMSSendReceiptResponseSchema(schema.ResponseSchema):
30+
"""GetISMSSendReceipt - 获取视频短信发送记录的状态回执"""
31+
32+
fields = {
33+
"Data": fields.List(
34+
models.ReceiptPerTaskSchema(), required=False, load_from="Data"
35+
),
36+
"Message": fields.Str(required=True, load_from="Message"),
37+
"ReqUuid": fields.Str(required=True, load_from="ReqUuid"),
38+
}
39+
40+
41+
"""
42+
API: SendISMSMessage
43+
44+
发送视频短信
45+
"""
46+
47+
48+
class SendISMSMessageRequestSchema(schema.RequestSchema):
49+
"""SendISMSMessage - 发送视频短信"""
50+
51+
fields = {
52+
"PhoneSet": fields.List(fields.Str()),
53+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
54+
"Region": fields.Str(required=True, dump_to="Region"),
55+
"TemplateId": fields.Str(required=True, dump_to="TemplateId"),
56+
"Zone": fields.Str(required=True, dump_to="Zone"),
57+
}
58+
59+
60+
class SendISMSMessageResponseSchema(schema.ResponseSchema):
61+
"""SendISMSMessage - 发送视频短信"""
62+
63+
fields = {
64+
"Message": fields.Str(required=True, load_from="Message"),
65+
"ReqUuid": fields.Str(required=True, load_from="ReqUuid"),
66+
"TaskId": fields.Str(required=True, load_from="TaskId"),
67+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
""" Code is generated by ucloud-model, DO NOT EDIT IT. """
2+
3+
from ucloud.core.typesystem import schema, fields
4+
5+
6+
class ReceiptPerPhoneSchema(schema.ResponseSchema):
7+
"""ReceiptPerPhone - 每个目的手机号的发送回执信息"""
8+
9+
fields = {
10+
"Phone": fields.Str(required=True, load_from="Phone"),
11+
"ReceiptCode": fields.Str(required=True, load_from="ReceiptCode"),
12+
"ReceiptDesc": fields.Str(required=True, load_from="ReceiptDesc"),
13+
"ReceiptResult": fields.Str(required=True, load_from="ReceiptResult"),
14+
"ReceiptTime": fields.Int(required=True, load_from="ReceiptTime"),
15+
"SessionId": fields.Str(required=True, load_from="SessionId"),
16+
}
17+
18+
19+
class ReceiptPerTaskSchema(schema.ResponseSchema):
20+
"""ReceiptPerTask - 每个提交任务的视频短信的回执结果集合"""
21+
22+
fields = {
23+
"ReceiptSet": fields.List(ReceiptPerPhoneSchema()),
24+
"TaskId": fields.Str(required=True, load_from="TaskId"),
25+
}

0 commit comments

Comments
 (0)