zenlayercloud-sdk-python 2.0.44__tar.gz → 2.0.46__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 (93) hide show
  1. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/__init__.py +1 -1
  3. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/bmc/v20221120/models.py +3 -0
  4. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/vm/v20230313/models.py +2 -0
  5. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/v20250901/models.py +160 -0
  6. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/v20250901/zec_client.py +45 -0
  7. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zlb/v20250401/models.py +593 -587
  8. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zlb/v20250401/zlb_client.py +127 -64
  9. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zrm/v20251014/models.py +100 -55
  10. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zrm/v20251014/zrm_client.py +42 -12
  11. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  12. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/LICENSE +0 -0
  13. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/README.rst +0 -0
  14. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/setup.cfg +0 -0
  15. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/setup.py +0 -0
  16. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/alarm/__init__.py +0 -0
  17. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
  18. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/alarm/v20250307/models.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/bmc/__init__.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/ccs/__init__.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/ccs/v20250901/models.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/__init__.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/abstract_client.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/abstract_model.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/config.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/credential.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/excpetion/__init__.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/excpetion/error_code.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/request.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/response.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/common/utils.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/maintenance/__init__.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/maintenance/v20250310/models.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/pvtdns/__init__.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/pvtdns/v20251101/__init__.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/pvtdns/v20251101/models.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/pvtdns/v20251101/pvtdns_client.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/sdn/__init__.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/sdn/v20230830/models.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/sdn/v20230830/sdn_client.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/traffic/__init__.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/traffic/v20240326/models.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/user/__init__.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/user/v20240529/__init__.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/user/v20240529/models.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/user/v20240529/user_client.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/vm/__init__.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zbc/__init__.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zbc/v20240809/models.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zdns/__init__.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zdns/v20251101/__init__.py +0 -0
  67. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zdns/v20251101/models.py +0 -0
  68. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zdns/v20251101/zdns_client.py +0 -0
  69. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/__init__.py +0 -0
  70. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/v20240401/__init__.py +0 -0
  71. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/v20240401/models.py +0 -0
  72. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
  73. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zec/v20250901/__init__.py +0 -0
  74. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zga/__init__.py +0 -0
  75. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zga/v20241104/__init__.py +0 -0
  76. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zga/v20241104/models.py +0 -0
  77. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  78. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zlb/__init__.py +0 -0
  79. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zlb/v20250401/__init__.py +0 -0
  80. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zls/__init__.py +0 -0
  81. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zls/v20230804/__init__.py +0 -0
  82. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zls/v20230804/models.py +0 -0
  83. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  84. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zos/__init__.py +0 -0
  85. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zos/v20251010/__init__.py +0 -0
  86. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zos/v20251010/models.py +0 -0
  87. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zos/v20251010/zos_client.py +0 -0
  88. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zrm/__init__.py +0 -0
  89. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud/zrm/v20251014/__init__.py +0 -0
  90. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +0 -0
  91. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  92. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  93. {zenlayercloud_sdk_python-2.0.44 → zenlayercloud_sdk_python-2.0.46}/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.44
3
+ Version: 2.0.46
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.044"
4
+ __version__ = "2.0.046"
5
5
 
@@ -697,12 +697,15 @@ class InquiryPriceCreateInstanceResponse(AbstractModel):
697
697
  def __init__(self):
698
698
  self.requestId = None
699
699
  self.instancePrice = None
700
+ self.primaryIpPrice = None
700
701
  self.bandwidthPrice = None
701
702
 
702
703
  def _deserialize(self, params):
703
704
  self.requestId = params.get("requestId")
704
705
  if params.get("instancePrice") is not None:
705
706
  self.instancePrice = Price(params.get("instancePrice"))
707
+ if params.get("primaryIpPrice") is not None:
708
+ self.primaryIpPrice = Price(params.get("primaryIpPrice"))
706
709
  if params.get("bandwidthPrice") is not None:
707
710
  self.bandwidthPrice = []
708
711
  for item in params.get("bandwidthPrice"):
@@ -141,6 +141,7 @@ class InquiryPriceCreateInstanceResponse(AbstractModel):
141
141
  self.requestId = None
142
142
  self.instancePrice = None
143
143
  self.bandwidthPrice = None
144
+ self.eipPrice = None
144
145
  self.systemDiskPrice = None
145
146
  self.dataDiskPrice = None
146
147
 
@@ -152,6 +153,7 @@ class InquiryPriceCreateInstanceResponse(AbstractModel):
152
153
  for item in params.get("bandwidthPrice"):
153
154
  obj = Price(item)
154
155
  self.bandwidthPrice.append(obj)
156
+ self.eipPrice = Price(params.get("eipPrice"))
155
157
  self.systemDiskPrice = Price(params.get("systemDiskPrice"))
156
158
  if params.get("dataDiskPrice") is not None:
157
159
  self.dataDiskPrice = Price(params.get("dataDiskPrice"))
@@ -36,6 +36,7 @@ class ZoneInfo(AbstractModel):
36
36
  self.regionId = None
37
37
  self.zoneName = None
38
38
  self.supportSecurityGroup = None
39
+ self.timeZone = None
39
40
 
40
41
  def _deserialize(self, params):
41
42
  self.zoneId = params.get("zoneId")
@@ -48,6 +49,7 @@ class ZoneInfo(AbstractModel):
48
49
  stacklevel=2
49
50
  )
50
51
  self.supportSecurityGroup = params.get("supportSecurityGroup")
52
+ self.timeZone = params.get("timeZone")
51
53
 
52
54
 
53
55
  class DescribeZoneInstanceConfigInfosRequest(AbstractModel):
@@ -545,6 +547,7 @@ class InstanceInfo(AbstractModel):
545
547
  self.nics = None
546
548
  self.tags = None
547
549
  self.loadBalancerIds = None
550
+ self.placementGroupId = None
548
551
  self.instanceOptions = None
549
552
 
550
553
  def _deserialize(self, params):
@@ -586,6 +589,7 @@ class InstanceInfo(AbstractModel):
586
589
  if params.get("tags") is not None:
587
590
  self.tags = Tags(params.get("tags"))
588
591
  self.loadBalancerIds = params.get("loadBalancerIds")
592
+ self.placementGroupId = params.get("placementGroupId")
589
593
  if params.get("instanceOptions") is not None:
590
594
  self.instanceOptions = InstanceOptions(params.get("instanceOptions"))
591
595
 
@@ -6284,3 +6288,159 @@ class UnAssignSecurityGroupVpcResponse(AbstractModel):
6284
6288
  self.requestId = params.get("requestId")
6285
6289
 
6286
6290
 
6291
+ class CreatePlacementGroupRequest(AbstractModel):
6292
+ def __init__(self):
6293
+ self.zoneId = None
6294
+ self.name = None
6295
+ self.partitionNum = None
6296
+ self.affinity = None
6297
+ self.resourceGroupId = None
6298
+ self.tags = None
6299
+
6300
+ def _deserialize(self, params):
6301
+ self.zoneId = params.get("zoneId")
6302
+ self.name = params.get("name")
6303
+ self.partitionNum = params.get("partitionNum")
6304
+ self.affinity = params.get("affinity")
6305
+ self.resourceGroupId = params.get("resourceGroupId")
6306
+ if params.get("tags") is not None:
6307
+ self.tags = TagAssociation(params.get("tags"))
6308
+
6309
+
6310
+ class CreatePlacementGroupResponse(AbstractModel):
6311
+ def __init__(self):
6312
+ self.requestId = None
6313
+ self.placementGroupId = None
6314
+
6315
+ def _deserialize(self, params):
6316
+ self.requestId = params.get("requestId")
6317
+ self.placementGroupId = params.get("placementGroupId")
6318
+
6319
+
6320
+ class ModifyPlacementGroupAttributesRequest(AbstractModel):
6321
+ def __init__(self):
6322
+ self.placementGroupId = None
6323
+ self.name = None
6324
+ self.partitionNum = None
6325
+ self.affinity = None
6326
+
6327
+ def _deserialize(self, params):
6328
+ self.placementGroupId = params.get("placementGroupId")
6329
+ self.name = params.get("name")
6330
+ self.partitionNum = params.get("partitionNum")
6331
+ self.affinity = params.get("affinity")
6332
+
6333
+
6334
+ class ModifyPlacementGroupAttributesResponse(AbstractModel):
6335
+ def __init__(self):
6336
+ self.requestId = None
6337
+
6338
+ def _deserialize(self, params):
6339
+ self.requestId = params.get("requestId")
6340
+
6341
+
6342
+ class DescribePlacementGroupsRequest(AbstractModel):
6343
+ def __init__(self):
6344
+ self.placementGroupIds = None
6345
+ self.name = None
6346
+ self.zoneId = None
6347
+ self.pageSize = None
6348
+ self.pageNum = None
6349
+ self.resourceGroupId = None
6350
+
6351
+ def _deserialize(self, params):
6352
+ self.placementGroupIds = params.get("placementGroupIds")
6353
+ self.name = params.get("name")
6354
+ self.zoneId = params.get("zoneId")
6355
+ self.pageSize = params.get("pageSize")
6356
+ self.pageNum = params.get("pageNum")
6357
+ self.resourceGroupId = params.get("resourceGroupId")
6358
+
6359
+
6360
+ class DescribePlacementGroupsResponse(AbstractModel):
6361
+ def __init__(self):
6362
+ self.requestId = None
6363
+ self.totalCount = None
6364
+ self.dataSet = None
6365
+
6366
+ def _deserialize(self, params):
6367
+ self.requestId = params.get("requestId")
6368
+ self.totalCount = params.get("totalCount")
6369
+ if params.get("dataSet") is not None:
6370
+ self.dataSet = []
6371
+ for item in params.get("dataSet"):
6372
+ obj = PlacementGroupInfo(item)
6373
+ self.dataSet.append(obj)
6374
+
6375
+
6376
+ class PlacementGroupInfo(AbstractModel):
6377
+ def __init__(self, params=None):
6378
+ if params is None:
6379
+ params = {}
6380
+ if len(params) > 0:
6381
+ self._deserialize(params)
6382
+ return
6383
+ self.placementGroupId = None
6384
+ self.name = None
6385
+ self.zoneId = None
6386
+ self.partitionNum = None
6387
+ self.affinity = None
6388
+ self.instanceCount = None
6389
+ self.instanceIds = None
6390
+ self.constraintStatus = None
6391
+ self.createTime = None
6392
+ self.resourceGroup = None
6393
+ self.tags = None
6394
+
6395
+ def _deserialize(self, params):
6396
+ self.placementGroupId = params.get("placementGroupId")
6397
+ self.name = params.get("name")
6398
+ self.zoneId = params.get("zoneId")
6399
+ self.partitionNum = params.get("partitionNum")
6400
+ self.affinity = params.get("affinity")
6401
+ self.instanceCount = params.get("instanceCount")
6402
+ self.instanceIds = params.get("instanceIds")
6403
+ self.constraintStatus = params.get("constraintStatus")
6404
+ self.createTime = params.get("createTime")
6405
+ if params.get("resourceGroup") is not None:
6406
+ self.resourceGroup = ResourceGroupInfo(params.get("resourceGroup"))
6407
+ if params.get("tags") is not None:
6408
+ self.tags = Tags(params.get("tags"))
6409
+
6410
+
6411
+ class DeletePlacementGroupsRequest(AbstractModel):
6412
+ def __init__(self):
6413
+ self.placementGroupIds = None
6414
+
6415
+ def _deserialize(self, params):
6416
+ self.placementGroupIds = params.get("placementGroupIds")
6417
+
6418
+
6419
+ class DeletePlacementGroupsResponse(AbstractModel):
6420
+ def __init__(self):
6421
+ self.requestId = None
6422
+ self.failedPlacementGroupIds = None
6423
+
6424
+ def _deserialize(self, params):
6425
+ self.requestId = params.get("requestId")
6426
+ self.failedPlacementGroupIds = params.get("failedPlacementGroupIds")
6427
+
6428
+
6429
+ class ModifyInstancePlacementRequest(AbstractModel):
6430
+ def __init__(self):
6431
+ self.instanceId = None
6432
+ self.placementGroupId = None
6433
+
6434
+ def _deserialize(self, params):
6435
+ self.instanceId = params.get("instanceId")
6436
+ self.placementGroupId = params.get("placementGroupId")
6437
+
6438
+
6439
+ class ModifyInstancePlacementResponse(AbstractModel):
6440
+ def __init__(self):
6441
+ self.requestId = None
6442
+
6443
+ def _deserialize(self, params):
6444
+ self.requestId = params.get("requestId")
6445
+
6446
+
@@ -1592,3 +1592,48 @@ class ZecClient(AbstractClient):
1592
1592
  model._deserialize(response)
1593
1593
  return model
1594
1594
 
1595
+ def CreatePlacementGroup(self, request):
1596
+ """
1597
+ 创建一个置放组。
1598
+ """
1599
+ response = self._api_call("CreatePlacementGroup", request)
1600
+ model = models.CreatePlacementGroupResponse()
1601
+ model._deserialize(response)
1602
+ return model
1603
+
1604
+ def ModifyPlacementGroupAttributes(self, request):
1605
+ """
1606
+ 修改置放组的名称、分区数、亲和度等属性。
1607
+ """
1608
+ response = self._api_call("ModifyPlacementGroupAttributes", request)
1609
+ model = models.ModifyPlacementGroupAttributesResponse()
1610
+ model._deserialize(response)
1611
+ return model
1612
+
1613
+ def DescribePlacementGroups(self, request):
1614
+ """
1615
+ 查询一个或多个置放组的信息。用户可以根据置放组ID、名称或可用区等条件来查询置放组的详细信息。
1616
+ """
1617
+ response = self._api_call("DescribePlacementGroups", request)
1618
+ model = models.DescribePlacementGroupsResponse()
1619
+ model._deserialize(response)
1620
+ return model
1621
+
1622
+ def DeletePlacementGroups(self, request):
1623
+ """
1624
+ 删除一个或多个置放组。删除后置放组内所有实例解除放置策略约束。
1625
+ """
1626
+ response = self._api_call("DeletePlacementGroups", request)
1627
+ model = models.DeletePlacementGroupsResponse()
1628
+ model._deserialize(response)
1629
+ return model
1630
+
1631
+ def ModifyInstancePlacement(self, request):
1632
+ """
1633
+ 将实例加入置放组、从一个置放组迁移到另一个、或从置放组移除(placementGroupId 为空表示移除)。
1634
+ """
1635
+ response = self._api_call("ModifyInstancePlacement", request)
1636
+ model = models.ModifyInstancePlacementResponse()
1637
+ model._deserialize(response)
1638
+ return model
1639
+