zenlayercloud-sdk-python 2.0.32__tar.gz → 2.0.34__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 (83) hide show
  1. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/__init__.py +1 -1
  3. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/bmc/v20221120/models.py +111 -9
  4. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zec/v20250901/models.py +5293 -0
  5. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zec/v20250901/zec_client.py +916 -0
  6. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zlb/__init__.py +0 -0
  7. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zlb/v20250401/__init__.py +0 -0
  8. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zlb/v20250401/models.py +818 -0
  9. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zlb/v20250401/zlb_client.py +112 -0
  10. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zos/__init__.py +0 -0
  11. zenlayercloud_sdk_python-2.0.34/zenlayercloud/zos/v20251010/__init__.py +0 -0
  12. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  13. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +7 -0
  14. zenlayercloud_sdk_python-2.0.32/zenlayercloud/zrm/__init__.py +0 -2
  15. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/LICENSE +0 -0
  16. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/README.rst +0 -0
  17. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/setup.cfg +0 -0
  18. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/setup.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/alarm/__init__.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/alarm/v20250307/models.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/bmc/__init__.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/ccs/__init__.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/ccs/v20250901/models.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/__init__.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/abstract_client.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/abstract_model.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/config.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/credential.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/excpetion/__init__.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/excpetion/error_code.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/request.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/response.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/common/utils.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/maintenance/__init__.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/maintenance/v20250310/models.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/sdn/__init__.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/sdn/v20230830/models.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/sdn/v20230830/sdn_client.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/traffic/__init__.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/traffic/v20240326/models.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/user/__init__.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/user/v20240529/__init__.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/user/v20240529/models.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/user/v20240529/user_client.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/vm/__init__.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/vm/v20230313/models.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zbc/__init__.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zbc/v20240809/models.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zos → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zec}/__init__.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zec → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zec/v20240401}/__init__.py +0 -0
  67. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zec/v20240401/models.py +0 -0
  68. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
  69. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zos/v20251010 → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zec/v20250901}/__init__.py +0 -0
  70. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zec/v20240401 → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zga}/__init__.py +0 -0
  71. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zga → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zga/v20241104}/__init__.py +0 -0
  72. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zga/v20241104/models.py +0 -0
  73. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  74. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zga/v20241104 → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zls}/__init__.py +0 -0
  75. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zls → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zls/v20230804}/__init__.py +0 -0
  76. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zls/v20230804/models.py +0 -0
  77. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  78. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zos/v20251010/models.py +0 -0
  79. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud/zos/v20251010/zos_client.py +0 -0
  80. {zenlayercloud_sdk_python-2.0.32/zenlayercloud/zls/v20230804 → zenlayercloud_sdk_python-2.0.34/zenlayercloud/zrm}/__init__.py +0 -0
  81. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  82. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  83. {zenlayercloud_sdk_python-2.0.32 → zenlayercloud_sdk_python-2.0.34}/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.32
3
+ Version: 2.0.34
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,5 +1,5 @@
1
1
  # Zenlayer.com Inc.
2
2
  # Copyright (c) 2014-2023 All Rights Reserved.
3
3
 
4
- __version__ = "2.0.032"
4
+ __version__ = "2.0.034"
5
5
 
@@ -32,6 +32,7 @@ class CreateInstancesRequest(AbstractModel):
32
32
  self.enablePrimaryIPv6 = None
33
33
  self.marketingOptions = None
34
34
  self.userData = None
35
+ self.tags = None
35
36
 
36
37
  def _deserialize(self, params):
37
38
  self.zoneId = params.get("zoneId")
@@ -66,6 +67,8 @@ class CreateInstancesRequest(AbstractModel):
66
67
  if params.get("marketingOptions") is not None:
67
68
  self.marketingOptions = MarketingInfo(params.get("marketingOptions"))
68
69
  self.userData = params.get("userData")
70
+ if params.get("tags") is not None:
71
+ self.tags = TagAssociation(params.get("tags"))
69
72
 
70
73
 
71
74
  class CreateInstancesResponse(AbstractModel):
@@ -130,12 +133,14 @@ class Zone(AbstractModel):
130
133
  self.zoneName = None
131
134
  self.cityName = None
132
135
  self.areaName = None
136
+ self.isCloudRouterAvailable = None
133
137
 
134
138
  def _deserialize(self, params):
135
139
  self.zoneId = params.get("zoneId")
136
140
  self.zoneName = params.get("zoneName")
137
141
  self.cityName = params.get("cityName")
138
142
  self.areaName = params.get("areaName")
143
+ self.isCloudRouterAvailable = params.get("isCloudRouterAvailable")
139
144
 
140
145
 
141
146
  class RaidConfig(AbstractModel):
@@ -274,9 +279,11 @@ class Nic(AbstractModel):
274
279
  class DescribeZonesRequest(AbstractModel):
275
280
  def __init__(self):
276
281
  self.acceptLanguage = None
282
+ self.isCloudRouterAvailable = None
277
283
 
278
284
  def _deserialize(self, params):
279
285
  self.acceptLanguage = params.get("acceptLanguage")
286
+ self.isCloudRouterAvailable = params.get("isCloudRouterAvailable")
280
287
 
281
288
 
282
289
  class DescribeZonesResponse(AbstractModel):
@@ -367,6 +374,8 @@ class DescribeInstancesRequest(AbstractModel):
367
374
  self.privateIpAddresses = None
368
375
  self.pageSize = None
369
376
  self.pageNum = None
377
+ self.tagKeys = None
378
+ self.tags = None
370
379
 
371
380
  def _deserialize(self, params):
372
381
  self.instanceIds = params.get("instanceIds")
@@ -383,7 +392,12 @@ class DescribeInstancesRequest(AbstractModel):
383
392
  self.privateIpAddresses = params.get("privateIpAddresses")
384
393
  self.pageSize = params.get("pageSize")
385
394
  self.pageNum = params.get("pageNum")
386
-
395
+ self.tagKeys = params.get("tagKeys")
396
+ if params.get("tags") is not None:
397
+ self.tags = []
398
+ for item in params.get("tags"):
399
+ obj = Tag(item)
400
+ self.tags.append(obj)
387
401
 
388
402
  class DescribeInstancesResponse(AbstractModel):
389
403
 
@@ -439,6 +453,7 @@ class InstanceInfo(AbstractModel):
439
453
  self.partitions = None
440
454
  self.nic = None
441
455
  self.autoRenew = None
456
+ self.tags = None
442
457
 
443
458
  def _deserialize(self, params):
444
459
  self.instanceId = params.get("instanceId")
@@ -476,7 +491,8 @@ class InstanceInfo(AbstractModel):
476
491
  if params.get("nic") is not None:
477
492
  self.nic = Nic(params.get("nic"))
478
493
  self.autoRenew = params.get("autoRenew")
479
-
494
+ if params.get("tags") is not None:
495
+ self.tags = Tags(params.get("tags"))
480
496
 
481
497
  class StartInstancesRequest(AbstractModel):
482
498
 
@@ -1263,6 +1279,8 @@ class DescribeEipAddressesRequest(AbstractModel):
1263
1279
  self.resourceGroupId = None
1264
1280
  self.pageNum = None
1265
1281
  self.pageSize = None
1282
+ self.tagKeys = None
1283
+ self.tags = None
1266
1284
 
1267
1285
  def _deserialize(self, params):
1268
1286
  self.eipChargeType = params.get("eipChargeType")
@@ -1275,7 +1293,12 @@ class DescribeEipAddressesRequest(AbstractModel):
1275
1293
  self.resourceGroupId = params.get("resourceGroupId")
1276
1294
  self.pageNum = params.get("pageNum")
1277
1295
  self.pageSize = params.get("pageSize")
1278
-
1296
+ self.tagKeys = params.get("tagKeys")
1297
+ if params.get("tags") is not None:
1298
+ self.tags = []
1299
+ for item in params.get("tags"):
1300
+ obj = Tag(item)
1301
+ self.tags.append(obj)
1279
1302
 
1280
1303
  class DescribeEipAddressesResponse(AbstractModel):
1281
1304
 
@@ -1314,6 +1337,7 @@ class EipAddress(AbstractModel):
1314
1337
  self.eipStatus = None
1315
1338
  self.resourceGroupId = None
1316
1339
  self.resourceGroupName = None
1340
+ self.tags = None
1317
1341
 
1318
1342
  def _deserialize(self, params):
1319
1343
  self.eipId = params.get("eipId")
@@ -1328,7 +1352,8 @@ class EipAddress(AbstractModel):
1328
1352
  self.eipStatus = params.get("eipStatus")
1329
1353
  self.resourceGroupId = params.get("resourceGroupId")
1330
1354
  self.resourceGroupName = params.get("resourceGroupName")
1331
-
1355
+ if params.get("tags") is not None:
1356
+ self.tags = Tags(params.get("tags"))
1332
1357
 
1333
1358
  class DescribeEipAvailableResourcesRequest(AbstractModel):
1334
1359
 
@@ -1381,6 +1406,7 @@ class AllocateEipAddressesRequest(AbstractModel):
1381
1406
  self.amount = None
1382
1407
  self.resourceGroupId = None
1383
1408
  self.marketingOptions = None
1409
+ self.tags = None
1384
1410
 
1385
1411
  def _deserialize(self, params):
1386
1412
  self.zoneId = params.get("zoneId")
@@ -1391,7 +1417,40 @@ class AllocateEipAddressesRequest(AbstractModel):
1391
1417
  self.resourceGroupId = params.get("resourceGroupId")
1392
1418
  if params.get("marketingOptions") is not None:
1393
1419
  self.marketingOptions = MarketingInfo(params.get("marketingOptions"))
1420
+ if params.get("tags") is not None:
1421
+ self.tags = TagAssociation(params.get("tags"))
1422
+
1423
+
1424
+ class TagAssociation(AbstractModel):
1425
+ def __init__(self, params=None):
1426
+ if params is None:
1427
+ params = {}
1428
+ if len(params) > 0:
1429
+ self._deserialize(params)
1430
+ return
1431
+ self.tags = None
1432
+
1433
+ def _deserialize(self, params):
1434
+ if params.get("tags") is not None:
1435
+ self.tags = []
1436
+ for item in params.get("tags"):
1437
+ obj = Tag(item)
1438
+ self.tags.append(obj)
1439
+
1440
+
1441
+ class Tag(AbstractModel):
1442
+ def __init__(self, params=None):
1443
+ if params is None:
1444
+ params = {}
1445
+ if len(params) > 0:
1446
+ self._deserialize(params)
1447
+ return
1448
+ self.key = None
1449
+ self.value = None
1394
1450
 
1451
+ def _deserialize(self, params):
1452
+ self.key = params.get("key")
1453
+ self.value = params.get("value")
1395
1454
 
1396
1455
 
1397
1456
  class AllocateEipAddressesResponse(AbstractModel):
@@ -1600,6 +1659,8 @@ class DescribeCidrBlocksRequest(AbstractModel):
1600
1659
  self.resourceGroupId = None
1601
1660
  self.pageSize = None
1602
1661
  self.pageNum = None
1662
+ self.tagKeys = None
1663
+ self.tags = None
1603
1664
 
1604
1665
  def _deserialize(self, params):
1605
1666
  self.cidrBlockIds = params.get("cidrBlockIds")
@@ -1612,7 +1673,12 @@ class DescribeCidrBlocksRequest(AbstractModel):
1612
1673
  self.resourceGroupId = params.get("resourceGroupId")
1613
1674
  self.pageSize = params.get("pageSize")
1614
1675
  self.pageNum = params.get("pageNum")
1615
-
1676
+ self.tagKeys = params.get("tagKeys")
1677
+ if params.get("tags") is not None:
1678
+ self.tags = []
1679
+ for item in params.get("tags"):
1680
+ obj = Tag(item)
1681
+ self.tags.append(obj)
1616
1682
 
1617
1683
  class DescribeCidrBlocksResponse(AbstractModel):
1618
1684
 
@@ -1655,6 +1721,7 @@ class CidrBlockInfo(AbstractModel):
1655
1721
  self.expireTime = None
1656
1722
  self.resourceGroupId = None
1657
1723
  self.resourceGroupName = None
1724
+ self.tags = None
1658
1725
 
1659
1726
  def _deserialize(self, params):
1660
1727
  self.cidrBlockId = params.get("cidrBlockId")
@@ -1673,6 +1740,25 @@ class CidrBlockInfo(AbstractModel):
1673
1740
  self.expireTime = params.get("expireTime")
1674
1741
  self.resourceGroupId = params.get("resourceGroupId")
1675
1742
  self.resourceGroupName = params.get("resourceGroupName")
1743
+ if params.get("tags") is not None:
1744
+ self.tags = Tags(params.get("tags"))
1745
+
1746
+
1747
+ class Tags(AbstractModel):
1748
+ def __init__(self, params=None):
1749
+ if params is None:
1750
+ params = {}
1751
+ if len(params) > 0:
1752
+ self._deserialize(params)
1753
+ return
1754
+ self.tags = None
1755
+
1756
+ def _deserialize(self, params):
1757
+ if params.get("tags") is not None:
1758
+ self.tags = []
1759
+ for item in params.get("tags"):
1760
+ obj = Tag(item)
1761
+ self.tags.append(obj)
1676
1762
 
1677
1763
 
1678
1764
  class DescribeCidrBlockIpsRequest(AbstractModel):
@@ -1900,6 +1986,7 @@ class CreateIpv4BlockRequest(AbstractModel):
1900
1986
  self.amount = None
1901
1987
  self.resourceGroupId = None
1902
1988
  self.marketingOptions = None
1989
+ self.tags = None
1903
1990
 
1904
1991
  def _deserialize(self, params):
1905
1992
  self.zoneId = params.get("zoneId")
@@ -1912,7 +1999,8 @@ class CreateIpv4BlockRequest(AbstractModel):
1912
1999
  self.resourceGroupId = params.get("resourceGroupId")
1913
2000
  if params.get("marketingOptions") is not None:
1914
2001
  self.marketingOptions = MarketingInfo(params.get("marketingOptions"))
1915
-
2002
+ if params.get("tags") is not None:
2003
+ self.tags = TagAssociation(params.get("tags"))
1916
2004
 
1917
2005
  class CreateIpv4BlockResponse(AbstractModel):
1918
2006
 
@@ -1934,13 +2022,15 @@ class CreateIpv6BlockRequest(AbstractModel):
1934
2022
  self.name = None
1935
2023
  self.amount = None
1936
2024
  self.resourceGroupId = None
2025
+ self.tags = None
1937
2026
 
1938
2027
  def _deserialize(self, params):
1939
2028
  self.zoneId = params.get("zoneId")
1940
2029
  self.name = params.get("name")
1941
2030
  self.amount = params.get("amount")
1942
2031
  self.resourceGroupId = params.get("resourceGroupId")
1943
-
2032
+ if params.get("tags") is not None:
2033
+ self.tags = TagAssociation(params.get("tags"))
1944
2034
 
1945
2035
  class CreateIpv6BlockResponse(AbstractModel):
1946
2036
 
@@ -2162,6 +2252,8 @@ class DescribeVpcsRequest(AbstractModel):
2162
2252
  self.resourceGroupId = None
2163
2253
  self.pageSize = None
2164
2254
  self.pageNum = None
2255
+ self.tagKeys = None
2256
+ self.tags = None
2165
2257
 
2166
2258
  def _deserialize(self, params):
2167
2259
  self.vpcIds = params.get("vpcIds")
@@ -2172,7 +2264,12 @@ class DescribeVpcsRequest(AbstractModel):
2172
2264
  self.resourceGroupId = params.get("resourceGroupId")
2173
2265
  self.pageSize = params.get("pageSize")
2174
2266
  self.pageNum = params.get("pageNum")
2175
-
2267
+ self.tagKeys = params.get("tagKeys")
2268
+ if params.get("tags") is not None:
2269
+ self.tags = []
2270
+ for item in params.get("tags"):
2271
+ obj = Tag(item)
2272
+ self.tags.append(obj)
2176
2273
 
2177
2274
  class DescribeVpcsResponse(AbstractModel):
2178
2275
 
@@ -2208,6 +2305,7 @@ class VpcInfo(AbstractModel):
2208
2305
  self.resourceGroupId = None
2209
2306
  self.resourceGroupName = None
2210
2307
  self.vpcStatus = None
2308
+ self.tags = None
2211
2309
 
2212
2310
  def _deserialize(self, params):
2213
2311
  self.vpcId = params.get("vpcId")
@@ -2219,6 +2317,8 @@ class VpcInfo(AbstractModel):
2219
2317
  self.resourceGroupId = params.get("resourceGroupId")
2220
2318
  self.resourceGroupName = params.get("resourceGroupName")
2221
2319
  self.vpcStatus = params.get("vpcStatus")
2320
+ if params.get("tags") is not None:
2321
+ self.tags = Tags(params.get("tags"))
2222
2322
 
2223
2323
 
2224
2324
  class CreateVpcRequest(AbstractModel):
@@ -2228,13 +2328,15 @@ class CreateVpcRequest(AbstractModel):
2228
2328
  self.cidrBlock = None
2229
2329
  self.vpcName = None
2230
2330
  self.resourceGroupId = None
2331
+ self.tags = None
2231
2332
 
2232
2333
  def _deserialize(self, params):
2233
2334
  self.vpcRegionId = params.get("vpcRegionId")
2234
2335
  self.cidrBlock = params.get("cidrBlock")
2235
2336
  self.vpcName = params.get("vpcName")
2236
2337
  self.resourceGroupId = params.get("resourceGroupId")
2237
-
2338
+ if params.get("tags") is not None:
2339
+ self.tags = TagAssociation(params.get("tags"))
2238
2340
 
2239
2341
  class CreateVpcResponse(AbstractModel):
2240
2342