zenlayercloud-sdk-python 2.0.56__tar.gz → 2.0.58__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.
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/PKG-INFO +1 -1
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/__init__.py +1 -1
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/abstract_client.py +10 -6
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/credential.py +16 -1
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/v20250901/models.py +646 -246
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/v20250901/zec_client.py +162 -63
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zlb/v20250401/models.py +24 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zlb/v20250401/zlb_client.py +2 -2
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud_sdk_python.egg-info/PKG-INFO +1 -1
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/LICENSE +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/README.rst +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/setup.cfg +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/setup.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/aigw/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/aigw/v20260414/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/aigw/v20260414/aigw_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/aigw/v20260414/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/alarm/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/alarm/v20250307/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/alarm/v20250307/alarm_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/alarm/v20250307/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/v20221120/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/v20221120/bmc_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/v20221120/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/v20260201/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/v20260201/bmc_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/bmc/v20260201/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ccs/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ccs/v20250901/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ccs/v20250901/ccs_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ccs/v20250901/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/abstract_model.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/config.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/excpetion/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/excpetion/error_code.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/excpetion/zenlayer_cloud_sdk_exception.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/request.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/response.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/common/utils.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ipt/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ipt/v20240901/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ipt/v20240901/ipt_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/ipt/v20240901/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/maintenance/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/maintenance/v20250310/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/maintenance/v20250310/maintenance_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/maintenance/v20250310/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/pvtdns/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/pvtdns/v20251101/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/pvtdns/v20251101/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/pvtdns/v20251101/pvtdns_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/sdn/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/sdn/v20230830/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/sdn/v20230830/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/sdn/v20230830/sdn_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/traffic/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/traffic/v20240326/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/traffic/v20240326/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/traffic/v20240326/traffic_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/user/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/user/v20240529/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/user/v20240529/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/user/v20240529/user_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/v20230313/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/v20230313/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/v20230313/vm_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/v20260401/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/v20260401/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/vm/v20260401/vm_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zbc/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zbc/v20240809/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zbc/v20240809/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zbc/v20240809/zbc_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zdns/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zdns/v20251101/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zdns/v20251101/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zdns/v20251101/zdns_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/v20240401/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/v20240401/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/v20240401/zec_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zec/v20250901/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zga/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zga/v20241104/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zga/v20241104/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zga/v20241104/zga_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zlb/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zlb/v20250401/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zls/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zls/v20230804/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zls/v20230804/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zls/v20230804/zls_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zos/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zos/v20251010/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zos/v20251010/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zos/v20251010/zos_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zrm/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zrm/v20251014/__init__.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zrm/v20251014/models.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud/zrm/v20251014/zrm_client.py +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud_sdk_python.egg-info/SOURCES.txt +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud_sdk_python.egg-info/dependency_links.txt +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud_sdk_python.egg-info/requires.txt +0 -0
- {zenlayercloud_sdk_python-2.0.56 → zenlayercloud_sdk_python-2.0.58}/zenlayercloud_sdk_python.egg-info/top_level.txt +0 -0
|
@@ -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
|
-
|
|
65
|
-
|
|
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()
|