ucloud-sdk-python3 0.11.136__py3-none-any.whl → 0.11.138__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ucloud/client.py CHANGED
@@ -82,6 +82,16 @@ class Client(client.Client):
82
82
  self.logger,
83
83
  )
84
84
 
85
+ def ses(self):
86
+ from ucloud.services.ses.client import SESClient
87
+
88
+ return SESClient(
89
+ self._auto_config("ses"),
90
+ self.transport,
91
+ self.middleware,
92
+ self.logger,
93
+ )
94
+
85
95
  def sts(self):
86
96
  from ucloud.services.sts.client import STSClient
87
97
 
File without changes
@@ -0,0 +1,152 @@
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.ses.schemas import apis
8
+
9
+
10
+ class SESClient(Client):
11
+ def __init__(
12
+ self, config: dict, transport=None, middleware=None, logger=None
13
+ ):
14
+ super(SESClient, self).__init__(config, transport, middleware, logger)
15
+
16
+ def send_ses_email(
17
+ self, req: typing.Optional[dict] = None, **kwargs
18
+ ) -> dict:
19
+ """SendSESEmail - 直接发送邮件,无需创建发送任务和模版,支持 HTML/纯文本内容、主题、抄送/密送、附件和邮件头,单次最多 100 个收件人。
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
+ - **From** (str) - (Required) 发件人邮箱,配置地址:https://console.ucloud.cn/ses/email-config?tab=sender-list
26
+ - **Subject** (str) - (Required) 邮件主题(长度 1~200 字符)
27
+ - **To** (list) - (Required) 收件人
28
+ - **Attachments** (list) - 见 **SendSESEmailParamAttachments** 模型定义
29
+ - **Bcc** (list) - 密送(抄送+密送总数量不能超过100)
30
+ - **Cc** (list) - 抄送(抄送+密送总数量不能超过100)
31
+ - **FromName** (str) - 发件人名称,不传或为空时,自动回落到该发件人在控制台配置的别名(Alias)
32
+ - **Headers** (list) - 见 **SendSESEmailParamHeaders** 模型定义
33
+ - **Html** (str) - HTML 内容 (与Text二选一,长度上限 10,485,760个字符)
34
+ - **PreHeader** (str) - 邮件预览文本
35
+ - **Text** (str) - 纯文本内容 (与Html二选一,长度上限 10,485,760个字符)
36
+ - **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
37
+
38
+ **Response**
39
+
40
+ - **FailContent** (list) - 见 **FailedTargetEmail** 模型定义
41
+ - **SessionNo** (str) - 本次发送任务的唯一标识
42
+ - **SuccessCount** (int) - 发送成功数
43
+
44
+ **Request Model**
45
+
46
+ **SendSESEmailParamAttachments**
47
+ - **ContentType** (str) - MIME 类型,如: application/pdf
48
+ - **Data** (str) - 附件内容(Base64 编码),单次请求最多 10 个附件;总大小不超过 10MB
49
+ - **Filename** (str) - 附件文件名
50
+
51
+
52
+ **SendSESEmailParamHeaders**
53
+ - **Name** (str) - 邮件头名称,最多 20 个且仅允许字母、数字和 -(正则 ^[A-Za-z0-9-]+$)。禁止使用保留名称:From/To/Cc/Bcc/Subject/Reply-To/Content-Type/Mime-Version,以及 X-SES- 前缀(均不区分大小写)。
54
+ - **Value** (str) - 邮件头值
55
+
56
+
57
+ **Response Model**
58
+
59
+ **FailedTargetEmail**
60
+ - **Bcc** (list) - 密送
61
+ - **Cc** (list) - 抄送
62
+ - **EmailAddress** (str) - 收件邮箱
63
+ - **FailureReason** (str) - 失败原因
64
+ - **TemplateVariableParams** (list) - 模版变量
65
+ - **To** (str) - 收件人
66
+
67
+
68
+ """
69
+ # build request
70
+ d = {
71
+ "ProjectId": self.config.project_id,
72
+ "Region": self.config.region,
73
+ }
74
+ req and d.update(req)
75
+ d = apis.SendSESEmailRequestSchema().dumps(d)
76
+
77
+ # build options
78
+ kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
79
+
80
+ resp = self.invoke("SendSESEmail", d, **kwargs)
81
+ return apis.SendSESEmailResponseSchema().loads(resp)
82
+
83
+ def send_ses_email_template(
84
+ self, req: typing.Optional[dict] = None, **kwargs
85
+ ) -> dict:
86
+ """SendSESEmailTemplate - 通过模版发送邮件,无需创建发送任务。支持自定义主题、摘要、预览文本、抄送/密送、附件和邮件头,单次最多 100 个收件人。
87
+
88
+ **Request**
89
+
90
+ - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
91
+ - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
92
+ - **From** (str) - (Required) 发件人邮箱
93
+ - **Subject** (str) - (Required) 邮件主题
94
+ - **TemplateId** (str) - (Required) 模版 ID,获取:https://console.ucloud.cn/ses/email-config?tab=template
95
+ - **Attachments** (list) - 见 **SendSESEmailTemplateParamAttachments** 模型定义
96
+ - **EmailContent** (list) - 见 **SendSESEmailTemplateParamEmailContent** 模型定义
97
+ - **FromName** (str) - 发件人名称,不传或为空时,自动回落到该发件人在控制台配置的别名(Alias)
98
+ - **Headers** (list) - 见 **SendSESEmailTemplateParamHeaders** 模型定义
99
+ - **PreHeader** (str) - 邮件预览文本
100
+ - **Zone** (str) - 可用区。参见 `可用区列表 <https://docs.ucloud.cn/api/summary/regionlist>`_
101
+
102
+ **Response**
103
+
104
+ - **FailContent** (list) - 见 **FailedTargetEmail** 模型定义
105
+ - **SessionNo** (str) - 本次发送任务的唯一标识
106
+ - **SuccessCount** (int) - 发送成功数
107
+
108
+ **Request Model**
109
+
110
+ **SendSESEmailTemplateParamAttachments**
111
+ - **ContentType** (str) - MIME 类型,如: application/pdf
112
+ - **Data** (str) - 附件内容(Base64 编码),单次请求最多 10 个附件;总大小不超过 10MB
113
+ - **Filename** (str) - 附件文件名
114
+
115
+
116
+ **SendSESEmailTemplateParamEmailContent**
117
+ - **Bcc** (list) - 密送(抄送+密送总数量不能超过100)
118
+ - **Cc** (list) - 抄送(抄送+密送总数量不能超过100)
119
+ - **TemplateVariableParams** (list) - 模版变量,格式 variableName{##}variableValue (例:{"name{##}Tom", "code{##}1234"})
120
+ - **To** (str) - 收件人,最多100条
121
+
122
+
123
+ **SendSESEmailTemplateParamHeaders**
124
+ - **Name** (str) - 邮件头名称,最多 20 个且仅允许字母、数字和 -(正则 ^[A-Za-z0-9-]+$)。禁止使用保留名称:From/To/Cc/Bcc/Subject/Reply-To/Content-Type/Mime-Version,以及 X-SES- 前缀(均不区分大小写)。
125
+ - **Value** (str) - 邮件头值
126
+
127
+
128
+ **Response Model**
129
+
130
+ **FailedTargetEmail**
131
+ - **Bcc** (list) - 密送
132
+ - **Cc** (list) - 抄送
133
+ - **EmailAddress** (str) - 收件邮箱
134
+ - **FailureReason** (str) - 失败原因
135
+ - **TemplateVariableParams** (list) - 模版变量
136
+ - **To** (str) - 收件人
137
+
138
+
139
+ """
140
+ # build request
141
+ d = {
142
+ "ProjectId": self.config.project_id,
143
+ "Region": self.config.region,
144
+ }
145
+ req and d.update(req)
146
+ d = apis.SendSESEmailTemplateRequestSchema().dumps(d)
147
+
148
+ # build options
149
+ kwargs["max_retries"] = 0 # ignore retry when api is not idempotent
150
+
151
+ resp = self.invoke("SendSESEmailTemplate", d, **kwargs)
152
+ return apis.SendSESEmailTemplateResponseSchema().loads(resp)
File without changes
@@ -0,0 +1,141 @@
1
+ """ Code is generated by ucloud-model, DO NOT EDIT IT. """
2
+
3
+ from ucloud.core.typesystem import schema, fields
4
+ from ucloud.services.ses.schemas import models
5
+
6
+ """ SES API Schema
7
+ """
8
+
9
+
10
+ """
11
+ API: SendSESEmail
12
+
13
+ 直接发送邮件,无需创建发送任务和模版,支持 HTML/纯文本内容、主题、抄送/密送、附件和邮件头,单次最多 100 个收件人。
14
+ """
15
+
16
+
17
+ class SendSESEmailParamAttachmentsSchema(schema.RequestSchema):
18
+ """SendSESEmailParamAttachments -"""
19
+
20
+ fields = {
21
+ "ContentType": fields.Str(required=False, dump_to="ContentType"),
22
+ "Data": fields.Str(required=False, dump_to="Data"),
23
+ "Filename": fields.Str(required=False, dump_to="Filename"),
24
+ }
25
+
26
+
27
+ class SendSESEmailParamHeadersSchema(schema.RequestSchema):
28
+ """SendSESEmailParamHeaders -"""
29
+
30
+ fields = {
31
+ "Name": fields.Str(required=False, dump_to="Name"),
32
+ "Value": fields.Str(required=False, dump_to="Value"),
33
+ }
34
+
35
+
36
+ class SendSESEmailRequestSchema(schema.RequestSchema):
37
+ """SendSESEmail - 直接发送邮件,无需创建发送任务和模版,支持 HTML/纯文本内容、主题、抄送/密送、附件和邮件头,单次最多 100 个收件人。"""
38
+
39
+ fields = {
40
+ "Attachments": fields.List(SendSESEmailParamAttachmentsSchema()),
41
+ "Bcc": fields.List(fields.Str()),
42
+ "Cc": fields.List(fields.Str()),
43
+ "From": fields.Str(required=True, dump_to="From"),
44
+ "FromName": fields.Str(required=False, dump_to="FromName"),
45
+ "Headers": fields.List(SendSESEmailParamHeadersSchema()),
46
+ "Html": fields.Str(required=False, dump_to="Html"),
47
+ "PreHeader": fields.Str(required=False, dump_to="PreHeader"),
48
+ "ProjectId": fields.Str(required=False, dump_to="ProjectId"),
49
+ "Region": fields.Str(required=False, dump_to="Region"),
50
+ "Subject": fields.Str(required=True, dump_to="Subject"),
51
+ "Text": fields.Str(required=False, dump_to="Text"),
52
+ "To": fields.List(fields.Str()),
53
+ "Zone": fields.Str(required=False, dump_to="Zone"),
54
+ }
55
+
56
+
57
+ class SendSESEmailResponseSchema(schema.ResponseSchema):
58
+ """SendSESEmail - 直接发送邮件,无需创建发送任务和模版,支持 HTML/纯文本内容、主题、抄送/密送、附件和邮件头,单次最多 100 个收件人。"""
59
+
60
+ fields = {
61
+ "FailContent": fields.List(
62
+ models.FailedTargetEmailSchema(),
63
+ required=True,
64
+ load_from="FailContent",
65
+ ),
66
+ "SessionNo": fields.Str(required=True, load_from="SessionNo"),
67
+ "SuccessCount": fields.Int(required=True, load_from="SuccessCount"),
68
+ }
69
+
70
+
71
+ """
72
+ API: SendSESEmailTemplate
73
+
74
+ 通过模版发送邮件,无需创建发送任务。支持自定义主题、摘要、预览文本、抄送/密送、附件和邮件头,单次最多 100 个收件人。
75
+ """
76
+
77
+
78
+ class SendSESEmailTemplateParamAttachmentsSchema(schema.RequestSchema):
79
+ """SendSESEmailTemplateParamAttachments -"""
80
+
81
+ fields = {
82
+ "ContentType": fields.Str(required=False, dump_to="ContentType"),
83
+ "Data": fields.Str(required=False, dump_to="Data"),
84
+ "Filename": fields.Str(required=False, dump_to="Filename"),
85
+ }
86
+
87
+
88
+ class SendSESEmailTemplateParamEmailContentSchema(schema.RequestSchema):
89
+ """SendSESEmailTemplateParamEmailContent -"""
90
+
91
+ fields = {
92
+ "Bcc": fields.List(fields.Str()),
93
+ "Cc": fields.List(fields.Str()),
94
+ "TemplateVariableParams": fields.List(fields.Str()),
95
+ "To": fields.Str(required=False, dump_to="To"),
96
+ }
97
+
98
+
99
+ class SendSESEmailTemplateParamHeadersSchema(schema.RequestSchema):
100
+ """SendSESEmailTemplateParamHeaders -"""
101
+
102
+ fields = {
103
+ "Name": fields.Str(required=False, dump_to="Name"),
104
+ "Value": fields.Str(required=False, dump_to="Value"),
105
+ }
106
+
107
+
108
+ class SendSESEmailTemplateRequestSchema(schema.RequestSchema):
109
+ """SendSESEmailTemplate - 通过模版发送邮件,无需创建发送任务。支持自定义主题、摘要、预览文本、抄送/密送、附件和邮件头,单次最多 100 个收件人。"""
110
+
111
+ fields = {
112
+ "Attachments": fields.List(
113
+ SendSESEmailTemplateParamAttachmentsSchema()
114
+ ),
115
+ "EmailContent": fields.List(
116
+ SendSESEmailTemplateParamEmailContentSchema()
117
+ ),
118
+ "From": fields.Str(required=True, dump_to="From"),
119
+ "FromName": fields.Str(required=False, dump_to="FromName"),
120
+ "Headers": fields.List(SendSESEmailTemplateParamHeadersSchema()),
121
+ "PreHeader": fields.Str(required=False, dump_to="PreHeader"),
122
+ "ProjectId": fields.Str(required=False, dump_to="ProjectId"),
123
+ "Region": fields.Str(required=False, dump_to="Region"),
124
+ "Subject": fields.Str(required=True, dump_to="Subject"),
125
+ "TemplateId": fields.Str(required=True, dump_to="TemplateId"),
126
+ "Zone": fields.Str(required=False, dump_to="Zone"),
127
+ }
128
+
129
+
130
+ class SendSESEmailTemplateResponseSchema(schema.ResponseSchema):
131
+ """SendSESEmailTemplate - 通过模版发送邮件,无需创建发送任务。支持自定义主题、摘要、预览文本、抄送/密送、附件和邮件头,单次最多 100 个收件人。"""
132
+
133
+ fields = {
134
+ "FailContent": fields.List(
135
+ models.FailedTargetEmailSchema(),
136
+ required=True,
137
+ load_from="FailContent",
138
+ ),
139
+ "SessionNo": fields.Str(required=True, load_from="SessionNo"),
140
+ "SuccessCount": fields.Int(required=True, load_from="SuccessCount"),
141
+ }
@@ -0,0 +1,16 @@
1
+ """ Code is generated by ucloud-model, DO NOT EDIT IT. """
2
+
3
+ from ucloud.core.typesystem import schema, fields
4
+
5
+
6
+ class FailedTargetEmailSchema(schema.ResponseSchema):
7
+ """FailedTargetEmail - 发送失败收件人"""
8
+
9
+ fields = {
10
+ "Bcc": fields.List(fields.Str()),
11
+ "Cc": fields.List(fields.Str()),
12
+ "EmailAddress": fields.Str(required=False, load_from="EmailAddress"),
13
+ "FailureReason": fields.Str(required=False, load_from="FailureReason"),
14
+ "TemplateVariableParams": fields.List(fields.Str()),
15
+ "To": fields.Str(required=False, load_from="To"),
16
+ }
ucloud/version.py CHANGED
@@ -1 +1 @@
1
- version = "0.11.136"
1
+ version = "0.11.138"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ucloud-sdk-python3
3
- Version: 0.11.136
3
+ Version: 0.11.138
4
4
  Summary: UCloud Service Development Kit - Python
5
5
  Home-page: https://github.com/ucloud/ucloud-sdk-python3
6
6
  Author: ucloud
@@ -23,19 +23,19 @@ License-File: LICENSE
23
23
  Requires-Dist: requests
24
24
  Provides-Extra: ci
25
25
  Requires-Dist: sphinx; extra == "ci"
26
- Requires-Dist: requests; extra == "ci"
27
- Requires-Dist: pytest-cov; extra == "ci"
28
- Requires-Dist: flake8>=3.6.0; extra == "ci"
29
26
  Requires-Dist: requests-mock; extra == "ci"
27
+ Requires-Dist: pytest-cov; extra == "ci"
30
28
  Requires-Dist: pytest>=4.6; extra == "ci"
29
+ Requires-Dist: requests; extra == "ci"
30
+ Requires-Dist: flake8>=3.6.0; extra == "ci"
31
31
  Provides-Extra: dev
32
+ Requires-Dist: black; extra == "dev"
32
33
  Requires-Dist: sphinx; extra == "dev"
33
- Requires-Dist: requests; extra == "dev"
34
- Requires-Dist: pytest-cov; extra == "dev"
35
- Requires-Dist: flake8>=3.6.0; extra == "dev"
36
34
  Requires-Dist: requests-mock; extra == "dev"
35
+ Requires-Dist: pytest-cov; extra == "dev"
37
36
  Requires-Dist: pytest>=4.6; extra == "dev"
38
- Requires-Dist: black; extra == "dev"
37
+ Requires-Dist: requests; extra == "dev"
38
+ Requires-Dist: flake8>=3.6.0; extra == "dev"
39
39
  Provides-Extra: doc
40
40
  Requires-Dist: requests; extra == "doc"
41
41
  Requires-Dist: sphinx; extra == "doc"
@@ -1,6 +1,6 @@
1
1
  ucloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ucloud/client.py,sha256=WR6atshXR_DWeVaRJIEFuzHKiumdgW-qFQRFxsyC6N0,14548
3
- ucloud/version.py,sha256=msw5IoyRi_u9BMxGxRDmvt--TK2cMcy4gL9QK3_i-YA,21
2
+ ucloud/client.py,sha256=-BJGM-ulXMVFaj_-fHQkZlB5tu7f3bpZPxpUqFDuii8,14782
3
+ ucloud/version.py,sha256=-WSjt_Jo4twVZEPGpszk8WOkQ-fG4J24aj0pZItq93I,21
4
4
  ucloud/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  ucloud/core/auth/__init__.py,sha256=yO69G6m3hTfWQZzqFmZJEe0-JXw6JKTHTDJu7goX_QU,71
6
6
  ucloud/core/auth/_cfg.py,sha256=7Zsv7bKxJ6NtxeR_VE9jldLh-iIy0ERvkr2AuvLESZY,2115
@@ -72,6 +72,11 @@ ucloud/services/sandbox/client.py,sha256=ghnxf1t3YYAYNalgOnfUf1vkVXbB8k7mWHygE-a
72
72
  ucloud/services/sandbox/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  ucloud/services/sandbox/schemas/apis.py,sha256=cBKsHFFgS_mwQzNBlEFfAkONu3q2-Xu3Veo0osZk3dM,5850
74
74
  ucloud/services/sandbox/schemas/models.py,sha256=n9CW8Tirs7aHrn6bNb2ETRU6aOYscaQ4RZUeEDIhL8U,1665
75
+ ucloud/services/ses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ ucloud/services/ses/client.py,sha256=VsGOOkOeVEavNW3X9ltnuSnMmXl8z1_8pj_mnbqZaUM,7236
77
+ ucloud/services/ses/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ ucloud/services/ses/schemas/apis.py,sha256=6557ym9iAA4BIGnnOv9xZR1y4wlufV9MOy-VrURf7Us,5501
79
+ ucloud/services/ses/schemas/models.py,sha256=0jRyQxTUQjcp_K9oPzAOueNrm_sdsQRmoylqZBtZNXE,600
75
80
  ucloud/services/stepflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
81
  ucloud/services/stepflow/client.py,sha256=Gh_GwF9v7OOGZo8q7kG7aHyV4e4k7f1A-LGYjIGV4HY,4012
77
82
  ucloud/services/stepflow/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -338,8 +343,8 @@ ucloud/testing/driver/__init__.py,sha256=54MLBVRxmiRLl0NLnP5dBi7abADTzWT3hJTgWxD
338
343
  ucloud/testing/driver/_scenario.py,sha256=9L8TTuPRTRIAowNT9fe8lX-dx3QHPxVuVXlBRkKJs-Y,2585
339
344
  ucloud/testing/driver/_specification.py,sha256=FaKgkqsZJej7cTPp6-YjbNotR13mUZvRJlsnxxhUCMs,1726
340
345
  ucloud/testing/driver/_step.py,sha256=rK9PN4Hu20eD4ol7jV8KAIqfdwTXKEj9nJoXd_tzHpE,5443
341
- ucloud_sdk_python3-0.11.136.dist-info/LICENSE,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560
342
- ucloud_sdk_python3-0.11.136.dist-info/METADATA,sha256=0-en84SsXdMlVRB8iUC-cybJZyXCjSY-JZSISftWQw8,2876
343
- ucloud_sdk_python3-0.11.136.dist-info/WHEEL,sha256=BNRMDyzLkkcmlv0J8ppDQkk2VED33SesJDynr9ED1gc,91
344
- ucloud_sdk_python3-0.11.136.dist-info/top_level.txt,sha256=zDw9C3GldC2mbAz2YzUcVbMsPS4MYmWmXnGeYcoIeJI,7
345
- ucloud_sdk_python3-0.11.136.dist-info/RECORD,,
346
+ ucloud_sdk_python3-0.11.138.dist-info/LICENSE,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560
347
+ ucloud_sdk_python3-0.11.138.dist-info/METADATA,sha256=6LCTT39G45IsRIgjyHxZPHbc7WWQ0GDrGV9CKxaf_a4,2876
348
+ ucloud_sdk_python3-0.11.138.dist-info/WHEEL,sha256=BNRMDyzLkkcmlv0J8ppDQkk2VED33SesJDynr9ED1gc,91
349
+ ucloud_sdk_python3-0.11.138.dist-info/top_level.txt,sha256=zDw9C3GldC2mbAz2YzUcVbMsPS4MYmWmXnGeYcoIeJI,7
350
+ ucloud_sdk_python3-0.11.138.dist-info/RECORD,,