tencentcloud-sdk-python 3.0.1398__py2.py3-none-any.whl → 3.0.1400__py2.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.
- tencentcloud/__init__.py +1 -1
- tencentcloud/ccc/v20200210/ccc_client.py +23 -0
- tencentcloud/ccc/v20200210/models.py +136 -4
- tencentcloud/cdn/v20180606/models.py +2 -2
- tencentcloud/clb/v20180317/models.py +30 -0
- tencentcloud/common/abstract_client.py +21 -13
- tencentcloud/dbbrain/v20210527/errorcodes.py +9 -0
- tencentcloud/dnspod/v20210323/dnspod_client.py +46 -0
- tencentcloud/dnspod/v20210323/errorcodes.py +15 -0
- tencentcloud/dnspod/v20210323/models.py +874 -18
- tencentcloud/es/v20250101/es_client.py +4 -2
- tencentcloud/ess/v20201111/models.py +10 -4
- tencentcloud/essbasic/v20210526/models.py +10 -6
- tencentcloud/faceid/v20180301/models.py +16 -6
- tencentcloud/hunyuan/v20230901/hunyuan_client.py +24 -12
- tencentcloud/ioa/v20220601/ioa_client.py +23 -0
- tencentcloud/ioa/v20220601/models.py +301 -2
- tencentcloud/iotexplorer/v20190423/iotexplorer_client.py +3 -3
- tencentcloud/lke/v20231130/lke_client.py +161 -0
- tencentcloud/lke/v20231130/models.py +1181 -67
- tencentcloud/lkeap/v20240522/lkeap_client.py +4 -2
- tencentcloud/lowcode/v20210108/models.py +64 -0
- tencentcloud/ocr/v20181119/models.py +1028 -0
- tencentcloud/ocr/v20181119/ocr_client.py +106 -2
- tencentcloud/sms/v20190711/models.py +0 -16
- tencentcloud/sms/v20210111/models.py +0 -8
- tencentcloud/teo/v20220901/models.py +2 -2
- tencentcloud/trtc/v20190722/models.py +4 -4
- {tencentcloud_sdk_python-3.0.1398.dist-info → tencentcloud_sdk_python-3.0.1400.dist-info}/METADATA +1 -1
- {tencentcloud_sdk_python-3.0.1398.dist-info → tencentcloud_sdk_python-3.0.1400.dist-info}/RECORD +33 -33
- {tencentcloud_sdk_python-3.0.1398.dist-info → tencentcloud_sdk_python-3.0.1400.dist-info}/LICENSE +0 -0
- {tencentcloud_sdk_python-3.0.1398.dist-info → tencentcloud_sdk_python-3.0.1400.dist-info}/WHEEL +0 -0
- {tencentcloud_sdk_python-3.0.1398.dist-info → tencentcloud_sdk_python-3.0.1400.dist-info}/top_level.txt +0 -0
tencentcloud/__init__.py
CHANGED
@@ -72,6 +72,29 @@ class CccClient(AbstractClient):
|
|
72
72
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
73
73
|
|
74
74
|
|
75
|
+
def BindNumberCallInInterface(self, request):
|
76
|
+
"""绑定号码呼入回调接口
|
77
|
+
|
78
|
+
:param request: Request instance for BindNumberCallInInterface.
|
79
|
+
:type request: :class:`tencentcloud.ccc.v20200210.models.BindNumberCallInInterfaceRequest`
|
80
|
+
:rtype: :class:`tencentcloud.ccc.v20200210.models.BindNumberCallInInterfaceResponse`
|
81
|
+
|
82
|
+
"""
|
83
|
+
try:
|
84
|
+
params = request._serialize()
|
85
|
+
headers = request.headers
|
86
|
+
body = self.call("BindNumberCallInInterface", params, headers=headers)
|
87
|
+
response = json.loads(body)
|
88
|
+
model = models.BindNumberCallInInterfaceResponse()
|
89
|
+
model._deserialize(response["Response"])
|
90
|
+
return model
|
91
|
+
except Exception as e:
|
92
|
+
if isinstance(e, TencentCloudSDKException):
|
93
|
+
raise
|
94
|
+
else:
|
95
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
96
|
+
|
97
|
+
|
75
98
|
def BindNumberCallOutSkillGroup(self, request):
|
76
99
|
"""绑定号码外呼技能组
|
77
100
|
|
@@ -1265,6 +1265,102 @@ class AutoCalloutTaskInfo(AbstractModel):
|
|
1265
1265
|
|
1266
1266
|
|
1267
1267
|
|
1268
|
+
class BindNumberCallInInterfaceRequest(AbstractModel):
|
1269
|
+
"""BindNumberCallInInterface请求参数结构体
|
1270
|
+
|
1271
|
+
"""
|
1272
|
+
|
1273
|
+
def __init__(self):
|
1274
|
+
r"""
|
1275
|
+
:param _SdkAppId: 应用 ID(必填),可以查看 https://console.cloud.tencent.com/ccc
|
1276
|
+
:type SdkAppId: int
|
1277
|
+
:param _Number: 待绑定的号码
|
1278
|
+
:type Number: str
|
1279
|
+
:param _CallInInterface: 待绑定的回调地址
|
1280
|
+
:type CallInInterface: :class:`tencentcloud.ccc.v20200210.models.Interface`
|
1281
|
+
"""
|
1282
|
+
self._SdkAppId = None
|
1283
|
+
self._Number = None
|
1284
|
+
self._CallInInterface = None
|
1285
|
+
|
1286
|
+
@property
|
1287
|
+
def SdkAppId(self):
|
1288
|
+
"""应用 ID(必填),可以查看 https://console.cloud.tencent.com/ccc
|
1289
|
+
:rtype: int
|
1290
|
+
"""
|
1291
|
+
return self._SdkAppId
|
1292
|
+
|
1293
|
+
@SdkAppId.setter
|
1294
|
+
def SdkAppId(self, SdkAppId):
|
1295
|
+
self._SdkAppId = SdkAppId
|
1296
|
+
|
1297
|
+
@property
|
1298
|
+
def Number(self):
|
1299
|
+
"""待绑定的号码
|
1300
|
+
:rtype: str
|
1301
|
+
"""
|
1302
|
+
return self._Number
|
1303
|
+
|
1304
|
+
@Number.setter
|
1305
|
+
def Number(self, Number):
|
1306
|
+
self._Number = Number
|
1307
|
+
|
1308
|
+
@property
|
1309
|
+
def CallInInterface(self):
|
1310
|
+
"""待绑定的回调地址
|
1311
|
+
:rtype: :class:`tencentcloud.ccc.v20200210.models.Interface`
|
1312
|
+
"""
|
1313
|
+
return self._CallInInterface
|
1314
|
+
|
1315
|
+
@CallInInterface.setter
|
1316
|
+
def CallInInterface(self, CallInInterface):
|
1317
|
+
self._CallInInterface = CallInInterface
|
1318
|
+
|
1319
|
+
|
1320
|
+
def _deserialize(self, params):
|
1321
|
+
self._SdkAppId = params.get("SdkAppId")
|
1322
|
+
self._Number = params.get("Number")
|
1323
|
+
if params.get("CallInInterface") is not None:
|
1324
|
+
self._CallInInterface = Interface()
|
1325
|
+
self._CallInInterface._deserialize(params.get("CallInInterface"))
|
1326
|
+
memeber_set = set(params.keys())
|
1327
|
+
for name, value in vars(self).items():
|
1328
|
+
property_name = name[1:]
|
1329
|
+
if property_name in memeber_set:
|
1330
|
+
memeber_set.remove(property_name)
|
1331
|
+
if len(memeber_set) > 0:
|
1332
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
1333
|
+
|
1334
|
+
|
1335
|
+
|
1336
|
+
class BindNumberCallInInterfaceResponse(AbstractModel):
|
1337
|
+
"""BindNumberCallInInterface返回参数结构体
|
1338
|
+
|
1339
|
+
"""
|
1340
|
+
|
1341
|
+
def __init__(self):
|
1342
|
+
r"""
|
1343
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
1344
|
+
:type RequestId: str
|
1345
|
+
"""
|
1346
|
+
self._RequestId = None
|
1347
|
+
|
1348
|
+
@property
|
1349
|
+
def RequestId(self):
|
1350
|
+
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
1351
|
+
:rtype: str
|
1352
|
+
"""
|
1353
|
+
return self._RequestId
|
1354
|
+
|
1355
|
+
@RequestId.setter
|
1356
|
+
def RequestId(self, RequestId):
|
1357
|
+
self._RequestId = RequestId
|
1358
|
+
|
1359
|
+
|
1360
|
+
def _deserialize(self, params):
|
1361
|
+
self._RequestId = params.get("RequestId")
|
1362
|
+
|
1363
|
+
|
1268
1364
|
class BindNumberCallOutSkillGroupRequest(AbstractModel):
|
1269
1365
|
"""BindNumberCallOutSkillGroup请求参数结构体
|
1270
1366
|
|
@@ -2016,7 +2112,7 @@ class CarrierPrivilegeNumberApplicant(AbstractModel):
|
|
2016
2112
|
|
2017
2113
|
|
2018
2114
|
|
2019
|
-
class
|
2115
|
+
class ClientInfo(AbstractModel):
|
2020
2116
|
"""座席登录的终端信息
|
2021
2117
|
|
2022
2118
|
"""
|
@@ -12143,6 +12239,42 @@ class IVRKeyPressedElement(AbstractModel):
|
|
12143
12239
|
|
12144
12240
|
|
12145
12241
|
|
12242
|
+
class Interface(AbstractModel):
|
12243
|
+
"""回调接口
|
12244
|
+
|
12245
|
+
"""
|
12246
|
+
|
12247
|
+
def __init__(self):
|
12248
|
+
r"""
|
12249
|
+
:param _URL: 接口地址
|
12250
|
+
:type URL: str
|
12251
|
+
"""
|
12252
|
+
self._URL = None
|
12253
|
+
|
12254
|
+
@property
|
12255
|
+
def URL(self):
|
12256
|
+
"""接口地址
|
12257
|
+
:rtype: str
|
12258
|
+
"""
|
12259
|
+
return self._URL
|
12260
|
+
|
12261
|
+
@URL.setter
|
12262
|
+
def URL(self, URL):
|
12263
|
+
self._URL = URL
|
12264
|
+
|
12265
|
+
|
12266
|
+
def _deserialize(self, params):
|
12267
|
+
self._URL = params.get("URL")
|
12268
|
+
memeber_set = set(params.keys())
|
12269
|
+
for name, value in vars(self).items():
|
12270
|
+
property_name = name[1:]
|
12271
|
+
if property_name in memeber_set:
|
12272
|
+
memeber_set.remove(property_name)
|
12273
|
+
if len(memeber_set) > 0:
|
12274
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
12275
|
+
|
12276
|
+
|
12277
|
+
|
12146
12278
|
class Message(AbstractModel):
|
12147
12279
|
"""单条消息
|
12148
12280
|
|
@@ -15299,7 +15431,7 @@ class StaffStatusMetrics(AbstractModel):
|
|
15299
15431
|
注意:此字段可能返回 null,表示取不到有效值。
|
15300
15432
|
:type LastStatusTimestamp: int
|
15301
15433
|
:param _ClientInfo: 客服登录的端信息
|
15302
|
-
:type ClientInfo: list of
|
15434
|
+
:type ClientInfo: list of ClientInfo
|
15303
15435
|
"""
|
15304
15436
|
self._Email = None
|
15305
15437
|
self._Status = None
|
@@ -15500,7 +15632,7 @@ class StaffStatusMetrics(AbstractModel):
|
|
15500
15632
|
@property
|
15501
15633
|
def ClientInfo(self):
|
15502
15634
|
"""客服登录的端信息
|
15503
|
-
:rtype: list of
|
15635
|
+
:rtype: list of ClientInfo
|
15504
15636
|
"""
|
15505
15637
|
return self._ClientInfo
|
15506
15638
|
|
@@ -15531,7 +15663,7 @@ class StaffStatusMetrics(AbstractModel):
|
|
15531
15663
|
if params.get("ClientInfo") is not None:
|
15532
15664
|
self._ClientInfo = []
|
15533
15665
|
for item in params.get("ClientInfo"):
|
15534
|
-
obj =
|
15666
|
+
obj = ClientInfo()
|
15535
15667
|
obj._deserialize(item)
|
15536
15668
|
self._ClientInfo.append(obj)
|
15537
15669
|
memeber_set = set(params.keys())
|
@@ -13094,7 +13094,7 @@ class DescribePurgeTasksResponse(AbstractModel):
|
|
13094
13094
|
|
13095
13095
|
def __init__(self):
|
13096
13096
|
r"""
|
13097
|
-
:param _PurgeLogs:
|
13097
|
+
:param _PurgeLogs: 详细刷新纪录
|
13098
13098
|
:type PurgeLogs: list of PurgeTask
|
13099
13099
|
:param _TotalCount: 任务总数,用于分页
|
13100
13100
|
:type TotalCount: int
|
@@ -13107,7 +13107,7 @@ class DescribePurgeTasksResponse(AbstractModel):
|
|
13107
13107
|
|
13108
13108
|
@property
|
13109
13109
|
def PurgeLogs(self):
|
13110
|
-
"""
|
13110
|
+
"""详细刷新纪录
|
13111
13111
|
:rtype: list of PurgeTask
|
13112
13112
|
"""
|
13113
13113
|
return self._PurgeLogs
|
@@ -3998,6 +3998,8 @@ class CreateListenerRequest(AbstractModel):
|
|
3998
3998
|
:type MaxCps: int
|
3999
3999
|
:param _IdleConnectTimeout: 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。取值范围:共享型实例和独占型实例支持:300-900,性能容量型实例支持:300-1980。如需设置请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)。
|
4000
4000
|
:type IdleConnectTimeout: int
|
4001
|
+
:param _ProxyProtocol: TCP_SSL和QUIC是否支持PP
|
4002
|
+
:type ProxyProtocol: bool
|
4001
4003
|
:param _SnatEnable: 是否开启SNAT,True(开启)、False(关闭)。
|
4002
4004
|
默认为关闭。
|
4003
4005
|
:type SnatEnable: bool
|
@@ -4030,6 +4032,7 @@ class CreateListenerRequest(AbstractModel):
|
|
4030
4032
|
self._MaxConn = None
|
4031
4033
|
self._MaxCps = None
|
4032
4034
|
self._IdleConnectTimeout = None
|
4035
|
+
self._ProxyProtocol = None
|
4033
4036
|
self._SnatEnable = None
|
4034
4037
|
self._FullEndPorts = None
|
4035
4038
|
self._H2cSwitch = None
|
@@ -4241,6 +4244,17 @@ class CreateListenerRequest(AbstractModel):
|
|
4241
4244
|
def IdleConnectTimeout(self, IdleConnectTimeout):
|
4242
4245
|
self._IdleConnectTimeout = IdleConnectTimeout
|
4243
4246
|
|
4247
|
+
@property
|
4248
|
+
def ProxyProtocol(self):
|
4249
|
+
"""TCP_SSL和QUIC是否支持PP
|
4250
|
+
:rtype: bool
|
4251
|
+
"""
|
4252
|
+
return self._ProxyProtocol
|
4253
|
+
|
4254
|
+
@ProxyProtocol.setter
|
4255
|
+
def ProxyProtocol(self, ProxyProtocol):
|
4256
|
+
self._ProxyProtocol = ProxyProtocol
|
4257
|
+
|
4244
4258
|
@property
|
4245
4259
|
def SnatEnable(self):
|
4246
4260
|
"""是否开启SNAT,True(开启)、False(关闭)。
|
@@ -4325,6 +4339,7 @@ class CreateListenerRequest(AbstractModel):
|
|
4325
4339
|
self._MaxConn = params.get("MaxConn")
|
4326
4340
|
self._MaxCps = params.get("MaxCps")
|
4327
4341
|
self._IdleConnectTimeout = params.get("IdleConnectTimeout")
|
4342
|
+
self._ProxyProtocol = params.get("ProxyProtocol")
|
4328
4343
|
self._SnatEnable = params.get("SnatEnable")
|
4329
4344
|
self._FullEndPorts = params.get("FullEndPorts")
|
4330
4345
|
self._H2cSwitch = params.get("H2cSwitch")
|
@@ -16689,6 +16704,8 @@ True表示发送 RST 给客户端,False表示不发送 RST 给客户端。
|
|
16689
16704
|
:type MaxCps: int
|
16690
16705
|
:param _IdleConnectTimeout: 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。默认值:900,取值范围:共享型实例和独占型实例支持:300~900,性能容量型实例支持:300~1980。如需设置超过2000s,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category),最大可设置到3600s。
|
16691
16706
|
:type IdleConnectTimeout: int
|
16707
|
+
:param _ProxyProtocol: TCP_SSL和QUIC是否支持PP
|
16708
|
+
:type ProxyProtocol: bool
|
16692
16709
|
:param _SnatEnable: 是否开启SNAT, True 表示开启 SNAT,False 表示不开启 SNAT。
|
16693
16710
|
不传则表示不修改。
|
16694
16711
|
:type SnatEnable: bool
|
@@ -16711,6 +16728,7 @@ True表示发送 RST 给客户端,False表示不发送 RST 给客户端。
|
|
16711
16728
|
self._MaxConn = None
|
16712
16729
|
self._MaxCps = None
|
16713
16730
|
self._IdleConnectTimeout = None
|
16731
|
+
self._ProxyProtocol = None
|
16714
16732
|
self._SnatEnable = None
|
16715
16733
|
self._DataCompressMode = None
|
16716
16734
|
|
@@ -16900,6 +16918,17 @@ True表示发送 RST 给客户端,False表示不发送 RST 给客户端。
|
|
16900
16918
|
def IdleConnectTimeout(self, IdleConnectTimeout):
|
16901
16919
|
self._IdleConnectTimeout = IdleConnectTimeout
|
16902
16920
|
|
16921
|
+
@property
|
16922
|
+
def ProxyProtocol(self):
|
16923
|
+
"""TCP_SSL和QUIC是否支持PP
|
16924
|
+
:rtype: bool
|
16925
|
+
"""
|
16926
|
+
return self._ProxyProtocol
|
16927
|
+
|
16928
|
+
@ProxyProtocol.setter
|
16929
|
+
def ProxyProtocol(self, ProxyProtocol):
|
16930
|
+
self._ProxyProtocol = ProxyProtocol
|
16931
|
+
|
16903
16932
|
@property
|
16904
16933
|
def SnatEnable(self):
|
16905
16934
|
"""是否开启SNAT, True 表示开启 SNAT,False 表示不开启 SNAT。
|
@@ -16947,6 +16976,7 @@ True表示发送 RST 给客户端,False表示不发送 RST 给客户端。
|
|
16947
16976
|
self._MaxConn = params.get("MaxConn")
|
16948
16977
|
self._MaxCps = params.get("MaxCps")
|
16949
16978
|
self._IdleConnectTimeout = params.get("IdleConnectTimeout")
|
16979
|
+
self._ProxyProtocol = params.get("ProxyProtocol")
|
16950
16980
|
self._SnatEnable = params.get("SnatEnable")
|
16951
16981
|
self._DataCompressMode = params.get("DataCompressMode")
|
16952
16982
|
memeber_set = set(params.keys())
|
@@ -28,8 +28,10 @@ import logging.handlers
|
|
28
28
|
|
29
29
|
try:
|
30
30
|
from urllib.parse import urlencode
|
31
|
+
from urllib.parse import urlparse
|
31
32
|
except ImportError:
|
32
33
|
from urllib import urlencode
|
34
|
+
from urlparse import urlparse
|
33
35
|
|
34
36
|
import tencentcloud
|
35
37
|
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
|
@@ -133,11 +135,11 @@ class AbstractClient(object):
|
|
133
135
|
elif self.profile.signMethod == "TC3-HMAC-SHA256" or options.get("IsMultipart") is True:
|
134
136
|
self._build_req_with_tc3_signature(action, params, req_inter, options)
|
135
137
|
elif self.profile.signMethod in ("HmacSHA1", "HmacSHA256"):
|
136
|
-
self._build_req_with_old_signature(action, params, req_inter)
|
138
|
+
self._build_req_with_old_signature(action, params, req_inter, options)
|
137
139
|
else:
|
138
140
|
raise TencentCloudSDKException("ClientError", "Invalid signature method.")
|
139
141
|
|
140
|
-
def _build_req_with_old_signature(self, action, params, req):
|
142
|
+
def _build_req_with_old_signature(self, action, params, req, options):
|
141
143
|
params = copy.deepcopy(self._fix_params(params))
|
142
144
|
params['Action'] = action[0].upper() + action[1:]
|
143
145
|
params['RequestClient'] = self.request_client
|
@@ -160,7 +162,7 @@ class AbstractClient(object):
|
|
160
162
|
if self.profile.language:
|
161
163
|
params['Language'] = self.profile.language
|
162
164
|
|
163
|
-
signInParam = self._format_sign_string(params)
|
165
|
+
signInParam = self._format_sign_string(params, options)
|
164
166
|
params['Signature'] = Sign.sign(str(self.credential.secret_key),
|
165
167
|
str(signInParam),
|
166
168
|
str(self.profile.signMethod))
|
@@ -185,7 +187,7 @@ class AbstractClient(object):
|
|
185
187
|
raise SDKError("ClientError",
|
186
188
|
"Invalid request method GET for multipart.")
|
187
189
|
|
188
|
-
endpoint = self._get_endpoint()
|
190
|
+
endpoint = self._get_endpoint(options=options)
|
189
191
|
timestamp = int(time.time())
|
190
192
|
req.header["Host"] = endpoint
|
191
193
|
req.header["X-TC-Action"] = action[0].upper() + action[1:]
|
@@ -276,7 +278,7 @@ class AbstractClient(object):
|
|
276
278
|
raise SDKError("ClientError",
|
277
279
|
"Invalid request method GET for multipart.")
|
278
280
|
|
279
|
-
endpoint = self._get_endpoint()
|
281
|
+
endpoint = self._get_endpoint(options=options)
|
280
282
|
timestamp = int(time.time())
|
281
283
|
req.header["Host"] = endpoint
|
282
284
|
req.header["X-TC-Action"] = action[0].upper() + action[1:]
|
@@ -333,20 +335,23 @@ class AbstractClient(object):
|
|
333
335
|
logger.debug("GetResponse: %s", ResponsePrettyFormatter(resp_inter))
|
334
336
|
raise TencentCloudSDKException("ServerNetworkError", resp_inter.content)
|
335
337
|
|
336
|
-
def _format_sign_string(self, params):
|
338
|
+
def _format_sign_string(self, params, options=None):
|
337
339
|
formatParam = {}
|
338
340
|
for k in params:
|
339
341
|
formatParam[k.replace('_', '.')] = params[k]
|
340
342
|
strParam = '&'.join('%s=%s' % (k, formatParam[k]) for k in sorted(formatParam))
|
341
|
-
msg = '%s%s%s?%s' % (
|
343
|
+
msg = '%s%s%s?%s' % (
|
344
|
+
self.profile.httpProfile.reqMethod, self._get_endpoint(options=options), self._requestPath, strParam)
|
342
345
|
return msg
|
343
346
|
|
344
347
|
def _get_service_domain(self):
|
345
348
|
rootDomain = self.profile.httpProfile.rootDomain
|
346
349
|
return self._service + "." + rootDomain
|
347
350
|
|
348
|
-
def _get_endpoint(self):
|
351
|
+
def _get_endpoint(self, options=None):
|
349
352
|
endpoint = self.profile.httpProfile.endpoint
|
353
|
+
if not endpoint and options:
|
354
|
+
endpoint = urlparse(options.get("Endpoint", "")).hostname
|
350
355
|
if endpoint is None:
|
351
356
|
endpoint = self._get_service_domain()
|
352
357
|
return endpoint
|
@@ -420,7 +425,7 @@ class AbstractClient(object):
|
|
420
425
|
headers["X-TC-TraceId"] = str(uuid.uuid4())
|
421
426
|
if not self.profile.disable_region_breaker:
|
422
427
|
return self._call_with_region_breaker(action, params, options, headers)
|
423
|
-
req = RequestInternal(self._get_endpoint(),
|
428
|
+
req = RequestInternal(self._get_endpoint(options=options),
|
424
429
|
self.profile.httpProfile.reqMethod,
|
425
430
|
self._requestPath,
|
426
431
|
header=headers)
|
@@ -444,7 +449,7 @@ class AbstractClient(object):
|
|
444
449
|
return retryer.send_request(_call_once).content
|
445
450
|
|
446
451
|
def _call_with_region_breaker(self, action, params, options=None, headers=None):
|
447
|
-
endpoint = self._get_endpoint()
|
452
|
+
endpoint = self._get_endpoint(options=options)
|
448
453
|
generation, need_break = self.circuit_breaker.before_requests()
|
449
454
|
if need_break:
|
450
455
|
endpoint = self._service + "." + self.profile.region_breaker_profile.backup_endpoint
|
@@ -470,7 +475,7 @@ class AbstractClient(object):
|
|
470
475
|
self._check_error(resp)
|
471
476
|
return resp.content
|
472
477
|
|
473
|
-
def call_octet_stream(self, action, headers, body):
|
478
|
+
def call_octet_stream(self, action, headers, body, options=None):
|
474
479
|
"""Invoke API with application/ocet-stream content-type.
|
475
480
|
|
476
481
|
Note:
|
@@ -490,12 +495,14 @@ class AbstractClient(object):
|
|
490
495
|
if self.profile.httpProfile.reqMethod != "POST":
|
491
496
|
raise SDKError("ClientError", "Invalid request method.")
|
492
497
|
|
493
|
-
|
498
|
+
if not options:
|
499
|
+
options = {}
|
500
|
+
req = RequestInternal(self._get_endpoint(options=options),
|
494
501
|
self.profile.httpProfile.reqMethod,
|
495
502
|
self._requestPath,
|
496
503
|
header=headers)
|
497
504
|
req.data = body
|
498
|
-
options
|
505
|
+
options["IsOctetStream"] = True
|
499
506
|
self._build_req_inter(action, None, req, options)
|
500
507
|
|
501
508
|
resp = self.request.send_request(req)
|
@@ -538,6 +545,7 @@ class AbstractClient(object):
|
|
538
545
|
:param options: Request options, like {"SkipSign": False, "IsMultipart": False, "IsOctetStream": False, "BinaryParams": []}
|
539
546
|
:type options: dict
|
540
547
|
"""
|
548
|
+
|
541
549
|
def _call_once():
|
542
550
|
resp = self._call(action, params, options, headers)
|
543
551
|
self._check_status(resp)
|
@@ -23,12 +23,21 @@ DRYRUNOPERATION = 'DryRunOperation'
|
|
23
23
|
# 操作失败。
|
24
24
|
FAILEDOPERATION = 'FailedOperation'
|
25
25
|
|
26
|
+
# 实例审计未开启
|
27
|
+
FAILEDOPERATION_AUDITNOTOPENED = 'FailedOperation.AuditNotOpened'
|
28
|
+
|
29
|
+
# paas 侧商业审计状态未开启
|
30
|
+
FAILEDOPERATION_PAASAUDITNOTOPENED = 'FailedOperation.PaasAuditNotOpened'
|
31
|
+
|
26
32
|
# 数据加载中
|
27
33
|
FAILEDOPERATION_SEGMENTLOADING = 'FailedOperation.SegmentLoading'
|
28
34
|
|
29
35
|
# 内部错误。
|
30
36
|
INTERNALERROR = 'InternalError'
|
31
37
|
|
38
|
+
# 数据库操作失败
|
39
|
+
INTERNALERROR_DBOPERATIONFAILED = 'InternalError.DbOperationFailed'
|
40
|
+
|
32
41
|
# 参数错误。
|
33
42
|
INVALIDPARAMETER = 'InvalidParameter'
|
34
43
|
|
@@ -998,6 +998,29 @@ class DnspodClient(AbstractClient):
|
|
998
998
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
999
999
|
|
1000
1000
|
|
1001
|
+
def DescribeDomainVipList(self, request):
|
1002
|
+
"""获取套餐列表
|
1003
|
+
|
1004
|
+
:param request: Request instance for DescribeDomainVipList.
|
1005
|
+
:type request: :class:`tencentcloud.dnspod.v20210323.models.DescribeDomainVipListRequest`
|
1006
|
+
:rtype: :class:`tencentcloud.dnspod.v20210323.models.DescribeDomainVipListResponse`
|
1007
|
+
|
1008
|
+
"""
|
1009
|
+
try:
|
1010
|
+
params = request._serialize()
|
1011
|
+
headers = request.headers
|
1012
|
+
body = self.call("DescribeDomainVipList", params, headers=headers)
|
1013
|
+
response = json.loads(body)
|
1014
|
+
model = models.DescribeDomainVipListResponse()
|
1015
|
+
model._deserialize(response["Response"])
|
1016
|
+
return model
|
1017
|
+
except Exception as e:
|
1018
|
+
if isinstance(e, TencentCloudSDKException):
|
1019
|
+
raise
|
1020
|
+
else:
|
1021
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
1022
|
+
|
1023
|
+
|
1001
1024
|
def DescribeDomainWhois(self, request):
|
1002
1025
|
"""获取域名Whois信息
|
1003
1026
|
|
@@ -1487,6 +1510,29 @@ class DnspodClient(AbstractClient):
|
|
1487
1510
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
1488
1511
|
|
1489
1512
|
|
1513
|
+
def DescribeVasList(self, request):
|
1514
|
+
"""获取增值服务列表
|
1515
|
+
|
1516
|
+
:param request: Request instance for DescribeVasList.
|
1517
|
+
:type request: :class:`tencentcloud.dnspod.v20210323.models.DescribeVasListRequest`
|
1518
|
+
:rtype: :class:`tencentcloud.dnspod.v20210323.models.DescribeVasListResponse`
|
1519
|
+
|
1520
|
+
"""
|
1521
|
+
try:
|
1522
|
+
params = request._serialize()
|
1523
|
+
headers = request.headers
|
1524
|
+
body = self.call("DescribeVasList", params, headers=headers)
|
1525
|
+
response = json.loads(body)
|
1526
|
+
model = models.DescribeVasListResponse()
|
1527
|
+
model._deserialize(response["Response"])
|
1528
|
+
return model
|
1529
|
+
except Exception as e:
|
1530
|
+
if isinstance(e, TencentCloudSDKException):
|
1531
|
+
raise
|
1532
|
+
else:
|
1533
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
1534
|
+
|
1535
|
+
|
1490
1536
|
def DownloadSnapshot(self, request):
|
1491
1537
|
"""下载快照
|
1492
1538
|
|
@@ -146,6 +146,9 @@ INVALIDPARAMETER = 'InvalidParameter'
|
|
146
146
|
# 您的账号已被系统封禁,如果您有任何疑问请与我们联系。
|
147
147
|
INVALIDPARAMETER_ACCOUNTISBANNED = 'InvalidParameter.AccountIsBanned'
|
148
148
|
|
149
|
+
# 域名正在取回,请勿重复操作。
|
150
|
+
INVALIDPARAMETER_ACQUIREHASHEXSITS = 'InvalidParameter.AcquireHashExsits'
|
151
|
+
|
149
152
|
# 无效的操作。
|
150
153
|
INVALIDPARAMETER_ACTIONINVALID = 'InvalidParameter.ActionInvalid'
|
151
154
|
|
@@ -464,6 +467,12 @@ INVALIDPARAMETER_PARAMSMISSING = 'InvalidParameter.ParamsMissing'
|
|
464
467
|
# 鉴权失败。
|
465
468
|
INVALIDPARAMETER_PERMISSIONDENIED = 'InvalidParameter.PermissionDenied'
|
466
469
|
|
470
|
+
# 无效的 IP 地址。
|
471
|
+
INVALIDPARAMETER_PTRINVALIDPUBLICIP = 'InvalidParameter.PtrInvalidPublicIp'
|
472
|
+
|
473
|
+
# 你不是该 IP 的所有者,无法进行此操作。
|
474
|
+
INVALIDPARAMETER_PTRIPNOTOWNER = 'InvalidParameter.PtrIpNotOwner'
|
475
|
+
|
467
476
|
# 用户UIN无效。
|
468
477
|
INVALIDPARAMETER_QCLOUDUININVALID = 'InvalidParameter.QcloudUinInvalid'
|
469
478
|
|
@@ -506,6 +515,9 @@ INVALIDPARAMETER_REQUESTIPLIMITED = 'InvalidParameter.RequestIpLimited'
|
|
506
515
|
# 搜索结果大于500条,请增加关键字。
|
507
516
|
INVALIDPARAMETER_RESULTMORETHAN500 = 'InvalidParameter.ResultMoreThan500'
|
508
517
|
|
518
|
+
# 已经存在此共享记录。
|
519
|
+
INVALIDPARAMETER_SHAREUSEREXISTS = 'InvalidParameter.ShareUserExists'
|
520
|
+
|
509
521
|
# 共享用户中包含未实名认证用户。
|
510
522
|
INVALIDPARAMETER_SHAREDUSERSUNREALNAME = 'InvalidParameter.SharedUsersUnrealName'
|
511
523
|
|
@@ -533,6 +545,9 @@ INVALIDPARAMETER_TOOMANYINVALIDDOMAINS = 'InvalidParameter.TooManyInvalidDomains
|
|
533
545
|
# 域名无效。
|
534
546
|
INVALIDPARAMETER_TOOLSDOMAININVALID = 'InvalidParameter.ToolsDomainInvalid'
|
535
547
|
|
548
|
+
# 域名未注册。
|
549
|
+
INVALIDPARAMETER_TOOLSDOMAINNOTREGED = 'InvalidParameter.ToolsDomainNotReged'
|
550
|
+
|
536
551
|
# 您要过户到的账号已被系统封禁,如果您有任何疑问请与我们联系。
|
537
552
|
INVALIDPARAMETER_TRANSFERACCOUNTISBANNED = 'InvalidParameter.TransferAccountIsBanned'
|
538
553
|
|