zenlayercloud-sdk-python 2.0.51__py3-none-any.whl → 2.0.53__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.
zenlayercloud/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # Zenlayer.com Inc.
2
2
  # Copyright (c) 2014-2023 All Rights Reserved.
3
3
 
4
- __version__ = "2.0.051"
4
+ __version__ = "2.0.053"
5
5
 
@@ -37,6 +37,10 @@ class ZoneInfo(AbstractModel):
37
37
  self.zoneName = None
38
38
  self.supportSecurityGroup = None
39
39
  self.timeZone = None
40
+ self.cityName = None
41
+ self.cityCode = None
42
+ self.countryCode = None
43
+ self.countryName = None
40
44
 
41
45
  def _deserialize(self, params):
42
46
  self.zoneId = params.get("zoneId")
@@ -50,6 +54,10 @@ class ZoneInfo(AbstractModel):
50
54
  )
51
55
  self.supportSecurityGroup = params.get("supportSecurityGroup")
52
56
  self.timeZone = params.get("timeZone")
57
+ self.cityName = params.get("cityName")
58
+ self.cityCode = params.get("cityCode")
59
+ self.countryCode = params.get("countryCode")
60
+ self.countryName = params.get("countryName")
53
61
 
54
62
 
55
63
  class DescribeZoneInstanceConfigInfosRequest(AbstractModel):
@@ -103,6 +111,66 @@ class InstanceTypeQuotaItem(AbstractModel):
103
111
  self.internetChargeTypes = params.get("internetChargeTypes")
104
112
 
105
113
 
114
+ class DescribeVmInventoryCapacityRequest(AbstractModel):
115
+ def __init__(self):
116
+ self.regionIds = None
117
+
118
+ def _deserialize(self, params):
119
+ self.regionIds = params.get("regionIds")
120
+
121
+
122
+ class DescribeVmInventoryCapacityResponse(AbstractModel):
123
+ def __init__(self):
124
+ self.requestId = None
125
+ self.dataSet = None
126
+
127
+ def _deserialize(self, params):
128
+ self.requestId = params.get("requestId")
129
+ if params.get("dataSet") is not None:
130
+ self.dataSet = []
131
+ for item in params.get("dataSet"):
132
+ obj = VmRegionCapacityItem(item)
133
+ self.dataSet.append(obj)
134
+
135
+
136
+ class VmRegionCapacityItem(AbstractModel):
137
+ def __init__(self, params=None):
138
+ if params is None:
139
+ params = {}
140
+ if len(params) > 0:
141
+ self._deserialize(params)
142
+ return
143
+ self.regionId = None
144
+ self.capacity = None
145
+ self.instanceTypes = None
146
+
147
+ def _deserialize(self, params):
148
+ self.regionId = params.get("regionId")
149
+ self.capacity = params.get("capacity")
150
+ if params.get("instanceTypes") is not None:
151
+ self.instanceTypes = []
152
+ for item in params.get("instanceTypes"):
153
+ obj = InstanceTypeCapacityItem(item)
154
+ self.instanceTypes.append(obj)
155
+
156
+
157
+ class InstanceTypeCapacityItem(AbstractModel):
158
+ def __init__(self, params=None):
159
+ if params is None:
160
+ params = {}
161
+ if len(params) > 0:
162
+ self._deserialize(params)
163
+ return
164
+ self.instanceType = None
165
+ self.gpuSpec = None
166
+ self.capacity = None
167
+
168
+ def _deserialize(self, params):
169
+ self.instanceType = params.get("instanceType")
170
+ self.gpuSpec = params.get("gpuSpec")
171
+ self.capacity = params.get("capacity")
172
+
173
+
106
174
  class DescribeTimeZonesRequest(AbstractModel):
107
175
  def __init__(self):
108
176
  pass
@@ -1178,81 +1246,9 @@ class CreateImageResponse(AbstractModel):
1178
1246
  self.imageName = params.get("imageName")
1179
1247
 
1180
1248
 
1181
- class ModifyImagesAttributesRequest(AbstractModel):
1182
- def __init__(self):
1183
- self.imageIds = None
1184
- self.imageName = None
1185
-
1186
- def _deserialize(self, params):
1187
- self.imageIds = params.get("imageIds")
1188
- self.imageName = params.get("imageName")
1189
-
1190
-
1191
- class ModifyImagesAttributesResponse(AbstractModel):
1192
- def __init__(self):
1193
- self.requestId = None
1194
-
1195
- def _deserialize(self, params):
1196
- self.requestId = params.get("requestId")
1197
-
1198
-
1199
- class DeleteImagesRequest(AbstractModel):
1200
- def __init__(self):
1201
- self.imageIds = None
1202
-
1203
- def _deserialize(self, params):
1204
- self.imageIds = params.get("imageIds")
1205
-
1206
-
1207
- class DeleteImagesResponse(AbstractModel):
1208
- def __init__(self):
1209
- self.requestId = None
1210
- self.imageIds = None
1211
-
1212
- def _deserialize(self, params):
1213
- self.requestId = params.get("requestId")
1214
- self.imageIds = params.get("imageIds")
1215
-
1216
-
1217
- class CopyImageRequest(AbstractModel):
1218
- def __init__(self):
1219
- self.imageId = None
1220
- self.regionIdList = None
1221
-
1222
- def _deserialize(self, params):
1223
- self.imageId = params.get("imageId")
1224
- self.regionIdList = params.get("regionIdList")
1225
-
1226
-
1227
- class CopyImageResponse(AbstractModel):
1228
- def __init__(self):
1229
- self.requestId = None
1230
-
1231
- def _deserialize(self, params):
1232
- self.requestId = params.get("requestId")
1233
-
1234
-
1235
- class DeleteImageCopyRequest(AbstractModel):
1236
- def __init__(self):
1237
- self.imageId = None
1238
- self.regionIds = None
1239
-
1240
- def _deserialize(self, params):
1241
- self.imageId = params.get("imageId")
1242
- self.regionIds = params.get("regionIds")
1243
-
1244
-
1245
- class DeleteImageCopyResponse(AbstractModel):
1246
- def __init__(self):
1247
- self.requestId = None
1248
-
1249
- def _deserialize(self, params):
1250
- self.requestId = params.get("requestId")
1251
-
1252
-
1253
1249
  class DescribeCustomImagesRequest(AbstractModel):
1254
1250
  def __init__(self):
1255
- self.zoneId = None
1251
+ self.regionId = None
1256
1252
  self.imageIds = None
1257
1253
  self.imageName = None
1258
1254
  self.category = None
@@ -1260,11 +1256,12 @@ class DescribeCustomImagesRequest(AbstractModel):
1260
1256
  self.imageStatus = None
1261
1257
  self.pageNum = None
1262
1258
  self.pageSize = None
1259
+ self.resourceGroupId = None
1263
1260
  self.tagKeys = None
1264
1261
  self.tags = None
1265
1262
 
1266
1263
  def _deserialize(self, params):
1267
- self.zoneId = params.get("zoneId")
1264
+ self.regionId = params.get("regionId")
1268
1265
  self.imageIds = params.get("imageIds")
1269
1266
  self.imageName = params.get("imageName")
1270
1267
  self.category = params.get("category")
@@ -1272,6 +1269,7 @@ class DescribeCustomImagesRequest(AbstractModel):
1272
1269
  self.imageStatus = params.get("imageStatus")
1273
1270
  self.pageNum = params.get("pageNum")
1274
1271
  self.pageSize = params.get("pageSize")
1272
+ self.resourceGroupId = params.get("resourceGroupId")
1275
1273
  self.tagKeys = params.get("tagKeys")
1276
1274
  if params.get("tags") is not None:
1277
1275
  self.tags = []
@@ -1303,7 +1301,9 @@ class CustomImage(AbstractModel):
1303
1301
  if len(params) > 0:
1304
1302
  self._deserialize(params)
1305
1303
  return
1306
- self.zoneIdList = None
1304
+ self.regionIdList = None
1305
+ self.resourceGroupId = None
1306
+ self.resourceGroupName = None
1307
1307
  self.imageId = None
1308
1308
  self.imageName = None
1309
1309
  self.imageType = None
@@ -1318,7 +1318,9 @@ class CustomImage(AbstractModel):
1318
1318
  self.tags = None
1319
1319
 
1320
1320
  def _deserialize(self, params):
1321
- self.zoneIdList = params.get("zoneIdList")
1321
+ self.regionIdList = params.get("regionIdList")
1322
+ self.resourceGroupId = params.get("resourceGroupId")
1323
+ self.resourceGroupName = params.get("resourceGroupName")
1322
1324
  self.imageId = params.get("imageId")
1323
1325
  self.imageName = params.get("imageName")
1324
1326
  self.imageType = params.get("imageType")
@@ -1334,6 +1336,78 @@ class CustomImage(AbstractModel):
1334
1336
  self.tags = Tags(params.get("tags"))
1335
1337
 
1336
1338
 
1339
+ class ModifyImagesAttributesRequest(AbstractModel):
1340
+ def __init__(self):
1341
+ self.imageIds = None
1342
+ self.imageName = None
1343
+
1344
+ def _deserialize(self, params):
1345
+ self.imageIds = params.get("imageIds")
1346
+ self.imageName = params.get("imageName")
1347
+
1348
+
1349
+ class ModifyImagesAttributesResponse(AbstractModel):
1350
+ def __init__(self):
1351
+ self.requestId = None
1352
+
1353
+ def _deserialize(self, params):
1354
+ self.requestId = params.get("requestId")
1355
+
1356
+
1357
+ class DeleteImagesRequest(AbstractModel):
1358
+ def __init__(self):
1359
+ self.imageIds = None
1360
+
1361
+ def _deserialize(self, params):
1362
+ self.imageIds = params.get("imageIds")
1363
+
1364
+
1365
+ class DeleteImagesResponse(AbstractModel):
1366
+ def __init__(self):
1367
+ self.requestId = None
1368
+ self.imageIds = None
1369
+
1370
+ def _deserialize(self, params):
1371
+ self.requestId = params.get("requestId")
1372
+ self.imageIds = params.get("imageIds")
1373
+
1374
+
1375
+ class CopyImageRequest(AbstractModel):
1376
+ def __init__(self):
1377
+ self.imageId = None
1378
+ self.regionIdList = None
1379
+
1380
+ def _deserialize(self, params):
1381
+ self.imageId = params.get("imageId")
1382
+ self.regionIdList = params.get("regionIdList")
1383
+
1384
+
1385
+ class CopyImageResponse(AbstractModel):
1386
+ def __init__(self):
1387
+ self.requestId = None
1388
+
1389
+ def _deserialize(self, params):
1390
+ self.requestId = params.get("requestId")
1391
+
1392
+
1393
+ class DeleteImageCopyRequest(AbstractModel):
1394
+ def __init__(self):
1395
+ self.imageId = None
1396
+ self.regionIds = None
1397
+
1398
+ def _deserialize(self, params):
1399
+ self.imageId = params.get("imageId")
1400
+ self.regionIds = params.get("regionIds")
1401
+
1402
+
1403
+ class DeleteImageCopyResponse(AbstractModel):
1404
+ def __init__(self):
1405
+ self.requestId = None
1406
+
1407
+ def _deserialize(self, params):
1408
+ self.requestId = params.get("requestId")
1409
+
1410
+
1337
1411
  class DescribeDiskRegionsRequest(AbstractModel):
1338
1412
  def __init__(self):
1339
1413
  pass
@@ -2361,6 +2435,7 @@ class PublicIpv6CidrAddress(AbstractModel):
2361
2435
  self.primaryIpv6Address = None
2362
2436
  self.internetChargeType = None
2363
2437
  self.bandwidth = None
2438
+ self.rateLimitMode = None
2364
2439
  self.trafficPackageSize = None
2365
2440
  self.bandwidthCluster = None
2366
2441
 
@@ -2370,6 +2445,7 @@ class PublicIpv6CidrAddress(AbstractModel):
2370
2445
  self.primaryIpv6Address = params.get("primaryIpv6Address")
2371
2446
  self.internetChargeType = params.get("internetChargeType")
2372
2447
  self.bandwidth = params.get("bandwidth")
2448
+ self.rateLimitMode = params.get("rateLimitMode")
2373
2449
  self.trafficPackageSize = params.get("trafficPackageSize")
2374
2450
  if params.get("bandwidthCluster") is not None:
2375
2451
  self.bandwidthCluster = BandwidthClusterInfo(params.get("bandwidthCluster"))
@@ -2420,6 +2496,7 @@ class AssignNetworkInterfaceIpv6Request(AbstractModel):
2420
2496
  self.bandwidth = None
2421
2497
  self.packageSize = None
2422
2498
  self.clusterId = None
2499
+ self.rateLimitMode = None
2423
2500
 
2424
2501
  def _deserialize(self, params):
2425
2502
  self.nicId = params.get("nicId")
@@ -2427,6 +2504,7 @@ class AssignNetworkInterfaceIpv6Request(AbstractModel):
2427
2504
  self.bandwidth = params.get("bandwidth")
2428
2505
  self.packageSize = params.get("packageSize")
2429
2506
  self.clusterId = params.get("clusterId")
2507
+ self.rateLimitMode = params.get("rateLimitMode")
2430
2508
 
2431
2509
 
2432
2510
  class AssignNetworkInterfaceIpv6Response(AbstractModel):
@@ -2471,6 +2549,24 @@ class DescribeNetworkInterfaceMonitorDataResponse(AbstractModel):
2471
2549
  self.metrics.append(obj)
2472
2550
 
2473
2551
 
2552
+ class ModifyNetworkInterfacePublicIPv6BandwidthLimitModeRequest(AbstractModel):
2553
+ def __init__(self):
2554
+ self.ipv6CidrId = None
2555
+ self.rateLimitMode = None
2556
+
2557
+ def _deserialize(self, params):
2558
+ self.ipv6CidrId = params.get("ipv6CidrId")
2559
+ self.rateLimitMode = params.get("rateLimitMode")
2560
+
2561
+
2562
+ class ModifyNetworkInterfacePublicIPv6BandwidthLimitModeResponse(AbstractModel):
2563
+ def __init__(self):
2564
+ self.requestId = None
2565
+
2566
+ def _deserialize(self, params):
2567
+ self.requestId = params.get("requestId")
2568
+
2569
+
2474
2570
  class DescribePoolsRequest(AbstractModel):
2475
2571
  def __init__(self):
2476
2572
  self.poolIds = None
@@ -2598,6 +2694,7 @@ class DescribeCidrsRequest(AbstractModel):
2598
2694
  self.name = None
2599
2695
  self.cidrBlock = None
2600
2696
  self.source = None
2697
+ self.asn = None
2601
2698
  self.resourceGroupId = None
2602
2699
  self.pageSize = None
2603
2700
  self.pageNum = None
@@ -2610,6 +2707,7 @@ class DescribeCidrsRequest(AbstractModel):
2610
2707
  self.name = params.get("name")
2611
2708
  self.cidrBlock = params.get("cidrBlock")
2612
2709
  self.source = params.get("source")
2710
+ self.asn = params.get("asn")
2613
2711
  self.resourceGroupId = params.get("resourceGroupId")
2614
2712
  self.pageSize = params.get("pageSize")
2615
2713
  self.pageNum = params.get("pageNum")
@@ -2660,6 +2758,7 @@ class CidrInfo(AbstractModel):
2660
2758
  self.resourceGroupId = None
2661
2759
  self.resourceGroupName = None
2662
2760
  self.status = None
2761
+ self.asn = None
2663
2762
  self.tags = None
2664
2763
 
2665
2764
  def _deserialize(self, params):
@@ -2685,6 +2784,7 @@ class CidrInfo(AbstractModel):
2685
2784
  self.resourceGroupId = params.get("resourceGroupId")
2686
2785
  self.resourceGroupName = params.get("resourceGroupName")
2687
2786
  self.status = params.get("status")
2787
+ self.asn = params.get("asn")
2688
2788
  if params.get("tags") is not None:
2689
2789
  self.tags = Tags(params.get("tags"))
2690
2790
 
@@ -2804,6 +2904,7 @@ class DescribeIpv6CidrsRequest(AbstractModel):
2804
2904
  self.regionId = None
2805
2905
  self.name = None
2806
2906
  self.cidrBlock = None
2907
+ self.asn = None
2807
2908
  self.resourceGroupId = None
2808
2909
  self.pageSize = None
2809
2910
  self.pageNum = None
@@ -2815,6 +2916,7 @@ class DescribeIpv6CidrsRequest(AbstractModel):
2815
2916
  self.regionId = params.get("regionId")
2816
2917
  self.name = params.get("name")
2817
2918
  self.cidrBlock = params.get("cidrBlock")
2919
+ self.asn = params.get("asn")
2818
2920
  self.resourceGroupId = params.get("resourceGroupId")
2819
2921
  self.pageSize = params.get("pageSize")
2820
2922
  self.pageNum = params.get("pageNum")
@@ -2863,6 +2965,7 @@ class Ipv6CidrInfo(AbstractModel):
2863
2965
  self.expiredTime = None
2864
2966
  self.resourceGroup = None
2865
2967
  self.status = None
2968
+ self.asn = None
2866
2969
  self.tags = None
2867
2970
 
2868
2971
  def _deserialize(self, params):
@@ -2881,6 +2984,7 @@ class Ipv6CidrInfo(AbstractModel):
2881
2984
  if params.get("resourceGroup") is not None:
2882
2985
  self.resourceGroup = ResourceGroupInfo(params.get("resourceGroup"))
2883
2986
  self.status = params.get("status")
2987
+ self.asn = params.get("asn")
2884
2988
  if params.get("tags") is not None:
2885
2989
  self.tags = Tags(params.get("tags"))
2886
2990
 
@@ -3265,6 +3369,7 @@ class EipInfo(AbstractModel):
3265
3369
  self.bindType = None
3266
3370
  self.flowPackage = None
3267
3371
  self.bandwidth = None
3372
+ self.rateLimitMode = None
3268
3373
  self.eipGeoRefs = None
3269
3374
  self.blockInfoList = None
3270
3375
  self.createTime = None
@@ -3306,6 +3411,7 @@ class EipInfo(AbstractModel):
3306
3411
  self.bindType = params.get("bindType")
3307
3412
  self.flowPackage = params.get("flowPackage")
3308
3413
  self.bandwidth = params.get("bandwidth")
3414
+ self.rateLimitMode = params.get("rateLimitMode")
3309
3415
  if params.get("eipGeoRefs") is not None:
3310
3416
  self.eipGeoRefs = []
3311
3417
  for item in params.get("eipGeoRefs"):
@@ -3333,19 +3439,19 @@ class EipGeoInfo(AbstractModel):
3333
3439
  if len(params) > 0:
3334
3440
  self._deserialize(params)
3335
3441
  return
3442
+ self.maxMind = None
3443
+ self.ipInfo = None
3336
3444
  self.dbIp = None
3337
3445
  self.ipData = None
3338
- self.ipInfo = None
3339
- self.maxMind = None
3340
3446
  self.ipGeoLocation = None
3341
3447
  self.standard = None
3342
3448
  self.isConsistent = None
3343
3449
 
3344
3450
  def _deserialize(self, params):
3451
+ self.maxMind = params.get("maxMind")
3452
+ self.ipInfo = params.get("ipInfo")
3345
3453
  self.dbIp = params.get("dbIp")
3346
3454
  self.ipData = params.get("ipData")
3347
- self.ipInfo = params.get("ipInfo")
3348
- self.maxMind = params.get("maxMind")
3349
3455
  self.ipGeoLocation = params.get("ipGeoLocation")
3350
3456
  self.standard = params.get("standard")
3351
3457
  self.isConsistent = params.get("isConsistent")
@@ -3394,6 +3500,7 @@ class CreateEipsRequest(AbstractModel):
3394
3500
  self.tags = None
3395
3501
  self.instanceIds = None
3396
3502
  self.bindType = None
3503
+ self.rateLimitMode = None
3397
3504
 
3398
3505
  def _deserialize(self, params):
3399
3506
  self.regionId = params.get("regionId")
@@ -3422,6 +3529,7 @@ class CreateEipsRequest(AbstractModel):
3422
3529
  self.tags = TagAssociation(params.get("tags"))
3423
3530
  self.instanceIds = params.get("instanceIds")
3424
3531
  self.bindType = params.get("bindType")
3532
+ self.rateLimitMode = params.get("rateLimitMode")
3425
3533
 
3426
3534
 
3427
3535
  class CreateEipsResponse(AbstractModel):
@@ -3854,6 +3962,24 @@ class EipMetricValue(AbstractModel):
3854
3962
  self.loseOut = params.get("loseOut")
3855
3963
 
3856
3964
 
3965
+ class ModifyEipBandwidthLimitModeRequest(AbstractModel):
3966
+ def __init__(self):
3967
+ self.eipId = None
3968
+ self.rateLimitMode = None
3969
+
3970
+ def _deserialize(self, params):
3971
+ self.eipId = params.get("eipId")
3972
+ self.rateLimitMode = params.get("rateLimitMode")
3973
+
3974
+
3975
+ class ModifyEipBandwidthLimitModeResponse(AbstractModel):
3976
+ def __init__(self):
3977
+ self.requestId = None
3978
+
3979
+ def _deserialize(self, params):
3980
+ self.requestId = params.get("requestId")
3981
+
3982
+
3857
3983
  class DescribeRoutesRequest(AbstractModel):
3858
3984
  def __init__(self):
3859
3985
  self.routeIds = None
@@ -4753,6 +4879,87 @@ class DeleteBorderGatewayResponse(AbstractModel):
4753
4879
  self.requestId = params.get("requestId")
4754
4880
 
4755
4881
 
4882
+ class DescribeUnmanagedEgressIpsRequest(AbstractModel):
4883
+ def __init__(self):
4884
+ self.unmanagedEgressIpIds = None
4885
+ self.regionId = None
4886
+ self.vpcId = None
4887
+ self.pageSize = None
4888
+ self.pageNum = None
4889
+
4890
+ def _deserialize(self, params):
4891
+ self.unmanagedEgressIpIds = params.get("unmanagedEgressIpIds")
4892
+ self.regionId = params.get("regionId")
4893
+ self.vpcId = params.get("vpcId")
4894
+ self.pageSize = params.get("pageSize")
4895
+ self.pageNum = params.get("pageNum")
4896
+
4897
+
4898
+ class DescribeUnmanagedEgressIpsResponse(AbstractModel):
4899
+ def __init__(self):
4900
+ self.requestId = None
4901
+ self.totalCount = None
4902
+ self.dataSet = None
4903
+
4904
+ def _deserialize(self, params):
4905
+ self.requestId = params.get("requestId")
4906
+ self.totalCount = params.get("totalCount")
4907
+ if params.get("dataSet") is not None:
4908
+ self.dataSet = []
4909
+ for item in params.get("dataSet"):
4910
+ obj = UnmanagedEgressIpInfo(item)
4911
+ self.dataSet.append(obj)
4912
+
4913
+
4914
+ class UnmanagedEgressIpInfo(AbstractModel):
4915
+ def __init__(self, params=None):
4916
+ if params is None:
4917
+ params = {}
4918
+ if len(params) > 0:
4919
+ self._deserialize(params)
4920
+ return
4921
+ self.unmanagedEgressIpId = None
4922
+ self.ip = None
4923
+ self.regionId = None
4924
+ self.vpcId = None
4925
+ self.status = None
4926
+ self.networkLineType = None
4927
+ self.internetChargeType = None
4928
+ self.bandwidthCap = None
4929
+ self.rateLimitMode = None
4930
+ self.createTime = None
4931
+
4932
+ def _deserialize(self, params):
4933
+ self.unmanagedEgressIpId = params.get("unmanagedEgressIpId")
4934
+ self.ip = params.get("ip")
4935
+ self.regionId = params.get("regionId")
4936
+ self.vpcId = params.get("vpcId")
4937
+ self.status = params.get("status")
4938
+ self.networkLineType = params.get("networkLineType")
4939
+ self.internetChargeType = params.get("internetChargeType")
4940
+ self.bandwidthCap = params.get("bandwidthCap")
4941
+ self.rateLimitMode = params.get("rateLimitMode")
4942
+ self.createTime = params.get("createTime")
4943
+
4944
+
4945
+ class ModifyUnmanagedEgressIpBandwidthLimitModeRequest(AbstractModel):
4946
+ def __init__(self):
4947
+ self.unmanagedEgressIpId = None
4948
+ self.rateLimitMode = None
4949
+
4950
+ def _deserialize(self, params):
4951
+ self.unmanagedEgressIpId = params.get("unmanagedEgressIpId")
4952
+ self.rateLimitMode = params.get("rateLimitMode")
4953
+
4954
+
4955
+ class ModifyUnmanagedEgressIpBandwidthLimitModeResponse(AbstractModel):
4956
+ def __init__(self):
4957
+ self.requestId = None
4958
+
4959
+ def _deserialize(self, params):
4960
+ self.requestId = params.get("requestId")
4961
+
4962
+
4756
4963
  class DescribeVpcsRequest(AbstractModel):
4757
4964
  def __init__(self):
4758
4965
  self.vpcIds = None
@@ -5023,6 +5230,7 @@ class SubnetInfo(AbstractModel):
5023
5230
  self.createTime = None
5024
5231
  self.isDefault = None
5025
5232
  self.dhcpOptionsSetId = None
5233
+ self.ipv6MaskLength = None
5026
5234
 
5027
5235
  def _deserialize(self, params):
5028
5236
  self.subnetId = params.get("subnetId")
@@ -5041,6 +5249,7 @@ class SubnetInfo(AbstractModel):
5041
5249
  self.createTime = params.get("createTime")
5042
5250
  self.isDefault = params.get("isDefault")
5043
5251
  self.dhcpOptionsSetId = params.get("dhcpOptionsSetId")
5252
+ self.ipv6MaskLength = params.get("ipv6MaskLength")
5044
5253
 
5045
5254
 
5046
5255
  class CreateSubnetRequest(AbstractModel):
@@ -6600,3 +6809,249 @@ class ModifyInstancePlacementResponse(AbstractModel):
6600
6809
  self.requestId = params.get("requestId")
6601
6810
 
6602
6811
 
6812
+ class DescribeQosPolicyGroupsRequest(AbstractModel):
6813
+ def __init__(self):
6814
+ self.qosPolicyGroupIds = None
6815
+ self.regionId = None
6816
+ self.resourceGroupId = None
6817
+ self.resourceId = None
6818
+ self.pageSize = None
6819
+ self.pageNum = None
6820
+ self.tagKeys = None
6821
+ self.tags = None
6822
+
6823
+ def _deserialize(self, params):
6824
+ self.qosPolicyGroupIds = params.get("qosPolicyGroupIds")
6825
+ self.regionId = params.get("regionId")
6826
+ self.resourceGroupId = params.get("resourceGroupId")
6827
+ self.resourceId = params.get("resourceId")
6828
+ self.pageSize = params.get("pageSize")
6829
+ self.pageNum = params.get("pageNum")
6830
+ self.tagKeys = params.get("tagKeys")
6831
+ if params.get("tags") is not None:
6832
+ self.tags = []
6833
+ for item in params.get("tags"):
6834
+ obj = Tag(item)
6835
+ self.tags.append(obj)
6836
+
6837
+
6838
+ class DescribeQosPolicyGroupsResponse(AbstractModel):
6839
+ def __init__(self):
6840
+ self.requestId = None
6841
+ self.totalCount = None
6842
+ self.dataSet = None
6843
+
6844
+ def _deserialize(self, params):
6845
+ self.requestId = params.get("requestId")
6846
+ self.totalCount = params.get("totalCount")
6847
+ if params.get("dataSet") is not None:
6848
+ self.dataSet = []
6849
+ for item in params.get("dataSet"):
6850
+ obj = QosPolicyGroup(item)
6851
+ self.dataSet.append(obj)
6852
+
6853
+
6854
+ class QosPolicyGroup(AbstractModel):
6855
+ def __init__(self, params=None):
6856
+ if params is None:
6857
+ params = {}
6858
+ if len(params) > 0:
6859
+ self._deserialize(params)
6860
+ return
6861
+ self.qosPolicyGroupId = None
6862
+ self.name = None
6863
+ self.regionId = None
6864
+ self.bandwidthLimit = None
6865
+ self.rateLimitMode = None
6866
+ self.memberCount = None
6867
+ self.members = None
6868
+ self.createTime = None
6869
+ self.resourceGroup = None
6870
+ self.tags = None
6871
+
6872
+ def _deserialize(self, params):
6873
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
6874
+ self.name = params.get("name")
6875
+ self.regionId = params.get("regionId")
6876
+ self.bandwidthLimit = params.get("bandwidthLimit")
6877
+ self.rateLimitMode = params.get("rateLimitMode")
6878
+ self.memberCount = params.get("memberCount")
6879
+ if params.get("members") is not None:
6880
+ self.members = []
6881
+ for item in params.get("members"):
6882
+ obj = QosPolicyGroupMember(item)
6883
+ self.members.append(obj)
6884
+ self.createTime = params.get("createTime")
6885
+ if params.get("resourceGroup") is not None:
6886
+ self.resourceGroup = ResourceGroupInfo(params.get("resourceGroup"))
6887
+ if params.get("tags") is not None:
6888
+ self.tags = Tags(params.get("tags"))
6889
+
6890
+
6891
+ class QosPolicyGroupMember(AbstractModel):
6892
+ def __init__(self, params=None):
6893
+ if params is None:
6894
+ params = {}
6895
+ if len(params) > 0:
6896
+ self._deserialize(params)
6897
+ return
6898
+ self.resourceId = None
6899
+ self.ipType = None
6900
+
6901
+ def _deserialize(self, params):
6902
+ self.resourceId = params.get("resourceId")
6903
+ self.ipType = params.get("ipType")
6904
+
6905
+
6906
+ class CreateQosPolicyGroupRequest(AbstractModel):
6907
+ def __init__(self):
6908
+ self.regionId = None
6909
+ self.name = None
6910
+ self.bandwidthLimit = None
6911
+ self.rateLimitMode = None
6912
+ self.resourceGroupId = None
6913
+ self.tags = None
6914
+
6915
+ def _deserialize(self, params):
6916
+ self.regionId = params.get("regionId")
6917
+ self.name = params.get("name")
6918
+ self.bandwidthLimit = params.get("bandwidthLimit")
6919
+ self.rateLimitMode = params.get("rateLimitMode")
6920
+ self.resourceGroupId = params.get("resourceGroupId")
6921
+ if params.get("tags") is not None:
6922
+ self.tags = TagAssociation(params.get("tags"))
6923
+
6924
+
6925
+ class CreateQosPolicyGroupResponse(AbstractModel):
6926
+ def __init__(self):
6927
+ self.requestId = None
6928
+ self.qosPolicyGroupId = None
6929
+
6930
+ def _deserialize(self, params):
6931
+ self.requestId = params.get("requestId")
6932
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
6933
+
6934
+
6935
+ class ModifyQosPolicyGroupRequest(AbstractModel):
6936
+ def __init__(self):
6937
+ self.qosPolicyGroupId = None
6938
+ self.name = None
6939
+ self.bandwidthLimit = None
6940
+ self.rateLimitMode = None
6941
+
6942
+ def _deserialize(self, params):
6943
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
6944
+ self.name = params.get("name")
6945
+ self.bandwidthLimit = params.get("bandwidthLimit")
6946
+ self.rateLimitMode = params.get("rateLimitMode")
6947
+
6948
+
6949
+ class ModifyQosPolicyGroupResponse(AbstractModel):
6950
+ def __init__(self):
6951
+ self.requestId = None
6952
+
6953
+ def _deserialize(self, params):
6954
+ self.requestId = params.get("requestId")
6955
+
6956
+
6957
+ class AddQosPolicyGroupMembersRequest(AbstractModel):
6958
+ def __init__(self):
6959
+ self.qosPolicyGroupId = None
6960
+ self.members = None
6961
+
6962
+ def _deserialize(self, params):
6963
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
6964
+ if params.get("members") is not None:
6965
+ self.members = []
6966
+ for item in params.get("members"):
6967
+ obj = QosPolicyGroupMember(item)
6968
+ self.members.append(obj)
6969
+
6970
+
6971
+ class AddQosPolicyGroupMembersResponse(AbstractModel):
6972
+ def __init__(self):
6973
+ self.requestId = None
6974
+
6975
+ def _deserialize(self, params):
6976
+ self.requestId = params.get("requestId")
6977
+
6978
+
6979
+ class RemoveQosPolicyGroupMembersRequest(AbstractModel):
6980
+ def __init__(self):
6981
+ self.qosPolicyGroupId = None
6982
+ self.resourceIds = None
6983
+
6984
+ def _deserialize(self, params):
6985
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
6986
+ self.resourceIds = params.get("resourceIds")
6987
+
6988
+
6989
+ class RemoveQosPolicyGroupMembersResponse(AbstractModel):
6990
+ def __init__(self):
6991
+ self.requestId = None
6992
+
6993
+ def _deserialize(self, params):
6994
+ self.requestId = params.get("requestId")
6995
+
6996
+
6997
+ class DeleteQosPolicyGroupRequest(AbstractModel):
6998
+ def __init__(self):
6999
+ self.qosPolicyGroupId = None
7000
+
7001
+ def _deserialize(self, params):
7002
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
7003
+
7004
+
7005
+ class DeleteQosPolicyGroupResponse(AbstractModel):
7006
+ def __init__(self):
7007
+ self.requestId = None
7008
+
7009
+ def _deserialize(self, params):
7010
+ self.requestId = params.get("requestId")
7011
+
7012
+
7013
+ class DescribeQosPolicyGroupTrafficRequest(AbstractModel):
7014
+ def __init__(self):
7015
+ self.qosPolicyGroupId = None
7016
+ self.startTime = None
7017
+ self.endTime = None
7018
+ self.period = None
7019
+
7020
+ def _deserialize(self, params):
7021
+ self.qosPolicyGroupId = params.get("qosPolicyGroupId")
7022
+ self.startTime = params.get("startTime")
7023
+ self.endTime = params.get("endTime")
7024
+ self.period = params.get("period")
7025
+
7026
+
7027
+ class DescribeQosPolicyGroupTrafficResponse(AbstractModel):
7028
+ def __init__(self):
7029
+ self.requestId = None
7030
+ self.dataSet = None
7031
+
7032
+ def _deserialize(self, params):
7033
+ self.requestId = params.get("requestId")
7034
+ if params.get("dataSet") is not None:
7035
+ self.dataSet = []
7036
+ for item in params.get("dataSet"):
7037
+ obj = TrafficDataPoint(item)
7038
+ self.dataSet.append(obj)
7039
+
7040
+
7041
+ class TrafficDataPoint(AbstractModel):
7042
+ def __init__(self, params=None):
7043
+ if params is None:
7044
+ params = {}
7045
+ if len(params) > 0:
7046
+ self._deserialize(params)
7047
+ return
7048
+ self.timestamp = None
7049
+ self.bandwidthIn = None
7050
+ self.bandwidthOut = None
7051
+
7052
+ def _deserialize(self, params):
7053
+ self.timestamp = params.get("timestamp")
7054
+ self.bandwidthIn = params.get("bandwidthIn")
7055
+ self.bandwidthOut = params.get("bandwidthOut")
7056
+
7057
+
@@ -26,6 +26,15 @@ class ZecClient(AbstractClient):
26
26
  model._deserialize(response)
27
27
  return model
28
28
 
29
+ def DescribeVmInventoryCapacity(self, request):
30
+ """
31
+ 查询各节点VM库存容量级别信息。
32
+ """
33
+ response = self._api_call("DescribeVmInventoryCapacity", request)
34
+ model = models.DescribeVmInventoryCapacityResponse()
35
+ model._deserialize(response)
36
+ return model
37
+
29
38
  def DescribeTimeZones(self, request):
30
39
  """
31
40
  查询时区信息。
@@ -233,6 +242,15 @@ class ZecClient(AbstractClient):
233
242
  model._deserialize(response)
234
243
  return model
235
244
 
245
+ def DescribeCustomImages(self, request):
246
+ """
247
+ 查询当前账号下的自定义镜像列表。
248
+ """
249
+ response = self._api_call("DescribeCustomImages", request)
250
+ model = models.DescribeCustomImagesResponse()
251
+ model._deserialize(response)
252
+ return model
253
+
236
254
  def ModifyImagesAttributes(self, request):
237
255
  """
238
256
  修改自定义镜像属性。
@@ -269,15 +287,6 @@ class ZecClient(AbstractClient):
269
287
  model._deserialize(response)
270
288
  return model
271
289
 
272
- def DescribeCustomImages(self, request):
273
- """
274
- 查询当前账号下的自定义镜像列表。
275
- """
276
- response = self._api_call("DescribeCustomImages", request)
277
- model = models.DescribeCustomImagesResponse()
278
- model._deserialize(response)
279
- return model
280
-
281
290
  def DescribeDiskRegions(self, request):
282
291
  """
283
292
  查询当前账户下支持创建和售卖云硬盘的所有节点(地域/可用区)信息。
@@ -629,6 +638,15 @@ class ZecClient(AbstractClient):
629
638
  model._deserialize(response)
630
639
  return model
631
640
 
641
+ def ModifyNetworkInterfacePublicIPv6BandwidthLimitMode(self, request):
642
+ """
643
+ 修改指定公网IPv6的带宽限速模式。LOOSE为宽松模式(允许短时突发),STRICT为严格模式(不允许突发)。仅支持已配置固定带宽的IPv6。
644
+ """
645
+ response = self._api_call("ModifyNetworkInterfacePublicIPv6BandwidthLimitMode", request)
646
+ model = models.ModifyNetworkInterfacePublicIPv6BandwidthLimitModeResponse()
647
+ model._deserialize(response)
648
+ return model
649
+
632
650
  def DescribePools(self, request):
633
651
  """
634
652
  查询账户下的公网 IP 池信息,支持按 IP 池 ID、地域或名称进行筛选,支持分页查询。
@@ -944,6 +962,15 @@ class ZecClient(AbstractClient):
944
962
  model._deserialize(response)
945
963
  return model
946
964
 
965
+ def ModifyEipBandwidthLimitMode(self, request):
966
+ """
967
+ 修改指定弹性公网IP的带宽限速模式。LOOSE为宽松模式(允许短时突发),STRICT为严格模式(不允许突发)。仅支持已配置固定带宽的IP。
968
+ """
969
+ response = self._api_call("ModifyEipBandwidthLimitMode", request)
970
+ model = models.ModifyEipBandwidthLimitModeResponse()
971
+ model._deserialize(response)
972
+ return model
973
+
947
974
  def DescribeRoutes(self, request):
948
975
  """
949
976
  查询路由列表。用户可以根据ID、名称等信息来搜索Route信息。路由列表包括系统生成的以及用户创建的路由。
@@ -1214,6 +1241,24 @@ class ZecClient(AbstractClient):
1214
1241
  model._deserialize(response)
1215
1242
  return model
1216
1243
 
1244
+ def DescribeUnmanagedEgressIps(self, request):
1245
+ """
1246
+ 查询满足条件的非托管出口IP列表,返回IP基础信息及带宽限速模式。
1247
+ """
1248
+ response = self._api_call("DescribeUnmanagedEgressIps", request)
1249
+ model = models.DescribeUnmanagedEgressIpsResponse()
1250
+ model._deserialize(response)
1251
+ return model
1252
+
1253
+ def ModifyUnmanagedEgressIpBandwidthLimitMode(self, request):
1254
+ """
1255
+ 修改指定非托管出口IP的带宽限速模式。LOOSE为宽松模式(允许短时突发),STRICT为严格模式(不允许突发)。仅支持已配置固定带宽的IP。
1256
+ """
1257
+ response = self._api_call("ModifyUnmanagedEgressIpBandwidthLimitMode", request)
1258
+ model = models.ModifyUnmanagedEgressIpBandwidthLimitModeResponse()
1259
+ model._deserialize(response)
1260
+ return model
1261
+
1217
1262
  def DescribeVpcs(self, request):
1218
1263
  """
1219
1264
  查询私有网络(VPC)列表,用户可以根据 VPC ID、VPC 名称等信息来筛选过滤VPC信息。
@@ -1673,3 +1718,66 @@ class ZecClient(AbstractClient):
1673
1718
  model._deserialize(response)
1674
1719
  return model
1675
1720
 
1721
+ def DescribeQosPolicyGroups(self, request):
1722
+ """
1723
+ 查询一个或多个QoS策略组的详细信息。
1724
+ """
1725
+ response = self._api_call("DescribeQosPolicyGroups", request)
1726
+ model = models.DescribeQosPolicyGroupsResponse()
1727
+ model._deserialize(response)
1728
+ return model
1729
+
1730
+ def CreateQosPolicyGroup(self, request):
1731
+ """
1732
+ 创建一个QoS策略组,将EIP、IPv6或UNMANAGED出口IP纳入同一策略组实施共享带宽限速。
1733
+ """
1734
+ response = self._api_call("CreateQosPolicyGroup", request)
1735
+ model = models.CreateQosPolicyGroupResponse()
1736
+ model._deserialize(response)
1737
+ return model
1738
+
1739
+ def ModifyQosPolicyGroup(self, request):
1740
+ """
1741
+ 修改QoS策略组的名称或带宽限制。
1742
+ """
1743
+ response = self._api_call("ModifyQosPolicyGroup", request)
1744
+ model = models.ModifyQosPolicyGroupResponse()
1745
+ model._deserialize(response)
1746
+ return model
1747
+
1748
+ def AddQosPolicyGroupMembers(self, request):
1749
+ """
1750
+ 向QoS策略组中添加EIP、IPv6或UNMANAGED出口IP。
1751
+ """
1752
+ response = self._api_call("AddQosPolicyGroupMembers", request)
1753
+ model = models.AddQosPolicyGroupMembersResponse()
1754
+ model._deserialize(response)
1755
+ return model
1756
+
1757
+ def RemoveQosPolicyGroupMembers(self, request):
1758
+ """
1759
+ 从QoS策略组中移除成员。
1760
+ """
1761
+ response = self._api_call("RemoveQosPolicyGroupMembers", request)
1762
+ model = models.RemoveQosPolicyGroupMembersResponse()
1763
+ model._deserialize(response)
1764
+ return model
1765
+
1766
+ def DeleteQosPolicyGroup(self, request):
1767
+ """
1768
+ 删除一个QoS策略组。删除前需确保策略组内无成员。
1769
+ """
1770
+ response = self._api_call("DeleteQosPolicyGroup", request)
1771
+ model = models.DeleteQosPolicyGroupResponse()
1772
+ model._deserialize(response)
1773
+ return model
1774
+
1775
+ def DescribeQosPolicyGroupTraffic(self, request):
1776
+ """
1777
+ 查询QoS策略组的聚合流量监控数据。
1778
+ """
1779
+ response = self._api_call("DescribeQosPolicyGroupTraffic", request)
1780
+ model = models.DescribeQosPolicyGroupTrafficResponse()
1781
+ model._deserialize(response)
1782
+ return model
1783
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.51
3
+ Version: 2.0.53
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
- zenlayercloud/__init__.py,sha256=xERZUcpsVle6lCK7ivC86nBFxCc81CkCdoy0QEL1cQo,95
1
+ zenlayercloud/__init__.py,sha256=Su0mbmvZZjSJ7_GsObbQCGsIktlMzKOiojDOsqIRXTs,95
2
2
  zenlayercloud/alarm/__init__.py,sha256=A82oWiV038jIXEbygeOeO1DzWKOqGkdQI2X9BX0HkvM,69
3
3
  zenlayercloud/alarm/v20250307/__init__.py,sha256=A82oWiV038jIXEbygeOeO1DzWKOqGkdQI2X9BX0HkvM,69
4
4
  zenlayercloud/alarm/v20250307/alarm_client.py,sha256=XEjaZogH4BnFw7KSRM1080v9nPApX5J9drChmGyLH8Y,504
@@ -69,8 +69,8 @@ zenlayercloud/zec/v20240401/__init__.py,sha256=A82oWiV038jIXEbygeOeO1DzWKOqGkdQI
69
69
  zenlayercloud/zec/v20240401/models.py,sha256=2y8NHcednqU-_TdxG6WMfdA1ySvDaTeS7SnnxPfOBNE,131319
70
70
  zenlayercloud/zec/v20240401/zec_client.py,sha256=KoDlhy0ufpQB8eHCr4WP1AY5TNvtWK_0XnyoUGA0TeA,29784
71
71
  zenlayercloud/zec/v20250901/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- zenlayercloud/zec/v20250901/models.py,sha256=aXF8QyZbaYmOxwjaQ3K3cDtDiWIenpPxWb-jhQ1V_us,207828
73
- zenlayercloud/zec/v20250901/zec_client.py,sha256=PdYytK59FFj-UB-vfJWwiB951Naw-aBaTCdX4QJK5No,57927
72
+ zenlayercloud/zec/v20250901/models.py,sha256=0liPW3XC0sr_Wd4cd4SLP7zzAYCEk-YHZeXhrhrH7kY,222442
73
+ zenlayercloud/zec/v20250901/zec_client.py,sha256=W2bi7IYZmnPPlQ2icjkevZ4811UesDWBNK_RSsHuzUk,62392
74
74
  zenlayercloud/zga/__init__.py,sha256=A82oWiV038jIXEbygeOeO1DzWKOqGkdQI2X9BX0HkvM,69
75
75
  zenlayercloud/zga/v20241104/__init__.py,sha256=A82oWiV038jIXEbygeOeO1DzWKOqGkdQI2X9BX0HkvM,69
76
76
  zenlayercloud/zga/v20241104/models.py,sha256=92gBJss6q0Z5FGk2DfHBTvCdif6OY5cVU32gXOY3E2M,40155
@@ -91,8 +91,8 @@ zenlayercloud/zrm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
91
91
  zenlayercloud/zrm/v20251014/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  zenlayercloud/zrm/v20251014/models.py,sha256=3As3PAdEKe_Cpb1QpGI2_mrMlM2uZ6QOa4isOi09q3I,7491
93
93
  zenlayercloud/zrm/v20251014/zrm_client.py,sha256=p3fKeOdhGdjx_MhFcMuu9wv4bkSiwn_GNrj_570fkMg,2504
94
- zenlayercloud_sdk_python-2.0.51.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
95
- zenlayercloud_sdk_python-2.0.51.dist-info/METADATA,sha256=U5eYlR4MhcQfUYwkMjRthdAoNC_chLQ3YwOqYe-s2p8,1653
96
- zenlayercloud_sdk_python-2.0.51.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
97
- zenlayercloud_sdk_python-2.0.51.dist-info/top_level.txt,sha256=ZU6L6c0yQDkyO8nG0oGpC6ptc0TNucEncz3xbFsoHmE,14
98
- zenlayercloud_sdk_python-2.0.51.dist-info/RECORD,,
94
+ zenlayercloud_sdk_python-2.0.53.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
95
+ zenlayercloud_sdk_python-2.0.53.dist-info/METADATA,sha256=XHBBNxyfDImJ6-UfJKEM_JhAVDANO5Qx3lucNLYO6o4,1653
96
+ zenlayercloud_sdk_python-2.0.53.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
97
+ zenlayercloud_sdk_python-2.0.53.dist-info/top_level.txt,sha256=ZU6L6c0yQDkyO8nG0oGpC6ptc0TNucEncz3xbFsoHmE,14
98
+ zenlayercloud_sdk_python-2.0.53.dist-info/RECORD,,