zenlayercloud-sdk-python 2.0.17__tar.gz → 2.0.18__tar.gz

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.
Files changed (68) hide show
  1. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/__init__.py +1 -1
  3. zenlayercloud_sdk_python-2.0.18/zenlayercloud/alarm/v20250307/alarm_client.py +17 -0
  4. zenlayercloud_sdk_python-2.0.18/zenlayercloud/alarm/v20250307/models.py +58 -0
  5. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/bmc/v20221120/models.py +22 -1
  6. zenlayercloud_sdk_python-2.0.18/zenlayercloud/maintenance/v20250310/maintenance_client.py +17 -0
  7. zenlayercloud_sdk_python-2.0.18/zenlayercloud/maintenance/v20250310/models.py +53 -0
  8. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/sdn/v20230830/models.py +131 -7
  9. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/sdn/v20230830/sdn_client.py +13 -6
  10. zenlayercloud_sdk_python-2.0.18/zenlayercloud/traffic/v20240326/models.py +343 -0
  11. zenlayercloud_sdk_python-2.0.18/zenlayercloud/traffic/v20240326/traffic_client.py +52 -0
  12. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/vm/v20230313/models.py +2 -0
  13. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zbc/v20240809/models.py +298 -0
  14. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zbc/v20240809/zbc_client.py +46 -0
  15. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zec/__init__.py +2 -0
  16. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zec/v20240401/__init__.py +2 -0
  17. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/zec/v20240401/models.py +55 -73
  18. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/zec/v20240401/zec_client.py +13 -72
  19. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zga/__init__.py +2 -0
  20. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zga/v20241104/__init__.py +2 -0
  21. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zls/__init__.py +2 -0
  22. zenlayercloud_sdk_python-2.0.18/zenlayercloud/zls/v20230804/__init__.py +2 -0
  23. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  24. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +12 -0
  25. zenlayercloud_sdk_python-2.0.17/zenlayercloud/traffic/v20240326/models.py +0 -133
  26. zenlayercloud_sdk_python-2.0.17/zenlayercloud/traffic/v20240326/traffic_client.py +0 -23
  27. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/LICENSE +0 -0
  28. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/README.rst +0 -0
  29. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/setup.cfg +0 -0
  30. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/setup.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/bmc → zenlayercloud_sdk_python-2.0.18/zenlayercloud/alarm}/__init__.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/bmc/v20221120 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/alarm/v20250307}/__init__.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/common/excpetion → zenlayercloud_sdk_python-2.0.18/zenlayercloud/bmc}/__init__.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/sdn → zenlayercloud_sdk_python-2.0.18/zenlayercloud/bmc/v20221120}/__init__.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/__init__.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/abstract_client.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/abstract_model.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/config.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/credential.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/sdn/v20230830 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/common/excpetion}/__init__.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/excpetion/error_code.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/request.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/response.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/common/utils.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/user → zenlayercloud_sdk_python-2.0.18/zenlayercloud/maintenance}/__init__.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/user/v20240529 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/maintenance/v20250310}/__init__.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/vm → zenlayercloud_sdk_python-2.0.18/zenlayercloud/sdn}/__init__.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/vm/v20230313 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/sdn/v20230830}/__init__.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/traffic/__init__.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/zec → zenlayercloud_sdk_python-2.0.18/zenlayercloud/user}/__init__.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/zec/v20240401 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/user/v20240529}/__init__.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/user/v20240529/models.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/user/v20240529/user_client.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/zga → zenlayercloud_sdk_python-2.0.18/zenlayercloud/vm}/__init__.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/zga/v20241104 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/vm/v20230313}/__init__.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/zls → zenlayercloud_sdk_python-2.0.18/zenlayercloud/zbc}/__init__.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.17/zenlayercloud/zls/v20230804 → zenlayercloud_sdk_python-2.0.18/zenlayercloud/zbc/v20240809}/__init__.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/zga/v20241104/models.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/zls/v20230804/models.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  67. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  68. {zenlayercloud_sdk_python-2.0.17 → zenlayercloud_sdk_python-2.0.18}/zenlayercloud_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.17
3
+ Version: 2.0.18
4
4
  Summary: Zenlayer Cloud SDK for Python
5
5
  Home-page: https://github.com/zenlayer/zenlayercloud-sdk-python
6
6
  Author: Zenlayer Cloud
@@ -1,4 +1,4 @@
1
1
  # Zenlayer.com Inc.
2
2
  # Copyright (c) 2014-2023 All Rights Reserved.
3
3
 
4
- __version__ = '2.0.017'
4
+ __version__ = '2.0.018'
@@ -0,0 +1,17 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2023 All Rights Reserved.
3
+ from zenlayercloud.alarm.v20250307 import models
4
+ from zenlayercloud.common.abstract_client import AbstractClient
5
+
6
+
7
+ class AlarmClient(AbstractClient):
8
+ _api_version = "2025-03-07"
9
+ _service = "alarm"
10
+
11
+ def DescribeIpBlockEvents(self, request):
12
+ response = self._api_call("DescribeIpBlockEvents", request)
13
+
14
+ model = models.DescribeIpBlockEventsResponse()
15
+ model._deserialize(response)
16
+ return model
17
+
@@ -0,0 +1,58 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2023 All Rights Reserved.
3
+ from zenlayercloud.common.abstract_model import AbstractModel
4
+
5
+
6
+ class DescribeIpBlockEventsRequest(AbstractModel):
7
+ def __init__(self):
8
+ self.startTime = None
9
+ self.endTime = None
10
+ self.ip = None
11
+
12
+ def _deserialize(self, params):
13
+ self.startTime = params.get("startTime")
14
+ self.endTime = params.get("endTime")
15
+ self.ip = params.get("ip")
16
+
17
+
18
+ class DescribeIpBlockEventsResponse(AbstractModel):
19
+
20
+ def __init__(self):
21
+ self.requestId = None
22
+ self.dataList = None
23
+
24
+ def _deserialize(self, params):
25
+ self.requestId = params.get("requestId")
26
+ if params.get("dataList") is not None:
27
+ self.dataList = []
28
+ for item in params.get("dataList"):
29
+ obj = IpBlockEventInfo(item)
30
+ self.dataList.append(obj)
31
+
32
+
33
+ class IpBlockEventInfo(AbstractModel):
34
+ def __init__(self, params=None):
35
+ if params is None:
36
+ params = {}
37
+ if len(params) > 0:
38
+ self._deserialize(params)
39
+ return
40
+ self.ip = None
41
+ self.internalIps = None
42
+ self.region = None
43
+ self.resourceGroup = None
44
+ self.blockTime = None
45
+ self.unblockTime = None
46
+ self.divertMode = None
47
+
48
+ def _deserialize(self, params):
49
+ self.ip = params.get("ip")
50
+ self.internalIps = params.get("internalIps")
51
+ self.region = params.get("region")
52
+ self.resourceGroup = params.get("resourceGroup")
53
+ self.blockTime = params.get("blockTime")
54
+ self.unblockTime = params.get("unblockTime")
55
+ self.divertMode = params.get("divertMode")
56
+
57
+
58
+
@@ -27,6 +27,8 @@ class CreateInstancesRequest(AbstractModel):
27
27
  self.raidConfig = None
28
28
  self.partitions = None
29
29
  self.nic = None
30
+ self.clusterId = None
31
+ self.enablePrimaryIPv6 = None
30
32
 
31
33
  def _deserialize(self, params):
32
34
  self.zoneId = params.get("zoneId")
@@ -55,6 +57,8 @@ class CreateInstancesRequest(AbstractModel):
55
57
  self.partitions.append(obj)
56
58
  if params.get("nic") is not None:
57
59
  self.nic = Nic(params.get("nic"))
60
+ self.clusterId = params.get("clusterId")
61
+ self.enablePrimaryIPv6 = params.get("enablePrimaryIPv6")
58
62
 
59
63
 
60
64
  class CreateInstancesResponse(AbstractModel):
@@ -1184,6 +1188,15 @@ class InstanceHealth(AbstractModel):
1184
1188
  self.wanPortStatus = None
1185
1189
  self.serverBrand = None
1186
1190
  self.serverModel = None
1191
+ self.fanStatus = None
1192
+ self.serverBrand = None
1193
+ self.serverModel = None
1194
+ self.cpuTemp = None
1195
+ self.cpu0Temp = None
1196
+ self.cpu1Temp = None
1197
+ self.cpu2Temp = None
1198
+ self.inletTemp = None
1199
+ self.tempUnit = None
1187
1200
 
1188
1201
  def _deserialize(self, params):
1189
1202
  self.instanceId = params.get("instanceId")
@@ -1196,7 +1209,15 @@ class InstanceHealth(AbstractModel):
1196
1209
  self.wanPortStatus = params.get("wanPortStatus")
1197
1210
  self.serverBrand = params.get("serverBrand")
1198
1211
  self.serverModel = params.get("serverModel")
1199
-
1212
+ self.fanStatus = params.get("fanStatus")
1213
+ self.serverBrand = params.get("serverBrand")
1214
+ self.serverModel = params.get("serverModel")
1215
+ self.cpuTemp = params.get("cpuTemp")
1216
+ self.cpu0Temp = params.get("cpu0Temp")
1217
+ self.cpu1Temp = params.get("cpu1Temp")
1218
+ self.cpu2Temp = params.get("cpu2Temp")
1219
+ self.inletTemp = params.get("inletTemp")
1220
+ self.tempUnit = params.get("tempUnit")
1200
1221
 
1201
1222
  class DescribeEipAddressesRequest(AbstractModel):
1202
1223
 
@@ -0,0 +1,17 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2023 All Rights Reserved.
3
+ from zenlayercloud.maintenance.v20250310 import models
4
+ from zenlayercloud.common.abstract_client import AbstractClient
5
+
6
+
7
+ class AlarmClient(AbstractClient):
8
+ _api_version = "2025-03-10"
9
+ _service = "maintenance"
10
+
11
+ def DescribeMaintenanceAlerts(self, request):
12
+ response = self._api_call("DescribeMaintenanceAlerts", request)
13
+
14
+ model = models.DescribeMaintenanceAlertsResponse()
15
+ model._deserialize(response)
16
+ return model
17
+
@@ -0,0 +1,53 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2023 All Rights Reserved.
3
+ from zenlayercloud.common.abstract_model import AbstractModel
4
+
5
+
6
+ class DescribeMaintenanceAlertsRequest(AbstractModel):
7
+ def __init__(self):
8
+ self.product = None
9
+
10
+ def _deserialize(self, params):
11
+ self.product = params.get("product")
12
+
13
+
14
+ class DescribeMaintenanceAlertsResponse(AbstractModel):
15
+
16
+ def __init__(self):
17
+ self.requestId = None
18
+ self.dataList = None
19
+
20
+ def _deserialize(self, params):
21
+ self.requestId = params.get("requestId")
22
+ if params.get("dataList") is not None:
23
+ self.dataList = []
24
+ for item in params.get("dataList"):
25
+ obj = MaintenanceAlertInfo(item)
26
+ self.dataList.append(obj)
27
+
28
+
29
+
30
+ class MaintenanceAlertInfo(AbstractModel):
31
+ def __init__(self, params=None):
32
+ if params is None:
33
+ params = {}
34
+ if len(params) > 0:
35
+ self._deserialize(params)
36
+ return
37
+ self.instanceId = None
38
+ self.location = None
39
+ self.impact = None
40
+ self.startTime = None
41
+ self.endTime = None
42
+ self.status = None
43
+
44
+ def _deserialize(self, params):
45
+ self.instanceId = params.get("instanceId")
46
+ self.location = params.get("location")
47
+ self.impact = params.get("impact")
48
+ self.startTime = params.get("startTime")
49
+ self.endTime = params.get("endTime")
50
+ self.status = params.get("status")
51
+
52
+
53
+
@@ -28,7 +28,6 @@ class DescribeDatacentersResponse(AbstractModel):
28
28
  self.dcSet.append(obj)
29
29
 
30
30
 
31
-
32
31
  class DescribeDatacentersWithServiceRequest(AbstractModel):
33
32
  def __init__(self):
34
33
  self.cloudRegionId = None
@@ -90,11 +89,12 @@ class DescribeVirtualEdgeDatacentersRequest(AbstractModel):
90
89
  def _deserialize(self, params):
91
90
  self.primaryDcId = params.get("primaryDcId")
92
91
 
92
+
93
93
  # 响应模型
94
94
  class DescribeVirtualEdgeDatacentersResponse(AbstractModel):
95
95
  def __init__(self):
96
- self.requestId = None # 请求ID
97
- self.dcSet = None # 虚拟边缘数据中心集合
96
+ self.requestId = None # 请求ID
97
+ self.dcSet = None # 虚拟边缘数据中心集合
98
98
 
99
99
  def _deserialize(self, params):
100
100
  self.requestId = params.get("requestId")
@@ -134,6 +134,133 @@ class QueryDataCenterPortPriceResponse(AbstractModel):
134
134
  self.stock = params.get("stock")
135
135
 
136
136
 
137
+ class QueryDataCenterPortPricesRequest(AbstractModel):
138
+ def __init__(self):
139
+ self.dcIds = None
140
+ self.portType = None
141
+ self.buildCrossConnectWithAssisted = None
142
+
143
+ def _deserialize(self, params):
144
+ self.dcIds = params.get("dcIds")
145
+ self.portType = params.get("portType")
146
+ self.buildCrossConnectWithAssisted = params.get("buildCrossConnectWithAssisted")
147
+
148
+
149
+ class QueryDataCenterPortPricesResponse(AbstractModel):
150
+
151
+ def __init__(self):
152
+ self.requestId = None
153
+ self.prices = None
154
+
155
+ def _deserialize(self, params):
156
+ self.requestId = params.get("requestId")
157
+ if params.get("prices") is not None:
158
+ self.prices = []
159
+ for item in params.get("prices"):
160
+ obj = DatacenterPortPrice(item)
161
+ self.prices.append(obj)
162
+
163
+
164
+ class DatacenterPortPrice(AbstractModel):
165
+ def __init__(self, params=None):
166
+ if params is None:
167
+ params = {}
168
+ if len(params) > 0:
169
+ self._deserialize(params)
170
+ return
171
+ self.price = None
172
+ self.crossConnectPrice = None
173
+ self.crossConnectOneTimeConstructionPrice = None
174
+ self.stock = None
175
+ self.dcId = None
176
+
177
+ def _deserialize(self, params):
178
+ self.price = Price(params.get("price"))
179
+ self.crossConnectPrice = Price(params.get("crossConnectPrice"))
180
+ self.crossConnectOneTimeConstructionPrice = Price(params.get("crossConnectOneTimeConstructionPrice"))
181
+ self.stock = params.get("stock")
182
+ self.dcId = params.get("dcId")
183
+
184
+
185
+ class QueryPrivateConnectPriceRequest(AbstractModel):
186
+ def __init__(self):
187
+ self.internetType = None
188
+ self.bandwidthMbps = None
189
+ self.endpointA = None
190
+ self.endpointZ = None
191
+
192
+ def _deserialize(self, params):
193
+ self.internetType = params.get("internetType")
194
+ self.bandwidthMbps = params.get("bandwidthMbps")
195
+ if params.get("endpointA") is not None:
196
+ self.endpointA = PrivateConnectEndpointInfo(params.get("endpointA"))
197
+ if params.get("endpointZ") is not None:
198
+ self.endpointZ = PrivateConnectEndpointInfo(params.get("endpointZ"))
199
+
200
+
201
+ class PrivateConnectEndpointInfo(AbstractModel):
202
+ def __init__(self, params=None):
203
+ if params is None:
204
+ params = {}
205
+ if len(params) > 0:
206
+ self._deserialize(params)
207
+ return
208
+ self.dcId = None
209
+ self.portType = None
210
+ self.buildCrossConnectWithAssisted = None
211
+ self.cloudType = None
212
+ self.vlanId = None
213
+ self.cloudRegionId = None
214
+ self.bandwidthMbps = None
215
+
216
+ def _deserialize(self, params):
217
+ self.dcId = params.get("dcId")
218
+ self.portType = params.get("portType")
219
+ self.buildCrossConnectWithAssisted = params.get("buildCrossConnectWithAssisted")
220
+ self.cloudType = params.get("cloudType")
221
+ self.vlanId = params.get("vlanId")
222
+ self.cloudRegionId = params.get("cloudRegionId")
223
+ self.bandwidthMbps = params.get("bandwidthMbps")
224
+
225
+
226
+ class QueryPrivateConnectPriceResponse(AbstractModel):
227
+
228
+ def __init__(self):
229
+ self.requestId = None
230
+ self.price = None
231
+ self.stock = None
232
+ self.endpointAPrice = None
233
+ self.endpointZPrice = None
234
+
235
+ def _deserialize(self, params):
236
+ self.requestId = params.get("requestId")
237
+ self.price = Price(params.get("price"))
238
+ self.stock = params.get("stock")
239
+ if params.get("endpointAPrice") is not None:
240
+ self.endpointAPrice = PrivateConnectEndpointPrice(params.get("endpointAPrice"))
241
+ if params.get("endpointZPrice") is not None:
242
+ self.endpointZPrice = PrivateConnectEndpointPrice(params.get("endpointZPrice"))
243
+
244
+
245
+ class PrivateConnectEndpointPrice(AbstractModel):
246
+ def __init__(self, params=None):
247
+ if params is None:
248
+ params = {}
249
+ if len(params) > 0:
250
+ self._deserialize(params)
251
+ return
252
+ self.price = None
253
+ self.stock = None
254
+ self.crossConnectPrice = None
255
+ self.crossConnectOneTimeConstructionPrice = None
256
+
257
+ def _deserialize(self, params):
258
+ self.price = Price(params.get("price"))
259
+ self.stock = params.get("stock")
260
+ self.crossConnectPrice = Price(params.get("crossConnectPrice"))
261
+ self.crossConnectOneTimeConstructionPrice = Price(params.get("crossConnectOneTimeConstructionPrice"))
262
+
263
+
137
264
  class QueryPrivateConnectBandwidthPriceRequest(AbstractModel):
138
265
  def __init__(self):
139
266
  self.sourceDcId = None
@@ -1310,8 +1437,6 @@ class CreateCloudRouterEdgePoint(AbstractModel):
1310
1437
  self.ipSecStaticRoutes = None
1311
1438
  self.backupIpSec = None
1312
1439
 
1313
-
1314
-
1315
1440
  def _deserialize(self, params):
1316
1441
  self.vpcId = params.get("vpcId")
1317
1442
  self.bandwidthMbps = params.get("bandwidthMbps")
@@ -1366,7 +1491,6 @@ class IPSecBGPConnection(AbstractModel):
1366
1491
  self.password = params.get("password")
1367
1492
 
1368
1493
 
1369
-
1370
1494
  class IPSecStaticRoute(AbstractModel):
1371
1495
  def __init__(self, params=None):
1372
1496
  if params is None:
@@ -1380,7 +1504,6 @@ class IPSecStaticRoute(AbstractModel):
1380
1504
  self.cidr = params.get("cidr")
1381
1505
 
1382
1506
 
1383
-
1384
1507
  class BackupIPSecConfig(AbstractModel):
1385
1508
  def __init__(self, params=None):
1386
1509
  if params is None:
@@ -1664,6 +1787,7 @@ class CloudRegion(AbstractModel):
1664
1787
  obj = HAType(item)
1665
1788
  self.haTypes.append(obj)
1666
1789
 
1790
+
1667
1791
  class HAType(AbstractModel):
1668
1792
  def __init__(self, params=None):
1669
1793
  if params is None:
@@ -15,7 +15,6 @@ class SdnClient(AbstractClient):
15
15
  model._deserialize(response)
16
16
  return model
17
17
 
18
-
19
18
  def DescribeDatacentersWithService(self, request):
20
19
  response = self._api_call("DescribeDatacentersWithService", request)
21
20
 
@@ -29,7 +28,6 @@ class SdnClient(AbstractClient):
29
28
  model._deserialize(response)
30
29
  return model
31
30
 
32
-
33
31
  def QueryDataCenterPortPrice(self, request):
34
32
  response = self._api_call("QueryDataCenterPortPrice", request)
35
33
 
@@ -37,6 +35,19 @@ class SdnClient(AbstractClient):
37
35
  model._deserialize(response)
38
36
  return model
39
37
 
38
+ def QueryDataCenterPortPrices(self, request):
39
+ response = self._api_call("QueryDataCenterPortPrices", request)
40
+
41
+ model = models.QueryDataCenterPortPricesResponse()
42
+ model._deserialize(response)
43
+ return model
44
+
45
+ def QueryPrivateConnectPrice(self, request):
46
+ response = self._api_call("QueryPrivateConnectPrice", request)
47
+
48
+ model = models.QueryPrivateConnectPriceResponse()
49
+ model._deserialize(response)
50
+ return model
40
51
 
41
52
  def QueryPrivateConnectBandwidthPrice(self, request):
42
53
  response = self._api_call("QueryPrivateConnectBandwidthPrice", request)
@@ -45,7 +56,6 @@ class SdnClient(AbstractClient):
45
56
  model._deserialize(response)
46
57
  return model
47
58
 
48
-
49
59
  def QueryCloudRouterBandwidthPrice(self, request):
50
60
  response = self._api_call("QueryCloudRouterBandwidthPrice", request)
51
61
 
@@ -53,7 +63,6 @@ class SdnClient(AbstractClient):
53
63
  model._deserialize(response)
54
64
  return model
55
65
 
56
-
57
66
  def QueryCloudOnrampPrice(self, request):
58
67
  response = self._api_call("QueryCloudOnrampPrice", request)
59
68
 
@@ -61,7 +70,6 @@ class SdnClient(AbstractClient):
61
70
  model._deserialize(response)
62
71
  return model
63
72
 
64
-
65
73
  def CreatePort(self, request):
66
74
  response = self._api_call("CreatePort", request)
67
75
 
@@ -362,4 +370,3 @@ class SdnClient(AbstractClient):
362
370
  model = models.DescribeAzureVlanUsageResponse()
363
371
  model._deserialize(response)
364
372
  return model
365
-