ucloud-sdk-python3 0.11.81__py3-none-any.whl
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.
- ucloud/__init__.py +0 -0
- ucloud/client.py +469 -0
- ucloud/core/__init__.py +0 -0
- ucloud/core/auth/__init__.py +3 -0
- ucloud/core/auth/_cfg.py +72 -0
- ucloud/core/client/__init__.py +8 -0
- ucloud/core/client/_cfg.py +96 -0
- ucloud/core/client/_client.py +176 -0
- ucloud/core/exc/__init__.py +9 -0
- ucloud/core/exc/_exc.py +94 -0
- ucloud/core/transport/__init__.py +4 -0
- ucloud/core/transport/_requests.py +135 -0
- ucloud/core/transport/http.py +120 -0
- ucloud/core/transport/utils.py +40 -0
- ucloud/core/typesystem/__init__.py +0 -0
- ucloud/core/typesystem/abstract.py +60 -0
- ucloud/core/typesystem/encoder.py +33 -0
- ucloud/core/typesystem/fields.py +149 -0
- ucloud/core/typesystem/schema.py +97 -0
- ucloud/core/utils/__init__.py +0 -0
- ucloud/core/utils/compat.py +15 -0
- ucloud/core/utils/deco.py +31 -0
- ucloud/core/utils/log.py +29 -0
- ucloud/core/utils/middleware.py +63 -0
- ucloud/helpers/__init__.py +0 -0
- ucloud/helpers/utils.py +90 -0
- ucloud/helpers/wait.py +108 -0
- ucloud/services/__init__.py +0 -0
- ucloud/services/cube/__init__.py +0 -0
- ucloud/services/cube/client.py +618 -0
- ucloud/services/cube/schemas/__init__.py +0 -0
- ucloud/services/cube/schemas/apis.py +548 -0
- ucloud/services/cube/schemas/models.py +58 -0
- ucloud/services/iam/__init__.py +0 -0
- ucloud/services/iam/client.py +1078 -0
- ucloud/services/iam/schemas/__init__.py +0 -0
- ucloud/services/iam/schemas/apis.py +973 -0
- ucloud/services/iam/schemas/models.py +127 -0
- ucloud/services/ipsecvpn/__init__.py +0 -0
- ucloud/services/ipsecvpn/client.py +522 -0
- ucloud/services/ipsecvpn/schemas/__init__.py +0 -0
- ucloud/services/ipsecvpn/schemas/apis.py +455 -0
- ucloud/services/ipsecvpn/schemas/models.py +134 -0
- ucloud/services/ipv6gw/__init__.py +0 -0
- ucloud/services/ipv6gw/client.py +44 -0
- ucloud/services/ipv6gw/schemas/__init__.py +0 -0
- ucloud/services/ipv6gw/schemas/apis.py +34 -0
- ucloud/services/ipv6gw/schemas/models.py +3 -0
- ucloud/services/isms/__init__.py +0 -0
- ucloud/services/isms/client.py +330 -0
- ucloud/services/isms/schemas/__init__.py +0 -0
- ucloud/services/isms/schemas/apis.py +272 -0
- ucloud/services/isms/schemas/models.py +50 -0
- ucloud/services/pathx/__init__.py +0 -0
- ucloud/services/pathx/client.py +1656 -0
- ucloud/services/pathx/schemas/__init__.py +0 -0
- ucloud/services/pathx/schemas/apis.py +1289 -0
- ucloud/services/pathx/schemas/models.py +420 -0
- ucloud/services/stepflow/__init__.py +0 -0
- ucloud/services/stepflow/client.py +98 -0
- ucloud/services/stepflow/schemas/__init__.py +0 -0
- ucloud/services/stepflow/schemas/apis.py +67 -0
- ucloud/services/stepflow/schemas/models.py +37 -0
- ucloud/services/sts/__init__.py +0 -0
- ucloud/services/sts/client.py +46 -0
- ucloud/services/sts/schemas/__init__.py +0 -0
- ucloud/services/sts/schemas/apis.py +35 -0
- ucloud/services/sts/schemas/models.py +16 -0
- ucloud/services/tidb/__init__.py +0 -0
- ucloud/services/tidb/client.py +120 -0
- ucloud/services/tidb/schemas/__init__.py +0 -0
- ucloud/services/tidb/schemas/apis.py +103 -0
- ucloud/services/tidb/schemas/models.py +11 -0
- ucloud/services/uaaa/__init__.py +0 -0
- ucloud/services/uaaa/client.py +311 -0
- ucloud/services/uaaa/schemas/__init__.py +0 -0
- ucloud/services/uaaa/schemas/apis.py +252 -0
- ucloud/services/uaaa/schemas/models.py +47 -0
- ucloud/services/uaccount/__init__.py +0 -0
- ucloud/services/uaccount/client.py +547 -0
- ucloud/services/uaccount/schemas/__init__.py +0 -0
- ucloud/services/uaccount/schemas/apis.py +442 -0
- ucloud/services/uaccount/schemas/models.py +128 -0
- ucloud/services/uads/__init__.py +0 -0
- ucloud/services/uads/client.py +1148 -0
- ucloud/services/uads/schemas/__init__.py +0 -0
- ucloud/services/uads/schemas/apis.py +983 -0
- ucloud/services/uads/schemas/models.py +199 -0
- ucloud/services/ubill/__init__.py +0 -0
- ucloud/services/ubill/client.py +248 -0
- ucloud/services/ubill/schemas/__init__.py +0 -0
- ucloud/services/ubill/schemas/apis.py +183 -0
- ucloud/services/ubill/schemas/models.py +107 -0
- ucloud/services/ucdn/__init__.py +0 -0
- ucloud/services/ucdn/client.py +1964 -0
- ucloud/services/ucdn/schemas/__init__.py +0 -0
- ucloud/services/ucdn/schemas/apis.py +1395 -0
- ucloud/services/ucdn/schemas/models.py +576 -0
- ucloud/services/ucloudstack/__init__.py +0 -0
- ucloud/services/ucloudstack/client.py +3352 -0
- ucloud/services/ucloudstack/schemas/__init__.py +0 -0
- ucloud/services/ucloudstack/schemas/apis.py +2887 -0
- ucloud/services/ucloudstack/schemas/models.py +560 -0
- ucloud/services/ucompshare/__init__.py +0 -0
- ucloud/services/ucompshare/client.py +820 -0
- ucloud/services/ucompshare/schemas/__init__.py +0 -0
- ucloud/services/ucompshare/schemas/apis.py +623 -0
- ucloud/services/ucompshare/schemas/models.py +241 -0
- ucloud/services/udb/__init__.py +0 -0
- ucloud/services/udb/client.py +2463 -0
- ucloud/services/udb/schemas/__init__.py +0 -0
- ucloud/services/udb/schemas/apis.py +2053 -0
- ucloud/services/udb/schemas/models.py +319 -0
- ucloud/services/udbproxy/__init__.py +0 -0
- ucloud/services/udbproxy/client.py +67 -0
- ucloud/services/udbproxy/schemas/__init__.py +0 -0
- ucloud/services/udbproxy/schemas/apis.py +38 -0
- ucloud/services/udbproxy/schemas/models.py +31 -0
- ucloud/services/uddb/__init__.py +0 -0
- ucloud/services/uddb/client.py +456 -0
- ucloud/services/uddb/schemas/__init__.py +0 -0
- ucloud/services/uddb/schemas/apis.py +520 -0
- ucloud/services/uddb/schemas/models.py +96 -0
- ucloud/services/udi/__init__.py +0 -0
- ucloud/services/udi/client.py +250 -0
- ucloud/services/udi/schemas/__init__.py +0 -0
- ucloud/services/udi/schemas/apis.py +205 -0
- ucloud/services/udi/schemas/models.py +58 -0
- ucloud/services/udisk/__init__.py +0 -0
- ucloud/services/udisk/client.py +832 -0
- ucloud/services/udisk/schemas/__init__.py +0 -0
- ucloud/services/udisk/schemas/apis.py +741 -0
- ucloud/services/udisk/schemas/models.py +100 -0
- ucloud/services/udns/__init__.py +0 -0
- ucloud/services/udns/client.py +380 -0
- ucloud/services/udns/schemas/__init__.py +0 -0
- ucloud/services/udns/schemas/apis.py +293 -0
- ucloud/services/udns/schemas/models.py +58 -0
- ucloud/services/udpn/__init__.py +0 -0
- ucloud/services/udpn/client.py +240 -0
- ucloud/services/udpn/schemas/__init__.py +0 -0
- ucloud/services/udpn/schemas/apis.py +203 -0
- ucloud/services/udpn/schemas/models.py +29 -0
- ucloud/services/udts/__init__.py +0 -0
- ucloud/services/udts/client.py +410 -0
- ucloud/services/udts/schemas/__init__.py +0 -0
- ucloud/services/udts/schemas/apis.py +403 -0
- ucloud/services/udts/schemas/models.py +93 -0
- ucloud/services/uec/__init__.py +0 -0
- ucloud/services/uec/client.py +1510 -0
- ucloud/services/uec/schemas/__init__.py +0 -0
- ucloud/services/uec/schemas/apis.py +1195 -0
- ucloud/services/uec/schemas/models.py +316 -0
- ucloud/services/ufile/__init__.py +0 -0
- ucloud/services/ufile/client.py +698 -0
- ucloud/services/ufile/schemas/__init__.py +0 -0
- ucloud/services/ufile/schemas/apis.py +542 -0
- ucloud/services/ufile/schemas/models.py +139 -0
- ucloud/services/ufs/__init__.py +0 -0
- ucloud/services/ufs/client.py +328 -0
- ucloud/services/ufs/schemas/__init__.py +0 -0
- ucloud/services/ufs/schemas/apis.py +265 -0
- ucloud/services/ufs/schemas/models.py +52 -0
- ucloud/services/ugn/__init__.py +0 -0
- ucloud/services/ugn/client.py +857 -0
- ucloud/services/ugn/schemas/__init__.py +0 -0
- ucloud/services/ugn/schemas/apis.py +678 -0
- ucloud/services/ugn/schemas/models.py +191 -0
- ucloud/services/uhost/__init__.py +0 -0
- ucloud/services/uhost/client.py +1647 -0
- ucloud/services/uhost/schemas/__init__.py +0 -0
- ucloud/services/uhost/schemas/apis.py +1483 -0
- ucloud/services/uhost/schemas/models.py +427 -0
- ucloud/services/uhub/__init__.py +0 -0
- ucloud/services/uhub/client.py +229 -0
- ucloud/services/uhub/schemas/__init__.py +0 -0
- ucloud/services/uhub/schemas/apis.py +194 -0
- ucloud/services/uhub/schemas/models.py +39 -0
- ucloud/services/uk8s/__init__.py +0 -0
- ucloud/services/uk8s/client.py +729 -0
- ucloud/services/uk8s/schemas/__init__.py +0 -0
- ucloud/services/uk8s/schemas/apis.py +639 -0
- ucloud/services/uk8s/schemas/models.py +179 -0
- ucloud/services/ulb/__init__.py +0 -0
- ucloud/services/ulb/client.py +2285 -0
- ucloud/services/ulb/schemas/__init__.py +0 -0
- ucloud/services/ulb/schemas/apis.py +1678 -0
- ucloud/services/ulb/schemas/models.py +591 -0
- ucloud/services/ulighthost/__init__.py +0 -0
- ucloud/services/ulighthost/client.py +576 -0
- ucloud/services/ulighthost/schemas/__init__.py +0 -0
- ucloud/services/ulighthost/schemas/apis.py +445 -0
- ucloud/services/ulighthost/schemas/models.py +133 -0
- ucloud/services/umem/__init__.py +0 -0
- ucloud/services/umem/client.py +1829 -0
- ucloud/services/umem/schemas/__init__.py +0 -0
- ucloud/services/umem/schemas/apis.py +1477 -0
- ucloud/services/umem/schemas/models.py +327 -0
- ucloud/services/umongodb/__init__.py +0 -0
- ucloud/services/umongodb/client.py +752 -0
- ucloud/services/umongodb/schemas/__init__.py +0 -0
- ucloud/services/umongodb/schemas/apis.py +567 -0
- ucloud/services/umongodb/schemas/models.py +220 -0
- ucloud/services/unet/__init__.py +0 -0
- ucloud/services/unet/client.py +1278 -0
- ucloud/services/unet/schemas/__init__.py +0 -0
- ucloud/services/unet/schemas/apis.py +1006 -0
- ucloud/services/unet/schemas/models.py +275 -0
- ucloud/services/unvs/__init__.py +0 -0
- ucloud/services/unvs/client.py +87 -0
- ucloud/services/unvs/schemas/__init__.py +0 -0
- ucloud/services/unvs/schemas/apis.py +66 -0
- ucloud/services/unvs/schemas/models.py +19 -0
- ucloud/services/upfs/__init__.py +0 -0
- ucloud/services/upfs/client.py +252 -0
- ucloud/services/upfs/schemas/__init__.py +0 -0
- ucloud/services/upfs/schemas/apis.py +204 -0
- ucloud/services/upfs/schemas/models.py +36 -0
- ucloud/services/upgsql/__init__.py +0 -0
- ucloud/services/upgsql/client.py +1007 -0
- ucloud/services/upgsql/schemas/__init__.py +0 -0
- ucloud/services/upgsql/schemas/apis.py +827 -0
- ucloud/services/upgsql/schemas/models.py +158 -0
- ucloud/services/uphone/__init__.py +0 -0
- ucloud/services/uphone/client.py +2122 -0
- ucloud/services/uphone/schemas/__init__.py +0 -0
- ucloud/services/uphone/schemas/apis.py +1799 -0
- ucloud/services/uphone/schemas/models.py +357 -0
- ucloud/services/uphost/__init__.py +0 -0
- ucloud/services/uphost/client.py +847 -0
- ucloud/services/uphost/schemas/__init__.py +0 -0
- ucloud/services/uphost/schemas/apis.py +689 -0
- ucloud/services/uphost/schemas/models.py +175 -0
- ucloud/services/urocketmq/__init__.py +0 -0
- ucloud/services/urocketmq/client.py +117 -0
- ucloud/services/urocketmq/schemas/__init__.py +0 -0
- ucloud/services/urocketmq/schemas/apis.py +92 -0
- ucloud/services/urocketmq/schemas/models.py +14 -0
- ucloud/services/uslk/__init__.py +0 -0
- ucloud/services/uslk/client.py +249 -0
- ucloud/services/uslk/schemas/__init__.py +0 -0
- ucloud/services/uslk/schemas/apis.py +191 -0
- ucloud/services/uslk/schemas/models.py +74 -0
- ucloud/services/usms/__init__.py +0 -0
- ucloud/services/usms/client.py +759 -0
- ucloud/services/usms/schemas/__init__.py +0 -0
- ucloud/services/usms/schemas/apis.py +653 -0
- ucloud/services/usms/schemas/models.py +215 -0
- ucloud/services/utsdb/__init__.py +0 -0
- ucloud/services/utsdb/client.py +604 -0
- ucloud/services/utsdb/schemas/__init__.py +0 -0
- ucloud/services/utsdb/schemas/apis.py +515 -0
- ucloud/services/utsdb/schemas/models.py +61 -0
- ucloud/services/uvms/__init__.py +0 -0
- ucloud/services/uvms/client.py +119 -0
- ucloud/services/uvms/schemas/__init__.py +0 -0
- ucloud/services/uvms/schemas/apis.py +88 -0
- ucloud/services/uvms/schemas/models.py +40 -0
- ucloud/services/vpc/__init__.py +0 -0
- ucloud/services/vpc/client.py +3233 -0
- ucloud/services/vpc/schemas/__init__.py +0 -0
- ucloud/services/vpc/schemas/apis.py +2529 -0
- ucloud/services/vpc/schemas/models.py +651 -0
- ucloud/testing/__init__.py +0 -0
- ucloud/testing/driver/__init__.py +5 -0
- ucloud/testing/driver/_scenario.py +93 -0
- ucloud/testing/driver/_specification.py +57 -0
- ucloud/testing/driver/_step.py +166 -0
- ucloud/testing/env.py +28 -0
- ucloud/testing/exc.py +18 -0
- ucloud/testing/funcs.py +68 -0
- ucloud/testing/mock.py +28 -0
- ucloud/testing/op.py +177 -0
- ucloud/testing/utest.py +195 -0
- ucloud/version.py +1 -0
- ucloud_sdk_python3-0.11.81.dist-info/LICENSE +202 -0
- ucloud_sdk_python3-0.11.81.dist-info/METADATA +71 -0
- ucloud_sdk_python3-0.11.81.dist-info/RECORD +280 -0
- ucloud_sdk_python3-0.11.81.dist-info/WHEEL +5 -0
- ucloud_sdk_python3-0.11.81.dist-info/top_level.txt +1 -0
ucloud/__init__.py
ADDED
|
File without changes
|
ucloud/client.py
ADDED
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
""" Code is generated by ucloud-model, DO NOT EDIT IT. """
|
|
2
|
+
|
|
3
|
+
from ucloud.core import client
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Client(client.Client):
|
|
7
|
+
def __init__(
|
|
8
|
+
self, config: dict, transport=None, middleware=None, logger=None
|
|
9
|
+
):
|
|
10
|
+
self._config = config
|
|
11
|
+
super(Client, self).__init__(
|
|
12
|
+
self._auto_config(), transport, middleware, logger
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def pathx(self):
|
|
16
|
+
from ucloud.services.pathx.client import PathXClient
|
|
17
|
+
|
|
18
|
+
return PathXClient(
|
|
19
|
+
self._auto_config("pathx"),
|
|
20
|
+
self.transport,
|
|
21
|
+
self.middleware,
|
|
22
|
+
self.logger,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
def cube(self):
|
|
26
|
+
from ucloud.services.cube.client import CubeClient
|
|
27
|
+
|
|
28
|
+
return CubeClient(
|
|
29
|
+
self._auto_config("cube"),
|
|
30
|
+
self.transport,
|
|
31
|
+
self.middleware,
|
|
32
|
+
self.logger,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
def iam(self):
|
|
36
|
+
from ucloud.services.iam.client import IAMClient
|
|
37
|
+
|
|
38
|
+
return IAMClient(
|
|
39
|
+
self._auto_config("iam"),
|
|
40
|
+
self.transport,
|
|
41
|
+
self.middleware,
|
|
42
|
+
self.logger,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
def ipsecvpn(self):
|
|
46
|
+
from ucloud.services.ipsecvpn.client import IPSecVPNClient
|
|
47
|
+
|
|
48
|
+
return IPSecVPNClient(
|
|
49
|
+
self._auto_config("ipsecvpn"),
|
|
50
|
+
self.transport,
|
|
51
|
+
self.middleware,
|
|
52
|
+
self.logger,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
def isms(self):
|
|
56
|
+
from ucloud.services.isms.client import ISMSClient
|
|
57
|
+
|
|
58
|
+
return ISMSClient(
|
|
59
|
+
self._auto_config("isms"),
|
|
60
|
+
self.transport,
|
|
61
|
+
self.middleware,
|
|
62
|
+
self.logger,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
def sts(self):
|
|
66
|
+
from ucloud.services.sts.client import STSClient
|
|
67
|
+
|
|
68
|
+
return STSClient(
|
|
69
|
+
self._auto_config("sts"),
|
|
70
|
+
self.transport,
|
|
71
|
+
self.middleware,
|
|
72
|
+
self.logger,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
def stepflow(self):
|
|
76
|
+
from ucloud.services.stepflow.client import StepFlowClient
|
|
77
|
+
|
|
78
|
+
return StepFlowClient(
|
|
79
|
+
self._auto_config("stepflow"),
|
|
80
|
+
self.transport,
|
|
81
|
+
self.middleware,
|
|
82
|
+
self.logger,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
def tidb(self):
|
|
86
|
+
from ucloud.services.tidb.client import TiDBClient
|
|
87
|
+
|
|
88
|
+
return TiDBClient(
|
|
89
|
+
self._auto_config("tidb"),
|
|
90
|
+
self.transport,
|
|
91
|
+
self.middleware,
|
|
92
|
+
self.logger,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
def uaaa(self):
|
|
96
|
+
from ucloud.services.uaaa.client import UAAAClient
|
|
97
|
+
|
|
98
|
+
return UAAAClient(
|
|
99
|
+
self._auto_config("uaaa"),
|
|
100
|
+
self.transport,
|
|
101
|
+
self.middleware,
|
|
102
|
+
self.logger,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
def uads(self):
|
|
106
|
+
from ucloud.services.uads.client import UADSClient
|
|
107
|
+
|
|
108
|
+
return UADSClient(
|
|
109
|
+
self._auto_config("uads"),
|
|
110
|
+
self.transport,
|
|
111
|
+
self.middleware,
|
|
112
|
+
self.logger,
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
def uaccount(self):
|
|
116
|
+
from ucloud.services.uaccount.client import UAccountClient
|
|
117
|
+
|
|
118
|
+
return UAccountClient(
|
|
119
|
+
self._auto_config("uaccount"),
|
|
120
|
+
self.transport,
|
|
121
|
+
self.middleware,
|
|
122
|
+
self.logger,
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
def ubill(self):
|
|
126
|
+
from ucloud.services.ubill.client import UBillClient
|
|
127
|
+
|
|
128
|
+
return UBillClient(
|
|
129
|
+
self._auto_config("ubill"),
|
|
130
|
+
self.transport,
|
|
131
|
+
self.middleware,
|
|
132
|
+
self.logger,
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
def ucdn(self):
|
|
136
|
+
from ucloud.services.ucdn.client import UCDNClient
|
|
137
|
+
|
|
138
|
+
return UCDNClient(
|
|
139
|
+
self._auto_config("ucdn"),
|
|
140
|
+
self.transport,
|
|
141
|
+
self.middleware,
|
|
142
|
+
self.logger,
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
def ucompshare(self):
|
|
146
|
+
from ucloud.services.ucompshare.client import UCompShareClient
|
|
147
|
+
|
|
148
|
+
return UCompShareClient(
|
|
149
|
+
self._auto_config("ucompshare"),
|
|
150
|
+
self.transport,
|
|
151
|
+
self.middleware,
|
|
152
|
+
self.logger,
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
def udb(self):
|
|
156
|
+
from ucloud.services.udb.client import UDBClient
|
|
157
|
+
|
|
158
|
+
return UDBClient(
|
|
159
|
+
self._auto_config("udb"),
|
|
160
|
+
self.transport,
|
|
161
|
+
self.middleware,
|
|
162
|
+
self.logger,
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
def udbproxy(self):
|
|
166
|
+
from ucloud.services.udbproxy.client import UDBProxyClient
|
|
167
|
+
|
|
168
|
+
return UDBProxyClient(
|
|
169
|
+
self._auto_config("udbproxy"),
|
|
170
|
+
self.transport,
|
|
171
|
+
self.middleware,
|
|
172
|
+
self.logger,
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
def uddb(self):
|
|
176
|
+
from ucloud.services.uddb.client import UDDBClient
|
|
177
|
+
|
|
178
|
+
return UDDBClient(
|
|
179
|
+
self._auto_config("uddb"),
|
|
180
|
+
self.transport,
|
|
181
|
+
self.middleware,
|
|
182
|
+
self.logger,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
def udi(self):
|
|
186
|
+
from ucloud.services.udi.client import UDIClient
|
|
187
|
+
|
|
188
|
+
return UDIClient(
|
|
189
|
+
self._auto_config("udi"),
|
|
190
|
+
self.transport,
|
|
191
|
+
self.middleware,
|
|
192
|
+
self.logger,
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
def udns(self):
|
|
196
|
+
from ucloud.services.udns.client import UDNSClient
|
|
197
|
+
|
|
198
|
+
return UDNSClient(
|
|
199
|
+
self._auto_config("udns"),
|
|
200
|
+
self.transport,
|
|
201
|
+
self.middleware,
|
|
202
|
+
self.logger,
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
def udpn(self):
|
|
206
|
+
from ucloud.services.udpn.client import UDPNClient
|
|
207
|
+
|
|
208
|
+
return UDPNClient(
|
|
209
|
+
self._auto_config("udpn"),
|
|
210
|
+
self.transport,
|
|
211
|
+
self.middleware,
|
|
212
|
+
self.logger,
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
def udts(self):
|
|
216
|
+
from ucloud.services.udts.client import UDTSClient
|
|
217
|
+
|
|
218
|
+
return UDTSClient(
|
|
219
|
+
self._auto_config("udts"),
|
|
220
|
+
self.transport,
|
|
221
|
+
self.middleware,
|
|
222
|
+
self.logger,
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
def udisk(self):
|
|
226
|
+
from ucloud.services.udisk.client import UDiskClient
|
|
227
|
+
|
|
228
|
+
return UDiskClient(
|
|
229
|
+
self._auto_config("udisk"),
|
|
230
|
+
self.transport,
|
|
231
|
+
self.middleware,
|
|
232
|
+
self.logger,
|
|
233
|
+
)
|
|
234
|
+
|
|
235
|
+
def uec(self):
|
|
236
|
+
from ucloud.services.uec.client import UECClient
|
|
237
|
+
|
|
238
|
+
return UECClient(
|
|
239
|
+
self._auto_config("uec"),
|
|
240
|
+
self.transport,
|
|
241
|
+
self.middleware,
|
|
242
|
+
self.logger,
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
def ufs(self):
|
|
246
|
+
from ucloud.services.ufs.client import UFSClient
|
|
247
|
+
|
|
248
|
+
return UFSClient(
|
|
249
|
+
self._auto_config("ufs"),
|
|
250
|
+
self.transport,
|
|
251
|
+
self.middleware,
|
|
252
|
+
self.logger,
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
def ufile(self):
|
|
256
|
+
from ucloud.services.ufile.client import UFileClient
|
|
257
|
+
|
|
258
|
+
return UFileClient(
|
|
259
|
+
self._auto_config("ufile"),
|
|
260
|
+
self.transport,
|
|
261
|
+
self.middleware,
|
|
262
|
+
self.logger,
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
def ugn(self):
|
|
266
|
+
from ucloud.services.ugn.client import UGNClient
|
|
267
|
+
|
|
268
|
+
return UGNClient(
|
|
269
|
+
self._auto_config("ugn"),
|
|
270
|
+
self.transport,
|
|
271
|
+
self.middleware,
|
|
272
|
+
self.logger,
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
def uhost(self):
|
|
276
|
+
from ucloud.services.uhost.client import UHostClient
|
|
277
|
+
|
|
278
|
+
return UHostClient(
|
|
279
|
+
self._auto_config("uhost"),
|
|
280
|
+
self.transport,
|
|
281
|
+
self.middleware,
|
|
282
|
+
self.logger,
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
def uhub(self):
|
|
286
|
+
from ucloud.services.uhub.client import UHubClient
|
|
287
|
+
|
|
288
|
+
return UHubClient(
|
|
289
|
+
self._auto_config("uhub"),
|
|
290
|
+
self.transport,
|
|
291
|
+
self.middleware,
|
|
292
|
+
self.logger,
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
def uk8s(self):
|
|
296
|
+
from ucloud.services.uk8s.client import UK8SClient
|
|
297
|
+
|
|
298
|
+
return UK8SClient(
|
|
299
|
+
self._auto_config("uk8s"),
|
|
300
|
+
self.transport,
|
|
301
|
+
self.middleware,
|
|
302
|
+
self.logger,
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
def ulb(self):
|
|
306
|
+
from ucloud.services.ulb.client import ULBClient
|
|
307
|
+
|
|
308
|
+
return ULBClient(
|
|
309
|
+
self._auto_config("ulb"),
|
|
310
|
+
self.transport,
|
|
311
|
+
self.middleware,
|
|
312
|
+
self.logger,
|
|
313
|
+
)
|
|
314
|
+
|
|
315
|
+
def ulighthost(self):
|
|
316
|
+
from ucloud.services.ulighthost.client import ULightHostClient
|
|
317
|
+
|
|
318
|
+
return ULightHostClient(
|
|
319
|
+
self._auto_config("ulighthost"),
|
|
320
|
+
self.transport,
|
|
321
|
+
self.middleware,
|
|
322
|
+
self.logger,
|
|
323
|
+
)
|
|
324
|
+
|
|
325
|
+
def umem(self):
|
|
326
|
+
from ucloud.services.umem.client import UMemClient
|
|
327
|
+
|
|
328
|
+
return UMemClient(
|
|
329
|
+
self._auto_config("umem"),
|
|
330
|
+
self.transport,
|
|
331
|
+
self.middleware,
|
|
332
|
+
self.logger,
|
|
333
|
+
)
|
|
334
|
+
|
|
335
|
+
def umongodb(self):
|
|
336
|
+
from ucloud.services.umongodb.client import UMongoDBClient
|
|
337
|
+
|
|
338
|
+
return UMongoDBClient(
|
|
339
|
+
self._auto_config("umongodb"),
|
|
340
|
+
self.transport,
|
|
341
|
+
self.middleware,
|
|
342
|
+
self.logger,
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
def unvs(self):
|
|
346
|
+
from ucloud.services.unvs.client import UNVSClient
|
|
347
|
+
|
|
348
|
+
return UNVSClient(
|
|
349
|
+
self._auto_config("unvs"),
|
|
350
|
+
self.transport,
|
|
351
|
+
self.middleware,
|
|
352
|
+
self.logger,
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
def unet(self):
|
|
356
|
+
from ucloud.services.unet.client import UNetClient
|
|
357
|
+
|
|
358
|
+
return UNetClient(
|
|
359
|
+
self._auto_config("unet"),
|
|
360
|
+
self.transport,
|
|
361
|
+
self.middleware,
|
|
362
|
+
self.logger,
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
def upfs(self):
|
|
366
|
+
from ucloud.services.upfs.client import UPFSClient
|
|
367
|
+
|
|
368
|
+
return UPFSClient(
|
|
369
|
+
self._auto_config("upfs"),
|
|
370
|
+
self.transport,
|
|
371
|
+
self.middleware,
|
|
372
|
+
self.logger,
|
|
373
|
+
)
|
|
374
|
+
|
|
375
|
+
def uphost(self):
|
|
376
|
+
from ucloud.services.uphost.client import UPHostClient
|
|
377
|
+
|
|
378
|
+
return UPHostClient(
|
|
379
|
+
self._auto_config("uphost"),
|
|
380
|
+
self.transport,
|
|
381
|
+
self.middleware,
|
|
382
|
+
self.logger,
|
|
383
|
+
)
|
|
384
|
+
|
|
385
|
+
def upgsql(self):
|
|
386
|
+
from ucloud.services.upgsql.client import UPgSQLClient
|
|
387
|
+
|
|
388
|
+
return UPgSQLClient(
|
|
389
|
+
self._auto_config("upgsql"),
|
|
390
|
+
self.transport,
|
|
391
|
+
self.middleware,
|
|
392
|
+
self.logger,
|
|
393
|
+
)
|
|
394
|
+
|
|
395
|
+
def uphone(self):
|
|
396
|
+
from ucloud.services.uphone.client import UPhoneClient
|
|
397
|
+
|
|
398
|
+
return UPhoneClient(
|
|
399
|
+
self._auto_config("uphone"),
|
|
400
|
+
self.transport,
|
|
401
|
+
self.middleware,
|
|
402
|
+
self.logger,
|
|
403
|
+
)
|
|
404
|
+
|
|
405
|
+
def uslk(self):
|
|
406
|
+
from ucloud.services.uslk.client import USLKClient
|
|
407
|
+
|
|
408
|
+
return USLKClient(
|
|
409
|
+
self._auto_config("uslk"),
|
|
410
|
+
self.transport,
|
|
411
|
+
self.middleware,
|
|
412
|
+
self.logger,
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
def usms(self):
|
|
416
|
+
from ucloud.services.usms.client import USMSClient
|
|
417
|
+
|
|
418
|
+
return USMSClient(
|
|
419
|
+
self._auto_config("usms"),
|
|
420
|
+
self.transport,
|
|
421
|
+
self.middleware,
|
|
422
|
+
self.logger,
|
|
423
|
+
)
|
|
424
|
+
|
|
425
|
+
def utsdb(self):
|
|
426
|
+
from ucloud.services.utsdb.client import UTSDBClient
|
|
427
|
+
|
|
428
|
+
return UTSDBClient(
|
|
429
|
+
self._auto_config("utsdb"),
|
|
430
|
+
self.transport,
|
|
431
|
+
self.middleware,
|
|
432
|
+
self.logger,
|
|
433
|
+
)
|
|
434
|
+
|
|
435
|
+
def uvms(self):
|
|
436
|
+
from ucloud.services.uvms.client import UVMSClient
|
|
437
|
+
|
|
438
|
+
return UVMSClient(
|
|
439
|
+
self._auto_config("uvms"),
|
|
440
|
+
self.transport,
|
|
441
|
+
self.middleware,
|
|
442
|
+
self.logger,
|
|
443
|
+
)
|
|
444
|
+
|
|
445
|
+
def ipv6gw(self):
|
|
446
|
+
from ucloud.services.ipv6gw.client import ipv6gwClient
|
|
447
|
+
|
|
448
|
+
return ipv6gwClient(
|
|
449
|
+
self._auto_config("ipv6gw"),
|
|
450
|
+
self.transport,
|
|
451
|
+
self.middleware,
|
|
452
|
+
self.logger,
|
|
453
|
+
)
|
|
454
|
+
|
|
455
|
+
def vpc(self):
|
|
456
|
+
from ucloud.services.vpc.client import VPCClient
|
|
457
|
+
|
|
458
|
+
return VPCClient(
|
|
459
|
+
self._auto_config("vpc"),
|
|
460
|
+
self.transport,
|
|
461
|
+
self.middleware,
|
|
462
|
+
self.logger,
|
|
463
|
+
)
|
|
464
|
+
|
|
465
|
+
def _auto_config(self, package="generic"):
|
|
466
|
+
user_agent = "Package/{} {}".format(
|
|
467
|
+
package, self._config.get("user_agent") or ""
|
|
468
|
+
)
|
|
469
|
+
return dict(user_agent=user_agent.rstrip(), **self._config)
|
ucloud/core/__init__.py
ADDED
|
File without changes
|
ucloud/core/auth/_cfg.py
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import hashlib
|
|
2
|
+
from collections import OrderedDict
|
|
3
|
+
from ucloud.core.typesystem import schema, fields, encoder
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class CredentialSchema(schema.Schema):
|
|
7
|
+
fields = {
|
|
8
|
+
"public_key": fields.Str(required=True),
|
|
9
|
+
"private_key": fields.Str(required=True),
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def verify_ac(private_key: str, params: dict) -> str:
|
|
14
|
+
"""calculate signature by private_key/public_key
|
|
15
|
+
|
|
16
|
+
the keys can be found on `APIKey documentation <https://console.ucloud.cn/uapi/apikey>`__
|
|
17
|
+
|
|
18
|
+
>>> verify_ac("my_private_key", {"foo": "bar"})
|
|
19
|
+
'634edc1bb957c0d65e5ab5494cf3b7784fbc87af'
|
|
20
|
+
|
|
21
|
+
>>> verify_ac("my_private_key", {"foo": "bar"})
|
|
22
|
+
'634edc1bb957c0d65e5ab5494cf3b7784fbc87af'
|
|
23
|
+
|
|
24
|
+
:param private_key: private key
|
|
25
|
+
:param params:
|
|
26
|
+
:return:
|
|
27
|
+
"""
|
|
28
|
+
params = OrderedDict(sorted(params.items(), key=lambda item: item[0]))
|
|
29
|
+
|
|
30
|
+
simplified = ""
|
|
31
|
+
for key, value in params.items():
|
|
32
|
+
simplified += str(key) + encoder.encode_value(value)
|
|
33
|
+
simplified += private_key
|
|
34
|
+
|
|
35
|
+
hash_new = hashlib.sha1()
|
|
36
|
+
hash_new.update(simplified.encode("utf-8"))
|
|
37
|
+
hash_value = hash_new.hexdigest()
|
|
38
|
+
return hash_value
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class Credential:
|
|
42
|
+
"""credential is the object to store credential information
|
|
43
|
+
|
|
44
|
+
the keys can be found on `APIKey documentation <https://console.ucloud.cn/uapi/apikey>`__
|
|
45
|
+
|
|
46
|
+
it can calculate signature for OpenAPI:
|
|
47
|
+
|
|
48
|
+
>>> cred = Credential('my_public_key', 'my_private_key')
|
|
49
|
+
>>> cred.verify_ac({"foo": "bar"})
|
|
50
|
+
'd4411ab30953fb0bbcb1e7313081f05e4e91a394'
|
|
51
|
+
|
|
52
|
+
:param public_key:
|
|
53
|
+
:param private_key:
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
PUBLIC_KEY_NAME = "PublicKey"
|
|
57
|
+
|
|
58
|
+
def __init__(self, public_key: str, private_key: str, **kwargs):
|
|
59
|
+
self.public_key = public_key
|
|
60
|
+
self.private_key = private_key
|
|
61
|
+
|
|
62
|
+
def verify_ac(self, args: dict) -> str:
|
|
63
|
+
args[Credential.PUBLIC_KEY_NAME] = self.public_key
|
|
64
|
+
return verify_ac(self.private_key, args)
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls, d: dict):
|
|
68
|
+
parsed = CredentialSchema().dumps(d)
|
|
69
|
+
return cls(**parsed)
|
|
70
|
+
|
|
71
|
+
def to_dict(self) -> dict:
|
|
72
|
+
return {"public_key": self.public_key, "private_key": self.private_key}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
|
|
3
|
+
from ucloud.core.typesystem import schema, fields
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ConfigSchema(schema.Schema):
|
|
7
|
+
fields = {
|
|
8
|
+
"region": fields.Str(),
|
|
9
|
+
"project_id": fields.Str(),
|
|
10
|
+
"base_url": fields.Str(default="https://api.ucloud.cn"),
|
|
11
|
+
"user_agent": fields.Str(),
|
|
12
|
+
"timeout": fields.Int(default=30),
|
|
13
|
+
"max_retries": fields.Int(default=0),
|
|
14
|
+
"log_level": fields.Int(default=logging.INFO),
|
|
15
|
+
"validate_request": fields.Bool(default=True),
|
|
16
|
+
"ssl_verify": fields.Bool(default=True),
|
|
17
|
+
"ssl_cacert": fields.Str(),
|
|
18
|
+
"ssl_cert": fields.Str(),
|
|
19
|
+
"ssl_key": fields.Str(),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
"""
|
|
25
|
+
Config is the config of ucloud sdk, use for setting up
|
|
26
|
+
|
|
27
|
+
:type region: str
|
|
28
|
+
:param region: Region is the region of backend service,
|
|
29
|
+
See also `Region list Documentation <https://docs.ucloud.cn/api/summary/regionlist>`_
|
|
30
|
+
:type project_id: str
|
|
31
|
+
:param project_id: ProjectId is the unique identify of project, used for organize resources,
|
|
32
|
+
Most of resources should belong to a project. Sub-Account must have an project id.
|
|
33
|
+
See also `Project list Documentation <https://docs.ucloud.cn/api/summary/get_project_list>`_
|
|
34
|
+
:type base_url: str
|
|
35
|
+
:param base_url: BaseUrl is the url of backend api
|
|
36
|
+
:param user_agent: UserAgent is an attribute for sdk client, used for distinguish who is using sdk.
|
|
37
|
+
See also `User Agent <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent>`_
|
|
38
|
+
It will be appended to the end of sdk user-agent.
|
|
39
|
+
eg. "MyAPP/0.10.1" -> "Python/3.7.0 Python-SDK/0.1.0 MyAPP/0.10.1"
|
|
40
|
+
:type timeout: int
|
|
41
|
+
:param timeout: Timeout is timeout for every request.
|
|
42
|
+
:type max_retries: int
|
|
43
|
+
:param max_retries: MaxRetries is the number of max retry times.
|
|
44
|
+
Set MaxRetries more than 0 to enable auto-retry for network and service availability problem
|
|
45
|
+
if auto-retry is enabled, it will enable default retry policy using exponential backoff.
|
|
46
|
+
:type log_level: int
|
|
47
|
+
:param log_level: LogLevel is equal to builtin logging level,
|
|
48
|
+
if logLevel not be set, use INFO level as default.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
def __init__(
|
|
52
|
+
self,
|
|
53
|
+
region: str = None,
|
|
54
|
+
project_id: str = None,
|
|
55
|
+
base_url: str = "https://api.ucloud.cn",
|
|
56
|
+
user_agent: str = None,
|
|
57
|
+
timeout: int = 30,
|
|
58
|
+
max_retries: int = 3,
|
|
59
|
+
log_level: int = logging.INFO,
|
|
60
|
+
ssl_verify: bool = True,
|
|
61
|
+
ssl_cacert: str = None,
|
|
62
|
+
ssl_cert: str = None,
|
|
63
|
+
ssl_key: str = None,
|
|
64
|
+
**kwargs
|
|
65
|
+
):
|
|
66
|
+
self.region = region
|
|
67
|
+
self.project_id = project_id
|
|
68
|
+
self.base_url = base_url
|
|
69
|
+
self.user_agent = user_agent
|
|
70
|
+
self.timeout = timeout
|
|
71
|
+
self.max_retries = max_retries
|
|
72
|
+
self.log_level = log_level
|
|
73
|
+
self.ssl_verify = ssl_verify
|
|
74
|
+
self.ssl_cacert = ssl_cacert
|
|
75
|
+
self.ssl_cert = ssl_cert
|
|
76
|
+
self.ssl_key = ssl_key
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def from_dict(cls, d: dict):
|
|
80
|
+
parsed = ConfigSchema().dumps(d)
|
|
81
|
+
return cls(**parsed)
|
|
82
|
+
|
|
83
|
+
def to_dict(self) -> dict:
|
|
84
|
+
return {
|
|
85
|
+
"region": self.region,
|
|
86
|
+
"project_id": self.project_id,
|
|
87
|
+
"base_url": self.base_url,
|
|
88
|
+
"user_agent": self.user_agent,
|
|
89
|
+
"timeout": self.timeout,
|
|
90
|
+
"max_retries": self.max_retries,
|
|
91
|
+
"log_level": self.log_level,
|
|
92
|
+
"ssl_verify": self.ssl_verify,
|
|
93
|
+
"ssl_cacert": self.ssl_cacert,
|
|
94
|
+
"ssl_cert": self.ssl_cert,
|
|
95
|
+
"ssl_key": self.ssl_key,
|
|
96
|
+
}
|