zenlayercloud-sdk-python 2.0.36__tar.gz → 2.0.38__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 (90) hide show
  1. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/__init__.py +1 -1
  3. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/bmc/v20221120/models.py +4 -0
  4. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/sdn/v20230830/models.py +26 -0
  5. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/sdn/v20230830/sdn_client.py +6 -0
  6. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/vm/v20230313/models.py +99 -0
  7. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/vm/v20230313/vm_client.py +6 -0
  8. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zdns/v20251101/models.py +24 -0
  9. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/v20250901/models.py +37 -2
  10. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/v20250901/zec_client.py +6 -0
  11. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zlb/v20250401/models.py +20 -0
  12. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zlb/v20250401/zlb_client.py +6 -0
  13. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  14. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/LICENSE +0 -0
  15. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/README.rst +0 -0
  16. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/setup.cfg +0 -0
  17. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/setup.py +0 -0
  18. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/alarm/__init__.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/alarm/v20250307/models.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/bmc/__init__.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/ccs/__init__.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/ccs/v20250901/models.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/__init__.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/abstract_client.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/abstract_model.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/config.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/credential.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/excpetion/__init__.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/excpetion/error_code.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/request.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/response.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/common/utils.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/maintenance/__init__.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/maintenance/v20250310/models.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/pvtdns/__init__.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/pvtdns/v20251101/__init__.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/pvtdns/v20251101/models.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/pvtdns/v20251101/pvtdns_client.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/sdn/__init__.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/traffic/__init__.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/traffic/v20240326/models.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/user/__init__.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/user/v20240529/__init__.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/user/v20240529/models.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/user/v20240529/user_client.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/vm/__init__.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zbc/__init__.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zbc/v20240809/models.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zdns/__init__.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zdns/v20251101/__init__.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zdns/v20251101/zdns_client.py +0 -0
  67. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/__init__.py +0 -0
  68. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/v20240401/__init__.py +0 -0
  69. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/v20240401/models.py +0 -0
  70. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
  71. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zec/v20250901/__init__.py +0 -0
  72. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zga/__init__.py +0 -0
  73. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zga/v20241104/__init__.py +0 -0
  74. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zga/v20241104/models.py +0 -0
  75. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  76. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zlb/__init__.py +0 -0
  77. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zlb/v20250401/__init__.py +0 -0
  78. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zls/__init__.py +0 -0
  79. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zls/v20230804/__init__.py +0 -0
  80. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zls/v20230804/models.py +0 -0
  81. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  82. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zos/__init__.py +0 -0
  83. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zos/v20251010/__init__.py +0 -0
  84. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zos/v20251010/models.py +0 -0
  85. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zos/v20251010/zos_client.py +0 -0
  86. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud/zrm/__init__.py +0 -0
  87. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +0 -0
  88. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  89. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  90. {zenlayercloud_sdk_python-2.0.36 → zenlayercloud_sdk_python-2.0.38}/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.36
3
+ Version: 2.0.38
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.036"
4
+ __version__ = "2.0.038"
5
5
 
@@ -33,6 +33,7 @@ class CreateInstancesRequest(AbstractModel):
33
33
  self.marketingOptions = None
34
34
  self.userData = None
35
35
  self.tags = None
36
+ self.enableGatewayMode = None
36
37
 
37
38
  def _deserialize(self, params):
38
39
  self.zoneId = params.get("zoneId")
@@ -69,6 +70,7 @@ class CreateInstancesRequest(AbstractModel):
69
70
  self.userData = params.get("userData")
70
71
  if params.get("tags") is not None:
71
72
  self.tags = TagAssociation(params.get("tags"))
73
+ self.enableGatewayMode = params.get("enableGatewayMode")
72
74
 
73
75
 
74
76
  class CreateInstancesResponse(AbstractModel):
@@ -454,6 +456,7 @@ class InstanceInfo(AbstractModel):
454
456
  self.nic = None
455
457
  self.autoRenew = None
456
458
  self.tags = None
459
+ self.enableGatewayMode = None
457
460
 
458
461
  def _deserialize(self, params):
459
462
  self.instanceId = params.get("instanceId")
@@ -493,6 +496,7 @@ class InstanceInfo(AbstractModel):
493
496
  self.autoRenew = params.get("autoRenew")
494
497
  if params.get("tags") is not None:
495
498
  self.tags = Tags(params.get("tags"))
499
+ self.enableGatewayMode = params.get("enableGatewayMode")
496
500
 
497
501
  class StartInstancesRequest(AbstractModel):
498
502
 
@@ -105,6 +105,30 @@ class DescribeVirtualEdgeDatacentersResponse(AbstractModel):
105
105
  self.dcSet.append(obj)
106
106
 
107
107
 
108
+ class DescribeBorderGatewayDatacentersRequest(AbstractModel):
109
+ def __init__(self):
110
+ self.dcId = None
111
+ self.regionId = None
112
+
113
+ def _deserialize(self, params):
114
+ self.dcId = params.get("dcId")
115
+ self.regionId = params.get("regionId")
116
+
117
+
118
+ class DescribeBorderGatewayDatacentersResponse(AbstractModel):
119
+ def __init__(self):
120
+ self.requestId = None # 请求ID
121
+ self.dcSet = None # 虚拟边缘数据中心集合
122
+
123
+ def _deserialize(self, params):
124
+ self.requestId = params.get("requestId")
125
+ if params.get("dcSet") is not None:
126
+ self.dcSet = []
127
+ for item in params.get("dcSet"):
128
+ obj = DatacenterInfo(item) # 复用已有的DatacenterInfo结构
129
+ self.dcSet.append(obj)
130
+
131
+
108
132
  class QueryDataCenterPortPriceRequest(AbstractModel):
109
133
  def __init__(self):
110
134
  self.dcId = None
@@ -788,6 +812,7 @@ class DatacenterInfo(AbstractModel):
788
812
  self.longitude = None
789
813
  self.isPortAvailable = None
790
814
  self.availableBandwidth = None
815
+ self.regionId = None
791
816
 
792
817
  def _deserialize(self, params):
793
818
  self.dcId = params.get("dcId")
@@ -800,6 +825,7 @@ class DatacenterInfo(AbstractModel):
800
825
  self.longitude = params.get("longitude")
801
826
  self.isPortAvailable = params.get("isPortAvailable")
802
827
  self.availableBandwidth = params.get("availableBandwidth")
828
+ self.regionId = params.get("regionId")
803
829
 
804
830
 
805
831
  class DescribeCreatePrivateConnectAvailableSubnetsRequest(AbstractModel):
@@ -28,6 +28,12 @@ class SdnClient(AbstractClient):
28
28
  model._deserialize(response)
29
29
  return model
30
30
 
31
+ def DescribeBorderGatewayDatacenters(self, request):
32
+ response = self._api_call("DescribeBorderGatewayDatacenters", request)
33
+ model = models.DescribeBorderGatewayDatacentersResponse()
34
+ model._deserialize(response)
35
+ return model
36
+
31
37
  def QueryDataCenterPortPrice(self, request):
32
38
  response = self._api_call("QueryDataCenterPortPrice", request)
33
39
 
@@ -297,6 +297,7 @@ class CreateInstancesRequest(AbstractModel):
297
297
  self.networkMode = None
298
298
  self.diskPreAllocated = None
299
299
  self.marketingOptions = None
300
+ self.tags = None
300
301
 
301
302
  def _deserialize(self, params):
302
303
  self.zoneId = params.get("zoneId")
@@ -333,6 +334,26 @@ class CreateInstancesRequest(AbstractModel):
333
334
  self.diskPreAllocated = params.get("diskPreAllocated")
334
335
  if params.get("marketingOptions") is not None:
335
336
  self.marketingOptions = MarketingInfo(params.get("marketingOptions"))
337
+ if params.get("tags") is not None:
338
+ self.tags = TagAssociation(params.get("tags"))
339
+
340
+
341
+ class TagAssociation(AbstractModel):
342
+ def __init__(self, params=None):
343
+ if params is None:
344
+ params = {}
345
+ if len(params) > 0:
346
+ self._deserialize(params)
347
+ return
348
+ self.tags = None
349
+
350
+ def _deserialize(self, params):
351
+ if params.get("tags") is not None:
352
+ self.tags = []
353
+ for item in params.get("tags"):
354
+ obj = Tag(item)
355
+ self.tags.append(obj)
356
+
336
357
 
337
358
 
338
359
  class MarketingInfo(AbstractModel):
@@ -408,6 +429,8 @@ class DescribeInstancesRequest(AbstractModel):
408
429
  self.privateIpAddresses = None
409
430
  self.pageSize = None
410
431
  self.pageNum = None
432
+ self.tagKeys = None
433
+ self.tags = None
411
434
 
412
435
  def _deserialize(self, params):
413
436
  self.instanceIds = params.get("instanceIds")
@@ -425,6 +448,27 @@ class DescribeInstancesRequest(AbstractModel):
425
448
  self.privateIpAddresses = params.get("privateIpAddresses")
426
449
  self.pageSize = params.get("pageSize")
427
450
  self.pageNum = params.get("pageNum")
451
+ self.tagKeys = params.get("tagKeys")
452
+ if params.get("tags") is not None:
453
+ self.tags = []
454
+ for item in params.get("tags"):
455
+ obj = Tag(item)
456
+ self.tags.append(obj)
457
+
458
+
459
+ class Tag(AbstractModel):
460
+ def __init__(self, params=None):
461
+ if params is None:
462
+ params = {}
463
+ if len(params) > 0:
464
+ self._deserialize(params)
465
+ return
466
+ self.key = None
467
+ self.value = None
468
+
469
+ def _deserialize(self, params):
470
+ self.key = params.get("key")
471
+ self.value = params.get("value")
428
472
 
429
473
 
430
474
  class DescribeInstancesResponse(AbstractModel):
@@ -480,6 +524,7 @@ class InstanceInfo(AbstractModel):
480
524
  self.autoRenew = None
481
525
  self.keyId = None
482
526
  self.nic = None
527
+ self.tags = None
483
528
 
484
529
  def _deserialize(self, params):
485
530
  self.instanceId = params.get("instanceId")
@@ -516,6 +561,26 @@ class InstanceInfo(AbstractModel):
516
561
  self.keyId = params.get("keyId")
517
562
  if params.get("nic") is not None:
518
563
  self.nic = Nic(params.get("nic"))
564
+ if params.get("tags") is not None:
565
+ self.tags = Tags(params.get("tags"))
566
+
567
+
568
+ class Tags(AbstractModel):
569
+ def __init__(self, params=None):
570
+ if params is None:
571
+ params = {}
572
+ if len(params) > 0:
573
+ self._deserialize(params)
574
+ return
575
+ self.tags = None
576
+
577
+ def _deserialize(self, params):
578
+ if params.get("tags") is not None:
579
+ self.tags = []
580
+ for item in params.get("tags"):
581
+ obj = Tag(item)
582
+ self.tags.append(obj)
583
+
519
584
 
520
585
  class DescribeInstancesStatusRequest(AbstractModel):
521
586
 
@@ -1110,6 +1175,7 @@ class CreateDisksRequest(AbstractModel):
1110
1175
  self.diskAmount = None
1111
1176
  self.resourceGroupId = None
1112
1177
  self.marketingOptions = None
1178
+ self.tags = None
1113
1179
 
1114
1180
  def _deserialize(self, params):
1115
1181
  self.chargeType = params.get("chargeType")
@@ -1124,6 +1190,8 @@ class CreateDisksRequest(AbstractModel):
1124
1190
  self.resourceGroupId = params.get("resourceGroupId")
1125
1191
  if params.get("marketingOptions") is not None:
1126
1192
  self.marketingOptions = MarketingInfo(params.get("marketingOptions"))
1193
+ if params.get("tags") is not None:
1194
+ self.tags = TagAssociation(params.get("tags"))
1127
1195
 
1128
1196
 
1129
1197
  class CreateDisksResponse(AbstractModel):
@@ -1139,6 +1207,25 @@ class CreateDisksResponse(AbstractModel):
1139
1207
  self.diskIds = params.get("diskIds")
1140
1208
 
1141
1209
 
1210
+
1211
+ class ResizeDiskRequest(AbstractModel):
1212
+ def __init__(self):
1213
+ self.diskId = None
1214
+ self.diskSize = None
1215
+
1216
+ def _deserialize(self, params):
1217
+ self.diskId = params.get("diskId")
1218
+ self.diskSize = params.get("diskSize")
1219
+
1220
+
1221
+ class ResizeDiskResponse(AbstractModel):
1222
+ def __init__(self):
1223
+ self.requestId = None
1224
+
1225
+ def _deserialize(self, params):
1226
+ self.requestId = params.get("requestId")
1227
+
1228
+
1142
1229
  class DescribeDisksRequest(AbstractModel):
1143
1230
 
1144
1231
  def __init__(self):
@@ -1154,6 +1241,8 @@ class DescribeDisksRequest(AbstractModel):
1154
1241
  self.pageSize = None
1155
1242
  self.pageNum = None
1156
1243
  self.resourceGroupId = None
1244
+ self.tagKeys = None
1245
+ self.tags = None
1157
1246
 
1158
1247
  def _deserialize(self, params):
1159
1248
  self.diskIds = params.get("diskIds")
@@ -1168,6 +1257,12 @@ class DescribeDisksRequest(AbstractModel):
1168
1257
  self.pageSize = params.get("pageSize")
1169
1258
  self.pageNum = params.get("pageNum")
1170
1259
  self.resourceGroupId = params.get("resourceGroupId")
1260
+ self.tagKeys = params.get("tagKeys")
1261
+ if params.get("tags") is not None:
1262
+ self.tags = []
1263
+ for item in params.get("tags"):
1264
+ obj = Tag(item)
1265
+ self.tags.append(obj)
1171
1266
 
1172
1267
 
1173
1268
  class DescribeDisksResponse(AbstractModel):
@@ -1210,6 +1305,8 @@ class DiskInfo(AbstractModel):
1210
1305
  self.expiredTime = None
1211
1306
  self.period = None
1212
1307
  self.autoRenew = None
1308
+ self.tags = None
1309
+
1213
1310
 
1214
1311
  def _deserialize(self, params):
1215
1312
  self.diskId = params.get("diskId")
@@ -1227,6 +1324,8 @@ class DiskInfo(AbstractModel):
1227
1324
  self.expiredTime = params.get("expiredTime")
1228
1325
  self.period = params.get("period")
1229
1326
  self.autoRenew = params.get("autoRenew")
1327
+ if params.get("tags") is not None:
1328
+ self.tags = Tags(params.get("tags"))
1230
1329
 
1231
1330
 
1232
1331
  class AttachDisksRequest(AbstractModel):
@@ -205,6 +205,12 @@ class VmClient(AbstractClient):
205
205
  model._deserialize(response)
206
206
  return model
207
207
 
208
+ def ResizeDisk(self, request):
209
+ response = self._api_call("ResizeDisk", request)
210
+ model = models.ResizeDiskResponse()
211
+ model._deserialize(response)
212
+ return model
213
+
208
214
  def DescribeDisks(self, request):
209
215
  response = self._api_call("DescribeDisks", request)
210
216
 
@@ -281,7 +281,10 @@ class DescribePrivateZoneRecordsRequest(AbstractModel):
281
281
  def __init__(self):
282
282
  self.zoneId = None
283
283
  self.recordIds = None
284
+ self.recordName = None
284
285
  self.type = None
286
+ self.line = None
287
+ self.status = None
285
288
  self.value = None
286
289
  self.pageSize = None
287
290
  self.pageNum = None
@@ -289,7 +292,10 @@ class DescribePrivateZoneRecordsRequest(AbstractModel):
289
292
  def _deserialize(self, params):
290
293
  self.zoneId = params.get("zoneId")
291
294
  self.recordIds = params.get("recordIds")
295
+ self.recordName = params.get("recordName")
292
296
  self.type = params.get("type")
297
+ self.line = params.get("line")
298
+ self.status = params.get("status")
293
299
  self.value = params.get("value")
294
300
  self.pageSize = params.get("pageSize")
295
301
  self.pageNum = params.get("pageNum")
@@ -326,6 +332,7 @@ class PrivateZoneRecord(AbstractModel):
326
332
  self.weight = None
327
333
  self.ttl = None
328
334
  self.line = None
335
+ self.lineInfo = None
329
336
  self.priority = None
330
337
  self.remark = None
331
338
  self.status = None
@@ -340,12 +347,29 @@ class PrivateZoneRecord(AbstractModel):
340
347
  self.weight = params.get("weight")
341
348
  self.ttl = params.get("ttl")
342
349
  self.line = params.get("line")
350
+ if params.get("lineInfo") is not None:
351
+ self.lineInfo = LineInfo(params.get("lineInfo"))
343
352
  self.priority = params.get("priority")
344
353
  self.remark = params.get("remark")
345
354
  self.status = params.get("status")
346
355
  self.createTime = params.get("createTime")
347
356
 
348
357
 
358
+ class LineInfo(AbstractModel):
359
+ def __init__(self, params=None):
360
+ if params is None:
361
+ params = {}
362
+ if len(params) > 0:
363
+ self._deserialize(params)
364
+ return
365
+ self.line = None
366
+ self.city = None
367
+
368
+ def _deserialize(self, params):
369
+ self.line = params.get("line")
370
+ self.city = params.get("city")
371
+
372
+
349
373
  class ModifyPrivateZoneRecordRequest(AbstractModel):
350
374
  def __init__(self):
351
375
  self.zoneId = None
@@ -202,6 +202,7 @@ class PriceItem(AbstractModel):
202
202
  self.excessUnitPrice = None
203
203
  self.excessDiscountUnitPrice = None
204
204
  self.excessAmountUnit = None
205
+ self.category = None
205
206
 
206
207
  def _deserialize(self, params):
207
208
  self.discount = params.get("discount")
@@ -219,6 +220,7 @@ class PriceItem(AbstractModel):
219
220
  self.excessUnitPrice = params.get("excessUnitPrice")
220
221
  self.excessDiscountUnitPrice = params.get("excessDiscountUnitPrice")
221
222
  self.excessAmountUnit = params.get("excessAmountUnit")
223
+ self.category = params.get("category")
222
224
 
223
225
 
224
226
  class StepPrice(AbstractModel):
@@ -2881,6 +2883,7 @@ class DescribeEipPriceResponse(AbstractModel):
2881
2883
  self.requestId = None
2882
2884
  self.eipPrice = None
2883
2885
  self.bandwidthPrice = None
2886
+ self.remoteBandwidthPrice = None
2884
2887
 
2885
2888
  def _deserialize(self, params):
2886
2889
  self.requestId = params.get("requestId")
@@ -2888,6 +2891,8 @@ class DescribeEipPriceResponse(AbstractModel):
2888
2891
  self.eipPrice = PriceItem(params.get("eipPrice"))
2889
2892
  if params.get("bandwidthPrice") is not None:
2890
2893
  self.bandwidthPrice = PriceItem(params.get("bandwidthPrice"))
2894
+ if params.get("remoteBandwidthPrice") is not None:
2895
+ self.remoteBandwidthPrice = PriceItem(params.get("remoteBandwidthPrice"))
2891
2896
 
2892
2897
 
2893
2898
  class ChangeEipInternetChargeTypeRequest(AbstractModel):
@@ -4836,6 +4841,38 @@ class ResetInstanceResponse(AbstractModel):
4836
4841
  self.requestId = params.get("requestId")
4837
4842
 
4838
4843
 
4844
+ class ResetInstancesRequest(AbstractModel):
4845
+ def __init__(self):
4846
+ self.instanceIds = None
4847
+ self.password = None
4848
+ self.keyId = None
4849
+ self.imageId = None
4850
+ self.timezone = None
4851
+ self.enableAgent = None
4852
+ self.instanceName = None
4853
+ self.userData = None
4854
+
4855
+ def _deserialize(self, params):
4856
+ self.instanceIds = params.get("instanceIds")
4857
+ self.password = params.get("password")
4858
+ self.keyId = params.get("keyId")
4859
+ self.imageId = params.get("imageId")
4860
+ self.timezone = params.get("timezone")
4861
+ self.enableAgent = params.get("enableAgent")
4862
+ self.instanceName = params.get("instanceName")
4863
+ self.userData = params.get("userData")
4864
+
4865
+
4866
+ class ResetInstancesResponse(AbstractModel):
4867
+ def __init__(self):
4868
+ self.requestId = None
4869
+ self.instanceIds = None
4870
+
4871
+ def _deserialize(self, params):
4872
+ self.requestId = params.get("requestId")
4873
+ self.instanceIds = params.get("instanceIds")
4874
+
4875
+
4839
4876
  class StartIpForwardRequest(AbstractModel):
4840
4877
  def __init__(self):
4841
4878
  self.instanceId = None
@@ -4913,11 +4950,9 @@ class ModifyInstanceTypeRequest(AbstractModel):
4913
4950
  class ModifyInstanceTypeResponse(AbstractModel):
4914
4951
  def __init__(self):
4915
4952
  self.requestId = None
4916
- self.orderNumber = None
4917
4953
 
4918
4954
  def _deserialize(self, params):
4919
4955
  self.requestId = params.get("requestId")
4920
- self.orderNumber = params.get("orderNumber")
4921
4956
 
4922
4957
 
4923
4958
  class ChangeNicNetworkTypeRequest(AbstractModel):
@@ -812,6 +812,12 @@ class ZECClient(AbstractClient):
812
812
  model._deserialize(response)
813
813
  return model
814
814
 
815
+ def ResetInstances(self, request):
816
+ response = self._api_call("ResetInstances", request)
817
+ model = models.ResetInstancesResponse()
818
+ model._deserialize(response)
819
+ return model
820
+
815
821
  def StartIpForward(self, request):
816
822
  response = self._api_call("StartIpForward", request)
817
823
  model = models.StartIpForwardResponse()
@@ -741,6 +741,7 @@ class PriceItem(AbstractModel):
741
741
  self.excessUnitPrice = None
742
742
  self.excessDiscountUnitPrice = None
743
743
  self.excessAmountUnit = None
744
+ self.category = None
744
745
 
745
746
  def _deserialize(self, params):
746
747
  self.discount = params.get("discount")
@@ -758,6 +759,7 @@ class PriceItem(AbstractModel):
758
759
  self.excessUnitPrice = params.get("excessUnitPrice")
759
760
  self.excessDiscountUnitPrice = params.get("excessDiscountUnitPrice")
760
761
  self.excessAmountUnit = params.get("excessAmountUnit")
762
+ self.category = params.get("category")
761
763
 
762
764
 
763
765
  class StepPrice(AbstractModel):
@@ -850,6 +852,24 @@ class SetSecurityGroupForLoadBalancersResponse(AbstractModel):
850
852
  self.failedLoadBalancerIds = params.get("failedLoadBalancerIds")
851
853
 
852
854
 
855
+ class UnbindSecurityGroupFromLoadBalancersRequest(AbstractModel):
856
+ def __init__(self):
857
+ self.loadBalancerIds = None
858
+
859
+ def _deserialize(self, params):
860
+ self.loadBalancerIds = params.get("loadBalancerIds")
861
+
862
+
863
+ class UnbindSecurityGroupFromLoadBalancersResponse(AbstractModel):
864
+ def __init__(self):
865
+ self.requestId = None
866
+ self.failedLoadBalancerIds = None
867
+
868
+ def _deserialize(self, params):
869
+ self.requestId = params.get("requestId")
870
+ self.failedLoadBalancerIds = params.get("failedLoadBalancerIds")
871
+
872
+
853
873
  class AddLoadBalancersPrivateIpsRequest(AbstractModel):
854
874
  def __init__(self):
855
875
  self.privateIps = None
@@ -116,6 +116,12 @@ class ZLBClient(AbstractClient):
116
116
  model._deserialize(response)
117
117
  return model
118
118
 
119
+ def UnbindSecurityGroupFromLoadBalancers(self, request):
120
+ response = self._api_call("UnbindSecurityGroupFromLoadBalancers", request)
121
+ model = models.UnbindSecurityGroupFromLoadBalancersResponse()
122
+ model._deserialize(response)
123
+ return model
124
+
119
125
  def AddLoadBalancersPrivateIps(self, request):
120
126
  response = self._api_call("AddLoadBalancersPrivateIps", request)
121
127
  model = models.AddLoadBalancersPrivateIpsResponse()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.36
3
+ Version: 2.0.38
4
4
  Summary: Zenlayer Cloud SDK for Python
5
5
  Home-page: https://github.com/zenlayer/zenlayercloud-sdk-python
6
6
  Author: Zenlayer Cloud