zenlayercloud-sdk-python 2.0.56__tar.gz → 2.0.57__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 (107) hide show
  1. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/PKG-INFO +1 -1
  2. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/__init__.py +1 -1
  3. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/abstract_client.py +10 -6
  4. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/credential.py +16 -1
  5. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/v20250901/models.py +384 -339
  6. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/v20250901/zec_client.py +72 -63
  7. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
  8. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/LICENSE +0 -0
  9. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/README.rst +0 -0
  10. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/setup.cfg +0 -0
  11. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/setup.py +0 -0
  12. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/aigw/__init__.py +0 -0
  13. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/aigw/v20260414/__init__.py +0 -0
  14. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/aigw/v20260414/aigw_client.py +0 -0
  15. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/aigw/v20260414/models.py +0 -0
  16. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/alarm/__init__.py +0 -0
  17. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
  18. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
  19. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/alarm/v20250307/models.py +0 -0
  20. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/__init__.py +0 -0
  21. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
  22. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
  23. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/v20221120/models.py +0 -0
  24. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/v20260201/__init__.py +0 -0
  25. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/v20260201/bmc_client.py +0 -0
  26. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/bmc/v20260201/models.py +0 -0
  27. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ccs/__init__.py +0 -0
  28. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
  29. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
  30. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ccs/v20250901/models.py +0 -0
  31. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/__init__.py +0 -0
  32. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/abstract_model.py +0 -0
  33. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/config.py +0 -0
  34. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/excpetion/__init__.py +0 -0
  35. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/excpetion/error_code.py +0 -0
  36. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
  37. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/request.py +0 -0
  38. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/response.py +0 -0
  39. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/common/utils.py +0 -0
  40. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ipt/__init__.py +0 -0
  41. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ipt/v20240901/__init__.py +0 -0
  42. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ipt/v20240901/ipt_client.py +0 -0
  43. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/ipt/v20240901/models.py +0 -0
  44. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/maintenance/__init__.py +0 -0
  45. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
  46. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
  47. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/maintenance/v20250310/models.py +0 -0
  48. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/pvtdns/__init__.py +0 -0
  49. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/pvtdns/v20251101/__init__.py +0 -0
  50. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/pvtdns/v20251101/models.py +0 -0
  51. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/pvtdns/v20251101/pvtdns_client.py +0 -0
  52. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/sdn/__init__.py +0 -0
  53. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
  54. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/sdn/v20230830/models.py +0 -0
  55. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/sdn/v20230830/sdn_client.py +0 -0
  56. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/traffic/__init__.py +0 -0
  57. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
  58. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/traffic/v20240326/models.py +0 -0
  59. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
  60. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/user/__init__.py +0 -0
  61. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/user/v20240529/__init__.py +0 -0
  62. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/user/v20240529/models.py +0 -0
  63. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/user/v20240529/user_client.py +0 -0
  64. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/__init__.py +0 -0
  65. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/v20230313/__init__.py +0 -0
  66. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/v20230313/models.py +0 -0
  67. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
  68. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/v20260401/__init__.py +0 -0
  69. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/v20260401/models.py +0 -0
  70. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/vm/v20260401/vm_client.py +0 -0
  71. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zbc/__init__.py +0 -0
  72. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
  73. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zbc/v20240809/models.py +0 -0
  74. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
  75. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zdns/__init__.py +0 -0
  76. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zdns/v20251101/__init__.py +0 -0
  77. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zdns/v20251101/models.py +0 -0
  78. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zdns/v20251101/zdns_client.py +0 -0
  79. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/__init__.py +0 -0
  80. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/v20240401/__init__.py +0 -0
  81. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/v20240401/models.py +0 -0
  82. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
  83. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zec/v20250901/__init__.py +0 -0
  84. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zga/__init__.py +0 -0
  85. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zga/v20241104/__init__.py +0 -0
  86. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zga/v20241104/models.py +0 -0
  87. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
  88. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zlb/__init__.py +0 -0
  89. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zlb/v20250401/__init__.py +0 -0
  90. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zlb/v20250401/models.py +0 -0
  91. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zlb/v20250401/zlb_client.py +0 -0
  92. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zls/__init__.py +0 -0
  93. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zls/v20230804/__init__.py +0 -0
  94. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zls/v20230804/models.py +0 -0
  95. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
  96. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zos/__init__.py +0 -0
  97. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zos/v20251010/__init__.py +0 -0
  98. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zos/v20251010/models.py +0 -0
  99. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zos/v20251010/zos_client.py +0 -0
  100. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zrm/__init__.py +0 -0
  101. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zrm/v20251014/__init__.py +0 -0
  102. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zrm/v20251014/models.py +0 -0
  103. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud/zrm/v20251014/zrm_client.py +0 -0
  104. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +0 -0
  105. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
  106. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
  107. {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.57}/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.56
3
+ Version: 2.0.57
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.056"
4
+ __version__ = "2.0.057"
5
5
 
@@ -6,6 +6,7 @@ import time
6
6
  import zenlayercloud
7
7
  from zenlayercloud.common.abstract_model import AbstractModel
8
8
  from zenlayercloud.common.config import Config
9
+ from zenlayercloud.common.credential import TokenCredential
9
10
  from zenlayercloud.common.excpetion import error_code
10
11
  from zenlayercloud.common.excpetion.zenlayer_cloud_sdk_exception import ZenlayerCloudSdkException
11
12
  from zenlayercloud.common.request import BaseRequest, ApiProxyClient
@@ -25,7 +26,7 @@ class AbstractClient(object):
25
26
  """base client interactive with zenlayer cloud
26
27
 
27
28
  :param credential: the zenlayer cloud credential
28
- :type credential: zenlayercloud.common.credential.Credential
29
+ :type credential: zenlayercloud.common.credential.Credential or zenlayercloud.common.credential.TokenCredential
29
30
  :param config: the additional config for client
30
31
  :type config: zenlayercloud.common.config.Config
31
32
  """
@@ -49,10 +50,7 @@ class AbstractClient(object):
49
50
  req = BaseRequest(host=self.config.domain, method=method, uri=uri, header=headers)
50
51
 
51
52
  header = req.header
52
- timestamp = int(time.time())
53
53
  header["x-zc-version"] = self._api_version
54
- header["x-zc-signature-method"] = self._signature_method
55
- header["x-zc-timestamp"] = str(timestamp)
56
54
  header["x-zc-service"] = self._service
57
55
  header["x-zc-action"] = action
58
56
  header["x-zc-sdk-version"] = self._sdk_version
@@ -61,8 +59,14 @@ class AbstractClient(object):
61
59
  req.set_content_type(_json_content_type)
62
60
  req.data = json.dumps(request.serialize())
63
61
 
64
- authorization = self._build_zc2_authorization(req)
65
- req.header["Authorization"] = authorization
62
+ if isinstance(self.credential, TokenCredential):
63
+ req.header["Authorization"] = "Bearer " + self.credential.token
64
+ else:
65
+ timestamp = int(time.time())
66
+ header["x-zc-signature-method"] = self._signature_method
67
+ header["x-zc-timestamp"] = str(timestamp)
68
+ authorization = self._build_zc2_authorization(req)
69
+ req.header["Authorization"] = authorization
66
70
 
67
71
  resp = self._send_request(req)
68
72
  return self._handle_response(resp)
@@ -9,7 +9,7 @@ class Credential(object):
9
9
  def __init__(self, access_key_id, access_key_password):
10
10
  """Zenlayer Cloud Credential.
11
11
 
12
- Access https://console.zenlayer.com/ to manage your
12
+ Access https://console.zenlayer.com/accessKey to manage your
13
13
  credentials.
14
14
 
15
15
  :param access_key_id: The access key id of your credential.
@@ -23,3 +23,18 @@ class Credential(object):
23
23
  raise ZenlayerCloudSdkException(CREDENTIAL_MISSING_ERROR, "access key password should not be none or empty")
24
24
  self.access_key_id = access_key_id.strip()
25
25
  self.access_key_password = access_key_password.strip()
26
+
27
+
28
+ class TokenCredential(object):
29
+
30
+ def __init__(self, token):
31
+ """Zenlayer Cloud Bearer Token Credential.
32
+
33
+ Access https://console.zenlayer.com/accessToken to generate a personal access token and use it instead of HMAC-signed credentials.
34
+
35
+ :param token: The personal access token.
36
+ :type token: str
37
+ """
38
+ if token is None or token.strip() == "":
39
+ raise ZenlayerCloudSdkException(CREDENTIAL_MISSING_ERROR, "token should not be none or empty")
40
+ self.token = token.strip()