zenlayercloud-sdk-python 2.0.14__tar.gz → 2.0.16__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 (54) hide show
  1. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/PKG-INFO +3 -2
  2. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/__init__.py +1 -2
  3. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/sdn/v20230830/models.py +272 -0
  4. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/sdn/v20230830/sdn_client.py +47 -0
  5. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/vm/v20230313/models.py +58 -1
  6. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zec/v20240401/models.py +945 -355
  7. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zec/v20240401/zec_client.py +230 -74
  8. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud_sdk_python.egg-info/PKG-INFO +3 -2
  9. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/LICENSE +0 -0
  10. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/README.rst +0 -0
  11. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/setup.cfg +0 -0
  12. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/setup.py +0 -0
  13. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/bmc/__init__.py +0 -0
  14. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  15. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  16. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/bmc/v20221120/models.py +0 -0
  17. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/__init__.py +0 -0
  18. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/abstract_client.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/abstract_model.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/config.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/credential.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/excpetion/__init__.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/excpetion/error_code.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/request.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/response.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/common/utils.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/sdn/__init__.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/traffic/__init__.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/traffic/v20240326/models.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/user/__init__.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/user/v20240529/__init__.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/user/v20240529/models.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/user/v20240529/user_client.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/vm/__init__.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zec/__init__.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zec/v20240401/__init__.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zga/__init__.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zga/v20241104/__init__.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zga/v20241104/models.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zls/__init__.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zls/v20230804/__init__.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zls/v20230804/models.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +0 -0
  52. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  53. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  54. {zenlayercloud_sdk_python-2.0.14 → zenlayercloud_sdk_python-2.0.16}/zenlayercloud_sdk_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.14
3
+ Version: 2.0.16
4
4
  Summary: Zenlayer Cloud SDK for Python
5
5
  Home-page: https://github.com/zenlayer/zenlayercloud-sdk-python
6
6
  Author: Zenlayer Cloud
@@ -23,6 +23,7 @@ Dynamic: classifier
23
23
  Dynamic: description
24
24
  Dynamic: home-page
25
25
  Dynamic: license
26
+ Dynamic: license-file
26
27
  Dynamic: maintainer-email
27
28
  Dynamic: platform
28
29
  Dynamic: requires-dist
@@ -1,5 +1,4 @@
1
1
  # Zenlayer.com Inc.
2
2
  # Copyright (c) 2014-2023 All Rights Reserved.
3
3
 
4
- __version__ = '2.0.014'
5
-
4
+ __version__ = '2.0.016'
@@ -28,6 +28,191 @@ class DescribeDatacentersResponse(AbstractModel):
28
28
  self.dcSet.append(obj)
29
29
 
30
30
 
31
+
32
+ class DescribeDatacentersWithServiceRequest(AbstractModel):
33
+ def __init__(self):
34
+ self.cloudRegionId = None
35
+ self.dcId = None
36
+ self.serviceType = None
37
+
38
+ def _deserialize(self, params):
39
+ self.cloudRegionId = params.get("cloudRegionId")
40
+ self.dcId = params.get("dcId")
41
+ self.serviceType = params.get("serviceType")
42
+
43
+
44
+ class DescribeDatacentersWithServiceResponse(AbstractModel):
45
+
46
+ def __init__(self):
47
+ self.requestId = None
48
+ self.dcSet = None
49
+
50
+ def _deserialize(self, params):
51
+ self.requestId = params.get("requestId")
52
+ if params.get("dcSet") is not None:
53
+ self.dcSet = []
54
+ for item in params.get("dcSet"):
55
+ obj = DatacenterWithServiceInfo(item)
56
+ self.dcSet.append(obj)
57
+
58
+
59
+ class DatacenterWithServiceInfo(AbstractModel):
60
+ def __init__(self, params=None):
61
+ if params is None:
62
+ params = {}
63
+ if len(params) > 0:
64
+ self._deserialize(params)
65
+ return
66
+ self.dcId = None
67
+ self.dcName = None
68
+ self.areaName = None
69
+ self.cityName = None
70
+ self.cloudRegionId = None
71
+ self.serviceTypes = None
72
+ self.latitude = None
73
+ self.longitude = None
74
+
75
+ def _deserialize(self, params):
76
+ self.dcId = params.get("dcId")
77
+ self.dcName = params.get("dcName")
78
+ self.areaName = params.get("areaName")
79
+ self.cityName = params.get("cityName")
80
+ self.cloudRegionId = params.get("cloudRegionId")
81
+ self.serviceTypes = params.get("serviceTypes")
82
+ self.latitude = params.get("latitude")
83
+ self.longitude = params.get("longitude")
84
+
85
+
86
+ class DescribeVirtualEdgeDatacentersRequest(AbstractModel):
87
+ def __init__(self):
88
+ self.primaryDcId = None # 主数据中心ID
89
+
90
+ def _deserialize(self, params):
91
+ self.primaryDcId = params.get("primaryDcId")
92
+
93
+ # 响应模型
94
+ class DescribeVirtualEdgeDatacentersResponse(AbstractModel):
95
+ def __init__(self):
96
+ self.requestId = None # 请求ID
97
+ self.dcSet = None # 虚拟边缘数据中心集合
98
+
99
+ def _deserialize(self, params):
100
+ self.requestId = params.get("requestId")
101
+ if params.get("dcSet") is not None:
102
+ self.dcSet = []
103
+ for item in params.get("dcSet"):
104
+ obj = DatacenterInfo(item) # 复用已有的DatacenterInfo结构
105
+ self.dcSet.append(obj)
106
+
107
+
108
+ class QueryDataCenterPortPriceRequest(AbstractModel):
109
+ def __init__(self):
110
+ self.dcId = None
111
+ self.portType = None
112
+ self.buildCrossConnectWithAssisted = None
113
+
114
+ def _deserialize(self, params):
115
+ self.dcId = params.get("dcId")
116
+ self.portType = params.get("portType")
117
+ self.buildCrossConnectWithAssisted = params.get("buildCrossConnectWithAssisted")
118
+
119
+
120
+ class QueryDataCenterPortPriceResponse(AbstractModel):
121
+
122
+ def __init__(self):
123
+ self.requestId = None
124
+ self.price = None
125
+ self.crossConnectPrice = None
126
+ self.crossConnectOneTimeConstructionPrice = None
127
+ self.stock = None
128
+
129
+ def _deserialize(self, params):
130
+ self.requestId = params.get("requestId")
131
+ self.price = Price(params.get("price"))
132
+ self.crossConnectPrice = Price(params.get("crossConnectPrice"))
133
+ self.crossConnectOneTimeConstructionPrice = Price(params.get("crossConnectOneTimeConstructionPrice"))
134
+ self.stock = params.get("stock")
135
+
136
+
137
+ class QueryPrivateConnectBandwidthPriceRequest(AbstractModel):
138
+ def __init__(self):
139
+ self.sourceDcId = None
140
+ self.destinationDcId = None
141
+ self.internetType = None
142
+ self.bandwidthMbps = None
143
+
144
+ def _deserialize(self, params):
145
+ self.sourceDcId = params.get("sourceDcId")
146
+ self.destinationDcId = params.get("destinationDcId")
147
+ self.internetType = params.get("internetType")
148
+ self.bandwidthMbps = params.get("bandwidthMbps")
149
+
150
+
151
+ class QueryPrivateConnectBandwidthPriceResponse(AbstractModel):
152
+
153
+ def __init__(self):
154
+ self.requestId = None
155
+ self.price = None
156
+ self.stock = None
157
+
158
+ def _deserialize(self, params):
159
+ self.requestId = params.get("requestId")
160
+ self.price = Price(params.get("price"))
161
+ self.stock = params.get("stock")
162
+
163
+
164
+ class QueryCloudRouterBandwidthPriceRequest(AbstractModel):
165
+ def __init__(self):
166
+ self.dcId = None
167
+ self.bandwidthMbps = None
168
+
169
+ def _deserialize(self, params):
170
+ self.dcId = params.get("dcId")
171
+ self.bandwidthMbps = params.get("bandwidthMbps")
172
+
173
+
174
+ class QueryCloudRouterBandwidthPriceResponse(AbstractModel):
175
+
176
+ def __init__(self):
177
+ self.requestId = None
178
+ self.price = None
179
+ self.stock = None
180
+
181
+ def _deserialize(self, params):
182
+ self.requestId = params.get("requestId")
183
+ self.price = Price(params.get("price"))
184
+ self.stock = params.get("stock")
185
+
186
+
187
+ class QueryCloudOnrampPriceRequest(AbstractModel):
188
+ def __init__(self):
189
+ self.dcId = None
190
+ self.cloudType = None
191
+ self.vlanId = None
192
+ self.cloudRegionId = None
193
+ self.bandwidthMbps = None
194
+
195
+ def _deserialize(self, params):
196
+ self.dcId = params.get("dcId")
197
+ self.cloudType = params.get("cloudType")
198
+ self.vlanId = params.get("vlanId")
199
+ self.cloudRegionId = params.get("cloudRegionId")
200
+ self.bandwidthMbps = params.get("bandwidthMbps")
201
+
202
+
203
+ class QueryCloudOnrampPriceResponse(AbstractModel):
204
+
205
+ def __init__(self):
206
+ self.requestId = None
207
+ self.price = None
208
+ self.stock = None
209
+
210
+ def _deserialize(self, params):
211
+ self.requestId = params.get("requestId")
212
+ self.price = Price(params.get("price"))
213
+ self.stock = params.get("stock")
214
+
215
+
31
216
  class CreatePortRequest(AbstractModel):
32
217
  def __init__(self):
33
218
  self.dcId = None
@@ -454,6 +639,7 @@ class DatacenterInfo(AbstractModel):
454
639
  self.latitude = None
455
640
  self.longitude = None
456
641
  self.isPortAvailable = None
642
+ self.availableBandwidth = None
457
643
 
458
644
  def _deserialize(self, params):
459
645
  self.dcId = params.get("dcId")
@@ -465,6 +651,7 @@ class DatacenterInfo(AbstractModel):
465
651
  self.latitude = params.get("latitude")
466
652
  self.longitude = params.get("longitude")
467
653
  self.isPortAvailable = params.get("isPortAvailable")
654
+ self.availableBandwidth = params.get("availableBandwidth")
468
655
 
469
656
 
470
657
  class DescribeCreatePrivateConnectAvailableSubnetsRequest(AbstractModel):
@@ -665,6 +852,9 @@ class Price(AbstractModel):
665
852
  self.unitPrice = None
666
853
  self.discountUnitPrice = None
667
854
  self.chargeUnit = None
855
+ self.excessUnitPrice = None
856
+ self.excessDiscountUnitPrice = None
857
+ self.excessAmountUnit = None
668
858
  self.stepPrices = None
669
859
 
670
860
  def _deserialize(self, params):
@@ -674,6 +864,9 @@ class Price(AbstractModel):
674
864
  self.unitPrice = params.get("unitPrice")
675
865
  self.discountUnitPrice = params.get("discountUnitPrice")
676
866
  self.chargeUnit = params.get("chargeUnit")
867
+ self.excessUnitPrice = params.get("excessUnitPrice")
868
+ self.excessDiscountUnitPrice = params.get("excessDiscountUnitPrice")
869
+ self.excessAmountUnit = params.get("excessAmountUnit")
677
870
  if params.get("stepPrices") is not None:
678
871
  self.stepPrices = []
679
872
  for item in params.get("stepPrices"):
@@ -1095,6 +1288,7 @@ class CreateCloudRouterEdgePoint(AbstractModel):
1095
1288
  return
1096
1289
  self.vpcId = None
1097
1290
  self.bandwidthMbps = None
1291
+ self.zbgId = None
1098
1292
  self.portId = None
1099
1293
  self.vlanId = None
1100
1294
  self.ipAddress = None
@@ -1106,12 +1300,22 @@ class CreateCloudRouterEdgePoint(AbstractModel):
1106
1300
  self.cloudRegionId = None
1107
1301
  self.dcId = None
1108
1302
  self.haType = None
1303
+ self.ipSecTunnel = None
1304
+ self.psk = None
1305
+ self.customerPublicIP = None
1306
+ self.customerPrivateIP = None
1307
+ self.virtualEdgePrivateIP = None
1308
+ self.enableHealthCheck = None
1309
+ self.ipSecBgpConnection = None
1310
+ self.ipSecStaticRoutes = None
1311
+ self.backupIpSec = None
1109
1312
 
1110
1313
 
1111
1314
 
1112
1315
  def _deserialize(self, params):
1113
1316
  self.vpcId = params.get("vpcId")
1114
1317
  self.bandwidthMbps = params.get("bandwidthMbps")
1318
+ self.zbgId = params.get("zbgId")
1115
1319
  self.portId = params.get("portId")
1116
1320
  self.vlanId = params.get("vlanId")
1117
1321
  self.ipAddress = params.get("ipAddress")
@@ -1128,6 +1332,74 @@ class CreateCloudRouterEdgePoint(AbstractModel):
1128
1332
  self.cloudRegionId = params.get("cloudRegionId")
1129
1333
  self.dcId = params.get("dcId")
1130
1334
  self.haType = params.get("haType")
1335
+ self.ipSecTunnel = params.get("ipSecTunnel")
1336
+ self.psk = params.get("psk")
1337
+ self.customerPublicIP = params.get("customerPublicIP")
1338
+ self.customerPrivateIP = params.get("customerPrivateIP")
1339
+ self.virtualEdgePrivateIP = params.get("virtualEdgePrivateIP")
1340
+ self.enableHealthCheck = params.get("enableHealthCheck")
1341
+ if params.get("ipSecBgpConnection") is not None:
1342
+ self.ipSecBgpConnection = IPSecBGPConnection(params.get("ipSecBgpConnection"))
1343
+ if params.get("ipSecStaticRoutes") is not None:
1344
+ self.ipSecStaticRoutes = []
1345
+ for item in params.get("ipSecStaticRoutes"):
1346
+ obj = IPSecStaticRoute(item)
1347
+ self.ipSecStaticRoutes.append(obj)
1348
+ if params.get("backupIpSec") is not None:
1349
+ self.backupIpSec = BackupIPSecConfig(params.get("backupIpSec"))
1350
+
1351
+
1352
+ class IPSecBGPConnection(AbstractModel):
1353
+ def __init__(self, params=None):
1354
+ if params is None:
1355
+ params = {}
1356
+ if len(params) > 0:
1357
+ self._deserialize(params)
1358
+ return
1359
+ self.customerAsn = None
1360
+ self.virtualEdgeAsn = None
1361
+ self.password = None
1362
+
1363
+ def _deserialize(self, params):
1364
+ self.customerAsn = params.get("customerAsn")
1365
+ self.virtualEdgeAsn = params.get("virtualEdgeAsn")
1366
+ self.password = params.get("password")
1367
+
1368
+
1369
+
1370
+ class IPSecStaticRoute(AbstractModel):
1371
+ def __init__(self, params=None):
1372
+ if params is None:
1373
+ params = {}
1374
+ if len(params) > 0:
1375
+ self._deserialize(params)
1376
+ return
1377
+ self.cidr = None
1378
+
1379
+ def _deserialize(self, params):
1380
+ self.cidr = params.get("cidr")
1381
+
1382
+
1383
+
1384
+ class BackupIPSecConfig(AbstractModel):
1385
+ def __init__(self, params=None):
1386
+ if params is None:
1387
+ params = {}
1388
+ if len(params) > 0:
1389
+ self._deserialize(params)
1390
+ return
1391
+ self.dcId = None
1392
+ self.psk = None
1393
+ self.customerPrivateIP = None
1394
+ self.virtualEdgePrivateIP = None
1395
+ self.password = None
1396
+
1397
+ def _deserialize(self, params):
1398
+ self.dcId = params.get("dcId")
1399
+ self.psk = params.get("psk")
1400
+ self.customerPrivateIP = params.get("customerPrivateIP")
1401
+ self.virtualEdgePrivateIP = params.get("virtualEdgePrivateIP")
1402
+ self.password = params.get("password")
1131
1403
 
1132
1404
 
1133
1405
  class ModifyCloudRoutersAttributeRequest(AbstractModel):
@@ -15,6 +15,53 @@ class SdnClient(AbstractClient):
15
15
  model._deserialize(response)
16
16
  return model
17
17
 
18
+
19
+ def DescribeDatacentersWithService(self, request):
20
+ response = self._api_call("DescribeDatacentersWithService", request)
21
+
22
+ model = models.DescribeDatacentersWithServiceResponse()
23
+ model._deserialize(response)
24
+ return model
25
+
26
+ def DescribeVirtualEdgeDatacenters(self, request):
27
+ response = self._api_call("DescribeVirtualEdgeDatacenters", request)
28
+ model = models.DescribeVirtualEdgeDatacentersResponse()
29
+ model._deserialize(response)
30
+ return model
31
+
32
+
33
+ def QueryDataCenterPortPrice(self, request):
34
+ response = self._api_call("QueryDataCenterPortPrice", request)
35
+
36
+ model = models.QueryDataCenterPortPriceResponse()
37
+ model._deserialize(response)
38
+ return model
39
+
40
+
41
+ def QueryPrivateConnectBandwidthPrice(self, request):
42
+ response = self._api_call("QueryPrivateConnectBandwidthPrice", request)
43
+
44
+ model = models.QueryPrivateConnectBandwidthPriceResponse()
45
+ model._deserialize(response)
46
+ return model
47
+
48
+
49
+ def QueryCloudRouterBandwidthPrice(self, request):
50
+ response = self._api_call("QueryCloudRouterBandwidthPrice", request)
51
+
52
+ model = models.QueryCloudRouterBandwidthPriceResponse()
53
+ model._deserialize(response)
54
+ return model
55
+
56
+
57
+ def QueryCloudOnrampPrice(self, request):
58
+ response = self._api_call("QueryCloudOnrampPrice", request)
59
+
60
+ model = models.QueryCloudOnrampPriceResponse()
61
+ model._deserialize(response)
62
+ return model
63
+
64
+
18
65
  def CreatePort(self, request):
19
66
  response = self._api_call("CreatePort", request)
20
67
 
@@ -37,12 +37,16 @@ class ZoneInfo(AbstractModel):
37
37
  self.zoneName = None
38
38
  self.supportSecurityGroup = None
39
39
  self.supportNetworkType = None
40
+ self.supportIpv6 = None
41
+ self.supportCpuPassThrough = None
40
42
 
41
43
  def _deserialize(self, params):
42
44
  self.zoneId = params.get("zoneId")
43
45
  self.zoneName = params.get("zoneName")
44
46
  self.supportSecurityGroup = params.get("supportSecurityGroup")
45
47
  self.supportNetworkType = params.get("supportNetworkType")
48
+ self.supportIpv6 = params.get("supportIpv6")
49
+ self.supportCpuPassThrough = params.get("supportCpuPassThrough")
46
50
 
47
51
 
48
52
  class DescribeZoneInstanceConfigInfosRequest(AbstractModel):
@@ -281,9 +285,16 @@ class CreateInstancesRequest(AbstractModel):
281
285
  self.internetMaxBandwidthOut = None
282
286
  self.trafficPackageSize = None
283
287
  self.subnetId = None
288
+ self.enableIpv6 = None
289
+ self.cpuPassThrough = None
290
+ self.initScript = None
284
291
  self.systemDisk = None
285
292
  self.dataDisks = None
286
293
  self.securityGroupId = None
294
+ self.nic = None
295
+ self.clusterId = None
296
+ self.networkMode = None
297
+ self.diskPreAllocated = None
287
298
 
288
299
  def _deserialize(self, params):
289
300
  self.zoneId = params.get("zoneId")
@@ -301,6 +312,9 @@ class CreateInstancesRequest(AbstractModel):
301
312
  self.internetMaxBandwidthOut = params.get("internetMaxBandwidthOut")
302
313
  self.trafficPackageSize = params.get("trafficPackageSize")
303
314
  self.subnetId = params.get("subnetId")
315
+ self.enableIpv6 = params.get("enableIpv6")
316
+ self.cpuPassThrough = params.get("cpuPassThrough")
317
+ self.initScript = params.get("initScript")
304
318
  if params.get("systemDisk") is not None:
305
319
  self.systemDisk = SystemDisk(params.get("systemDisk"))
306
320
  if params.get("dataDisks") is not None:
@@ -309,6 +323,37 @@ class CreateInstancesRequest(AbstractModel):
309
323
  obj = DataDisk(item)
310
324
  self.dataDisks.append(obj)
311
325
  self.securityGroupId = params.get("securityGroupId")
326
+ if params.get("nic") is not None:
327
+ self.nic = Nic(params.get("nic"))
328
+ self.clusterId = params.get("clusterId")
329
+ self.networkMode = params.get("networkMode")
330
+ self.diskPreAllocated = params.get("diskPreAllocated")
331
+
332
+
333
+ class Nic(AbstractModel):
334
+
335
+
336
+ def __init__(self, params=None):
337
+ r"""
338
+
339
+ :param wanName: 公网网卡名称。
340
+ 只能是数字和小写字母,且必须以字母开头,长度限制为4-15。
341
+
342
+ :param lanName: 内网网卡名称。
343
+ 只能是数字和小写字母,且必须以字母开头,长度限制为4-15。
344
+
345
+ """
346
+ if params is None:
347
+ params = {}
348
+ if len(params) > 0:
349
+ self._deserialize(params)
350
+ return
351
+ self.wanName = None
352
+ self.lanName = None
353
+
354
+ def _deserialize(self, params):
355
+ self.wanName = params.get("wanName")
356
+ self.lanName = params.get("lanName")
312
357
 
313
358
 
314
359
  class CreateInstancesResponse(AbstractModel):
@@ -399,6 +444,7 @@ class InstanceInfo(AbstractModel):
399
444
  self.internetChargeType = None
400
445
  self.period = None
401
446
  self.publicIpAddresses = None
447
+ self.publicIpv6Addresses = None
402
448
  self.privateIpAddresses = None
403
449
  self.subnetId = None
404
450
  self.createTime = None
@@ -412,6 +458,7 @@ class InstanceInfo(AbstractModel):
412
458
  self.dataDisks = None
413
459
  self.autoRenew = None
414
460
  self.keyId = None
461
+ self.nic = None
415
462
 
416
463
  def _deserialize(self, params):
417
464
  self.instanceId = params.get("instanceId")
@@ -427,6 +474,7 @@ class InstanceInfo(AbstractModel):
427
474
  self.internetChargeType = params.get("internetChargeType")
428
475
  self.period = params.get("period")
429
476
  self.publicIpAddresses = params.get("publicIpAddresses")
477
+ self.publicIpv6Addresses = params.get("publicIpv6Addresses")
430
478
  self.privateIpAddresses = params.get("privateIpAddresses")
431
479
  self.subnetId = params.get("subnetId")
432
480
  self.createTime = params.get("createTime")
@@ -445,7 +493,8 @@ class InstanceInfo(AbstractModel):
445
493
  self.dataDisks.append(obj)
446
494
  self.autoRenew = params.get("autoRenew")
447
495
  self.keyId = params.get("keyId")
448
-
496
+ if params.get("nic") is not None:
497
+ self.nic = Nic(params.get("nic"))
449
498
 
450
499
  class DescribeInstancesStatusRequest(AbstractModel):
451
500
 
@@ -574,12 +623,16 @@ class ResetInstanceRequest(AbstractModel):
574
623
  self.imageId = None
575
624
  self.password = None
576
625
  self.keyId = None
626
+ self.wanName = None
627
+ self.lanName = None
577
628
 
578
629
  def _deserialize(self, params):
579
630
  self.instanceId = params.get("instanceId")
580
631
  self.imageId = params.get("imageId")
581
632
  self.password = params.get("password")
582
633
  self.keyId = params.get("keyId")
634
+ self.wanName = params.get("wanName")
635
+ self.lanName = params.get("lanName")
583
636
 
584
637
 
585
638
  class ResetInstanceResponse(AbstractModel):
@@ -1623,6 +1676,7 @@ class RuleInfo(AbstractModel):
1623
1676
  self.ipProtocol = None
1624
1677
  self.portRange = None
1625
1678
  self.cidrIp = None
1679
+ self.description = None
1626
1680
 
1627
1681
  def _deserialize(self, params):
1628
1682
  self.direction = params.get("direction")
@@ -1630,6 +1684,7 @@ class RuleInfo(AbstractModel):
1630
1684
  self.ipProtocol = params.get("ipProtocol")
1631
1685
  self.portRange = params.get("portRange")
1632
1686
  self.cidrIp = params.get("cidrIp")
1687
+ self.description = params.get("description")
1633
1688
 
1634
1689
 
1635
1690
  class ModifySecurityGroupsAttributeRequest(AbstractModel):
@@ -1799,6 +1854,7 @@ class AuthorizeSecurityGroupRuleRequest(AbstractModel):
1799
1854
  self.ipProtocol = None
1800
1855
  self.portRange = None
1801
1856
  self.cidrIp = None
1857
+ self.description = None
1802
1858
 
1803
1859
  def _deserialize(self, params):
1804
1860
  self.securityGroupId = params.get("securityGroupId")
@@ -1807,6 +1863,7 @@ class AuthorizeSecurityGroupRuleRequest(AbstractModel):
1807
1863
  self.ipProtocol = params.get("ipProtocol")
1808
1864
  self.portRange = params.get("portRange")
1809
1865
  self.cidrIp = params.get("cidrIp")
1866
+ self.description = params.get("description")
1810
1867
 
1811
1868
 
1812
1869
  class AuthorizeSecurityGroupRuleResponse(AbstractModel):