zenlayercloud-sdk-python 2.0.28__tar.gz → 2.0.31__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 (76) hide show
  1. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/__init__.py +1 -1
  3. zenlayercloud_sdk_python-2.0.31/zenlayercloud/traffic/__init__.py +0 -0
  4. zenlayercloud_sdk_python-2.0.31/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  5. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/traffic/v20240326/models.py +30 -1
  6. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/traffic/v20240326/traffic_client.py +6 -0
  7. zenlayercloud_sdk_python-2.0.31/zenlayercloud/zos/__init__.py +0 -0
  8. zenlayercloud_sdk_python-2.0.31/zenlayercloud/zos/v20251010/__init__.py +0 -0
  9. zenlayercloud_sdk_python-2.0.31/zenlayercloud/zos/v20251010/models.py +327 -0
  10. zenlayercloud_sdk_python-2.0.31/zenlayercloud/zos/v20251010/zos_client.py +46 -0
  11. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  12. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +4 -0
  13. zenlayercloud_sdk_python-2.0.28/zenlayercloud/traffic/__init__.py +0 -2
  14. zenlayercloud_sdk_python-2.0.28/zenlayercloud/traffic/v20240326/__init__.py +0 -2
  15. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/LICENSE +0 -0
  16. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/README.rst +0 -0
  17. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/setup.cfg +0 -0
  18. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/setup.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/alarm/__init__.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/alarm/v20250307/models.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/bmc/__init__.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/bmc/v20221120/models.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/ccs/__init__.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/ccs/v20250901/models.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/__init__.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/abstract_client.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/abstract_model.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/config.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/credential.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/excpetion/__init__.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/excpetion/error_code.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/request.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/response.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/common/utils.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/maintenance/__init__.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/maintenance/v20250310/models.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/sdn/__init__.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/sdn/v20230830/models.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/sdn/v20230830/sdn_client.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/user/__init__.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/user/v20240529/__init__.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/user/v20240529/models.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/user/v20240529/user_client.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/vm/__init__.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/vm/v20230313/models.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zbc/__init__.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zbc/v20240809/models.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zec/__init__.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zec/v20240401/__init__.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zec/v20240401/models.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zga/__init__.py +0 -0
  67. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zga/v20241104/__init__.py +0 -0
  68. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zga/v20241104/models.py +0 -0
  69. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  70. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zls/__init__.py +0 -0
  71. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zls/v20230804/__init__.py +0 -0
  72. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zls/v20230804/models.py +0 -0
  73. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  74. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  75. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  76. {zenlayercloud_sdk_python-2.0.28 → zenlayercloud_sdk_python-2.0.31}/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.28
3
+ Version: 2.0.31
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.028'
4
+ __version__ = "2.0.031"
5
5
 
@@ -45,6 +45,7 @@ class BandwidthClusterInfo(AbstractModel):
45
45
  self.bandwidthClusterId = None
46
46
  self.bandwidthClusterName = None
47
47
  self.networkType = None
48
+ self.product = None
48
49
  self.areaCode = None
49
50
  self.internetChargeType = None
50
51
  self.commitBandwidthMbps = None
@@ -57,6 +58,7 @@ class BandwidthClusterInfo(AbstractModel):
57
58
  self.bandwidthClusterId = params.get("bandwidthClusterId")
58
59
  self.bandwidthClusterName = params.get("bandwidthClusterName")
59
60
  self.networkType = params.get("networkType")
61
+ self.product = params.get("product")
60
62
  self.areaCode = params.get("areaCode")
61
63
  self.internetChargeType = params.get("internetChargeType")
62
64
  self.commitBandwidthMbps = params.get("commitBandwidthMbps")
@@ -156,11 +158,13 @@ class BandwidthClusterAreaInfo(AbstractModel):
156
158
  self.areaCode = None
157
159
  self.areaName = None
158
160
  self.networkTypes = None
161
+ self.products = None
159
162
 
160
163
  def _deserialize(self, params):
161
164
  self.areaCode = params.get("areaCode")
162
165
  self.areaName = params.get("areaName")
163
166
  self.networkTypes = params.get("networkTypes")
167
+ self.products = params.get("products")
164
168
 
165
169
 
166
170
  class DescribeBandwidthClusterTrafficRequest(AbstractModel):
@@ -244,12 +248,14 @@ class InquiryBandwidthClusterPriceRequest(AbstractModel):
244
248
  self.commitBandwidthMbps = None
245
249
  self.networkType = None
246
250
  self.internetChargeType = None
251
+ self.product = None
247
252
 
248
253
  def _deserialize(self, params):
249
254
  self.areaCode = params.get("areaCode")
250
255
  self.commitBandwidthMbps = params.get("commitBandwidthMbps")
251
256
  self.networkType = params.get("networkType")
252
257
  self.internetChargeType = params.get("internetChargeType")
258
+ self.product = params.get("product")
253
259
 
254
260
 
255
261
  class InquiryBandwidthClusterPriceResponse(AbstractModel):
@@ -259,7 +265,8 @@ class InquiryBandwidthClusterPriceResponse(AbstractModel):
259
265
 
260
266
  def _deserialize(self, params):
261
267
  self.requestId = params.get("requestId")
262
- self.price = params.get("price")
268
+ if params.get("price") is not None:
269
+ self.price = PriceItem(params.get("price"))
263
270
 
264
271
 
265
272
  class PriceItem(AbstractModel):
@@ -325,6 +332,7 @@ class CreateBandwidthClusterRequest(AbstractModel):
325
332
  self.networkType = None
326
333
  self.internetChargeType = None
327
334
  self.name = None
335
+ self.product = None
328
336
 
329
337
  def _deserialize(self, params):
330
338
  self.areaCode = params.get("areaCode")
@@ -332,6 +340,7 @@ class CreateBandwidthClusterRequest(AbstractModel):
332
340
  self.networkType = params.get("networkType")
333
341
  self.internetChargeType = params.get("internetChargeType")
334
342
  self.name = params.get("name")
343
+ self.product = params.get("product")
335
344
 
336
345
 
337
346
  class CreateBandwidthClusterResponse(AbstractModel):
@@ -346,6 +355,24 @@ class CreateBandwidthClusterResponse(AbstractModel):
346
355
  self.bandwidthClusterId = params.get("bandwidthClusterId")
347
356
 
348
357
 
358
+ class ModifyBandwidthClusterAttributeRequest(AbstractModel):
359
+ def __init__(self):
360
+ self.bandwidthClusterId = None
361
+ self.name = None
362
+
363
+ def _deserialize(self, params):
364
+ self.bandwidthClusterId = params.get("bandwidthClusterId")
365
+ self.name = params.get("name")
366
+
367
+
368
+ class ModifyBandwidthClusterAttributeResponse(AbstractModel):
369
+ def __init__(self):
370
+ self.requestId = None
371
+
372
+ def _deserialize(self, params):
373
+ self.requestId = params.get("requestId")
374
+
375
+
349
376
  class DeleteBandwidthClustersRequest(AbstractModel):
350
377
  def __init__(self):
351
378
  self.bandwidthClusterIds = None
@@ -396,3 +423,5 @@ class MigrateBandwidthClusterResourcesResponse(AbstractModel):
396
423
 
397
424
  def _deserialize(self, params):
398
425
  self.requestId = params.get("requestId")
426
+
427
+
@@ -44,6 +44,12 @@ class TrafficClient(AbstractClient):
44
44
  model._deserialize(response)
45
45
  return model
46
46
 
47
+ def ModifyBandwidthClusterAttribute(self, request):
48
+ response = self._api_call("ModifyBandwidthClusterAttribute", request)
49
+ model = models.ModifyBandwidthClusterAttributeResponse()
50
+ model._deserialize(response)
51
+ return model
52
+
47
53
  def DeleteBandwidthClusters(self, request):
48
54
  response = self._api_call("DeleteBandwidthClusters", request)
49
55
  model = models.DeleteBandwidthClustersResponse()
@@ -0,0 +1,327 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2024 All Rights Reserved.
3
+ from zenlayercloud.common.abstract_model import AbstractModel
4
+
5
+
6
+ class CreateCommandRequest(AbstractModel):
7
+ def __init__(self):
8
+ self.name = None
9
+ self.content = None
10
+ self.type = None
11
+ self.description = None
12
+ self.resourceGroupId = None
13
+ self.tags = None
14
+
15
+ def _deserialize(self, params):
16
+ self.name = params.get("name")
17
+ self.content = params.get("content")
18
+ self.type = params.get("type")
19
+ self.description = params.get("description")
20
+ self.resourceGroupId = params.get("resourceGroupId")
21
+ if params.get("tags") is not None:
22
+ self.tags = TagAssociation(params.get("tags"))
23
+
24
+
25
+ class TagAssociation(AbstractModel):
26
+ def __init__(self, params=None):
27
+ if params is None:
28
+ params = {}
29
+ if len(params) > 0:
30
+ self._deserialize(params)
31
+ return
32
+ self.tags = None
33
+
34
+ def _deserialize(self, params):
35
+ if params.get("tags") is not None:
36
+ self.tags = []
37
+ for item in params.get("tags"):
38
+ obj = Tag(item)
39
+ self.tags.append(obj)
40
+
41
+
42
+ class Tag(AbstractModel):
43
+ def __init__(self, params=None):
44
+ if params is None:
45
+ params = {}
46
+ if len(params) > 0:
47
+ self._deserialize(params)
48
+ return
49
+ self.key = None
50
+ self.value = None
51
+
52
+ def _deserialize(self, params):
53
+ self.key = params.get("key")
54
+ self.value = params.get("value")
55
+
56
+
57
+ class CreateCommandResponse(AbstractModel):
58
+ def __init__(self):
59
+ self.requestId = None
60
+ self.commandId = None
61
+
62
+ def _deserialize(self, params):
63
+ self.requestId = params.get("requestId")
64
+ self.commandId = params.get("commandId")
65
+
66
+
67
+ class DescribeCommandsRequest(AbstractModel):
68
+ def __init__(self):
69
+ self.commandIds = None
70
+ self.name = None
71
+ self.types = None
72
+ self.pageSize = None
73
+ self.pageNum = None
74
+ self.tagKeys = None
75
+ self.tags = None
76
+
77
+ def _deserialize(self, params):
78
+ self.commandIds = params.get("commandIds")
79
+ self.name = params.get("name")
80
+ self.types = params.get("types")
81
+ self.pageSize = params.get("pageSize")
82
+ self.pageNum = params.get("pageNum")
83
+ self.tagKeys = params.get("tagKeys")
84
+ if params.get("tags") is not None:
85
+ self.tags = []
86
+ for item in params.get("tags"):
87
+ obj = Tag(item)
88
+ self.tags.append(obj)
89
+
90
+
91
+ class DescribeCommandsResponse(AbstractModel):
92
+ def __init__(self):
93
+ self.requestId = None
94
+ self.dataSet = None
95
+ self.totalCount = None
96
+
97
+ def _deserialize(self, params):
98
+ self.requestId = params.get("requestId")
99
+ if params.get("dataSet") is not None:
100
+ self.dataSet = []
101
+ for item in params.get("dataSet"):
102
+ obj = Command(item)
103
+ self.dataSet.append(obj)
104
+ self.totalCount = params.get("totalCount")
105
+
106
+
107
+ class Command(AbstractModel):
108
+ def __init__(self, params=None):
109
+ if params is None:
110
+ params = {}
111
+ if len(params) > 0:
112
+ self._deserialize(params)
113
+ return
114
+ self.commandId = None
115
+ self.name = None
116
+ self.description = None
117
+ self.content = None
118
+ self.type = None
119
+ self.createTime = None
120
+ self.latestInvocationTime = None
121
+ self.tags = None
122
+ self.resourceGroup = None
123
+
124
+ def _deserialize(self, params):
125
+ self.commandId = params.get("commandId")
126
+ self.name = params.get("name")
127
+ self.description = params.get("description")
128
+ self.content = params.get("content")
129
+ self.type = params.get("type")
130
+ self.createTime = params.get("createTime")
131
+ self.latestInvocationTime = params.get("latestInvocationTime")
132
+ if params.get("tags") is not None:
133
+ self.tags = Tags(params.get("tags"))
134
+ if params.get("resourceGroup") is not None:
135
+ self.resourceGroup = ResourceGroupInfo(params.get("resourceGroup"))
136
+
137
+
138
+ class Tags(AbstractModel):
139
+ def __init__(self, params=None):
140
+ if params is None:
141
+ params = {}
142
+ if len(params) > 0:
143
+ self._deserialize(params)
144
+ return
145
+ self.tags = None
146
+
147
+ def _deserialize(self, params):
148
+ if params.get("tags") is not None:
149
+ self.tags = []
150
+ for item in params.get("tags"):
151
+ obj = Tag(item)
152
+ self.tags.append(obj)
153
+
154
+
155
+ class ResourceGroupInfo(AbstractModel):
156
+ def __init__(self, params=None):
157
+ if params is None:
158
+ params = {}
159
+ if len(params) > 0:
160
+ self._deserialize(params)
161
+ return
162
+ self.resourceGroupId = None
163
+ self.resourceGroupName = None
164
+
165
+ def _deserialize(self, params):
166
+ self.resourceGroupId = params.get("resourceGroupId")
167
+ self.resourceGroupName = params.get("resourceGroupName")
168
+
169
+
170
+ class ModifyCommandRequest(AbstractModel):
171
+ def __init__(self):
172
+ self.commandId = None
173
+ self.name = None
174
+ self.content = None
175
+ self.description = None
176
+
177
+ def _deserialize(self, params):
178
+ self.commandId = params.get("commandId")
179
+ self.name = params.get("name")
180
+ self.content = params.get("content")
181
+ self.description = params.get("description")
182
+
183
+
184
+ class ModifyCommandResponse(AbstractModel):
185
+ def __init__(self):
186
+ self.requestId = None
187
+
188
+ def _deserialize(self, params):
189
+ self.requestId = params.get("requestId")
190
+
191
+
192
+ class DeleteCommandRequest(AbstractModel):
193
+ def __init__(self):
194
+ self.commandId = None
195
+
196
+ def _deserialize(self, params):
197
+ self.commandId = params.get("commandId")
198
+
199
+
200
+ class DeleteCommandResponse(AbstractModel):
201
+ def __init__(self):
202
+ self.requestId = None
203
+
204
+ def _deserialize(self, params):
205
+ self.requestId = params.get("requestId")
206
+
207
+
208
+ class InvokeCommandRequest(AbstractModel):
209
+ def __init__(self):
210
+ self.commandId = None
211
+ self.instanceIds = None
212
+ self.timeout = None
213
+
214
+ def _deserialize(self, params):
215
+ self.commandId = params.get("commandId")
216
+ self.instanceIds = params.get("instanceIds")
217
+ self.timeout = params.get("timeout")
218
+
219
+
220
+ class InvokeCommandResponse(AbstractModel):
221
+ def __init__(self):
222
+ self.requestId = None
223
+ self.invocationId = None
224
+
225
+ def _deserialize(self, params):
226
+ self.requestId = params.get("requestId")
227
+ self.invocationId = params.get("invocationId")
228
+
229
+
230
+ class DescribeCommandInvocationsRequest(AbstractModel):
231
+ def __init__(self):
232
+ self.commandIds = None
233
+ self.invocationIds = None
234
+ self.instanceIds = None
235
+ self.invocationStatuses = None
236
+ self.pageSize = None
237
+ self.pageNum = None
238
+
239
+ def _deserialize(self, params):
240
+ self.commandIds = params.get("commandIds")
241
+ self.invocationIds = params.get("invocationIds")
242
+ self.instanceIds = params.get("instanceIds")
243
+ self.invocationStatuses = params.get("invocationStatuses")
244
+ self.pageSize = params.get("pageSize")
245
+ self.pageNum = params.get("pageNum")
246
+
247
+
248
+ class DescribeCommandInvocationsResponse(AbstractModel):
249
+ def __init__(self):
250
+ self.requestId = None
251
+ self.dataSet = None
252
+ self.totalCount = None
253
+
254
+ def _deserialize(self, params):
255
+ self.requestId = params.get("requestId")
256
+ if params.get("dataSet") is not None:
257
+ self.dataSet = []
258
+ for item in params.get("dataSet"):
259
+ obj = CommandInvocation(item)
260
+ self.dataSet.append(obj)
261
+ self.totalCount = params.get("totalCount")
262
+
263
+
264
+ class CommandInvocation(AbstractModel):
265
+ def __init__(self, params=None):
266
+ if params is None:
267
+ params = {}
268
+ if len(params) > 0:
269
+ self._deserialize(params)
270
+ return
271
+ self.invocationId = None
272
+ self.commandId = None
273
+ self.commandName = None
274
+ self.commandType = None
275
+ self.content = None
276
+ self.timeout = None
277
+ self.createTime = None
278
+ self.invocationStatus = None
279
+ self.invocationInstances = None
280
+
281
+ def _deserialize(self, params):
282
+ self.invocationId = params.get("invocationId")
283
+ self.commandId = params.get("commandId")
284
+ self.commandName = params.get("commandName")
285
+ self.commandType = params.get("commandType")
286
+ self.content = params.get("content")
287
+ self.timeout = params.get("timeout")
288
+ self.createTime = params.get("createTime")
289
+ self.invocationStatus = params.get("invocationStatus")
290
+ if params.get("invocationInstances") is not None:
291
+ self.invocationInstances = []
292
+ for item in params.get("invocationInstances"):
293
+ obj = InvocationInstance(item)
294
+ self.invocationInstances.append(obj)
295
+
296
+
297
+ class InvocationInstance(AbstractModel):
298
+ def __init__(self, params=None):
299
+ if params is None:
300
+ params = {}
301
+ if len(params) > 0:
302
+ self._deserialize(params)
303
+ return
304
+ self.instanceId = None
305
+ self.instanceName = None
306
+ self.instanceExist = None
307
+ self.taskStatus = None
308
+ self.exitCode = None
309
+ self.errorCode = None
310
+ self.output = None
311
+ self.outputError = None
312
+ self.execStartTime = None
313
+ self.execEndTime = None
314
+
315
+ def _deserialize(self, params):
316
+ self.instanceId = params.get("instanceId")
317
+ self.instanceName = params.get("instanceName")
318
+ self.instanceExist = params.get("instanceExist")
319
+ self.taskStatus = params.get("taskStatus")
320
+ self.exitCode = params.get("exitCode")
321
+ self.errorCode = params.get("errorCode")
322
+ self.output = params.get("output")
323
+ self.outputError = params.get("outputError")
324
+ self.execStartTime = params.get("execStartTime")
325
+ self.execEndTime = params.get("execEndTime")
326
+
327
+
@@ -0,0 +1,46 @@
1
+ # Zenlayer.com Inc.
2
+ # Copyright (c) 2014-2024 All Rights Reserved.
3
+ from zenlayercloud.zos.v20251010 import models
4
+ from zenlayercloud.common.abstract_client import AbstractClient
5
+
6
+
7
+ class ZOSClient(AbstractClient):
8
+ _api_version = "2025-10-10"
9
+ _service = "zos"
10
+
11
+ def CreateCommand(self, request):
12
+ response = self._api_call("CreateCommand", request)
13
+ model = models.CreateCommandResponse()
14
+ model._deserialize(response)
15
+ return model
16
+
17
+ def DescribeCommands(self, request):
18
+ response = self._api_call("DescribeCommands", request)
19
+ model = models.DescribeCommandsResponse()
20
+ model._deserialize(response)
21
+ return model
22
+
23
+ def ModifyCommand(self, request):
24
+ response = self._api_call("ModifyCommand", request)
25
+ model = models.ModifyCommandResponse()
26
+ model._deserialize(response)
27
+ return model
28
+
29
+ def DeleteCommand(self, request):
30
+ response = self._api_call("DeleteCommand", request)
31
+ model = models.DeleteCommandResponse()
32
+ model._deserialize(response)
33
+ return model
34
+
35
+ def InvokeCommand(self, request):
36
+ response = self._api_call("InvokeCommand", request)
37
+ model = models.InvokeCommandResponse()
38
+ model._deserialize(response)
39
+ return model
40
+
41
+ def DescribeCommandInvocations(self, request):
42
+ response = self._api_call("DescribeCommandInvocations", request)
43
+ model = models.DescribeCommandInvocationsResponse()
44
+ model._deserialize(response)
45
+ return model
46
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenlayercloud-sdk-python
3
- Version: 2.0.28
3
+ Version: 2.0.31
4
4
  Summary: Zenlayer Cloud SDK for Python
5
5
  Home-page: https://github.com/zenlayer/zenlayercloud-sdk-python
6
6
  Author: Zenlayer Cloud
@@ -61,6 +61,10 @@ zenlayercloud/zls/__init__.py
61
61
  zenlayercloud/zls/v20230804/__init__.py
62
62
  zenlayercloud/zls/v20230804/models.py
63
63
  zenlayercloud/zls/v20230804/zls_client.py
64
+ zenlayercloud/zos/__init__.py
65
+ zenlayercloud/zos/v20251010/__init__.py
66
+ zenlayercloud/zos/v20251010/models.py
67
+ zenlayercloud/zos/v20251010/zos_client.py
64
68
  zenlayercloud_sdk_python.egg-info/PKG-INFO
65
69
  zenlayercloud_sdk_python.egg-info/SOURCES.txt
66
70
  zenlayercloud_sdk_python.egg-info/dependency_links.txt
@@ -1,2 +0,0 @@
1
- # Zenlayer.com Inc.
2
- # Copyright (c) 2014-2024 All Rights Reserved.
@@ -1,2 +0,0 @@
1
- # Zenlayer.com Inc.
2
- # Copyright (c) 2014-2024 All Rights Reserved.