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.
Files changed (280) hide show
  1. ucloud/__init__.py +0 -0
  2. ucloud/client.py +469 -0
  3. ucloud/core/__init__.py +0 -0
  4. ucloud/core/auth/__init__.py +3 -0
  5. ucloud/core/auth/_cfg.py +72 -0
  6. ucloud/core/client/__init__.py +8 -0
  7. ucloud/core/client/_cfg.py +96 -0
  8. ucloud/core/client/_client.py +176 -0
  9. ucloud/core/exc/__init__.py +9 -0
  10. ucloud/core/exc/_exc.py +94 -0
  11. ucloud/core/transport/__init__.py +4 -0
  12. ucloud/core/transport/_requests.py +135 -0
  13. ucloud/core/transport/http.py +120 -0
  14. ucloud/core/transport/utils.py +40 -0
  15. ucloud/core/typesystem/__init__.py +0 -0
  16. ucloud/core/typesystem/abstract.py +60 -0
  17. ucloud/core/typesystem/encoder.py +33 -0
  18. ucloud/core/typesystem/fields.py +149 -0
  19. ucloud/core/typesystem/schema.py +97 -0
  20. ucloud/core/utils/__init__.py +0 -0
  21. ucloud/core/utils/compat.py +15 -0
  22. ucloud/core/utils/deco.py +31 -0
  23. ucloud/core/utils/log.py +29 -0
  24. ucloud/core/utils/middleware.py +63 -0
  25. ucloud/helpers/__init__.py +0 -0
  26. ucloud/helpers/utils.py +90 -0
  27. ucloud/helpers/wait.py +108 -0
  28. ucloud/services/__init__.py +0 -0
  29. ucloud/services/cube/__init__.py +0 -0
  30. ucloud/services/cube/client.py +618 -0
  31. ucloud/services/cube/schemas/__init__.py +0 -0
  32. ucloud/services/cube/schemas/apis.py +548 -0
  33. ucloud/services/cube/schemas/models.py +58 -0
  34. ucloud/services/iam/__init__.py +0 -0
  35. ucloud/services/iam/client.py +1078 -0
  36. ucloud/services/iam/schemas/__init__.py +0 -0
  37. ucloud/services/iam/schemas/apis.py +973 -0
  38. ucloud/services/iam/schemas/models.py +127 -0
  39. ucloud/services/ipsecvpn/__init__.py +0 -0
  40. ucloud/services/ipsecvpn/client.py +522 -0
  41. ucloud/services/ipsecvpn/schemas/__init__.py +0 -0
  42. ucloud/services/ipsecvpn/schemas/apis.py +455 -0
  43. ucloud/services/ipsecvpn/schemas/models.py +134 -0
  44. ucloud/services/ipv6gw/__init__.py +0 -0
  45. ucloud/services/ipv6gw/client.py +44 -0
  46. ucloud/services/ipv6gw/schemas/__init__.py +0 -0
  47. ucloud/services/ipv6gw/schemas/apis.py +34 -0
  48. ucloud/services/ipv6gw/schemas/models.py +3 -0
  49. ucloud/services/isms/__init__.py +0 -0
  50. ucloud/services/isms/client.py +330 -0
  51. ucloud/services/isms/schemas/__init__.py +0 -0
  52. ucloud/services/isms/schemas/apis.py +272 -0
  53. ucloud/services/isms/schemas/models.py +50 -0
  54. ucloud/services/pathx/__init__.py +0 -0
  55. ucloud/services/pathx/client.py +1656 -0
  56. ucloud/services/pathx/schemas/__init__.py +0 -0
  57. ucloud/services/pathx/schemas/apis.py +1289 -0
  58. ucloud/services/pathx/schemas/models.py +420 -0
  59. ucloud/services/stepflow/__init__.py +0 -0
  60. ucloud/services/stepflow/client.py +98 -0
  61. ucloud/services/stepflow/schemas/__init__.py +0 -0
  62. ucloud/services/stepflow/schemas/apis.py +67 -0
  63. ucloud/services/stepflow/schemas/models.py +37 -0
  64. ucloud/services/sts/__init__.py +0 -0
  65. ucloud/services/sts/client.py +46 -0
  66. ucloud/services/sts/schemas/__init__.py +0 -0
  67. ucloud/services/sts/schemas/apis.py +35 -0
  68. ucloud/services/sts/schemas/models.py +16 -0
  69. ucloud/services/tidb/__init__.py +0 -0
  70. ucloud/services/tidb/client.py +120 -0
  71. ucloud/services/tidb/schemas/__init__.py +0 -0
  72. ucloud/services/tidb/schemas/apis.py +103 -0
  73. ucloud/services/tidb/schemas/models.py +11 -0
  74. ucloud/services/uaaa/__init__.py +0 -0
  75. ucloud/services/uaaa/client.py +311 -0
  76. ucloud/services/uaaa/schemas/__init__.py +0 -0
  77. ucloud/services/uaaa/schemas/apis.py +252 -0
  78. ucloud/services/uaaa/schemas/models.py +47 -0
  79. ucloud/services/uaccount/__init__.py +0 -0
  80. ucloud/services/uaccount/client.py +547 -0
  81. ucloud/services/uaccount/schemas/__init__.py +0 -0
  82. ucloud/services/uaccount/schemas/apis.py +442 -0
  83. ucloud/services/uaccount/schemas/models.py +128 -0
  84. ucloud/services/uads/__init__.py +0 -0
  85. ucloud/services/uads/client.py +1148 -0
  86. ucloud/services/uads/schemas/__init__.py +0 -0
  87. ucloud/services/uads/schemas/apis.py +983 -0
  88. ucloud/services/uads/schemas/models.py +199 -0
  89. ucloud/services/ubill/__init__.py +0 -0
  90. ucloud/services/ubill/client.py +248 -0
  91. ucloud/services/ubill/schemas/__init__.py +0 -0
  92. ucloud/services/ubill/schemas/apis.py +183 -0
  93. ucloud/services/ubill/schemas/models.py +107 -0
  94. ucloud/services/ucdn/__init__.py +0 -0
  95. ucloud/services/ucdn/client.py +1964 -0
  96. ucloud/services/ucdn/schemas/__init__.py +0 -0
  97. ucloud/services/ucdn/schemas/apis.py +1395 -0
  98. ucloud/services/ucdn/schemas/models.py +576 -0
  99. ucloud/services/ucloudstack/__init__.py +0 -0
  100. ucloud/services/ucloudstack/client.py +3352 -0
  101. ucloud/services/ucloudstack/schemas/__init__.py +0 -0
  102. ucloud/services/ucloudstack/schemas/apis.py +2887 -0
  103. ucloud/services/ucloudstack/schemas/models.py +560 -0
  104. ucloud/services/ucompshare/__init__.py +0 -0
  105. ucloud/services/ucompshare/client.py +820 -0
  106. ucloud/services/ucompshare/schemas/__init__.py +0 -0
  107. ucloud/services/ucompshare/schemas/apis.py +623 -0
  108. ucloud/services/ucompshare/schemas/models.py +241 -0
  109. ucloud/services/udb/__init__.py +0 -0
  110. ucloud/services/udb/client.py +2463 -0
  111. ucloud/services/udb/schemas/__init__.py +0 -0
  112. ucloud/services/udb/schemas/apis.py +2053 -0
  113. ucloud/services/udb/schemas/models.py +319 -0
  114. ucloud/services/udbproxy/__init__.py +0 -0
  115. ucloud/services/udbproxy/client.py +67 -0
  116. ucloud/services/udbproxy/schemas/__init__.py +0 -0
  117. ucloud/services/udbproxy/schemas/apis.py +38 -0
  118. ucloud/services/udbproxy/schemas/models.py +31 -0
  119. ucloud/services/uddb/__init__.py +0 -0
  120. ucloud/services/uddb/client.py +456 -0
  121. ucloud/services/uddb/schemas/__init__.py +0 -0
  122. ucloud/services/uddb/schemas/apis.py +520 -0
  123. ucloud/services/uddb/schemas/models.py +96 -0
  124. ucloud/services/udi/__init__.py +0 -0
  125. ucloud/services/udi/client.py +250 -0
  126. ucloud/services/udi/schemas/__init__.py +0 -0
  127. ucloud/services/udi/schemas/apis.py +205 -0
  128. ucloud/services/udi/schemas/models.py +58 -0
  129. ucloud/services/udisk/__init__.py +0 -0
  130. ucloud/services/udisk/client.py +832 -0
  131. ucloud/services/udisk/schemas/__init__.py +0 -0
  132. ucloud/services/udisk/schemas/apis.py +741 -0
  133. ucloud/services/udisk/schemas/models.py +100 -0
  134. ucloud/services/udns/__init__.py +0 -0
  135. ucloud/services/udns/client.py +380 -0
  136. ucloud/services/udns/schemas/__init__.py +0 -0
  137. ucloud/services/udns/schemas/apis.py +293 -0
  138. ucloud/services/udns/schemas/models.py +58 -0
  139. ucloud/services/udpn/__init__.py +0 -0
  140. ucloud/services/udpn/client.py +240 -0
  141. ucloud/services/udpn/schemas/__init__.py +0 -0
  142. ucloud/services/udpn/schemas/apis.py +203 -0
  143. ucloud/services/udpn/schemas/models.py +29 -0
  144. ucloud/services/udts/__init__.py +0 -0
  145. ucloud/services/udts/client.py +410 -0
  146. ucloud/services/udts/schemas/__init__.py +0 -0
  147. ucloud/services/udts/schemas/apis.py +403 -0
  148. ucloud/services/udts/schemas/models.py +93 -0
  149. ucloud/services/uec/__init__.py +0 -0
  150. ucloud/services/uec/client.py +1510 -0
  151. ucloud/services/uec/schemas/__init__.py +0 -0
  152. ucloud/services/uec/schemas/apis.py +1195 -0
  153. ucloud/services/uec/schemas/models.py +316 -0
  154. ucloud/services/ufile/__init__.py +0 -0
  155. ucloud/services/ufile/client.py +698 -0
  156. ucloud/services/ufile/schemas/__init__.py +0 -0
  157. ucloud/services/ufile/schemas/apis.py +542 -0
  158. ucloud/services/ufile/schemas/models.py +139 -0
  159. ucloud/services/ufs/__init__.py +0 -0
  160. ucloud/services/ufs/client.py +328 -0
  161. ucloud/services/ufs/schemas/__init__.py +0 -0
  162. ucloud/services/ufs/schemas/apis.py +265 -0
  163. ucloud/services/ufs/schemas/models.py +52 -0
  164. ucloud/services/ugn/__init__.py +0 -0
  165. ucloud/services/ugn/client.py +857 -0
  166. ucloud/services/ugn/schemas/__init__.py +0 -0
  167. ucloud/services/ugn/schemas/apis.py +678 -0
  168. ucloud/services/ugn/schemas/models.py +191 -0
  169. ucloud/services/uhost/__init__.py +0 -0
  170. ucloud/services/uhost/client.py +1647 -0
  171. ucloud/services/uhost/schemas/__init__.py +0 -0
  172. ucloud/services/uhost/schemas/apis.py +1483 -0
  173. ucloud/services/uhost/schemas/models.py +427 -0
  174. ucloud/services/uhub/__init__.py +0 -0
  175. ucloud/services/uhub/client.py +229 -0
  176. ucloud/services/uhub/schemas/__init__.py +0 -0
  177. ucloud/services/uhub/schemas/apis.py +194 -0
  178. ucloud/services/uhub/schemas/models.py +39 -0
  179. ucloud/services/uk8s/__init__.py +0 -0
  180. ucloud/services/uk8s/client.py +729 -0
  181. ucloud/services/uk8s/schemas/__init__.py +0 -0
  182. ucloud/services/uk8s/schemas/apis.py +639 -0
  183. ucloud/services/uk8s/schemas/models.py +179 -0
  184. ucloud/services/ulb/__init__.py +0 -0
  185. ucloud/services/ulb/client.py +2285 -0
  186. ucloud/services/ulb/schemas/__init__.py +0 -0
  187. ucloud/services/ulb/schemas/apis.py +1678 -0
  188. ucloud/services/ulb/schemas/models.py +591 -0
  189. ucloud/services/ulighthost/__init__.py +0 -0
  190. ucloud/services/ulighthost/client.py +576 -0
  191. ucloud/services/ulighthost/schemas/__init__.py +0 -0
  192. ucloud/services/ulighthost/schemas/apis.py +445 -0
  193. ucloud/services/ulighthost/schemas/models.py +133 -0
  194. ucloud/services/umem/__init__.py +0 -0
  195. ucloud/services/umem/client.py +1829 -0
  196. ucloud/services/umem/schemas/__init__.py +0 -0
  197. ucloud/services/umem/schemas/apis.py +1477 -0
  198. ucloud/services/umem/schemas/models.py +327 -0
  199. ucloud/services/umongodb/__init__.py +0 -0
  200. ucloud/services/umongodb/client.py +752 -0
  201. ucloud/services/umongodb/schemas/__init__.py +0 -0
  202. ucloud/services/umongodb/schemas/apis.py +567 -0
  203. ucloud/services/umongodb/schemas/models.py +220 -0
  204. ucloud/services/unet/__init__.py +0 -0
  205. ucloud/services/unet/client.py +1278 -0
  206. ucloud/services/unet/schemas/__init__.py +0 -0
  207. ucloud/services/unet/schemas/apis.py +1006 -0
  208. ucloud/services/unet/schemas/models.py +275 -0
  209. ucloud/services/unvs/__init__.py +0 -0
  210. ucloud/services/unvs/client.py +87 -0
  211. ucloud/services/unvs/schemas/__init__.py +0 -0
  212. ucloud/services/unvs/schemas/apis.py +66 -0
  213. ucloud/services/unvs/schemas/models.py +19 -0
  214. ucloud/services/upfs/__init__.py +0 -0
  215. ucloud/services/upfs/client.py +252 -0
  216. ucloud/services/upfs/schemas/__init__.py +0 -0
  217. ucloud/services/upfs/schemas/apis.py +204 -0
  218. ucloud/services/upfs/schemas/models.py +36 -0
  219. ucloud/services/upgsql/__init__.py +0 -0
  220. ucloud/services/upgsql/client.py +1007 -0
  221. ucloud/services/upgsql/schemas/__init__.py +0 -0
  222. ucloud/services/upgsql/schemas/apis.py +827 -0
  223. ucloud/services/upgsql/schemas/models.py +158 -0
  224. ucloud/services/uphone/__init__.py +0 -0
  225. ucloud/services/uphone/client.py +2122 -0
  226. ucloud/services/uphone/schemas/__init__.py +0 -0
  227. ucloud/services/uphone/schemas/apis.py +1799 -0
  228. ucloud/services/uphone/schemas/models.py +357 -0
  229. ucloud/services/uphost/__init__.py +0 -0
  230. ucloud/services/uphost/client.py +847 -0
  231. ucloud/services/uphost/schemas/__init__.py +0 -0
  232. ucloud/services/uphost/schemas/apis.py +689 -0
  233. ucloud/services/uphost/schemas/models.py +175 -0
  234. ucloud/services/urocketmq/__init__.py +0 -0
  235. ucloud/services/urocketmq/client.py +117 -0
  236. ucloud/services/urocketmq/schemas/__init__.py +0 -0
  237. ucloud/services/urocketmq/schemas/apis.py +92 -0
  238. ucloud/services/urocketmq/schemas/models.py +14 -0
  239. ucloud/services/uslk/__init__.py +0 -0
  240. ucloud/services/uslk/client.py +249 -0
  241. ucloud/services/uslk/schemas/__init__.py +0 -0
  242. ucloud/services/uslk/schemas/apis.py +191 -0
  243. ucloud/services/uslk/schemas/models.py +74 -0
  244. ucloud/services/usms/__init__.py +0 -0
  245. ucloud/services/usms/client.py +759 -0
  246. ucloud/services/usms/schemas/__init__.py +0 -0
  247. ucloud/services/usms/schemas/apis.py +653 -0
  248. ucloud/services/usms/schemas/models.py +215 -0
  249. ucloud/services/utsdb/__init__.py +0 -0
  250. ucloud/services/utsdb/client.py +604 -0
  251. ucloud/services/utsdb/schemas/__init__.py +0 -0
  252. ucloud/services/utsdb/schemas/apis.py +515 -0
  253. ucloud/services/utsdb/schemas/models.py +61 -0
  254. ucloud/services/uvms/__init__.py +0 -0
  255. ucloud/services/uvms/client.py +119 -0
  256. ucloud/services/uvms/schemas/__init__.py +0 -0
  257. ucloud/services/uvms/schemas/apis.py +88 -0
  258. ucloud/services/uvms/schemas/models.py +40 -0
  259. ucloud/services/vpc/__init__.py +0 -0
  260. ucloud/services/vpc/client.py +3233 -0
  261. ucloud/services/vpc/schemas/__init__.py +0 -0
  262. ucloud/services/vpc/schemas/apis.py +2529 -0
  263. ucloud/services/vpc/schemas/models.py +651 -0
  264. ucloud/testing/__init__.py +0 -0
  265. ucloud/testing/driver/__init__.py +5 -0
  266. ucloud/testing/driver/_scenario.py +93 -0
  267. ucloud/testing/driver/_specification.py +57 -0
  268. ucloud/testing/driver/_step.py +166 -0
  269. ucloud/testing/env.py +28 -0
  270. ucloud/testing/exc.py +18 -0
  271. ucloud/testing/funcs.py +68 -0
  272. ucloud/testing/mock.py +28 -0
  273. ucloud/testing/op.py +177 -0
  274. ucloud/testing/utest.py +195 -0
  275. ucloud/version.py +1 -0
  276. ucloud_sdk_python3-0.11.81.dist-info/LICENSE +202 -0
  277. ucloud_sdk_python3-0.11.81.dist-info/METADATA +71 -0
  278. ucloud_sdk_python3-0.11.81.dist-info/RECORD +280 -0
  279. ucloud_sdk_python3-0.11.81.dist-info/WHEEL +5 -0
  280. 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)
File without changes
@@ -0,0 +1,3 @@
1
+ from ucloud.core.auth._cfg import Credential
2
+
3
+ __all__ = ["Credential"]
@@ -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,8 @@
1
+ """
2
+ Client
3
+ """
4
+
5
+ from ucloud.core.client._cfg import Config
6
+ from ucloud.core.client._client import Client
7
+
8
+ __all__ = ["Config", "Client"]
@@ -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
+ }