i2up-python-sdk 9.1.3.1__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 (1472) hide show
  1. examples/OracleRule.py +39 -0
  2. examples/__init__.py +0 -0
  3. examples/nodeList.py +42 -0
  4. examples/repBackupList.py +30 -0
  5. i2up_python_sdk-9.1.3.1.dist-info/LICENSE +201 -0
  6. i2up_python_sdk-9.1.3.1.dist-info/METADATA +23 -0
  7. i2up_python_sdk-9.1.3.1.dist-info/RECORD +1472 -0
  8. i2up_python_sdk-9.1.3.1.dist-info/WHEEL +5 -0
  9. i2up_python_sdk-9.1.3.1.dist-info/top_level.txt +2 -0
  10. info2soft/ContainerCls/__init__.py +0 -0
  11. info2soft/ContainerCls/v20240819/ContainerCls.py +261 -0
  12. info2soft/ContainerCls/v20240819/__init__.py +2 -0
  13. info2soft/ContainerCls/v20250123/ContainerCls.py +261 -0
  14. info2soft/ContainerCls/v20250123/__init__.py +2 -0
  15. info2soft/ContainerCls/v20250630/ContainerCls.py +261 -0
  16. info2soft/ContainerCls/v20250630/__init__.py +2 -0
  17. info2soft/TapeCopy/__init__.py +0 -0
  18. info2soft/TapeCopy/v20240819/TapeCopy.py +74 -0
  19. info2soft/TapeCopy/v20240819/__init__.py +2 -0
  20. info2soft/TapeCopy/v20250123/TapeCopy.py +74 -0
  21. info2soft/TapeCopy/v20250123/__init__.py +2 -0
  22. info2soft/TapeCopy/v20250630/TapeCopy.py +74 -0
  23. info2soft/TapeCopy/v20250630/__init__.py +2 -0
  24. info2soft/__init__.py +85 -0
  25. info2soft/active/__init__.py +3 -0
  26. info2soft/active/test/__init__.py +0 -0
  27. info2soft/active/test/v20200720/DataChkTest.py +269 -0
  28. info2soft/active/test/v20200720/Db2Test.py +546 -0
  29. info2soft/active/test/v20200720/DmTest.py +285 -0
  30. info2soft/active/test/v20200720/GaussTest.py +339 -0
  31. info2soft/active/test/v20200720/HeteroTest.py +416 -0
  32. info2soft/active/test/v20200720/InfomixTest.py +193 -0
  33. info2soft/active/test/v20200720/LogTest.py +69 -0
  34. info2soft/active/test/v20200720/MaskTest.py +690 -0
  35. info2soft/active/test/v20200720/MongoDBTest.py +202 -0
  36. info2soft/active/test/v20200720/MysqlTest.py +1058 -0
  37. info2soft/active/test/v20200720/NodeTest.py +200 -0
  38. info2soft/active/test/v20200720/NotificationsTest.py +52 -0
  39. info2soft/active/test/v20200720/OceanbaseTest.py +316 -0
  40. info2soft/active/test/v20200720/OracleRuleTest.py +1588 -0
  41. info2soft/active/test/v20200720/PostgresTest.py +238 -0
  42. info2soft/active/test/v20200720/QianBaseSyncTest.py +404 -0
  43. info2soft/active/test/v20200720/QianBasexTPTest.py +174 -0
  44. info2soft/active/test/v20200720/ScriptMaskTest.py +255 -0
  45. info2soft/active/test/v20200720/SqlserverTest.py +505 -0
  46. info2soft/active/test/v20200720/SummaryTest.py +76 -0
  47. info2soft/active/test/v20200720/SyncRulesTest.py +1295 -0
  48. info2soft/active/test/v20200720/TidbTest.py +444 -0
  49. info2soft/active/test/v20200720/__init__.py +0 -0
  50. info2soft/active/test/v20220622/DataChkTest.py +269 -0
  51. info2soft/active/test/v20220622/Db2Test.py +546 -0
  52. info2soft/active/test/v20220622/DmTest.py +285 -0
  53. info2soft/active/test/v20220622/GaussTest.py +339 -0
  54. info2soft/active/test/v20220622/HeteroTest.py +416 -0
  55. info2soft/active/test/v20220622/InfomixTest.py +193 -0
  56. info2soft/active/test/v20220622/LogTest.py +69 -0
  57. info2soft/active/test/v20220622/MaskTest.py +690 -0
  58. info2soft/active/test/v20220622/MongoDBTest.py +202 -0
  59. info2soft/active/test/v20220622/MysqlTest.py +1058 -0
  60. info2soft/active/test/v20220622/NodeTest.py +200 -0
  61. info2soft/active/test/v20220622/NotificationsTest.py +52 -0
  62. info2soft/active/test/v20220622/OceanbaseTest.py +316 -0
  63. info2soft/active/test/v20220622/OracleRuleTest.py +1588 -0
  64. info2soft/active/test/v20220622/PostgresTest.py +238 -0
  65. info2soft/active/test/v20220622/QianBaseSyncTest.py +404 -0
  66. info2soft/active/test/v20220622/QianBasexTPTest.py +174 -0
  67. info2soft/active/test/v20220622/ScriptMaskTest.py +255 -0
  68. info2soft/active/test/v20220622/SqlserverTest.py +505 -0
  69. info2soft/active/test/v20220622/SummaryTest.py +76 -0
  70. info2soft/active/test/v20220622/SyncRulesTest.py +1295 -0
  71. info2soft/active/test/v20220622/TidbTest.py +444 -0
  72. info2soft/active/test/v20220622/__init__.py +0 -0
  73. info2soft/active/v20200720/DataChk.py +192 -0
  74. info2soft/active/v20200720/Db2.py +495 -0
  75. info2soft/active/v20200720/Dm.py +226 -0
  76. info2soft/active/v20200720/Gauss.py +184 -0
  77. info2soft/active/v20200720/Hetero.py +320 -0
  78. info2soft/active/v20200720/Infomix.py +98 -0
  79. info2soft/active/v20200720/Log.py +35 -0
  80. info2soft/active/v20200720/Mask.py +475 -0
  81. info2soft/active/v20200720/MongoDB.py +158 -0
  82. info2soft/active/v20200720/Mysql.py +936 -0
  83. info2soft/active/v20200720/Node.py +126 -0
  84. info2soft/active/v20200720/Notifications.py +21 -0
  85. info2soft/active/v20200720/Oceanbase.py +257 -0
  86. info2soft/active/v20200720/OracleRule.py +1360 -0
  87. info2soft/active/v20200720/Postgres.py +196 -0
  88. info2soft/active/v20200720/QianBaseSync.py +330 -0
  89. info2soft/active/v20200720/QianBasexTP.py +86 -0
  90. info2soft/active/v20200720/ScriptMask.py +193 -0
  91. info2soft/active/v20200720/Sqlserver.py +430 -0
  92. info2soft/active/v20200720/Summary.py +46 -0
  93. info2soft/active/v20200720/SyncRules.py +1079 -0
  94. info2soft/active/v20200720/Tidb.py +304 -0
  95. info2soft/active/v20200720/__init__.py +6 -0
  96. info2soft/active/v20220622/DataChk.py +192 -0
  97. info2soft/active/v20220622/Db2.py +495 -0
  98. info2soft/active/v20220622/Dm.py +226 -0
  99. info2soft/active/v20220622/Gauss.py +184 -0
  100. info2soft/active/v20220622/Hetero.py +320 -0
  101. info2soft/active/v20220622/Infomix.py +98 -0
  102. info2soft/active/v20220622/Log.py +35 -0
  103. info2soft/active/v20220622/Mask.py +475 -0
  104. info2soft/active/v20220622/MongoDB.py +158 -0
  105. info2soft/active/v20220622/Mysql.py +936 -0
  106. info2soft/active/v20220622/Node.py +126 -0
  107. info2soft/active/v20220622/Notifications.py +21 -0
  108. info2soft/active/v20220622/Oceanbase.py +257 -0
  109. info2soft/active/v20220622/OracleRule.py +1360 -0
  110. info2soft/active/v20220622/Postgres.py +196 -0
  111. info2soft/active/v20220622/QianBaseSync.py +330 -0
  112. info2soft/active/v20220622/QianBasexTP.py +86 -0
  113. info2soft/active/v20220622/ScriptMask.py +193 -0
  114. info2soft/active/v20220622/Sqlserver.py +430 -0
  115. info2soft/active/v20220622/Summary.py +46 -0
  116. info2soft/active/v20220622/SyncRules.py +1079 -0
  117. info2soft/active/v20220622/Tidb.py +304 -0
  118. info2soft/active/v20220622/__init__.py +22 -0
  119. info2soft/active/v20230227/DataChk.py +302 -0
  120. info2soft/active/v20230227/Db2.py +282 -0
  121. info2soft/active/v20230227/Dm.py +98 -0
  122. info2soft/active/v20230227/Gauss.py +140 -0
  123. info2soft/active/v20230227/Hetero.py +296 -0
  124. info2soft/active/v20230227/Infomix.py +73 -0
  125. info2soft/active/v20230227/Log.py +47 -0
  126. info2soft/active/v20230227/Mask.py +488 -0
  127. info2soft/active/v20230227/MongoDB.py +111 -0
  128. info2soft/active/v20230227/Mysql.py +936 -0
  129. info2soft/active/v20230227/Notifications.py +21 -0
  130. info2soft/active/v20230227/Oceanbase.py +124 -0
  131. info2soft/active/v20230227/OfflineRule.py +100 -0
  132. info2soft/active/v20230227/OracleRule.py +490 -0
  133. info2soft/active/v20230227/Postgres.py +114 -0
  134. info2soft/active/v20230227/QianBaseSync.py +259 -0
  135. info2soft/active/v20230227/QianBasexTP.py +86 -0
  136. info2soft/active/v20230227/Redis.py +111 -0
  137. info2soft/active/v20230227/ScriptMask.py +170 -0
  138. info2soft/active/v20230227/Sqlserver.py +323 -0
  139. info2soft/active/v20230227/Summary.py +45 -0
  140. info2soft/active/v20230227/Tidb.py +114 -0
  141. info2soft/active/v20230227/__init__.py +44 -0
  142. info2soft/active/v20240228/DataChk.py +428 -0
  143. info2soft/active/v20240228/Db2.py +370 -0
  144. info2soft/active/v20240228/Dm.py +142 -0
  145. info2soft/active/v20240228/Gauss.py +140 -0
  146. info2soft/active/v20240228/HBase.py +75 -0
  147. info2soft/active/v20240228/Hetero.py +296 -0
  148. info2soft/active/v20240228/Infomix.py +136 -0
  149. info2soft/active/v20240228/Log.py +47 -0
  150. info2soft/active/v20240228/Mask.py +503 -0
  151. info2soft/active/v20240228/MongoDB.py +155 -0
  152. info2soft/active/v20240228/Mysql.py +949 -0
  153. info2soft/active/v20240228/Notifications.py +21 -0
  154. info2soft/active/v20240228/Oceanbase.py +244 -0
  155. info2soft/active/v20240228/OfflineRule.py +100 -0
  156. info2soft/active/v20240228/OracleRule.py +1683 -0
  157. info2soft/active/v20240228/Postgres.py +177 -0
  158. info2soft/active/v20240228/QianBaseSync.py +303 -0
  159. info2soft/active/v20240228/QianBasexTP.py +86 -0
  160. info2soft/active/v20240228/Redis.py +155 -0
  161. info2soft/active/v20240228/ScriptMask.py +170 -0
  162. info2soft/active/v20240228/Sqlserver.py +468 -0
  163. info2soft/active/v20240228/Summary.py +45 -0
  164. info2soft/active/v20240228/Tidb.py +291 -0
  165. info2soft/active/v20240228/__init__.py +44 -0
  166. info2soft/active/v20240819/DataChk.py +380 -0
  167. info2soft/active/v20240819/Db2.py +164 -0
  168. info2soft/active/v20240819/Dm.py +111 -0
  169. info2soft/active/v20240819/HBase.py +75 -0
  170. info2soft/active/v20240819/Hetero.py +231 -0
  171. info2soft/active/v20240819/Informix.py +112 -0
  172. info2soft/active/v20240819/Mask.py +493 -0
  173. info2soft/active/v20240819/MongoDB.py +115 -0
  174. info2soft/active/v20240819/Mysql.py +270 -0
  175. info2soft/active/v20240819/Notifications.py +21 -0
  176. info2soft/active/v20240819/Oceanbase.py +202 -0
  177. info2soft/active/v20240819/OfflineRule.py +207 -0
  178. info2soft/active/v20240819/OracleRule.py +1397 -0
  179. info2soft/active/v20240819/Postgres.py +140 -0
  180. info2soft/active/v20240819/QianBaseSync.py +140 -0
  181. info2soft/active/v20240819/Rabbitmq.py +111 -0
  182. info2soft/active/v20240819/Redis.py +115 -0
  183. info2soft/active/v20240819/ScriptMask.py +210 -0
  184. info2soft/active/v20240819/Sqlserver.py +230 -0
  185. info2soft/active/v20240819/Summary.py +34 -0
  186. info2soft/active/v20240819/Tidb.py +205 -0
  187. info2soft/active/v20240819/__init__.py +42 -0
  188. info2soft/active/v20250123/DataChk.py +380 -0
  189. info2soft/active/v20250123/Db2.py +163 -0
  190. info2soft/active/v20250123/Dm.py +111 -0
  191. info2soft/active/v20250123/HBase.py +75 -0
  192. info2soft/active/v20250123/Hetero.py +244 -0
  193. info2soft/active/v20250123/HeteroConsumer.py +114 -0
  194. info2soft/active/v20250123/Informix.py +112 -0
  195. info2soft/active/v20250123/Mask.py +493 -0
  196. info2soft/active/v20250123/MongoDB.py +115 -0
  197. info2soft/active/v20250123/Mysql.py +270 -0
  198. info2soft/active/v20250123/MysqlRule.py +125 -0
  199. info2soft/active/v20250123/Notifications.py +21 -0
  200. info2soft/active/v20250123/Oceanbase.py +202 -0
  201. info2soft/active/v20250123/OfflineRule.py +207 -0
  202. info2soft/active/v20250123/OracleRule.py +1397 -0
  203. info2soft/active/v20250123/Postgres.py +140 -0
  204. info2soft/active/v20250123/QianBaseSync.py +140 -0
  205. info2soft/active/v20250123/Rabbitmq.py +111 -0
  206. info2soft/active/v20250123/Redis.py +115 -0
  207. info2soft/active/v20250123/ScriptMask.py +210 -0
  208. info2soft/active/v20250123/SqlServerRule.py +125 -0
  209. info2soft/active/v20250123/Sqlserver.py +230 -0
  210. info2soft/active/v20250123/Summary.py +34 -0
  211. info2soft/active/v20250123/Tidb.py +205 -0
  212. info2soft/active/v20250123/__init__.py +48 -0
  213. info2soft/active/v20250630/DataChk.py +380 -0
  214. info2soft/active/v20250630/Db2.py +163 -0
  215. info2soft/active/v20250630/Dm.py +111 -0
  216. info2soft/active/v20250630/HBase.py +75 -0
  217. info2soft/active/v20250630/Hetero.py +244 -0
  218. info2soft/active/v20250630/HeteroConsumer.py +140 -0
  219. info2soft/active/v20250630/Informix.py +112 -0
  220. info2soft/active/v20250630/Mask.py +493 -0
  221. info2soft/active/v20250630/MongoDB.py +115 -0
  222. info2soft/active/v20250630/Mysql.py +270 -0
  223. info2soft/active/v20250630/MysqlRule.py +125 -0
  224. info2soft/active/v20250630/Notifications.py +21 -0
  225. info2soft/active/v20250630/Oceanbase.py +202 -0
  226. info2soft/active/v20250630/OfflineRule.py +207 -0
  227. info2soft/active/v20250630/OracleRule.py +1397 -0
  228. info2soft/active/v20250630/Postgres.py +140 -0
  229. info2soft/active/v20250630/QianBaseSync.py +140 -0
  230. info2soft/active/v20250630/Rabbitmq.py +111 -0
  231. info2soft/active/v20250630/Redis.py +115 -0
  232. info2soft/active/v20250630/RocketMq.py +114 -0
  233. info2soft/active/v20250630/RoutingRule.py +163 -0
  234. info2soft/active/v20250630/ScriptMask.py +210 -0
  235. info2soft/active/v20250630/SqlServerRule.py +125 -0
  236. info2soft/active/v20250630/Sqlserver.py +230 -0
  237. info2soft/active/v20250630/Summary.py +34 -0
  238. info2soft/active/v20250630/Tidb.py +205 -0
  239. info2soft/active/v20250630/__init__.py +52 -0
  240. info2soft/appContinuity/__init__.py +0 -0
  241. info2soft/appContinuity/v20240819/AppContinuity.py +180 -0
  242. info2soft/appContinuity/v20240819/__init__.py +2 -0
  243. info2soft/appContinuity/v20250123/AppContinuity.py +180 -0
  244. info2soft/appContinuity/v20250123/__init__.py +2 -0
  245. info2soft/appContinuity/v20250630/AppContinuity.py +219 -0
  246. info2soft/appContinuity/v20250630/__init__.py +2 -0
  247. info2soft/authorization/__init__.py +0 -0
  248. info2soft/authorization/v20240819/Authorization.py +99 -0
  249. info2soft/authorization/v20240819/__init__.py +2 -0
  250. info2soft/authorization/v20250123/Authorization.py +99 -0
  251. info2soft/authorization/v20250123/__init__.py +2 -0
  252. info2soft/authorization/v20250630/Authorization.py +99 -0
  253. info2soft/authorization/v20250630/__init__.py +2 -0
  254. info2soft/backupDomain/__init__.py +0 -0
  255. info2soft/backupDomain/v20250630/BackupDomain.py +115 -0
  256. info2soft/backupDomain/v20250630/__init__.py +2 -0
  257. info2soft/backupRule/__init__.py +0 -0
  258. info2soft/backupRule/v20240228/BackupRule.py +178 -0
  259. info2soft/backupRule/v20240228/__init__.py +2 -0
  260. info2soft/backupRule/v20240819/BackupRule.py +167 -0
  261. info2soft/backupRule/v20240819/__init__.py +2 -0
  262. info2soft/backupRule/v20250123/BackupRule.py +193 -0
  263. info2soft/backupRule/v20250123/__init__.py +2 -0
  264. info2soft/backupRule/v20250630/BackupRule.py +232 -0
  265. info2soft/backupRule/v20250630/__init__.py +2 -0
  266. info2soft/backupSet/__init__.py +0 -0
  267. info2soft/backupSet/v20240228/BackupSet.py +208 -0
  268. info2soft/backupSet/v20240228/__init__.py +2 -0
  269. info2soft/backupSet/v20240819/BackupSet.py +242 -0
  270. info2soft/backupSet/v20240819/__init__.py +2 -0
  271. info2soft/backupSet/v20250123/BackupSet.py +294 -0
  272. info2soft/backupSet/v20250123/__init__.py +2 -0
  273. info2soft/backupSet/v20250630/BackupSet.py +294 -0
  274. info2soft/backupSet/v20250630/__init__.py +2 -0
  275. info2soft/backupSetRulePolicy/__init__.py +0 -0
  276. info2soft/backupSetRulePolicy/v20240228/BackupSetRulePolicy.py +76 -0
  277. info2soft/backupSetRulePolicy/v20240228/__init__.py +2 -0
  278. info2soft/backupSetRulePolicy/v20240819/BackupSetRulePolicy.py +76 -0
  279. info2soft/backupSetRulePolicy/v20240819/__init__.py +2 -0
  280. info2soft/backupSetRulePolicy/v20250123/BackupSetRulePolicy.py +76 -0
  281. info2soft/backupSetRulePolicy/v20250123/__init__.py +2 -0
  282. info2soft/backupSetRulePolicy/v20250630/BackupSetRulePolicy.py +76 -0
  283. info2soft/backupSetRulePolicy/v20250630/__init__.py +2 -0
  284. info2soft/backupWork/__init__.py +0 -0
  285. info2soft/backupWork/v20240228/BackupWork.py +152 -0
  286. info2soft/backupWork/v20240228/__init__.py +2 -0
  287. info2soft/backupWork/v20240819/BackupWork.py +183 -0
  288. info2soft/backupWork/v20240819/__init__.py +2 -0
  289. info2soft/backupWork/v20250123/BackupWork.py +183 -0
  290. info2soft/backupWork/v20250123/__init__.py +2 -0
  291. info2soft/backupWork/v20250630/BackupWork.py +183 -0
  292. info2soft/backupWork/v20250630/__init__.py +2 -0
  293. info2soft/bigdata/__init__.py +2 -0
  294. info2soft/bigdata/v20200724/Backup.py +130 -0
  295. info2soft/bigdata/v20200724/Recovery.py +164 -0
  296. info2soft/bigdata/v20200724/__init__.py +3 -0
  297. info2soft/bigdata/v20220622/Backup.py +130 -0
  298. info2soft/bigdata/v20220622/Recovery.py +164 -0
  299. info2soft/bigdata/v20220622/__init__.py +3 -0
  300. info2soft/bigdata/v20230227/Backup.py +218 -0
  301. info2soft/bigdata/v20230227/__init__.py +2 -0
  302. info2soft/bigdata/v20240228/Backup.py +257 -0
  303. info2soft/bigdata/v20240228/__init__.py +2 -0
  304. info2soft/bigdata/v20240819/Backup.py +243 -0
  305. info2soft/bigdata/v20240819/Recovery.py +152 -0
  306. info2soft/bigdata/v20240819/__init__.py +4 -0
  307. info2soft/bigdata/v20250123/Backup.py +243 -0
  308. info2soft/bigdata/v20250123/Recovery.py +152 -0
  309. info2soft/bigdata/v20250123/__init__.py +4 -0
  310. info2soft/bigdata/v20250630/Backup.py +243 -0
  311. info2soft/bigdata/v20250630/Recovery.py +152 -0
  312. info2soft/bigdata/v20250630/__init__.py +4 -0
  313. info2soft/bigdataBackupRule/__init__.py +0 -0
  314. info2soft/bigdataBackupRule/v20240819/BigdataBackupRule.py +152 -0
  315. info2soft/bigdataBackupRule/v20240819/__init__.py +2 -0
  316. info2soft/bigdataBackupRule/v20250123/BigdataBackupRule.py +152 -0
  317. info2soft/bigdataBackupRule/v20250123/__init__.py +2 -0
  318. info2soft/bigdataBackupRule/v20250630/BigdataBackupRule.py +152 -0
  319. info2soft/bigdataBackupRule/v20250630/__init__.py +2 -0
  320. info2soft/bigdataRecoveryRule/__init__.py +0 -0
  321. info2soft/bigdataRecoveryRule/v20240819/BigdataRecoveryRule.py +76 -0
  322. info2soft/bigdataRecoveryRule/v20240819/__init__.py +2 -0
  323. info2soft/bigdataRecoveryRule/v20250123/BigdataRecoveryRule.py +76 -0
  324. info2soft/bigdataRecoveryRule/v20250123/__init__.py +2 -0
  325. info2soft/bigdataRecoveryRule/v20250630/BigdataRecoveryRule.py +76 -0
  326. info2soft/bigdataRecoveryRule/v20250630/__init__.py +2 -0
  327. info2soft/cdm/__init__.py +1 -0
  328. info2soft/cdm/v20200729/Cdm.py +688 -0
  329. info2soft/cdm/v20200729/__init__.py +2 -0
  330. info2soft/cdm/v20220622/Cdm.py +688 -0
  331. info2soft/cdm/v20220622/__init__.py +2 -0
  332. info2soft/cdm/v20230227/Cdm.py +602 -0
  333. info2soft/cdm/v20230227/__init__.py +2 -0
  334. info2soft/cdm/v20240228/Cdm.py +640 -0
  335. info2soft/cdm/v20240228/__init__.py +2 -0
  336. info2soft/cdm/v20240819/Cdm.py +232 -0
  337. info2soft/cdm/v20240819/CdmRecovery.py +99 -0
  338. info2soft/cdm/v20240819/CdmRule.py +113 -0
  339. info2soft/cdm/v20240819/Drill.py +127 -0
  340. info2soft/cdm/v20240819/FfoMount.py +89 -0
  341. info2soft/cdm/v20240819/RemoteCoopy.py +178 -0
  342. info2soft/cdm/v20240819/__init__.py +12 -0
  343. info2soft/cdm/v20250123/Cdm.py +232 -0
  344. info2soft/cdm/v20250123/CdmRecovery.py +99 -0
  345. info2soft/cdm/v20250123/CdmRule.py +113 -0
  346. info2soft/cdm/v20250123/Drill.py +127 -0
  347. info2soft/cdm/v20250123/FfoMount.py +89 -0
  348. info2soft/cdm/v20250123/RemoteCoopy.py +178 -0
  349. info2soft/cdm/v20250123/__init__.py +12 -0
  350. info2soft/cdm/v20250630/Cdm.py +232 -0
  351. info2soft/cdm/v20250630/CdmRecovery.py +99 -0
  352. info2soft/cdm/v20250630/CdmRule.py +113 -0
  353. info2soft/cdm/v20250630/Drill.py +127 -0
  354. info2soft/cdm/v20250630/FfoMount.py +89 -0
  355. info2soft/cdm/v20250630/RemoteCoopy.py +178 -0
  356. info2soft/cdm/v20250630/__init__.py +12 -0
  357. info2soft/cfs/__init__.py +0 -0
  358. info2soft/cfs/v20240228/CfsBackup.py +218 -0
  359. info2soft/cfs/v20240228/__init__.py +2 -0
  360. info2soft/cfs/v20240819/CfsBackup.py +193 -0
  361. info2soft/cfs/v20240819/__init__.py +2 -0
  362. info2soft/cfs/v20250123/CfsBackup.py +193 -0
  363. info2soft/cfs/v20250123/__init__.py +2 -0
  364. info2soft/cfs/v20250630/CfsBackup.py +232 -0
  365. info2soft/cfs/v20250630/__init__.py +2 -0
  366. info2soft/cloud/__init__.py +1 -0
  367. info2soft/cloud/v20200727/CloudBackup.py +170 -0
  368. info2soft/cloud/v20200727/CloudEcs.py +237 -0
  369. info2soft/cloud/v20200727/CloudPlatform.py +191 -0
  370. info2soft/cloud/v20200727/CloudRehearse.py +438 -0
  371. info2soft/cloud/v20200727/CloudVolume.py +123 -0
  372. info2soft/cloud/v20200727/__init__.py +6 -0
  373. info2soft/cloud/v20220622/CloudBackup.py +170 -0
  374. info2soft/cloud/v20220622/CloudEcs.py +237 -0
  375. info2soft/cloud/v20220622/CloudPlatform.py +191 -0
  376. info2soft/cloud/v20220622/CloudRehearse.py +438 -0
  377. info2soft/cloud/v20220622/CloudVolume.py +123 -0
  378. info2soft/cloud/v20220622/__init__.py +6 -0
  379. info2soft/cloud/v20230227/CloudBackup.py +1028 -0
  380. info2soft/cloud/v20230227/__init__.py +2 -0
  381. info2soft/cloud/v20240228/CloudBackup.py +1098 -0
  382. info2soft/cloud/v20240228/__init__.py +2 -0
  383. info2soft/cloud/v20240819/CloudBackendStorage.py +76 -0
  384. info2soft/cloud/v20240819/CloudBackup.py +153 -0
  385. info2soft/cloud/v20240819/CloudEcs.py +256 -0
  386. info2soft/cloud/v20240819/CloudPlatform.py +193 -0
  387. info2soft/cloud/v20240819/CloudRehearse.py +438 -0
  388. info2soft/cloud/v20240819/CloudVolume.py +124 -0
  389. info2soft/cloud/v20240819/__init__.py +12 -0
  390. info2soft/cloud/v20250123/CloudBackendStorage.py +76 -0
  391. info2soft/cloud/v20250123/CloudBackup.py +153 -0
  392. info2soft/cloud/v20250123/CloudEcs.py +256 -0
  393. info2soft/cloud/v20250123/CloudPlatform.py +193 -0
  394. info2soft/cloud/v20250123/CloudRehearse.py +438 -0
  395. info2soft/cloud/v20250123/CloudVolume.py +124 -0
  396. info2soft/cloud/v20250123/__init__.py +12 -0
  397. info2soft/cloud/v20250630/CloudBackendStorage.py +76 -0
  398. info2soft/cloud/v20250630/CloudBackup.py +153 -0
  399. info2soft/cloud/v20250630/CloudEcs.py +256 -0
  400. info2soft/cloud/v20250630/CloudPlatform.py +193 -0
  401. info2soft/cloud/v20250630/CloudRehearse.py +438 -0
  402. info2soft/cloud/v20250630/CloudVolume.py +124 -0
  403. info2soft/cloud/v20250630/__init__.py +12 -0
  404. info2soft/common/Auth.py +215 -0
  405. info2soft/common/BackupMigrate.py +111 -0
  406. info2soft/common/Cache.py +93 -0
  407. info2soft/common/CcMonitor.py +33 -0
  408. info2soft/common/Client.py +101 -0
  409. info2soft/common/CompareResult.py +78 -0
  410. info2soft/common/Credential.py +102 -0
  411. info2soft/common/DataBaseBackup.py +68 -0
  412. info2soft/common/DbConvert.py +46 -0
  413. info2soft/common/Diagnose.py +47 -0
  414. info2soft/common/Dir.py +112 -0
  415. info2soft/common/FindPassword.py +60 -0
  416. info2soft/common/GTS.py +83 -0
  417. info2soft/common/GeneralInterface.py +256 -0
  418. info2soft/common/Lic.py +215 -0
  419. info2soft/common/Logs.py +85 -0
  420. info2soft/common/Menu.py +20 -0
  421. info2soft/common/Notifications.py +177 -0
  422. info2soft/common/OpLogs.py +72 -0
  423. info2soft/common/Permission.py +32 -0
  424. info2soft/common/Qr.py +99 -0
  425. info2soft/common/RestrpcServer.py +114 -0
  426. info2soft/common/Rsa.py +67 -0
  427. info2soft/common/Settings.py +448 -0
  428. info2soft/common/Statistics.py +101 -0
  429. info2soft/common/Storage.py +978 -0
  430. info2soft/common/Tenant.py +62 -0
  431. info2soft/common/Wechat.py +45 -0
  432. info2soft/common/__init__.py +0 -0
  433. info2soft/common/test/__init__.py +0 -0
  434. info2soft/common/test/v20190104/AuthTest.py +124 -0
  435. info2soft/common/test/v20190104/BackupMigrateTest.py +149 -0
  436. info2soft/common/test/v20190104/CcMonitorTest.py +63 -0
  437. info2soft/common/test/v20190104/ClientTest.py +153 -0
  438. info2soft/common/test/v20190104/CompareResultTest.py +102 -0
  439. info2soft/common/test/v20190104/CredentialTest.py +129 -0
  440. info2soft/common/test/v20190104/DataBaseBackupTest.py +75 -0
  441. info2soft/common/test/v20190104/DbConvertTest.py +73 -0
  442. info2soft/common/test/v20190104/DiagnoseTest.py +79 -0
  443. info2soft/common/test/v20190104/DirTest.py +158 -0
  444. info2soft/common/test/v20190104/FindPasswordTest.py +92 -0
  445. info2soft/common/test/v20190104/GTSTest.py +117 -0
  446. info2soft/common/test/v20190104/GeneralInterfaceTest.py +285 -0
  447. info2soft/common/test/v20190104/LicTest.py +265 -0
  448. info2soft/common/test/v20190104/LogsTest.py +153 -0
  449. info2soft/common/test/v20190104/MenuTest.py +48 -0
  450. info2soft/common/test/v20190104/NotificationsTest.py +256 -0
  451. info2soft/common/test/v20190104/OpLogsTest.py +125 -0
  452. info2soft/common/test/v20190104/PermissionTest.py +55 -0
  453. info2soft/common/test/v20190104/QrTest.py +117 -0
  454. info2soft/common/test/v20190104/RestrpcServerTest.py +159 -0
  455. info2soft/common/test/v20190104/SettingsTest.py +518 -0
  456. info2soft/common/test/v20190104/StatisticsTest.py +210 -0
  457. info2soft/common/test/v20190104/StorageTest.py +48 -0
  458. info2soft/common/test/v20190104/TenantTest.py +100 -0
  459. info2soft/common/test/v20190104/WechatTest.py +72 -0
  460. info2soft/common/test/v20190104/__init__.py +0 -0
  461. info2soft/common/test/v20190805/MonitorTest.py +45 -0
  462. info2soft/common/test/v20190805/PermissionTest.py +45 -0
  463. info2soft/common/test/v20190805/StorageTest.py +1058 -0
  464. info2soft/common/test/v20190805/__init__.py +0 -0
  465. info2soft/common/test/v20220622/AuthTest.py +124 -0
  466. info2soft/common/test/v20220622/BackupMigrateTest.py +149 -0
  467. info2soft/common/test/v20220622/CcMonitorTest.py +63 -0
  468. info2soft/common/test/v20220622/ClientTest.py +153 -0
  469. info2soft/common/test/v20220622/CompareResultTest.py +102 -0
  470. info2soft/common/test/v20220622/CredentialTest.py +129 -0
  471. info2soft/common/test/v20220622/DataBaseBackupTest.py +75 -0
  472. info2soft/common/test/v20220622/DbConvertTest.py +73 -0
  473. info2soft/common/test/v20220622/DiagnoseTest.py +79 -0
  474. info2soft/common/test/v20220622/DirTest.py +158 -0
  475. info2soft/common/test/v20220622/FindPasswordTest.py +92 -0
  476. info2soft/common/test/v20220622/GTSTest.py +117 -0
  477. info2soft/common/test/v20220622/GeneralInterfaceTest.py +285 -0
  478. info2soft/common/test/v20220622/LicTest.py +265 -0
  479. info2soft/common/test/v20220622/LogsTest.py +153 -0
  480. info2soft/common/test/v20220622/MenuTest.py +48 -0
  481. info2soft/common/test/v20220622/NotificationsTest.py +256 -0
  482. info2soft/common/test/v20220622/OpLogsTest.py +125 -0
  483. info2soft/common/test/v20220622/PermissionTest.py +55 -0
  484. info2soft/common/test/v20220622/QrTest.py +117 -0
  485. info2soft/common/test/v20220622/RestrpcServerTest.py +159 -0
  486. info2soft/common/test/v20220622/SettingsTest.py +518 -0
  487. info2soft/common/test/v20220622/StatisticsTest.py +210 -0
  488. info2soft/common/test/v20220622/StorageTest.py +48 -0
  489. info2soft/common/test/v20220622/TenantTest.py +100 -0
  490. info2soft/common/test/v20220622/WechatTest.py +72 -0
  491. info2soft/common/test/v20220622/__init__.py +0 -0
  492. info2soft/common/utils.py +168 -0
  493. info2soft/common/v20230227/Auth.py +218 -0
  494. info2soft/common/v20230227/BackupMigrate.py +111 -0
  495. info2soft/common/v20230227/BigScreen.py +192 -0
  496. info2soft/common/v20230227/CcMonitor.py +33 -0
  497. info2soft/common/v20230227/Client.py +112 -0
  498. info2soft/common/v20230227/CommonTemplate.py +77 -0
  499. info2soft/common/v20230227/CompareResult.py +76 -0
  500. info2soft/common/v20230227/Credential.py +115 -0
  501. info2soft/common/v20230227/DataBaseBackup.py +69 -0
  502. info2soft/common/v20230227/DbConvert.py +46 -0
  503. info2soft/common/v20230227/Diagnose.py +59 -0
  504. info2soft/common/v20230227/Dir.py +112 -0
  505. info2soft/common/v20230227/FindPassword.py +60 -0
  506. info2soft/common/v20230227/GTS.py +83 -0
  507. info2soft/common/v20230227/GeneralInterface.py +295 -0
  508. info2soft/common/v20230227/Lic.py +239 -0
  509. info2soft/common/v20230227/Logs.py +85 -0
  510. info2soft/common/v20230227/Menu.py +20 -0
  511. info2soft/common/v20230227/Notifications.py +203 -0
  512. info2soft/common/v20230227/OpLogs.py +72 -0
  513. info2soft/common/v20230227/Permission.py +45 -0
  514. info2soft/common/v20230227/Qr.py +73 -0
  515. info2soft/common/v20230227/RestrpcServer.py +112 -0
  516. info2soft/common/v20230227/Settings.py +487 -0
  517. info2soft/common/v20230227/Statistics.py +112 -0
  518. info2soft/common/v20230227/Tenant.py +60 -0
  519. info2soft/common/v20230227/Webhook.py +130 -0
  520. info2soft/common/v20230227/Wechat.py +45 -0
  521. info2soft/common/v20230227/__init__.py +60 -0
  522. info2soft/common/v20240228/Auth.py +218 -0
  523. info2soft/common/v20240228/BackupMigrate.py +111 -0
  524. info2soft/common/v20240228/BigScreen.py +192 -0
  525. info2soft/common/v20240228/CcMonitor.py +161 -0
  526. info2soft/common/v20240228/Client.py +242 -0
  527. info2soft/common/v20240228/CommonTemplate.py +77 -0
  528. info2soft/common/v20240228/CompareResult.py +76 -0
  529. info2soft/common/v20240228/Credential.py +115 -0
  530. info2soft/common/v20240228/DataBaseBackup.py +69 -0
  531. info2soft/common/v20240228/DbConvert.py +46 -0
  532. info2soft/common/v20240228/Diagnose.py +59 -0
  533. info2soft/common/v20240228/Dir.py +125 -0
  534. info2soft/common/v20240228/FindPassword.py +60 -0
  535. info2soft/common/v20240228/GTS.py +83 -0
  536. info2soft/common/v20240228/GeneralInterface.py +333 -0
  537. info2soft/common/v20240228/GuardData.py +114 -0
  538. info2soft/common/v20240228/Lic.py +280 -0
  539. info2soft/common/v20240228/Logs.py +85 -0
  540. info2soft/common/v20240228/Menu.py +20 -0
  541. info2soft/common/v20240228/Notifications.py +203 -0
  542. info2soft/common/v20240228/OpLogs.py +72 -0
  543. info2soft/common/v20240228/Permission.py +45 -0
  544. info2soft/common/v20240228/Qr.py +73 -0
  545. info2soft/common/v20240228/RestrpcServer.py +112 -0
  546. info2soft/common/v20240228/Settings.py +550 -0
  547. info2soft/common/v20240228/Statistics.py +125 -0
  548. info2soft/common/v20240228/Tenant.py +60 -0
  549. info2soft/common/v20240228/Webhook.py +130 -0
  550. info2soft/common/v20240228/Wechat.py +45 -0
  551. info2soft/common/v20240228/__init__.py +60 -0
  552. info2soft/common/v20240819/Auth.py +122 -0
  553. info2soft/common/v20240819/BackupMigrate.py +111 -0
  554. info2soft/common/v20240819/BigScreen.py +192 -0
  555. info2soft/common/v20240819/CcMonitor.py +137 -0
  556. info2soft/common/v20240819/Client.py +254 -0
  557. info2soft/common/v20240819/CommonTemplate.py +77 -0
  558. info2soft/common/v20240819/CompareResult.py +76 -0
  559. info2soft/common/v20240819/Credential.py +115 -0
  560. info2soft/common/v20240819/DbConvert.py +46 -0
  561. info2soft/common/v20240819/Diagnose.py +59 -0
  562. info2soft/common/v20240819/Dir.py +125 -0
  563. info2soft/common/v20240819/FindPassword.py +60 -0
  564. info2soft/common/v20240819/GeneralInterface.py +419 -0
  565. info2soft/common/v20240819/Lic.py +149 -0
  566. info2soft/common/v20240819/Logs.py +85 -0
  567. info2soft/common/v20240819/Menu.py +20 -0
  568. info2soft/common/v20240819/Notifications.py +216 -0
  569. info2soft/common/v20240819/OpLogs.py +59 -0
  570. info2soft/common/v20240819/Permission.py +58 -0
  571. info2soft/common/v20240819/Qr.py +99 -0
  572. info2soft/common/v20240819/Settings.py +729 -0
  573. info2soft/common/v20240819/Statistics.py +138 -0
  574. info2soft/common/v20240819/Tenant.py +62 -0
  575. info2soft/common/v20240819/Webhook.py +130 -0
  576. info2soft/common/v20240819/Wechat.py +45 -0
  577. info2soft/common/v20240819/__init__.py +50 -0
  578. info2soft/common/v20250123/Auth.py +148 -0
  579. info2soft/common/v20250123/BackupMigrate.py +111 -0
  580. info2soft/common/v20250123/BigScreen.py +192 -0
  581. info2soft/common/v20250123/CcMonitor.py +137 -0
  582. info2soft/common/v20250123/Client.py +254 -0
  583. info2soft/common/v20250123/CommonTemplate.py +77 -0
  584. info2soft/common/v20250123/CompareResult.py +76 -0
  585. info2soft/common/v20250123/Credential.py +115 -0
  586. info2soft/common/v20250123/DbConvert.py +46 -0
  587. info2soft/common/v20250123/Diagnose.py +59 -0
  588. info2soft/common/v20250123/Dir.py +125 -0
  589. info2soft/common/v20250123/FindPassword.py +60 -0
  590. info2soft/common/v20250123/GeneralInterface.py +419 -0
  591. info2soft/common/v20250123/GeneralSettings.py +84 -0
  592. info2soft/common/v20250123/Lic.py +149 -0
  593. info2soft/common/v20250123/LicQuota.py +102 -0
  594. info2soft/common/v20250123/Logs.py +85 -0
  595. info2soft/common/v20250123/Menu.py +20 -0
  596. info2soft/common/v20250123/Notifications.py +216 -0
  597. info2soft/common/v20250123/OpLogs.py +59 -0
  598. info2soft/common/v20250123/Permission.py +58 -0
  599. info2soft/common/v20250123/Qr.py +99 -0
  600. info2soft/common/v20250123/Settings.py +537 -0
  601. info2soft/common/v20250123/Statistics.py +163 -0
  602. info2soft/common/v20250123/Tenant.py +62 -0
  603. info2soft/common/v20250123/UserSettings.py +173 -0
  604. info2soft/common/v20250123/Webhook.py +130 -0
  605. info2soft/common/v20250123/Wechat.py +45 -0
  606. info2soft/common/v20250123/__init__.py +56 -0
  607. info2soft/common/v20250630/BackupMigrate.py +111 -0
  608. info2soft/common/v20250630/BigScreen.py +192 -0
  609. info2soft/common/v20250630/CcMonitor.py +137 -0
  610. info2soft/common/v20250630/Client.py +254 -0
  611. info2soft/common/v20250630/CommonTemplate.py +77 -0
  612. info2soft/common/v20250630/CompareResult.py +76 -0
  613. info2soft/common/v20250630/Credential.py +115 -0
  614. info2soft/common/v20250630/DbConvert.py +46 -0
  615. info2soft/common/v20250630/Diagnose.py +59 -0
  616. info2soft/common/v20250630/Dir.py +125 -0
  617. info2soft/common/v20250630/FindPassword.py +60 -0
  618. info2soft/common/v20250630/GeneralInterface.py +419 -0
  619. info2soft/common/v20250630/GeneralSettings.py +84 -0
  620. info2soft/common/v20250630/Lic.py +161 -0
  621. info2soft/common/v20250630/LicQuota.py +102 -0
  622. info2soft/common/v20250630/Logs.py +85 -0
  623. info2soft/common/v20250630/Menu.py +20 -0
  624. info2soft/common/v20250630/Notifications.py +216 -0
  625. info2soft/common/v20250630/OpLogs.py +59 -0
  626. info2soft/common/v20250630/Permission.py +58 -0
  627. info2soft/common/v20250630/Qr.py +99 -0
  628. info2soft/common/v20250630/Settings.py +537 -0
  629. info2soft/common/v20250630/Statistics.py +163 -0
  630. info2soft/common/v20250630/Tenant.py +62 -0
  631. info2soft/common/v20250630/UserSettings.py +173 -0
  632. info2soft/common/v20250630/Webhook.py +130 -0
  633. info2soft/common/v20250630/Wechat.py +45 -0
  634. info2soft/common/v20250630/__init__.py +54 -0
  635. info2soft/compat.py +76 -0
  636. info2soft/config.py +33 -0
  637. info2soft/container_cls/__init__.py +0 -0
  638. info2soft/container_cls/v20230227/ContainerCls.py +209 -0
  639. info2soft/container_cls/v20230227/__init__.py +2 -0
  640. info2soft/container_cls/v20240228/ContainerCls.py +247 -0
  641. info2soft/container_cls/v20240228/__init__.py +2 -0
  642. info2soft/dashboard/__init__.py +0 -0
  643. info2soft/dashboard/test/__init__.py +0 -0
  644. info2soft/dashboard/test/v20190104/DashboardTest.py +100 -0
  645. info2soft/dashboard/test/v20190104/__init__.py +0 -0
  646. info2soft/dashboard/test/v20220622/DashboardTest.py +100 -0
  647. info2soft/dashboard/test/v20220622/__init__.py +0 -0
  648. info2soft/dashboard/v20181227/Dashboard.py +73 -0
  649. info2soft/dashboard/v20181227/__init__.py +0 -0
  650. info2soft/dashboard/v20220622/Dashboard.py +73 -0
  651. info2soft/dashboard/v20220622/__init__.py +1 -0
  652. info2soft/dashboard/v20240819/Dashboard.py +120 -0
  653. info2soft/dashboard/v20240819/__init__.py +2 -0
  654. info2soft/dashboard/v20250123/Dashboard.py +120 -0
  655. info2soft/dashboard/v20250123/__init__.py +2 -0
  656. info2soft/dashboard/v20250630/Dashboard.py +120 -0
  657. info2soft/dashboard/v20250630/__init__.py +2 -0
  658. info2soft/dbInstance/__init__.py +0 -0
  659. info2soft/dbInstance/v20240819/DbInstance.py +140 -0
  660. info2soft/dbInstance/v20240819/__init__.py +2 -0
  661. info2soft/dbInstance/v20250123/DbInstance.py +140 -0
  662. info2soft/dbInstance/v20250123/__init__.py +2 -0
  663. info2soft/dbInstance/v20250630/DbInstance.py +140 -0
  664. info2soft/dbInstance/v20250630/__init__.py +2 -0
  665. info2soft/dedupeStorage/__init__.py +0 -0
  666. info2soft/dedupeStorage/v20240819/DedupeStorage.py +115 -0
  667. info2soft/dedupeStorage/v20240819/__init__.py +2 -0
  668. info2soft/dedupeStorage/v20250123/DedupeStorage.py +115 -0
  669. info2soft/dedupeStorage/v20250123/__init__.py +2 -0
  670. info2soft/dedupeStorage/v20250630/DedupeStorage.py +115 -0
  671. info2soft/dedupeStorage/v20250630/__init__.py +2 -0
  672. info2soft/distributor/__init__.py +1 -0
  673. info2soft/distributor/v20200727/DistributorSystem.py +216 -0
  674. info2soft/distributor/v20200727/Group.py +150 -0
  675. info2soft/distributor/v20200727/Node.py +176 -0
  676. info2soft/distributor/v20200727/__init__.py +6 -0
  677. info2soft/distributor/v20220622/DistributorSystem.py +216 -0
  678. info2soft/distributor/v20220622/Group.py +150 -0
  679. info2soft/distributor/v20220622/Node.py +176 -0
  680. info2soft/distributor/v20220622/__init__.py +6 -0
  681. info2soft/dto/Dto.py +221 -0
  682. info2soft/dto/__init__.py +0 -0
  683. info2soft/dto/v20220622/Dto.py +221 -0
  684. info2soft/dto/v20220622/__init__.py +1 -0
  685. info2soft/dto/v20230227/Dto.py +158 -0
  686. info2soft/dto/v20230227/__init__.py +2 -0
  687. info2soft/dto/v20240228/Dto.py +158 -0
  688. info2soft/dto/v20240228/__init__.py +2 -0
  689. info2soft/dto/v20240819/Dto.py +249 -0
  690. info2soft/dto/v20240819/DtoArchive.py +164 -0
  691. info2soft/dto/v20240819/__init__.py +4 -0
  692. info2soft/dto/v20250123/Dto.py +249 -0
  693. info2soft/dto/v20250123/DtoArchive.py +164 -0
  694. info2soft/dto/v20250123/__init__.py +4 -0
  695. info2soft/dto/v20250630/Dto.py +262 -0
  696. info2soft/dto/v20250630/DtoArchive.py +164 -0
  697. info2soft/dto/v20250630/__init__.py +4 -0
  698. info2soft/dtrack/Dtrack.py +809 -0
  699. info2soft/dtrack/__init__.py +2 -0
  700. info2soft/dtrack/v20220622/Dtrack.py +809 -0
  701. info2soft/dtrack/v20220622/__init__.py +2 -0
  702. info2soft/dtrack/v20230227/Dtrack.py +862 -0
  703. info2soft/dtrack/v20230227/__init__.py +2 -0
  704. info2soft/examineApprove/__init__.py +0 -0
  705. info2soft/examineApprove/v20240819/ExamineApprove.py +137 -0
  706. info2soft/examineApprove/v20240819/__init__.py +2 -0
  707. info2soft/examineApprove/v20250123/ExamineApprove.py +137 -0
  708. info2soft/examineApprove/v20250123/__init__.py +2 -0
  709. info2soft/examineApprove/v20250630/ExamineApprove.py +137 -0
  710. info2soft/examineApprove/v20250630/__init__.py +2 -0
  711. info2soft/fileWriter.py +16 -0
  712. info2soft/fingerprintDomain/__init__.py +0 -0
  713. info2soft/fingerprintDomain/v20240819/FingerprintDomain.py +89 -0
  714. info2soft/fingerprintDomain/v20240819/__init__.py +2 -0
  715. info2soft/fingerprintDomain/v20250123/FingerprintDomain.py +89 -0
  716. info2soft/fingerprintDomain/v20250123/__init__.py +2 -0
  717. info2soft/fingerprintDomain/v20250630/FingerprintDomain.py +102 -0
  718. info2soft/fingerprintDomain/v20250630/__init__.py +2 -0
  719. info2soft/fsp/FspBackup.py +228 -0
  720. info2soft/fsp/FspMove.py +233 -0
  721. info2soft/fsp/FspRecovery.py +253 -0
  722. info2soft/fsp/__init__.py +0 -0
  723. info2soft/fsp/test/FspBackupTest.py +426 -0
  724. info2soft/fsp/test/FspMoveTest.py +450 -0
  725. info2soft/fsp/test/FspRecoveryTest.py +393 -0
  726. info2soft/fsp/test/__init__.py +0 -0
  727. info2soft/fsp/test/v20220622/FspBackupTest.py +427 -0
  728. info2soft/fsp/test/v20220622/FspMoveTest.py +451 -0
  729. info2soft/fsp/test/v20220622/FspRecoveryTest.py +394 -0
  730. info2soft/fsp/test/v20220622/__init__.py +0 -0
  731. info2soft/fsp/v20220622/FspBackup.py +228 -0
  732. info2soft/fsp/v20220622/FspMove.py +233 -0
  733. info2soft/fsp/v20220622/FspRecovery.py +253 -0
  734. info2soft/fsp/v20220622/__init__.py +3 -0
  735. info2soft/fsp/v20230227/FspBackup.py +601 -0
  736. info2soft/fsp/v20230227/__init__.py +2 -0
  737. info2soft/fsp/v20240228/FspBackup.py +614 -0
  738. info2soft/fsp/v20240228/__init__.py +2 -0
  739. info2soft/fsp/v20240819/FspBackup.py +271 -0
  740. info2soft/fsp/v20240819/FspMove.py +232 -0
  741. info2soft/fsp/v20240819/FspRecovery.py +257 -0
  742. info2soft/fsp/v20240819/__init__.py +2 -0
  743. info2soft/fsp/v20250123/FspBackup.py +271 -0
  744. info2soft/fsp/v20250123/FspMove.py +232 -0
  745. info2soft/fsp/v20250123/FspRecovery.py +257 -0
  746. info2soft/fsp/v20250123/__init__.py +6 -0
  747. info2soft/fsp/v20250630/FspBackup.py +271 -0
  748. info2soft/fsp/v20250630/FspMove.py +232 -0
  749. info2soft/fsp/v20250630/FspRecovery.py +257 -0
  750. info2soft/fsp/v20250630/__init__.py +6 -0
  751. info2soft/fspBackupRule/__init__.py +0 -0
  752. info2soft/fspBackupRule/v20240819/FspBackupRule.py +154 -0
  753. info2soft/fspBackupRule/v20240819/__init__.py +2 -0
  754. info2soft/fspBackupRule/v20250123/FspBackupRule.py +154 -0
  755. info2soft/fspBackupRule/v20250123/__init__.py +2 -0
  756. info2soft/fspBackupRule/v20250630/FspBackupRule.py +154 -0
  757. info2soft/fspBackupRule/v20250630/__init__.py +2 -0
  758. info2soft/fspRecoveryRule/__init__.py +0 -0
  759. info2soft/fspRecoveryRule/v20240819/FspRecoveryRule.py +153 -0
  760. info2soft/fspRecoveryRule/v20240819/__init__.py +2 -0
  761. info2soft/fspRecoveryRule/v20250123/FspRecoveryRule.py +153 -0
  762. info2soft/fspRecoveryRule/v20250123/__init__.py +2 -0
  763. info2soft/fspRecoveryRule/v20250630/FspRecoveryRule.py +179 -0
  764. info2soft/fspRecoveryRule/v20250630/__init__.py +2 -0
  765. info2soft/fullMachineCopy/__init__.py +0 -0
  766. info2soft/fullMachineCopy/v20240819/FullMachineCopy.py +115 -0
  767. info2soft/fullMachineCopy/v20240819/__init__.py +2 -0
  768. info2soft/fullMachineCopy/v20250123/FullMachineCopy.py +115 -0
  769. info2soft/fullMachineCopy/v20250123/__init__.py +2 -0
  770. info2soft/fullMachineCopy/v20250630/FullMachineCopy.py +115 -0
  771. info2soft/fullMachineCopy/v20250630/__init__.py +2 -0
  772. info2soft/gts/__init__.py +0 -0
  773. info2soft/gts/test/GTS.py +157 -0
  774. info2soft/gts/test/__init__.py +0 -0
  775. info2soft/gts/test/v20220622/GTS.py +157 -0
  776. info2soft/gts/test/v20220622/__init__.py +0 -0
  777. info2soft/gts/v20190805/GTS.py +123 -0
  778. info2soft/gts/v20190805/__init__.py +0 -0
  779. info2soft/gts/v20220622/GTS.py +123 -0
  780. info2soft/gts/v20220622/__init__.py +1 -0
  781. info2soft/guardData/__init__.py +0 -0
  782. info2soft/guardData/v20240819/GuardData.py +114 -0
  783. info2soft/guardData/v20240819/__init__.py +2 -0
  784. info2soft/guardData/v20250123/GuardData.py +114 -0
  785. info2soft/guardData/v20250123/__init__.py +2 -0
  786. info2soft/guardData/v20250630/GuardData.py +114 -0
  787. info2soft/guardData/v20250630/__init__.py +2 -0
  788. info2soft/ha/__init__.py +1 -0
  789. info2soft/ha/test/__init__.py +0 -0
  790. info2soft/ha/test/v20190104/AppHighAvailabilityTest.py +383 -0
  791. info2soft/ha/test/v20190104/__init__.py +0 -0
  792. info2soft/ha/test/v20190806/AppHighAvailabilityTest.py +246 -0
  793. info2soft/ha/test/v20190806/__init__.py +0 -0
  794. info2soft/ha/test/v20200727/ClusterTest.py +330 -0
  795. info2soft/ha/test/v20200727/__init__.py +0 -0
  796. info2soft/ha/test/v20220622/AppHighAvailabilityTest.py +246 -0
  797. info2soft/ha/test/v20220622/ClusterTest.py +330 -0
  798. info2soft/ha/test/v20220622/__init__.py +0 -0
  799. info2soft/ha/v20181227/AppHighAvailability.py +335 -0
  800. info2soft/ha/v20181227/__init__.py +0 -0
  801. info2soft/ha/v20200724/Cluster.py +270 -0
  802. info2soft/ha/v20200724/__init__.py +2 -0
  803. info2soft/ha/v20220622/AppHighAvailability.py +335 -0
  804. info2soft/ha/v20220622/Cluster.py +270 -0
  805. info2soft/ha/v20220622/__init__.py +3 -0
  806. info2soft/ha/v20230227/AppHighAvailability.py +302 -0
  807. info2soft/ha/v20230227/Cluster.py +232 -0
  808. info2soft/ha/v20230227/__init__.py +4 -0
  809. info2soft/ha/v20240228/AppHighAvailability.py +302 -0
  810. info2soft/ha/v20240228/Cluster.py +232 -0
  811. info2soft/ha/v20240228/__init__.py +4 -0
  812. info2soft/ha/v20240819/AppHighAvailability.py +318 -0
  813. info2soft/ha/v20240819/Cluster.py +204 -0
  814. info2soft/ha/v20240819/Label.py +62 -0
  815. info2soft/ha/v20240819/__init__.py +6 -0
  816. info2soft/ha/v20250123/AppHighAvailability.py +318 -0
  817. info2soft/ha/v20250123/Cluster.py +192 -0
  818. info2soft/ha/v20250123/Label.py +62 -0
  819. info2soft/ha/v20250123/__init__.py +6 -0
  820. info2soft/ha/v20250630/AppHighAvailability.py +318 -0
  821. info2soft/ha/v20250630/Cluster.py +192 -0
  822. info2soft/ha/v20250630/Label.py +62 -0
  823. info2soft/ha/v20250630/__init__.py +6 -0
  824. info2soft/hdfs/Hdfs.py +112 -0
  825. info2soft/hdfs/__init__.py +2 -0
  826. info2soft/hdfs/v20220622/Hdfs.py +112 -0
  827. info2soft/hdfs/v20220622/__init__.py +2 -0
  828. info2soft/hdfs/v20230227/Hdfs.py +89 -0
  829. info2soft/hdfs/v20230227/__init__.py +2 -0
  830. info2soft/hdfs/v20240228/Hdfs.py +89 -0
  831. info2soft/hdfs/v20240228/__init__.py +2 -0
  832. info2soft/hdfs/v20240819/Hdfs.py +300 -0
  833. info2soft/hdfs/v20240819/__init__.py +2 -0
  834. info2soft/hdfs/v20250123/Hdfs.py +300 -0
  835. info2soft/hdfs/v20250123/__init__.py +2 -0
  836. info2soft/hdfs/v20250630/Hdfs.py +300 -0
  837. info2soft/hdfs/v20250630/__init__.py +2 -0
  838. info2soft/https.py +422 -0
  839. info2soft/hw/__init__.py +0 -0
  840. info2soft/hw/v20240819/GTS.py +87 -0
  841. info2soft/hw/v20240819/HDR.py +58 -0
  842. info2soft/hw/v20240819/__init__.py +4 -0
  843. info2soft/hw/v20250123/GTS.py +87 -0
  844. info2soft/hw/v20250123/HDR.py +58 -0
  845. info2soft/hw/v20250123/__init__.py +4 -0
  846. info2soft/hw/v20250630/CBG.py +21 -0
  847. info2soft/hw/v20250630/GTS.py +87 -0
  848. info2soft/hw/v20250630/HDR.py +121 -0
  849. info2soft/hw/v20250630/__init__.py +6 -0
  850. info2soft/mountTask/__init__.py +0 -0
  851. info2soft/mountTask/v20240819/MountTask.py +139 -0
  852. info2soft/mountTask/v20240819/__init__.py +2 -0
  853. info2soft/mountTask/v20250123/MountTask.py +139 -0
  854. info2soft/mountTask/v20250123/__init__.py +2 -0
  855. info2soft/mountTask/v20250630/MountTask.py +139 -0
  856. info2soft/mountTask/v20250630/__init__.py +2 -0
  857. info2soft/nas/__init__.py +0 -0
  858. info2soft/nas/test/NASTest.py +111 -0
  859. info2soft/nas/test/__init__.py +0 -0
  860. info2soft/nas/test/v20190104/NASTest.py +173 -0
  861. info2soft/nas/test/v20190104/__init__.py +0 -0
  862. info2soft/nas/test/v20220622/NASTest.py +175 -0
  863. info2soft/nas/test/v20220622/__init__.py +0 -0
  864. info2soft/nas/v20190102/NAS.py +119 -0
  865. info2soft/nas/v20190102/__init__.py +0 -0
  866. info2soft/nas/v20220622/NAS.py +119 -0
  867. info2soft/nas/v20220622/__init__.py +1 -0
  868. info2soft/nas/v20230227/NAS.py +102 -0
  869. info2soft/nas/v20230227/__init__.py +2 -0
  870. info2soft/nas/v20240228/NAS.py +102 -0
  871. info2soft/nas/v20240228/__init__.py +2 -0
  872. info2soft/nas/v20240819/Nas.py +115 -0
  873. info2soft/nas/v20240819/__init__.py +2 -0
  874. info2soft/nas/v20250123/Nas.py +115 -0
  875. info2soft/nas/v20250123/__init__.py +2 -0
  876. info2soft/nas/v20250630/Nas.py +115 -0
  877. info2soft/nas/v20250630/__init__.py +2 -0
  878. info2soft/nbuBackupSet/__init__.py +0 -0
  879. info2soft/nbuBackupSet/v20250630/NbuBackupSet.py +34 -0
  880. info2soft/nbuBackupSet/v20250630/__init__.py +2 -0
  881. info2soft/notifications/__init__.py +0 -0
  882. info2soft/notifications/test/NotificationsTest.py +90 -0
  883. info2soft/notifications/test/__init__.py +0 -0
  884. info2soft/notifications/test/v20190104/NotificationsTest.py +192 -0
  885. info2soft/notifications/test/v20190104/__init__.py +0 -0
  886. info2soft/notifications/test/v20190806/NotificationsTest.py +63 -0
  887. info2soft/notifications/test/v20190806/__init__.py +0 -0
  888. info2soft/notifications/v20181227/Notifications.py +142 -0
  889. info2soft/notifications/v20181227/__init__.py +0 -0
  890. info2soft/recovery/__init__.py +0 -0
  891. info2soft/recovery/v20240819/Recovery.py +34 -0
  892. info2soft/recovery/v20240819/__init__.py +2 -0
  893. info2soft/recovery/v20250123/Recovery.py +34 -0
  894. info2soft/recovery/v20250123/__init__.py +2 -0
  895. info2soft/recovery/v20250630/Recovery.py +34 -0
  896. info2soft/recovery/v20250630/__init__.py +2 -0
  897. info2soft/recoveryRule/__init__.py +0 -0
  898. info2soft/recoveryRule/v20240228/RecoveryRule.py +212 -0
  899. info2soft/recoveryRule/v20240228/__init__.py +2 -0
  900. info2soft/recoveryRule/v20240819/RecoveryRule.py +207 -0
  901. info2soft/recoveryRule/v20240819/__init__.py +2 -0
  902. info2soft/recoveryRule/v20250123/RecoveryRule.py +207 -0
  903. info2soft/recoveryRule/v20250123/__init__.py +2 -0
  904. info2soft/recoveryRule/v20250630/BatchRecoveryRule.py +154 -0
  905. info2soft/recoveryRule/v20250630/RecoveryRule.py +220 -0
  906. info2soft/recoveryRule/v20250630/__init__.py +4 -0
  907. info2soft/recycleBin/__init__.py +0 -0
  908. info2soft/recycleBin/v20240819/RecycleBin.py +35 -0
  909. info2soft/recycleBin/v20240819/__init__.py +2 -0
  910. info2soft/recycleBin/v20250123/RecycleBin.py +35 -0
  911. info2soft/recycleBin/v20250123/__init__.py +2 -0
  912. info2soft/recycleBin/v20250630/RecycleBin.py +35 -0
  913. info2soft/recycleBin/v20250630/__init__.py +2 -0
  914. info2soft/remoteRep/__init__.py +0 -0
  915. info2soft/remoteRep/v20240819/RemoteRep.py +206 -0
  916. info2soft/remoteRep/v20240819/__init__.py +2 -0
  917. info2soft/remoteRep/v20250123/RemoteRep.py +206 -0
  918. info2soft/remoteRep/v20250123/__init__.py +2 -0
  919. info2soft/remoteRep/v20250630/RemoteRep.py +206 -0
  920. info2soft/remoteRep/v20250630/__init__.py +2 -0
  921. info2soft/remote_rep/__init__.py +0 -0
  922. info2soft/remote_rep/v20230227/RemoteRep.py +167 -0
  923. info2soft/remote_rep/v20230227/__init__.py +2 -0
  924. info2soft/remote_rep/v20240228/RemoteRep.py +211 -0
  925. info2soft/remote_rep/v20240228/__init__.py +2 -0
  926. info2soft/rep/__init__.py +0 -0
  927. info2soft/rep/test/__init__.py +0 -0
  928. info2soft/rep/test/v20190104/RepBackupTest.py +513 -0
  929. info2soft/rep/test/v20190104/RepRecoveryTest.py +279 -0
  930. info2soft/rep/test/v20190104/__init__.py +0 -0
  931. info2soft/rep/test/v20220622/RepBackupTest.py +513 -0
  932. info2soft/rep/test/v20220622/RepRecoveryTest.py +279 -0
  933. info2soft/rep/test/v20220622/__init__.py +0 -0
  934. info2soft/rep/v20181227/RepBackup.py +325 -0
  935. info2soft/rep/v20181227/RepRecovery.py +203 -0
  936. info2soft/rep/v20181227/__init__.py +0 -0
  937. info2soft/rep/v20220622/RepBackup.py +325 -0
  938. info2soft/rep/v20220622/RepRecovery.py +203 -0
  939. info2soft/rep/v20220622/__init__.py +2 -0
  940. info2soft/rep/v20230227/RepBackup.py +308 -0
  941. info2soft/rep/v20230227/RepRecovery.py +156 -0
  942. info2soft/rep/v20230227/__init__.py +4 -0
  943. info2soft/rep/v20240228/RepBackup.py +308 -0
  944. info2soft/rep/v20240228/RepRecovery.py +156 -0
  945. info2soft/rep/v20240228/__init__.py +4 -0
  946. info2soft/rep/v20240819/RepBackup.py +360 -0
  947. info2soft/rep/v20240819/RepRecovery.py +195 -0
  948. info2soft/rep/v20240819/__init__.py +4 -0
  949. info2soft/rep/v20250123/RepBackup.py +360 -0
  950. info2soft/rep/v20250123/RepRecovery.py +195 -0
  951. info2soft/rep/v20250123/__init__.py +4 -0
  952. info2soft/rep/v20250630/RepBackup.py +360 -0
  953. info2soft/rep/v20250630/RepRecovery.py +195 -0
  954. info2soft/rep/v20250630/__init__.py +4 -0
  955. info2soft/replica/__init__.py +0 -0
  956. info2soft/replica/v20240819/First.py +115 -0
  957. info2soft/replica/v20240819/Second.py +139 -0
  958. info2soft/replica/v20240819/__init__.py +4 -0
  959. info2soft/replica/v20250123/First.py +115 -0
  960. info2soft/replica/v20250123/Second.py +139 -0
  961. info2soft/replica/v20250123/__init__.py +4 -0
  962. info2soft/replica/v20250630/First.py +115 -0
  963. info2soft/replica/v20250630/Second.py +139 -0
  964. info2soft/replica/v20250630/__init__.py +4 -0
  965. info2soft/resource/__init__.py +2 -0
  966. info2soft/resource/test/__init__.py +0 -0
  967. info2soft/resource/test/v20190104/BizGroupTest.py +143 -0
  968. info2soft/resource/test/v20190104/ClusterTest.py +219 -0
  969. info2soft/resource/test/v20190104/NodeTest.py +575 -0
  970. info2soft/resource/test/v20190104/__init__.py +0 -0
  971. info2soft/resource/test/v20200727/BoxVmTest.py +139 -0
  972. info2soft/resource/test/v20200727/__init__.py +0 -0
  973. info2soft/resource/test/v20200930/ActiveNodeTest.py +479 -0
  974. info2soft/resource/test/v20200930/AppTypeTest.py +98 -0
  975. info2soft/resource/test/v20200930/AuthorizationTest.py +140 -0
  976. info2soft/resource/test/v20200930/CopyVolume.py +155 -0
  977. info2soft/resource/test/v20200930/DedupePoolTest.py +151 -0
  978. info2soft/resource/test/v20200930/DtoHostTest.py +266 -0
  979. info2soft/resource/test/v20200930/DtoLifeManagementTest.py +140 -0
  980. info2soft/resource/test/v20200930/DtoStorageTest.py +144 -0
  981. info2soft/resource/test/v20200930/HdfsPlatformTest.py +167 -0
  982. info2soft/resource/test/v20200930/MonitorTest.py +109 -0
  983. info2soft/resource/test/v20200930/NodeDbConfigTest.py +82 -0
  984. info2soft/resource/test/v20200930/NodeProxyTest.py +100 -0
  985. info2soft/resource/test/v20200930/ReCyleTest.py +76 -0
  986. info2soft/resource/test/v20200930/ServiceClusterTest.py +151 -0
  987. info2soft/resource/test/v20200930/StoragePool.py +200 -0
  988. info2soft/resource/test/v20200930/StorageTest.py +1734 -0
  989. info2soft/resource/test/v20200930/VirtualizationSupportTest.py +536 -0
  990. info2soft/resource/test/v20200930/__init__.py +0 -0
  991. info2soft/resource/test/v20220622/ActiveNodeTest.py +479 -0
  992. info2soft/resource/test/v20220622/AppTypeTest.py +98 -0
  993. info2soft/resource/test/v20220622/AuthorizationTest.py +140 -0
  994. info2soft/resource/test/v20220622/CopyVolume.py +155 -0
  995. info2soft/resource/test/v20220622/DedupePoolTest.py +151 -0
  996. info2soft/resource/test/v20220622/DtoHostTest.py +266 -0
  997. info2soft/resource/test/v20220622/DtoLifeManagementTest.py +140 -0
  998. info2soft/resource/test/v20220622/DtoStorageTest.py +144 -0
  999. info2soft/resource/test/v20220622/HdfsPlatformTest.py +167 -0
  1000. info2soft/resource/test/v20220622/MonitorTest.py +109 -0
  1001. info2soft/resource/test/v20220622/NodeDbConfigTest.py +82 -0
  1002. info2soft/resource/test/v20220622/NodeProxyTest.py +100 -0
  1003. info2soft/resource/test/v20220622/ReCyleTest.py +76 -0
  1004. info2soft/resource/test/v20220622/ServiceClusterTest.py +151 -0
  1005. info2soft/resource/test/v20220622/StoragePool.py +200 -0
  1006. info2soft/resource/test/v20220622/StorageTest.py +1734 -0
  1007. info2soft/resource/test/v20220622/VirtualizationSupportTest.py +536 -0
  1008. info2soft/resource/test/v20220622/__init__.py +0 -0
  1009. info2soft/resource/v20181227/BizGroup.py +106 -0
  1010. info2soft/resource/v20181227/Cluster.py +190 -0
  1011. info2soft/resource/v20181227/Node.py +463 -0
  1012. info2soft/resource/v20181227/__init__.py +6 -0
  1013. info2soft/resource/v20200727/BoxVm.py +106 -0
  1014. info2soft/resource/v20200727/__init__.py +2 -0
  1015. info2soft/resource/v20200729/AppSystem.py +364 -0
  1016. info2soft/resource/v20200729/__init__.py +2 -0
  1017. info2soft/resource/v20200930/ActiveNode.py +297 -0
  1018. info2soft/resource/v20200930/AppType.py +75 -0
  1019. info2soft/resource/v20200930/Authorization.py +99 -0
  1020. info2soft/resource/v20200930/CopyVolume.py +129 -0
  1021. info2soft/resource/v20200930/DedupePool.py +126 -0
  1022. info2soft/resource/v20200930/DtoHost.py +242 -0
  1023. info2soft/resource/v20200930/DtoLifeManagement.py +91 -0
  1024. info2soft/resource/v20200930/DtoStorage.py +102 -0
  1025. info2soft/resource/v20200930/HdfsPlatform.py +102 -0
  1026. info2soft/resource/v20200930/Monitor.py +99 -0
  1027. info2soft/resource/v20200930/NodeDbConfig.py +47 -0
  1028. info2soft/resource/v20200930/NodeProxy.py +76 -0
  1029. info2soft/resource/v20200930/ReCyle.py +47 -0
  1030. info2soft/resource/v20200930/ServiceCluster.py +100 -0
  1031. info2soft/resource/v20200930/Storage.py +1443 -0
  1032. info2soft/resource/v20200930/StoragePool.py +166 -0
  1033. info2soft/resource/v20200930/VirtualizationSupport.py +464 -0
  1034. info2soft/resource/v20200930/__init__.py +17 -0
  1035. info2soft/resource/v20220622/ActiveNode.py +297 -0
  1036. info2soft/resource/v20220622/AppType.py +75 -0
  1037. info2soft/resource/v20220622/Authorization.py +99 -0
  1038. info2soft/resource/v20220622/CopyVolume.py +129 -0
  1039. info2soft/resource/v20220622/DedupePool.py +126 -0
  1040. info2soft/resource/v20220622/DtoHost.py +242 -0
  1041. info2soft/resource/v20220622/DtoLifeManagement.py +91 -0
  1042. info2soft/resource/v20220622/DtoStorage.py +102 -0
  1043. info2soft/resource/v20220622/HdfsPlatform.py +102 -0
  1044. info2soft/resource/v20220622/Monitor.py +99 -0
  1045. info2soft/resource/v20220622/NodeDbConfig.py +47 -0
  1046. info2soft/resource/v20220622/NodeProxy.py +76 -0
  1047. info2soft/resource/v20220622/ReCyle.py +47 -0
  1048. info2soft/resource/v20220622/ServiceCluster.py +100 -0
  1049. info2soft/resource/v20220622/Storage.py +1443 -0
  1050. info2soft/resource/v20220622/StoragePool.py +166 -0
  1051. info2soft/resource/v20220622/VirtualizationSupport.py +464 -0
  1052. info2soft/resource/v20220622/__init__.py +25 -0
  1053. info2soft/resource/v20230227/ActiveNode.py +361 -0
  1054. info2soft/resource/v20230227/AppSystem.py +307 -0
  1055. info2soft/resource/v20230227/AppType.py +75 -0
  1056. info2soft/resource/v20230227/Authorization.py +86 -0
  1057. info2soft/resource/v20230227/BizGroup.py +118 -0
  1058. info2soft/resource/v20230227/BoxVm.py +100 -0
  1059. info2soft/resource/v20230227/Cluster.py +180 -0
  1060. info2soft/resource/v20230227/ContainerCluster.py +313 -0
  1061. info2soft/resource/v20230227/CopyVolume.py +130 -0
  1062. info2soft/resource/v20230227/DedupePool.py +101 -0
  1063. info2soft/resource/v20230227/DtoHost.py +218 -0
  1064. info2soft/resource/v20230227/DtoLifeManagement.py +91 -0
  1065. info2soft/resource/v20230227/DtoStorage.py +128 -0
  1066. info2soft/resource/v20230227/HdfsPlatform.py +102 -0
  1067. info2soft/resource/v20230227/Monitor.py +92 -0
  1068. info2soft/resource/v20230227/Node.py +518 -0
  1069. info2soft/resource/v20230227/NodeDbConfig.py +47 -0
  1070. info2soft/resource/v20230227/NodeProxy.py +76 -0
  1071. info2soft/resource/v20230227/Npsvr.py +126 -0
  1072. info2soft/resource/v20230227/ReCyle.py +60 -0
  1073. info2soft/resource/v20230227/ServiceCluster.py +139 -0
  1074. info2soft/resource/v20230227/Storage.py +1374 -0
  1075. info2soft/resource/v20230227/StoragePool.py +180 -0
  1076. info2soft/resource/v20230227/Ukey.py +153 -0
  1077. info2soft/resource/v20230227/VirtualizationSupport.py +604 -0
  1078. info2soft/resource/v20230227/__init__.py +46 -0
  1079. info2soft/resource/v20240228/ActiveDbType.py +99 -0
  1080. info2soft/resource/v20240228/ActiveNode.py +387 -0
  1081. info2soft/resource/v20240228/AppSystem.py +1221 -0
  1082. info2soft/resource/v20240228/AppType.py +80 -0
  1083. info2soft/resource/v20240228/Authorization.py +86 -0
  1084. info2soft/resource/v20240228/BizGroup.py +118 -0
  1085. info2soft/resource/v20240228/BoxVm.py +119 -0
  1086. info2soft/resource/v20240228/Cfs.py +133 -0
  1087. info2soft/resource/v20240228/Cluster.py +206 -0
  1088. info2soft/resource/v20240228/ContainerCluster.py +313 -0
  1089. info2soft/resource/v20240228/CopyVolume.py +139 -0
  1090. info2soft/resource/v20240228/DedupePool.py +126 -0
  1091. info2soft/resource/v20240228/DtoHost.py +254 -0
  1092. info2soft/resource/v20240228/DtoLifeManagement.py +96 -0
  1093. info2soft/resource/v20240228/DtoStorage.py +128 -0
  1094. info2soft/resource/v20240228/Filesystem.py +114 -0
  1095. info2soft/resource/v20240228/HdfsPlatform.py +288 -0
  1096. info2soft/resource/v20240228/LanfreeChannel.py +101 -0
  1097. info2soft/resource/v20240228/Monitor.py +92 -0
  1098. info2soft/resource/v20240228/Node.py +544 -0
  1099. info2soft/resource/v20240228/NodeDbConfig.py +47 -0
  1100. info2soft/resource/v20240228/NodeProxy.py +76 -0
  1101. info2soft/resource/v20240228/Npsvr.py +164 -0
  1102. info2soft/resource/v20240228/ReCyle.py +60 -0
  1103. info2soft/resource/v20240228/ServiceCluster.py +140 -0
  1104. info2soft/resource/v20240228/Storage.py +1452 -0
  1105. info2soft/resource/v20240228/StoragePool.py +253 -0
  1106. info2soft/resource/v20240228/StorageUnit.py +196 -0
  1107. info2soft/resource/v20240228/Tape.py +487 -0
  1108. info2soft/resource/v20240228/Ukey.py +248 -0
  1109. info2soft/resource/v20240228/VirtualizationSupport.py +620 -0
  1110. info2soft/resource/v20240228/__init__.py +52 -0
  1111. info2soft/resource/v20240819/ActiveDbType.py +113 -0
  1112. info2soft/resource/v20240819/ActiveNode.py +375 -0
  1113. info2soft/resource/v20240819/ActiveNodeCluster.py +141 -0
  1114. info2soft/resource/v20240819/ActiveNodeV3.py +348 -0
  1115. info2soft/resource/v20240819/AppSystem.py +181 -0
  1116. info2soft/resource/v20240819/AppType.py +75 -0
  1117. info2soft/resource/v20240819/BigdataPlatform.py +194 -0
  1118. info2soft/resource/v20240819/BizGroup.py +118 -0
  1119. info2soft/resource/v20240819/BoxVm.py +100 -0
  1120. info2soft/resource/v20240819/Cfs.py +128 -0
  1121. info2soft/resource/v20240819/Cluster.py +206 -0
  1122. info2soft/resource/v20240819/ContainerCluster.py +326 -0
  1123. info2soft/resource/v20240819/CopyVolume.py +156 -0
  1124. info2soft/resource/v20240819/DedupePool.py +114 -0
  1125. info2soft/resource/v20240819/DiskPool.py +89 -0
  1126. info2soft/resource/v20240819/DtoHost.py +270 -0
  1127. info2soft/resource/v20240819/DtoLifeManagement.py +60 -0
  1128. info2soft/resource/v20240819/DtoStorage.py +128 -0
  1129. info2soft/resource/v20240819/DtoStorageBucket.py +74 -0
  1130. info2soft/resource/v20240819/Filesystem.py +114 -0
  1131. info2soft/resource/v20240819/HdfsPlatform.py +141 -0
  1132. info2soft/resource/v20240819/LanfreeChannel.py +114 -0
  1133. info2soft/resource/v20240819/Monitor.py +92 -0
  1134. info2soft/resource/v20240819/Node.py +611 -0
  1135. info2soft/resource/v20240819/NodeDbConfig.py +47 -0
  1136. info2soft/resource/v20240819/NodeProxy.py +76 -0
  1137. info2soft/resource/v20240819/Npsvr.py +130 -0
  1138. info2soft/resource/v20240819/ReCyle.py +47 -0
  1139. info2soft/resource/v20240819/ServiceCluster.py +139 -0
  1140. info2soft/resource/v20240819/Storage.py +1530 -0
  1141. info2soft/resource/v20240819/StoragePool.py +206 -0
  1142. info2soft/resource/v20240819/StorageUnit.py +209 -0
  1143. info2soft/resource/v20240819/Tape.py +505 -0
  1144. info2soft/resource/v20240819/Ukey.py +218 -0
  1145. info2soft/resource/v20240819/VirtualizationSupport.py +741 -0
  1146. info2soft/resource/v20240819/__init__.py +70 -0
  1147. info2soft/resource/v20250123/ActiveDbType.py +113 -0
  1148. info2soft/resource/v20250123/ActiveNode.py +375 -0
  1149. info2soft/resource/v20250123/ActiveNodeCluster.py +141 -0
  1150. info2soft/resource/v20250123/ActiveNodeV3.py +348 -0
  1151. info2soft/resource/v20250123/AppSystem.py +181 -0
  1152. info2soft/resource/v20250123/AppType.py +75 -0
  1153. info2soft/resource/v20250123/BigdataPlatform.py +194 -0
  1154. info2soft/resource/v20250123/BizGroup.py +118 -0
  1155. info2soft/resource/v20250123/BoxVm.py +100 -0
  1156. info2soft/resource/v20250123/Cfs.py +128 -0
  1157. info2soft/resource/v20250123/Cluster.py +245 -0
  1158. info2soft/resource/v20250123/ContainerCluster.py +326 -0
  1159. info2soft/resource/v20250123/CopyVolume.py +156 -0
  1160. info2soft/resource/v20250123/DedupePool.py +114 -0
  1161. info2soft/resource/v20250123/DiskPool.py +89 -0
  1162. info2soft/resource/v20250123/DtoGateway.py +116 -0
  1163. info2soft/resource/v20250123/DtoHost.py +270 -0
  1164. info2soft/resource/v20250123/DtoLifeManagement.py +60 -0
  1165. info2soft/resource/v20250123/DtoStorage.py +128 -0
  1166. info2soft/resource/v20250123/DtoStorageBucket.py +89 -0
  1167. info2soft/resource/v20250123/Filesystem.py +114 -0
  1168. info2soft/resource/v20250123/HdfsPlatform.py +141 -0
  1169. info2soft/resource/v20250123/LanfreeChannel.py +114 -0
  1170. info2soft/resource/v20250123/Monitor.py +92 -0
  1171. info2soft/resource/v20250123/Node.py +611 -0
  1172. info2soft/resource/v20250123/NodeDbConfig.py +47 -0
  1173. info2soft/resource/v20250123/NodeProxy.py +76 -0
  1174. info2soft/resource/v20250123/Npsvr.py +130 -0
  1175. info2soft/resource/v20250123/ReCyle.py +47 -0
  1176. info2soft/resource/v20250123/ServiceCluster.py +139 -0
  1177. info2soft/resource/v20250123/Storage.py +1530 -0
  1178. info2soft/resource/v20250123/StoragePool.py +206 -0
  1179. info2soft/resource/v20250123/StorageUnit.py +209 -0
  1180. info2soft/resource/v20250123/Tape.py +505 -0
  1181. info2soft/resource/v20250123/Ukey.py +218 -0
  1182. info2soft/resource/v20250123/VirtualizationSupport.py +756 -0
  1183. info2soft/resource/v20250123/__init__.py +72 -0
  1184. info2soft/resource/v20250630/ActiveDbType.py +113 -0
  1185. info2soft/resource/v20250630/ActiveNode.py +375 -0
  1186. info2soft/resource/v20250630/ActiveNodeCluster.py +141 -0
  1187. info2soft/resource/v20250630/ActiveNodeClusterV3.py +141 -0
  1188. info2soft/resource/v20250630/ActiveNodeV3.py +361 -0
  1189. info2soft/resource/v20250630/AppSystem.py +181 -0
  1190. info2soft/resource/v20250630/AppType.py +75 -0
  1191. info2soft/resource/v20250630/BigdataPlatform.py +194 -0
  1192. info2soft/resource/v20250630/BizGroup.py +118 -0
  1193. info2soft/resource/v20250630/BoxVm.py +100 -0
  1194. info2soft/resource/v20250630/Cfs.py +128 -0
  1195. info2soft/resource/v20250630/Cluster.py +335 -0
  1196. info2soft/resource/v20250630/ContainerCluster.py +325 -0
  1197. info2soft/resource/v20250630/CopyVolume.py +156 -0
  1198. info2soft/resource/v20250630/DedupePool.py +114 -0
  1199. info2soft/resource/v20250630/DiskPool.py +89 -0
  1200. info2soft/resource/v20250630/DtoGateway.py +155 -0
  1201. info2soft/resource/v20250630/DtoHost.py +270 -0
  1202. info2soft/resource/v20250630/DtoLifeManagement.py +60 -0
  1203. info2soft/resource/v20250630/DtoStorage.py +128 -0
  1204. info2soft/resource/v20250630/DtoStorageBucket.py +89 -0
  1205. info2soft/resource/v20250630/Filesystem.py +114 -0
  1206. info2soft/resource/v20250630/HdfsPlatform.py +141 -0
  1207. info2soft/resource/v20250630/LanfreeChannel.py +114 -0
  1208. info2soft/resource/v20250630/Monitor.py +92 -0
  1209. info2soft/resource/v20250630/Node.py +624 -0
  1210. info2soft/resource/v20250630/NodeDbConfig.py +47 -0
  1211. info2soft/resource/v20250630/NodeProxy.py +76 -0
  1212. info2soft/resource/v20250630/NodeV3.py +663 -0
  1213. info2soft/resource/v20250630/Npsvr.py +130 -0
  1214. info2soft/resource/v20250630/ReCyle.py +47 -0
  1215. info2soft/resource/v20250630/ServiceCluster.py +139 -0
  1216. info2soft/resource/v20250630/Storage.py +1531 -0
  1217. info2soft/resource/v20250630/StoragePool.py +206 -0
  1218. info2soft/resource/v20250630/StorageUnit.py +209 -0
  1219. info2soft/resource/v20250630/Tape.py +505 -0
  1220. info2soft/resource/v20250630/Ukey.py +218 -0
  1221. info2soft/resource/v20250630/VirtualizationSupport.py +756 -0
  1222. info2soft/resource/v20250630/__init__.py +76 -0
  1223. info2soft/retentionPolicy/__init__.py +0 -0
  1224. info2soft/retentionPolicy/v20240228/RetentionPolicy.py +33 -0
  1225. info2soft/retentionPolicy/v20240228/__init__.py +2 -0
  1226. info2soft/retentionPolicy/v20240819/RetentionPolicy.py +33 -0
  1227. info2soft/retentionPolicy/v20240819/__init__.py +2 -0
  1228. info2soft/retentionPolicy/v20250123/RetentionPolicy.py +33 -0
  1229. info2soft/retentionPolicy/v20250123/__init__.py +2 -0
  1230. info2soft/retentionPolicy/v20250630/RetentionPolicy.py +33 -0
  1231. info2soft/retentionPolicy/v20250630/__init__.py +2 -0
  1232. info2soft/ruleVersion/__init__.py +0 -0
  1233. info2soft/ruleVersion/v20240228/RuleVersion.py +34 -0
  1234. info2soft/ruleVersion/v20240228/__init__.py +2 -0
  1235. info2soft/ruleVersion/v20240819/RuleVersion.py +47 -0
  1236. info2soft/ruleVersion/v20240819/__init__.py +2 -0
  1237. info2soft/ruleVersion/v20250123/RuleVersion.py +47 -0
  1238. info2soft/ruleVersion/v20250123/__init__.py +2 -0
  1239. info2soft/ruleVersion/v20250630/RuleVersion.py +47 -0
  1240. info2soft/ruleVersion/v20250630/__init__.py +2 -0
  1241. info2soft/snapshotTask/__init__.py +0 -0
  1242. info2soft/snapshotTask/v20240819/SnapshotTask.py +157 -0
  1243. info2soft/snapshotTask/v20240819/__init__.py +2 -0
  1244. info2soft/snapshotTask/v20250123/SnapshotTask.py +157 -0
  1245. info2soft/snapshotTask/v20250123/__init__.py +2 -0
  1246. info2soft/snapshotTask/v20250630/SnapshotTask.py +157 -0
  1247. info2soft/snapshotTask/v20250630/__init__.py +2 -0
  1248. info2soft/stoCluster/__init__.py +0 -0
  1249. info2soft/stoCluster/v20250630/StoCluster.py +89 -0
  1250. info2soft/stoCluster/v20250630/__init__.py +2 -0
  1251. info2soft/storage_cdm/FfoMount.py +76 -0
  1252. info2soft/storage_cdm/MountTask.py +151 -0
  1253. info2soft/storage_cdm/SnapshotTask.py +173 -0
  1254. info2soft/storage_cdm/__init__.py +6 -0
  1255. info2soft/storage_cdm/v20220622/FfoMount.py +76 -0
  1256. info2soft/storage_cdm/v20220622/MountTask.py +151 -0
  1257. info2soft/storage_cdm/v20220622/SnapshotTask.py +173 -0
  1258. info2soft/storage_cdm/v20220622/__init__.py +6 -0
  1259. info2soft/storage_cdm/v20230227/MountTask.py +113 -0
  1260. info2soft/storage_cdm/v20230227/SnapshotTask.py +118 -0
  1261. info2soft/storage_cdm/v20230227/__init__.py +3 -0
  1262. info2soft/storage_cdm/v20240228/MountTask.py +151 -0
  1263. info2soft/storage_cdm/v20240228/SnapshotTask.py +175 -0
  1264. info2soft/storage_cdm/v20240228/__init__.py +3 -0
  1265. info2soft/stream/__init__.py +0 -0
  1266. info2soft/stream/v20240228/ObjCmp.py +21 -0
  1267. info2soft/stream/v20240228/OracleBkTakeover.py +74 -0
  1268. info2soft/stream/v20240228/OracleReverse.py +21 -0
  1269. info2soft/stream/v20240228/SyncRule.py +331 -0
  1270. info2soft/stream/v20240228/TbCmp.py +97 -0
  1271. info2soft/stream/v20240228/__init__.py +10 -0
  1272. info2soft/stream/v20240819/ObjCmp.py +99 -0
  1273. info2soft/stream/v20240819/OracleBkTakeover.py +47 -0
  1274. info2soft/stream/v20240819/OracleReverse.py +21 -0
  1275. info2soft/stream/v20240819/RuleMonitor.py +137 -0
  1276. info2soft/stream/v20240819/SyncRule.py +322 -0
  1277. info2soft/stream/v20240819/TbCmp.py +125 -0
  1278. info2soft/stream/v20240819/TrafficReport.py +47 -0
  1279. info2soft/stream/v20240819/__init__.py +14 -0
  1280. info2soft/stream/v20250123/ObjCmp.py +99 -0
  1281. info2soft/stream/v20250123/OracleBkTakeover.py +47 -0
  1282. info2soft/stream/v20250123/OracleReverse.py +21 -0
  1283. info2soft/stream/v20250123/RuleMonitor.py +137 -0
  1284. info2soft/stream/v20250123/SyncRule.py +322 -0
  1285. info2soft/stream/v20250123/TbCmp.py +125 -0
  1286. info2soft/stream/v20250123/TrafficReport.py +47 -0
  1287. info2soft/stream/v20250123/__init__.py +14 -0
  1288. info2soft/stream/v20250630/MaskAlgo.py +61 -0
  1289. info2soft/stream/v20250630/MaskRule.py +140 -0
  1290. info2soft/stream/v20250630/MaskSensType.py +50 -0
  1291. info2soft/stream/v20250630/ObjCmp.py +112 -0
  1292. info2soft/stream/v20250630/OracleBkTakeover.py +85 -0
  1293. info2soft/stream/v20250630/OracleReverse.py +21 -0
  1294. info2soft/stream/v20250630/RuleMonitor.py +137 -0
  1295. info2soft/stream/v20250630/Script.py +89 -0
  1296. info2soft/stream/v20250630/ScriptRule.py +115 -0
  1297. info2soft/stream/v20250630/SensCheck.py +143 -0
  1298. info2soft/stream/v20250630/SensMap.py +129 -0
  1299. info2soft/stream/v20250630/SyncRule.py +698 -0
  1300. info2soft/stream/v20250630/TbCmp.py +151 -0
  1301. info2soft/stream/v20250630/TrafficReport.py +47 -0
  1302. info2soft/stream/v20250630/__init__.py +28 -0
  1303. info2soft/system/__init__.py +1 -0
  1304. info2soft/system/test/__init__.py +0 -0
  1305. info2soft/system/test/v20190104/LicTest.py +215 -0
  1306. info2soft/system/test/v20190104/UserTest.py +152 -0
  1307. info2soft/system/test/v20190104/__init__.py +0 -0
  1308. info2soft/system/test/v20190806/UserTest.py +92 -0
  1309. info2soft/system/test/v20190806/__init__.py +0 -0
  1310. info2soft/system/test/v20220622/CredentialTest.py +129 -0
  1311. info2soft/system/test/v20220622/LicTest.py +215 -0
  1312. info2soft/system/test/v20220622/UserTest.py +92 -0
  1313. info2soft/system/test/v20220622/__init__.py +0 -0
  1314. info2soft/system/v20181227/Lic.py +204 -0
  1315. info2soft/system/v20181227/User.py +203 -0
  1316. info2soft/system/v20181227/__init__.py +0 -0
  1317. info2soft/system/v20200729/Credential.py +102 -0
  1318. info2soft/system/v20200729/__init__.py +2 -0
  1319. info2soft/system/v20220622/Credential.py +102 -0
  1320. info2soft/system/v20220622/Lic.py +204 -0
  1321. info2soft/system/v20220622/User.py +203 -0
  1322. info2soft/system/v20220622/__init__.py +5 -0
  1323. info2soft/system/v20240819/Lic.py +189 -0
  1324. info2soft/system/v20240819/__init__.py +2 -0
  1325. info2soft/system/v20250123/Lic.py +189 -0
  1326. info2soft/system/v20250123/__init__.py +2 -0
  1327. info2soft/system/v20250630/Lic.py +189 -0
  1328. info2soft/system/v20250630/__init__.py +2 -0
  1329. info2soft/tape/Tape.py +74 -0
  1330. info2soft/tape/__init__.py +2 -0
  1331. info2soft/tape/v20220622/Tape.py +74 -0
  1332. info2soft/tape/v20220622/__init__.py +2 -0
  1333. info2soft/tape/v20230227/Tape.py +74 -0
  1334. info2soft/tape/v20230227/__init__.py +2 -0
  1335. info2soft/tape/v20240228/Tape.py +74 -0
  1336. info2soft/tape/v20240228/__init__.py +2 -0
  1337. info2soft/tape/v20240819/TapeRecovery.py +74 -0
  1338. info2soft/tape/v20240819/__init__.py +2 -0
  1339. info2soft/tape/v20250123/TapeRecovery.py +74 -0
  1340. info2soft/tape/v20250123/__init__.py +2 -0
  1341. info2soft/tape/v20250630/TapeRecovery.py +74 -0
  1342. info2soft/tape/v20250630/__init__.py +2 -0
  1343. info2soft/tape_copy/__init__.py +0 -0
  1344. info2soft/tape_copy/v20230227/TapeCopy.py +74 -0
  1345. info2soft/tape_copy/v20230227/__init__.py +2 -0
  1346. info2soft/tape_copy/v20240228/TapeCopy.py +74 -0
  1347. info2soft/tape_copy/v20240228/__init__.py +2 -0
  1348. info2soft/taskCenter/__init__.py +0 -0
  1349. info2soft/taskCenter/v20240819/BatchTask.py +73 -0
  1350. info2soft/taskCenter/v20240819/__init__.py +2 -0
  1351. info2soft/taskCenter/v20250123/BatchTask.py +73 -0
  1352. info2soft/taskCenter/v20250123/__init__.py +2 -0
  1353. info2soft/taskCenter/v20250630/BatchTask.py +73 -0
  1354. info2soft/taskCenter/v20250630/__init__.py +2 -0
  1355. info2soft/thirdParty/__init__.py +0 -0
  1356. info2soft/thirdParty/v20240819/ThirdParty.py +21 -0
  1357. info2soft/thirdParty/v20240819/__init__.py +2 -0
  1358. info2soft/thirdParty/v20250123/ThirdParty.py +21 -0
  1359. info2soft/thirdParty/v20250123/__init__.py +2 -0
  1360. info2soft/thirdParty/v20250630/ThirdParty.py +21 -0
  1361. info2soft/thirdParty/v20250630/__init__.py +2 -0
  1362. info2soft/timing/TimingBackup.py +239 -0
  1363. info2soft/timing/TimingRecovery.py +369 -0
  1364. info2soft/timing/__init__.py +0 -0
  1365. info2soft/timing/test/TimingBackupTest.py +451 -0
  1366. info2soft/timing/test/TimingRecoveryTest.py +478 -0
  1367. info2soft/timing/test/__init__.py +0 -0
  1368. info2soft/timing/test/v20220622/TimingBackupTest.py +451 -0
  1369. info2soft/timing/test/v20220622/TimingRecoveryTest.py +478 -0
  1370. info2soft/timing/test/v20220622/__init__.py +0 -0
  1371. info2soft/timing/v20220622/TimingBackup.py +239 -0
  1372. info2soft/timing/v20220622/TimingRecovery.py +369 -0
  1373. info2soft/timing/v20220622/__init__.py +2 -0
  1374. info2soft/timing/v20230227/TimingBackup.py +626 -0
  1375. info2soft/timing/v20230227/__init__.py +2 -0
  1376. info2soft/timing/v20240228/TimingBackup.py +664 -0
  1377. info2soft/timing/v20240228/__init__.py +2 -0
  1378. info2soft/timing/v20240819/TimingBackup.py +361 -0
  1379. info2soft/timing/v20240819/TimingRecovery.py +376 -0
  1380. info2soft/timing/v20240819/__init__.py +4 -0
  1381. info2soft/timing/v20250123/TimingBackup.py +361 -0
  1382. info2soft/timing/v20250123/TimingRecovery.py +376 -0
  1383. info2soft/timing/v20250123/__init__.py +4 -0
  1384. info2soft/timing/v20250630/TimingBackup.py +361 -0
  1385. info2soft/timing/v20250630/TimingRecovery.py +376 -0
  1386. info2soft/timing/v20250630/__init__.py +4 -0
  1387. info2soft/tools/__init__.py +0 -0
  1388. info2soft/tools/test/DiagnoseTest.py +62 -0
  1389. info2soft/tools/test/__init__.py +0 -0
  1390. info2soft/tools/test/v20190104/CompareTest.py +241 -0
  1391. info2soft/tools/test/v20190104/DiagnoseTest.py +73 -0
  1392. info2soft/tools/test/v20190104/__init__.py +0 -0
  1393. info2soft/tools/test/v20220622/CompareTest.py +241 -0
  1394. info2soft/tools/test/v20220622/DiagnoseTest.py +62 -0
  1395. info2soft/tools/test/v20220622/__init__.py +0 -0
  1396. info2soft/tools/v20181227/Compare.py +177 -0
  1397. info2soft/tools/v20181227/Diagnose.py +60 -0
  1398. info2soft/tools/v20181227/__init__.py +0 -0
  1399. info2soft/tools/v20220622/Compare.py +177 -0
  1400. info2soft/tools/v20220622/Diagnose.py +60 -0
  1401. info2soft/tools/v20220622/__init__.py +2 -0
  1402. info2soft/tools/v20230227/Compare.py +129 -0
  1403. info2soft/tools/v20230227/__init__.py +2 -0
  1404. info2soft/tools/v20240228/Compare.py +129 -0
  1405. info2soft/tools/v20240228/__init__.py +2 -0
  1406. info2soft/tools/v20240819/Compare.py +156 -0
  1407. info2soft/tools/v20240819/__init__.py +2 -0
  1408. info2soft/tools/v20250123/Compare.py +156 -0
  1409. info2soft/tools/v20250123/__init__.py +2 -0
  1410. info2soft/tools/v20250630/Compare.py +156 -0
  1411. info2soft/tools/v20250630/__init__.py +2 -0
  1412. info2soft/upmonitor/__init__.py +0 -0
  1413. info2soft/upmonitor/test/UpMonitor.py +153 -0
  1414. info2soft/upmonitor/test/__init__.py +0 -0
  1415. info2soft/upmonitor/test/v20220622/UpMonitor.py +153 -0
  1416. info2soft/upmonitor/test/v20220622/__init__.py +0 -0
  1417. info2soft/upmonitor/v20190805/UpMonitor.py +134 -0
  1418. info2soft/upmonitor/v20190805/__init__.py +0 -0
  1419. info2soft/upmonitor/v20220622/UpMonitor.py +134 -0
  1420. info2soft/upmonitor/v20220622/__init__.py +1 -0
  1421. info2soft/upmonitor/v20230227/UpMonitor.py +128 -0
  1422. info2soft/upmonitor/v20230227/__init__.py +2 -0
  1423. info2soft/upmonitor/v20240228/UpMonitor.py +128 -0
  1424. info2soft/upmonitor/v20240228/__init__.py +2 -0
  1425. info2soft/upmonitor/v20240819/UpMonitor.py +245 -0
  1426. info2soft/upmonitor/v20240819/__init__.py +2 -0
  1427. info2soft/upmonitor/v20250123/UpMonitor.py +245 -0
  1428. info2soft/upmonitor/v20250123/__init__.py +2 -0
  1429. info2soft/upmonitor/v20250630/UpMonitor.py +245 -0
  1430. info2soft/upmonitor/v20250630/__init__.py +2 -0
  1431. info2soft/vmClone/__init__.py +0 -0
  1432. info2soft/vmClone/v20240819/VmCloneRule.py +100 -0
  1433. info2soft/vmClone/v20240819/VmCloneVm.py +102 -0
  1434. info2soft/vmClone/v20240819/__init__.py +4 -0
  1435. info2soft/vmClone/v20250123/VmCloneRule.py +100 -0
  1436. info2soft/vmClone/v20250123/VmCloneVm.py +102 -0
  1437. info2soft/vmClone/v20250123/__init__.py +4 -0
  1438. info2soft/vmClone/v20250630/VmCloneRule.py +100 -0
  1439. info2soft/vmClone/v20250630/VmCloneVm.py +102 -0
  1440. info2soft/vmClone/v20250630/__init__.py +4 -0
  1441. info2soft/vp/VirtualizationSupport.py +1066 -0
  1442. info2soft/vp/__init__.py +0 -0
  1443. info2soft/vp/test/VirtualizationSupportTest.py +1341 -0
  1444. info2soft/vp/test/__init__.py +0 -0
  1445. info2soft/vp/test/v20220622/VirtualizationSupportTest.py +1341 -0
  1446. info2soft/vp/test/v20220622/__init__.py +0 -0
  1447. info2soft/vp/v20220622/VirtualizationSupport.py +1066 -0
  1448. info2soft/vp/v20220622/__init__.py +1 -0
  1449. info2soft/vp/v20230227/VirtualizationSupport.py +570 -0
  1450. info2soft/vp/v20230227/__init__.py +2 -0
  1451. info2soft/vp/v20240228/VirtualizationSupport.py +570 -0
  1452. info2soft/vp/v20240228/__init__.py +2 -0
  1453. info2soft/vp/v20240819/VirtualizationSupport.py +876 -0
  1454. info2soft/vp/v20240819/__init__.py +2 -0
  1455. info2soft/vp/v20250123/VirtualizationSupport.py +876 -0
  1456. info2soft/vp/v20250123/__init__.py +2 -0
  1457. info2soft/vp/v20250630/VirtualizationSupport.py +876 -0
  1458. info2soft/vp/v20250630/__init__.py +2 -0
  1459. info2soft/vpBackupRule/__init__.py +0 -0
  1460. info2soft/vpBackupRule/v20240819/VpBackupRule.py +115 -0
  1461. info2soft/vpBackupRule/v20240819/__init__.py +2 -0
  1462. info2soft/vpBackupRule/v20250123/VpBackupRule.py +115 -0
  1463. info2soft/vpBackupRule/v20250123/__init__.py +2 -0
  1464. info2soft/vpBackupRule/v20250630/VpBackupRule.py +127 -0
  1465. info2soft/vpBackupRule/v20250630/__init__.py +2 -0
  1466. info2soft/vpRecoveryRule/__init__.py +0 -0
  1467. info2soft/vpRecoveryRule/v20240819/VpRecoveryRule.py +102 -0
  1468. info2soft/vpRecoveryRule/v20240819/__init__.py +2 -0
  1469. info2soft/vpRecoveryRule/v20250123/VpRecoveryRule.py +102 -0
  1470. info2soft/vpRecoveryRule/v20250123/__init__.py +2 -0
  1471. info2soft/vpRecoveryRule/v20250630/VpRecoveryRule.py +102 -0
  1472. info2soft/vpRecoveryRule/v20250630/__init__.py +2 -0
@@ -0,0 +1,1452 @@
1
+
2
+ from info2soft import config
3
+ from info2soft import https
4
+
5
+
6
+ class Storage (object):
7
+ def __init__(self, auth):
8
+ self.auth = auth
9
+ '''
10
+ * 存储配置 - 新建
11
+ *
12
+ * @param dict $body 参数详见 API 手册
13
+ * @return list
14
+ '''
15
+ def createStorageConfig(self, body):
16
+
17
+ url = '{0}/storage'.format(config.get_default('default_api_host'))
18
+
19
+ res = https._post(url, body, self.auth)
20
+ return res
21
+
22
+ '''
23
+ * 存储配置 - 修改
24
+ *
25
+ * @body['uuid'] String 必填 节点uuid
26
+ * @param dict $body 参数详见 API 手册
27
+ * @return list
28
+ '''
29
+ def modifyStorageConfig(self, body, uuid):
30
+ if uuid is None:
31
+ exit()
32
+ url = '{0}/storage/{1}'.format(config.get_default('default_api_host'), uuid)
33
+
34
+ res = https._put(url, body, self.auth)
35
+ return res
36
+
37
+ '''
38
+ * 存储配置 - 获取单个
39
+ *
40
+ * @body['uuid'] String 必填 节点uuid
41
+ * @return list
42
+ '''
43
+ def describeStorageConfig(self, body, uuid):
44
+ if uuid is None:
45
+ exit()
46
+ url = '{0}/storage/{1}'.format(config.get_default('default_api_host'), uuid)
47
+
48
+ res = https._get(url, None, self.auth)
49
+ return res
50
+
51
+ '''
52
+ * 存储配置 - 获取列表
53
+ *
54
+ * @param dict $body 参数详见 API 手册
55
+ * @return list
56
+ '''
57
+ def listStorageConfig(self, body):
58
+
59
+ url = '{0}/storage'.format(config.get_default('default_api_host'))
60
+
61
+ res = https._get(url, body, self.auth)
62
+ return res
63
+
64
+ '''
65
+ * 存储配置 - 删除
66
+ *
67
+ * @param dict $body 参数详见 API 手册
68
+ * @return list
69
+ '''
70
+ def deleteStorageConfig(self, body):
71
+
72
+ url = '{0}/storage'.format(config.get_default('default_api_host'))
73
+
74
+ res = https._delete(url, body, self.auth)
75
+ return res
76
+
77
+ '''
78
+ * 存储配置 - 状态
79
+ *
80
+ * @param dict $body 参数详见 API 手册
81
+ * @return list
82
+ '''
83
+ def listStorageStatus(self, body):
84
+
85
+ url = '{0}/storage/status'.format(config.get_default('default_api_host'))
86
+
87
+ res = https._get(url, body, self.auth)
88
+ return res
89
+
90
+ '''
91
+ * 存储配置 - 上传设备信息
92
+ *
93
+ * @param dict $body 参数详见 API 手册
94
+ * @return list
95
+ '''
96
+ def https(self, body):
97
+
98
+ url = '{0}/storage/device_info'.format(config.get_default('default_api_host'))
99
+
100
+ res = https._post(url, body, self.auth)
101
+ return res
102
+
103
+ '''
104
+ * 存储配置 - 获取设备信息
105
+ *
106
+ * @param dict $body 参数详见 API 手册
107
+ * @return list
108
+ '''
109
+ def describeStorageDeviceInfo(self, body):
110
+
111
+ url = '{0}/storage/device_info'.format(config.get_default('default_api_host'))
112
+
113
+ res = https._get(url, body, self.auth)
114
+ return res
115
+
116
+ '''
117
+ * 存储配置 - 获取曲线图
118
+ *
119
+ * @body['uuid'] String 必填 节点uuid
120
+ * @param dict $body 参数详见 API 手册
121
+ * @return list
122
+ '''
123
+ def describeStorageHistoryData(self, body, uuid):
124
+ if uuid is None:
125
+ exit()
126
+ url = '{0}/storage/{1}/chart'.format(config.get_default('default_api_host'), uuid)
127
+
128
+ res = https._get(url, body, self.auth)
129
+ return res
130
+
131
+ '''
132
+ * 存储配置 - 获取容量信息
133
+ *
134
+ * @param dict $body 参数详见 API 手册
135
+ * @return list
136
+ '''
137
+ def listStorageInfo(self, body):
138
+
139
+ url = '{0}/storage/info'.format(config.get_default('default_api_host'))
140
+
141
+ res = https._get(url, body, self.auth)
142
+ return res
143
+
144
+ '''
145
+ * 存储配置 - 获取可用节点列表
146
+ *
147
+ * @return list
148
+ '''
149
+ def listAvailableNode(self, body):
150
+
151
+ url = '{0}/storage/node'.format(config.get_default('default_api_host'))
152
+
153
+ res = https._get(url, None, self.auth)
154
+ return res
155
+
156
+ '''
157
+ * 配额 - 修改开关值
158
+ *
159
+ * @body['uuid'] String 必填 节点uuid
160
+ * @param dict $body 参数详见 API 手册
161
+ * @return list
162
+ '''
163
+ def switchStorageQuota(self, body, uuid):
164
+ if uuid is None:
165
+ exit()
166
+ url = '{0}/storage/{1}/switch'.format(config.get_default('default_api_host'), uuid)
167
+
168
+ res = https._put(url, body, self.auth)
169
+ return res
170
+
171
+ '''
172
+ * 配额 - 新建
173
+ *
174
+ * @body['uuid'] String 必填 节点uuid
175
+ * @param dict $body 参数详见 API 手册
176
+ * @return list
177
+ '''
178
+ def createStorageQuota(self, body, uuid):
179
+ if uuid is None:
180
+ exit()
181
+ url = '{0}/storage/{1}/quota'.format(config.get_default('default_api_host'), uuid)
182
+
183
+ res = https._post(url, body, self.auth)
184
+ return res
185
+
186
+ '''
187
+ * 配额 - 修改
188
+ *
189
+ * @body['uuid'] String 必填 节点uuid
190
+ * @param dict $body 参数详见 API 手册
191
+ * @return list
192
+ '''
193
+ def modifyStorageQuota(self, body, uuid, quota_uuid):
194
+ if uuid is None:
195
+ exit()
196
+ url = '{0}/storage/{1}/quota/{2}'.format(config.get_default('default_api_host'), uuid, quota_uuid)
197
+
198
+ res = https._put(url, body, self.auth)
199
+ return res
200
+
201
+ '''
202
+ * 配额 - 获取列表
203
+ *
204
+ * @body['uuid'] String 必填 节点uuid
205
+ * @return list
206
+ '''
207
+ def listStorageQuota(self, body, uuid):
208
+ if uuid is None:
209
+ exit()
210
+ url = '{0}/storage/{1}/quota'.format(config.get_default('default_api_host'), uuid)
211
+
212
+ res = https._get(url, None, self.auth)
213
+ return res
214
+
215
+ '''
216
+ * 配额 - 删除
217
+ *
218
+ * @body['uuid'] String 必填 节点uuid
219
+ * @param dict $body 参数详见 API 手册
220
+ * @return list
221
+ '''
222
+ def deleteStorageQuota(self, body, uuid):
223
+ if uuid is None:
224
+ exit()
225
+ url = '{0}/storage/{1}/quota'.format(config.get_default('default_api_host'), uuid)
226
+
227
+ res = https._delete(url, body, self.auth)
228
+ return res
229
+
230
+ '''
231
+ * 设备 - 获取列表
232
+ *
233
+ * @param dict $body 参数详见 API 手册
234
+ * @return list
235
+ '''
236
+ def listDevice(self, body):
237
+
238
+ url = '{0}/storage/dev'.format(config.get_default('default_api_host'))
239
+
240
+ res = https._get(url, body, self.auth)
241
+ return res
242
+
243
+ '''
244
+ * 设备 - 获取可用列表
245
+ *
246
+ * @param dict $body 参数详见 API 手册
247
+ * @return list
248
+ '''
249
+ def listAvailableDevice(self, body):
250
+
251
+ url = '{0}/storage/available_dev'.format(config.get_default('default_api_host'))
252
+
253
+ res = https._get(url, body, self.auth)
254
+ return res
255
+
256
+ '''
257
+ * 存储池 - 创建
258
+ *
259
+ * @param dict $body 参数详见 API 手册
260
+ * @return list
261
+ '''
262
+ def createPool(self, body):
263
+
264
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
265
+
266
+ res = https._post(url, body, self.auth)
267
+ return res
268
+
269
+ '''
270
+ * 存储池 - 扩展
271
+ *
272
+ * @param dict $body 参数详见 API 手册
273
+ * @return list
274
+ '''
275
+ def expandPool(self, body):
276
+
277
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
278
+
279
+ res = https._put(url, body, self.auth)
280
+ return res
281
+
282
+ '''
283
+ * 存储池 - 删除
284
+ *
285
+ * @param dict $body 参数详见 API 手册
286
+ * @return list
287
+ '''
288
+ def deletePool(self, body):
289
+
290
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
291
+
292
+ res = https._delete(url, body, self.auth)
293
+ return res
294
+
295
+ '''
296
+ * 存储池 - 获取
297
+ *
298
+ * @param dict $body 参数详见 API 手册
299
+ * @return list
300
+ '''
301
+ def listPool(self, body):
302
+
303
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
304
+
305
+ res = https._get(url, body, self.auth)
306
+ return res
307
+
308
+ '''
309
+ * 存储池 - 获取信息
310
+ *
311
+ * @param dict $body 参数详见 API 手册
312
+ * @return list
313
+ '''
314
+ def listPoolInfo(self, body):
315
+
316
+ url = '{0}/storage/pool/info'.format(config.get_default('default_api_host'))
317
+
318
+ res = https._get(url, body, self.auth)
319
+ return res
320
+
321
+ '''
322
+ * 通过节点rpc来获取池列表
323
+ *
324
+ * @param dict $body 参数详见 API 手册
325
+ * @return list
326
+ '''
327
+ def listPoolFromNode(self, body):
328
+
329
+ url = '{0}/storage/pool_from_node'.format(config.get_default('default_api_host'))
330
+
331
+ res = https._get(url, body, self.auth)
332
+ return res
333
+
334
+ '''
335
+ * 文件系统 - 创建
336
+ *
337
+ * @param dict $body 参数详见 API 手册
338
+ * @return list
339
+ '''
340
+ def createFs(self, body):
341
+
342
+ url = '{0}/storage/file_system'.format(config.get_default('default_api_host'))
343
+
344
+ res = https._post(url, body, self.auth)
345
+ return res
346
+
347
+ '''
348
+ * 文件系统 - 删除
349
+ *
350
+ * @param dict $body 参数详见 API 手册
351
+ * @return list
352
+ '''
353
+ def deleteFs(self, body):
354
+
355
+ url = '{0}/storage/file_system'.format(config.get_default('default_api_host'))
356
+
357
+ res = https._delete(url, body, self.auth)
358
+ return res
359
+
360
+ '''
361
+ * 文件系统 - 获取
362
+ *
363
+ * @param dict $body 参数详见 API 手册
364
+ * @return list
365
+ '''
366
+ def listFs(self, body):
367
+
368
+ url = '{0}/storage/file_system'.format(config.get_default('default_api_host'))
369
+
370
+ res = https._get(url, body, self.auth)
371
+ return res
372
+
373
+ '''
374
+ * 文件系统 / 快照 - 创建
375
+ *
376
+ * @param dict $body 参数详见 API 手册
377
+ * @return list
378
+ '''
379
+ def createFsSnapshot(self, body):
380
+
381
+ url = '{0}/storage/file_system/snap'.format(config.get_default('default_api_host'))
382
+
383
+ res = https._post(url, body, self.auth)
384
+ return res
385
+
386
+ '''
387
+ * 文件系统 / 快照 - 删除
388
+ *
389
+ * @param dict $body 参数详见 API 手册
390
+ * @return list
391
+ '''
392
+ def deleteFsSnapshot(self, body):
393
+
394
+ url = '{0}/storage/file_system/snap'.format(config.get_default('default_api_host'))
395
+
396
+ res = https._delete(url, body, self.auth)
397
+ return res
398
+
399
+ '''
400
+ * 文件系统 / 快照 - 获取
401
+ *
402
+ * @param dict $body 参数详见 API 手册
403
+ * @return list
404
+ '''
405
+ def listFsSnapshot(self, body):
406
+
407
+ url = '{0}/storage/file_system/snap'.format(config.get_default('default_api_host'))
408
+
409
+ res = https._get(url, body, self.auth)
410
+ return res
411
+
412
+ '''
413
+ * 文件系统 / 快照 / 克隆 - 创建
414
+ *
415
+ * @param dict $body 参数详见 API 手册
416
+ * @return list
417
+ '''
418
+ def createFsCloneSnapshot(self, body):
419
+
420
+ url = '{0}/storage/file_system/snap/clone'.format(config.get_default('default_api_host'))
421
+
422
+ res = https._post(url, body, self.auth)
423
+ return res
424
+
425
+ '''
426
+ * 文件系统 / 快照 / 克隆 - 删除
427
+ *
428
+ * @param dict $body 参数详见 API 手册
429
+ * @return list
430
+ '''
431
+ def deleteFsCloneSnapshot(self, body):
432
+
433
+ url = '{0}/storage/file_system/snap/clone'.format(config.get_default('default_api_host'))
434
+
435
+ res = https._delete(url, body, self.auth)
436
+ return res
437
+
438
+ '''
439
+ * 文件系统 / 快照 / 克隆 - 列表
440
+ *
441
+ * @param dict $body 参数详见 API 手册
442
+ * @return list
443
+ '''
444
+ def listFsCloneSnapshot(self, body):
445
+
446
+ url = '{0}/storage/file_system/snap/clone'.format(config.get_default('default_api_host'))
447
+
448
+ res = https._get(url, body, self.auth)
449
+ return res
450
+
451
+ '''
452
+ * 卷 - 创建
453
+ *
454
+ * @param dict $body 参数详见 API 手册
455
+ * @return list
456
+ '''
457
+ def createVolume(self, body):
458
+
459
+ url = '{0}/storage/volume'.format(config.get_default('default_api_host'))
460
+
461
+ res = https._post(url, body, self.auth)
462
+ return res
463
+
464
+ '''
465
+ * 卷 - 删除
466
+ *
467
+ * @param dict $body 参数详见 API 手册
468
+ * @return list
469
+ '''
470
+ def deleteVolume(self, body):
471
+
472
+ url = '{0}/storage/volume'.format(config.get_default('default_api_host'))
473
+
474
+ res = https._delete(url, body, self.auth)
475
+ return res
476
+
477
+ '''
478
+ * 卷 - 获取
479
+ *
480
+ * @param dict $body 参数详见 API 手册
481
+ * @return list
482
+ '''
483
+ def listVolume(self, body):
484
+
485
+ url = '{0}/storage/volume'.format(config.get_default('default_api_host'))
486
+
487
+ res = https._get(url, body, self.auth)
488
+ return res
489
+
490
+ '''
491
+ * 卷 / 快照 - 创建
492
+ *
493
+ * @param dict $body 参数详见 API 手册
494
+ * @return list
495
+ '''
496
+ def createVolumeSnapshot(self, body):
497
+
498
+ url = '{0}/storage/volume/snap'.format(config.get_default('default_api_host'))
499
+
500
+ res = https._post(url, body, self.auth)
501
+ return res
502
+
503
+ '''
504
+ * 卷 / 快照 - 删除
505
+ *
506
+ * @param dict $body 参数详见 API 手册
507
+ * @return list
508
+ '''
509
+ def deleteVolumeSnapshot(self, body):
510
+
511
+ url = '{0}/storage/volume/snap'.format(config.get_default('default_api_host'))
512
+
513
+ res = https._delete(url, body, self.auth)
514
+ return res
515
+
516
+ '''
517
+ * 卷 / 快照 - 获取
518
+ *
519
+ * @param dict $body 参数详见 API 手册
520
+ * @return list
521
+ '''
522
+ def listVolumeSnapshot(self, body):
523
+
524
+ url = '{0}/storage/volume/snap'.format(config.get_default('default_api_host'))
525
+
526
+ res = https._get(url, body, self.auth)
527
+ return res
528
+
529
+ '''
530
+ * 卷 / 快照 / 克隆 - 创建
531
+ *
532
+ * @param dict $body 参数详见 API 手册
533
+ * @return list
534
+ '''
535
+ def createVolumeCloneSnapshot(self, body):
536
+
537
+ url = '{0}/storage/volume/snap/clone'.format(config.get_default('default_api_host'))
538
+
539
+ res = https._post(url, body, self.auth)
540
+ return res
541
+
542
+ '''
543
+ * 卷 / 快照 / 克隆 - 删除
544
+ *
545
+ * @param dict $body 参数详见 API 手册
546
+ * @return list
547
+ '''
548
+ def deleteVolumeCloneSnapshot(self, body):
549
+
550
+ url = '{0}/storage/volume/snap/clone'.format(config.get_default('default_api_host'))
551
+
552
+ res = https._delete(url, body, self.auth)
553
+ return res
554
+
555
+ '''
556
+ * 卷 / 快照 / 克隆 - 列表
557
+ *
558
+ * @param dict $body 参数详见 API 手册
559
+ * @return list
560
+ '''
561
+ def listVolumeCloneSnapshot(self, body):
562
+
563
+ url = '{0}/storage/volume/snap/clone'.format(config.get_default('default_api_host'))
564
+
565
+ res = https._get(url, body, self.auth)
566
+ return res
567
+
568
+ '''
569
+ * VMDK - 创建
570
+ *
571
+ * @return list
572
+ '''
573
+ def createVMDK(self, body):
574
+
575
+ url = '{0}/storage/vmdk'.format(config.get_default('default_api_host'))
576
+
577
+ res = https._post(url, body, self.auth)
578
+ return res
579
+
580
+ '''
581
+ * VMDK - 删除
582
+ *
583
+ * @return list
584
+ '''
585
+ def deleteVMDK(self, body):
586
+
587
+ url = '{0}/storage/vmdk'.format(config.get_default('default_api_host'))
588
+
589
+ res = https._delete(url, body, self.auth)
590
+ return res
591
+
592
+ '''
593
+ * 后备存储(BackStore) - 创建
594
+ *
595
+ * @param dict $body 参数详见 API 手册
596
+ * @return list
597
+ '''
598
+ def createBackStore(self, body):
599
+
600
+ url = '{0}/storage/backstore'.format(config.get_default('default_api_host'))
601
+
602
+ res = https._post(url, body, self.auth)
603
+ return res
604
+
605
+ '''
606
+ * 后备存储(BackStore) - 删除
607
+ *
608
+ * @param dict $body 参数详见 API 手册
609
+ * @return list
610
+ '''
611
+ def deleteBackStore(self, body):
612
+
613
+ url = '{0}/storage/backstore'.format(config.get_default('default_api_host'))
614
+
615
+ res = https._delete(url, body, self.auth)
616
+ return res
617
+
618
+ '''
619
+ * 后备存储(BackStore) - 获取信息
620
+ *
621
+ * @param dict $body 参数详见 API 手册
622
+ * @return list
623
+ '''
624
+ def listBackStore(self, body):
625
+
626
+ url = '{0}/storage/backstore/info'.format(config.get_default('default_api_host'))
627
+
628
+ res = https._get(url, body, self.auth)
629
+ return res
630
+
631
+ '''
632
+ * 后备存储(BackStore) - 分配给ISCSI发起者
633
+ *
634
+ * @param dict $body 参数详见 API 手册
635
+ * @return list
636
+ '''
637
+ def createAssignBackStore(self, body):
638
+
639
+ url = '{0}/storage/backstore/assign'.format(config.get_default('default_api_host'))
640
+
641
+ res = https._post(url, body, self.auth)
642
+ return res
643
+
644
+ '''
645
+ * 后备存储(BackStore) - 查看被分配给哪些ISCSI发起者
646
+ *
647
+ * @param dict $body 参数详见 API 手册
648
+ * @return list
649
+ '''
650
+ def listAssignBackStore(self, body):
651
+
652
+ url = '{0}/storage/backstore/assign'.format(config.get_default('default_api_host'))
653
+
654
+ res = https._get(url, body, self.auth)
655
+ return res
656
+
657
+ '''
658
+ * 后备存储(BackStore) - 获取可创建 块 的 盘 的 路径
659
+ *
660
+ * @param dict $body 参数详见 API 手册
661
+ * @return list
662
+ '''
663
+ def listBackStoreAvailablePath(self, body):
664
+
665
+ url = '{0}/storage/backstore/available_path'.format(config.get_default('default_api_host'))
666
+
667
+ res = https._get(url, body, self.auth)
668
+ return res
669
+
670
+ '''
671
+ * ISCSI - 获取版本信息
672
+ *
673
+ * @param dict $body 参数详见 API 手册
674
+ * @return list
675
+ '''
676
+ def describeIscsiVersion(self, body):
677
+
678
+ url = '{0}/storage/iscsi/version'.format(config.get_default('default_api_host'))
679
+
680
+ res = https._get(url, body, self.auth)
681
+ return res
682
+
683
+ '''
684
+ * ISCSI - 获取发现权限
685
+ *
686
+ * @param dict $body 参数详见 API 手册
687
+ * @return list
688
+ '''
689
+ def describeIscsiAuth(self, body):
690
+
691
+ url = '{0}/storage/iscsi/auth'.format(config.get_default('default_api_host'))
692
+
693
+ res = https._get(url, body, self.auth)
694
+ return res
695
+
696
+ '''
697
+ * ISCSI - 设置发现权限
698
+ *
699
+ * @param dict $body 参数详见 API 手册
700
+ * @return list
701
+ '''
702
+ def createIscsiDiscoverAuth(self, body):
703
+
704
+ url = '{0}/storage/iscsi/auth'.format(config.get_default('default_api_host'))
705
+
706
+ res = https._post(url, body, self.auth)
707
+ return res
708
+
709
+ '''
710
+ * ISCSI - 取消发现权限
711
+ *
712
+ * @param dict $body 参数详见 API 手册
713
+ * @return list
714
+ '''
715
+ def deleteIscsiDiscoverAuth(self, body):
716
+
717
+ url = '{0}/storage/iscsi/auth'.format(config.get_default('default_api_host'))
718
+
719
+ res = https._delete(url, body, self.auth)
720
+ return res
721
+
722
+ '''
723
+ * ISCSI - 全局参数设置:自动添加 ISCSI目标端 门户
724
+ *
725
+ * @param dict $body 参数详见 API 手册
726
+ * @return list
727
+ '''
728
+ def createAutoAddPortal(self, body):
729
+
730
+ url = '{0}/storage/iscsi/auto_add_portal'.format(config.get_default('default_api_host'))
731
+
732
+ res = https._post(url, body, self.auth)
733
+ return res
734
+
735
+ '''
736
+ * ISCSI - 全局参数设置:自动添加 单元逻辑号映射
737
+ *
738
+ * @param dict $body 参数详见 API 手册
739
+ * @return list
740
+ '''
741
+ def createAutoAddLun(self, body):
742
+
743
+ url = '{0}/storage/iscsi/auto_add_luns'.format(config.get_default('default_api_host'))
744
+
745
+ res = https._post(url, body, self.auth)
746
+ return res
747
+
748
+ '''
749
+ * ISCSI - 获取全局参数:自动添加ISCSI目标端 门户
750
+ *
751
+ * @param dict $body 参数详见 API 手册
752
+ * @return list
753
+ '''
754
+ def describeAutoAddPortal(self, body):
755
+
756
+ url = '{0}/storage/iscsi/auto_add_portal'.format(config.get_default('default_api_host'))
757
+
758
+ res = https._get(url, body, self.auth)
759
+ return res
760
+
761
+ '''
762
+ * ISCSI - 获取全局参数:自动添加单元逻辑映射
763
+ *
764
+ * @param dict $body 参数详见 API 手册
765
+ * @return list
766
+ '''
767
+ def describeAutoAddLun(self, body):
768
+
769
+ url = '{0}/storage/iscsi/auto_add_luns'.format(config.get_default('default_api_host'))
770
+
771
+ res = https._get(url, body, self.auth)
772
+ return res
773
+
774
+ '''
775
+ * ISCSI目标端 - 获取状态
776
+ *
777
+ * @param dict $body 参数详见 API 手册
778
+ * @return list
779
+ '''
780
+ def describeIscsiTargetStatus(self, body):
781
+
782
+ url = '{0}/storage/target/status'.format(config.get_default('default_api_host'))
783
+
784
+ res = https._get(url, body, self.auth)
785
+ return res
786
+
787
+ '''
788
+ * ISCSI目标端 - 获取信息
789
+ *
790
+ * @param dict $body 参数详见 API 手册
791
+ * @return list
792
+ '''
793
+ def listIscsiTarget(self, body):
794
+
795
+ url = '{0}/storage/target/info'.format(config.get_default('default_api_host'))
796
+
797
+ res = https._get(url, body, self.auth)
798
+ return res
799
+
800
+ '''
801
+ * ISCSI目标端 - 添加
802
+ *
803
+ * @param dict $body 参数详见 API 手册
804
+ * @return list
805
+ '''
806
+ def createIscsiTarget(self, body):
807
+
808
+ url = '{0}/storage/target'.format(config.get_default('default_api_host'))
809
+
810
+ res = https._post(url, body, self.auth)
811
+ return res
812
+
813
+ '''
814
+ * ISCSI目标端 - 删除
815
+ *
816
+ * @param dict $body 参数详见 API 手册
817
+ * @return list
818
+ '''
819
+ def deleteIscsiTarget(self, body):
820
+
821
+ url = '{0}/storage/target'.format(config.get_default('default_api_host'))
822
+
823
+ res = https._delete(url, body, self.auth)
824
+ return res
825
+
826
+ '''
827
+ * ISCSI发起者 - 添加
828
+ *
829
+ * @param dict $body 参数详见 API 手册
830
+ * @return list
831
+ '''
832
+ def createIscsiInitiator(self, body):
833
+
834
+ url = '{0}/storage/initiator'.format(config.get_default('default_api_host'))
835
+
836
+ res = https._post(url, body, self.auth)
837
+ return res
838
+
839
+ '''
840
+ * ISCSI发起者 - 删除
841
+ *
842
+ * @param dict $body 参数详见 API 手册
843
+ * @return list
844
+ '''
845
+ def deleteIscsiInitiator(self, body):
846
+
847
+ url = '{0}/storage/initiator'.format(config.get_default('default_api_host'))
848
+
849
+ res = https._delete(url, body, self.auth)
850
+ return res
851
+
852
+ '''
853
+ * ISCSI发起者 - 设置连接权限
854
+ *
855
+ * @param dict $body 参数详见 API 手册
856
+ * @return list
857
+ '''
858
+ def createIscsiInitiatorConnectAuth(self, body):
859
+
860
+ url = '{0}/storage/initiator/auth'.format(config.get_default('default_api_host'))
861
+
862
+ res = https._post(url, body, self.auth)
863
+ return res
864
+
865
+ '''
866
+ * ISCSI发起者 - 添加 逻辑单元号(LUN)
867
+ *
868
+ * @param dict $body 参数详见 API 手册
869
+ * @return list
870
+ '''
871
+ def createIscsiInitiatorLun(self, body):
872
+
873
+ url = '{0}/storage/initiator/lun'.format(config.get_default('default_api_host'))
874
+
875
+ res = https._post(url, body, self.auth)
876
+ return res
877
+
878
+ '''
879
+ * ISCSI发起者 - 删除 逻辑单元号(LUN)
880
+ *
881
+ * @param dict $body 参数详见 API 手册
882
+ * @return list
883
+ '''
884
+ def deleteIscsiInitiatorLun(self, body):
885
+
886
+ url = '{0}/storage/initiator/lun'.format(config.get_default('default_api_host'))
887
+
888
+ res = https._delete(url, body, self.auth)
889
+ return res
890
+
891
+ '''
892
+ * ISCSI发起者 - 发现目标端
893
+ *
894
+ * @param dict $body 参数详见 API 手册
895
+ * @return list
896
+ '''
897
+ def createIscsiInitiatorDiscoverTarget(self, body):
898
+
899
+ url = '{0}/storage/initiator/discover'.format(config.get_default('default_api_host'))
900
+
901
+ res = https._post(url, body, self.auth)
902
+ return res
903
+
904
+ '''
905
+ * ISCSI发起者 - 连接目标端
906
+ *
907
+ * @param dict $body 参数详见 API 手册
908
+ * @return list
909
+ '''
910
+ def createIscsiInitiatorConnectTarget(self, body):
911
+
912
+ url = '{0}/storage/initiator/connect'.format(config.get_default('default_api_host'))
913
+
914
+ res = https._post(url, body, self.auth)
915
+ return res
916
+
917
+ '''
918
+ * ISCSI发起者 - 断开目标段连接
919
+ *
920
+ * @param dict $body 参数详见 API 手册
921
+ * @return list
922
+ '''
923
+ def deleteIscsiInitiatorConnectTarget(self, body):
924
+
925
+ url = '{0}/storage/initiator/connect'.format(config.get_default('default_api_host'))
926
+
927
+ res = https._delete(url, body, self.auth)
928
+ return res
929
+
930
+ '''
931
+ * ISCSI发起者 - 获取发现门户列表
932
+ *
933
+ * @param dict $body 参数详见 API 手册
934
+ * @return list
935
+ '''
936
+ def listIscsiInitiatorPortal(self, body):
937
+
938
+ url = '{0}/storage/initiator/portal'.format(config.get_default('default_api_host'))
939
+
940
+ res = https._get(url, body, self.auth)
941
+ return res
942
+
943
+ '''
944
+ * ISCSI发起者 - 删除发现门户
945
+ *
946
+ * @param dict $body 参数详见 API 手册
947
+ * @return list
948
+ '''
949
+ def deleteIscsiInitiatorPortal(self, body):
950
+
951
+ url = '{0}/storage/initiator/portal'.format(config.get_default('default_api_host'))
952
+
953
+ res = https._delete(url, body, self.auth)
954
+ return res
955
+
956
+ '''
957
+ * ISCSI发起者 - 刷新会话
958
+ *
959
+ * @param dict $body 参数详见 API 手册
960
+ * @return list
961
+ '''
962
+ def iscsiInitiatorRefreshSession(self, body):
963
+
964
+ url = '{0}/storage/initiator/refresh_session'.format(config.get_default('default_api_host'))
965
+
966
+ res = https._post(url, body, self.auth)
967
+ return res
968
+
969
+ '''
970
+ * 目标门户组(TPG) - 获取信息
971
+ *
972
+ * @param dict $body 参数详见 API 手册
973
+ * @return list
974
+ '''
975
+ def listTpg(self, body):
976
+
977
+ url = '{0}/storage/tpg/info'.format(config.get_default('default_api_host'))
978
+
979
+ res = https._get(url, body, self.auth)
980
+ return res
981
+
982
+ '''
983
+ * 目标门户组(TPG) - 添加
984
+ *
985
+ * @param dict $body 参数详见 API 手册
986
+ * @return list
987
+ '''
988
+ def createTpg(self, body):
989
+
990
+ url = '{0}/storage/tpg'.format(config.get_default('default_api_host'))
991
+
992
+ res = https._post(url, body, self.auth)
993
+ return res
994
+
995
+ '''
996
+ * 目标门户组(TPG) - 删除
997
+ *
998
+ * @param dict $body 参数详见 API 手册
999
+ * @return list
1000
+ '''
1001
+ def deleteTpg(self, body):
1002
+
1003
+ url = '{0}/storage/tpg'.format(config.get_default('default_api_host'))
1004
+
1005
+ res = https._delete(url, body, self.auth)
1006
+ return res
1007
+
1008
+ '''
1009
+ * 目标门户组(TPG) - 设置连接权限
1010
+ *
1011
+ * @param dict $body 参数详见 API 手册
1012
+ * @return list
1013
+ '''
1014
+ def createTpgConnectAuth(self, body):
1015
+
1016
+ url = '{0}/storage/tpg/auth'.format(config.get_default('default_api_host'))
1017
+
1018
+ res = https._post(url, body, self.auth)
1019
+ return res
1020
+
1021
+ '''
1022
+ * 目标门户组(TPG) - 取消连接权限
1023
+ *
1024
+ * @param dict $body 参数详见 API 手册
1025
+ * @return list
1026
+ '''
1027
+ def deleteTpgConnectAuth(self, body):
1028
+
1029
+ url = '{0}/storage/tpg/auth'.format(config.get_default('default_api_host'))
1030
+
1031
+ res = https._delete(url, body, self.auth)
1032
+ return res
1033
+
1034
+ '''
1035
+ * 目标门户组(TPG) - 添加 逻辑单元(LUN)
1036
+ *
1037
+ * @param dict $body 参数详见 API 手册
1038
+ * @return list
1039
+ '''
1040
+ def createTpgLun(self, body):
1041
+
1042
+ url = '{0}/storage/tpg/lun'.format(config.get_default('default_api_host'))
1043
+
1044
+ res = https._post(url, body, self.auth)
1045
+ return res
1046
+
1047
+ '''
1048
+ * 目标门户组(TPG)- 是否开启连接权限
1049
+ *
1050
+ * @param dict $body 参数详见 API 手册
1051
+ * @return list
1052
+ '''
1053
+ def describeTpgConnectAuth(self, body):
1054
+
1055
+ url = '{0}/storage/tpg/auth'.format(config.get_default('default_api_host'))
1056
+
1057
+ res = https._get(url, body, self.auth)
1058
+ return res
1059
+
1060
+ '''
1061
+ * 目标门户组(TPG) - 删除 逻辑单元号(LUN)
1062
+ *
1063
+ * @param dict $body 参数详见 API 手册
1064
+ * @return list
1065
+ '''
1066
+ def deleteTpgLun(self, body):
1067
+
1068
+ url = '{0}/storage/tpg/lun'.format(config.get_default('default_api_host'))
1069
+
1070
+ res = https._delete(url, body, self.auth)
1071
+ return res
1072
+
1073
+ '''
1074
+ * 目标门户组(TPG) - 添加 门户(Portal)
1075
+ *
1076
+ * @param dict $body 参数详见 API 手册
1077
+ * @return list
1078
+ '''
1079
+ def createTpgPortal(self, body):
1080
+
1081
+ url = '{0}/storage/tpg/portal'.format(config.get_default('default_api_host'))
1082
+
1083
+ res = https._post(url, body, self.auth)
1084
+ return res
1085
+
1086
+ '''
1087
+ * 目标门户组(TPG) - 删除 门户(Portal)
1088
+ *
1089
+ * @param dict $body 参数详见 API 手册
1090
+ * @return list
1091
+ '''
1092
+ def deleteTpgPortal(self, body):
1093
+
1094
+ url = '{0}/storage/tpg/portal'.format(config.get_default('default_api_host'))
1095
+
1096
+ res = https._delete(url, body, self.auth)
1097
+ return res
1098
+
1099
+ '''
1100
+ * Server是否注册
1101
+ *
1102
+ * @param dict $body 参数详见 API 手册
1103
+ * @return list
1104
+ '''
1105
+ def registerServer(self, body):
1106
+
1107
+ url = '{0}/storage/server_register'.format(config.get_default('default_api_host'))
1108
+
1109
+ res = https._get(url, body, self.auth)
1110
+ return res
1111
+
1112
+ '''
1113
+ * 磁带库 - 列表
1114
+ *
1115
+ * @param dict $body 参数详见 API 手册
1116
+ * @return list
1117
+ '''
1118
+ def listTape(self, body):
1119
+
1120
+ url = '{0}/tape'.format(config.get_default('default_api_host'))
1121
+
1122
+ res = https._get(url, body, self.auth)
1123
+ return res
1124
+
1125
+ '''
1126
+ * 磁带库 - 扫描
1127
+ *
1128
+ * @param dict $body 参数详见 API 手册
1129
+ * @return list
1130
+ '''
1131
+ def scanTapes(self, body):
1132
+
1133
+ url = '{0}/tape/scan_tapes'.format(config.get_default('default_api_host'))
1134
+
1135
+ res = https._get(url, body, self.auth)
1136
+ return res
1137
+
1138
+ '''
1139
+ * 磁带库 - 新建
1140
+ *
1141
+ * @param dict $body 参数详见 API 手册
1142
+ * @return list
1143
+ '''
1144
+ def createTape(self, body):
1145
+
1146
+ url = '{0}/tape'.format(config.get_default('default_api_host'))
1147
+
1148
+ res = https._post(url, body, self.auth)
1149
+ return res
1150
+
1151
+ '''
1152
+ * 磁带库 - 获取单个
1153
+ *
1154
+ * @body['uuid'] String 必填 节点uuid
1155
+ * @return list
1156
+ '''
1157
+ def describeTape(self, body, uuid):
1158
+ if uuid is None:
1159
+ exit()
1160
+ url = '{0}/tape/{1}'.format(config.get_default('default_api_host'), uuid)
1161
+
1162
+ res = https._get(url, None, self.auth)
1163
+ return res
1164
+
1165
+ '''
1166
+ * 磁带库 - 更新
1167
+ *
1168
+ * @body['uuid'] String 必填 节点uuid
1169
+ * @param dict $body 参数详见 API 手册
1170
+ * @return list
1171
+ '''
1172
+ def modifyTape(self, body, uuid):
1173
+ if uuid is None:
1174
+ exit()
1175
+ url = '{0}/tape/{1}'.format(config.get_default('default_api_host'), uuid)
1176
+
1177
+ res = https._put(url, body, self.auth)
1178
+ return res
1179
+
1180
+ '''
1181
+ * 磁带库 - 删除
1182
+ *
1183
+ * @param dict $body 参数详见 API 手册
1184
+ * @return list
1185
+ '''
1186
+ def deleteTape(self, body):
1187
+
1188
+ url = '{0}/tape'.format(config.get_default('default_api_host'))
1189
+
1190
+ res = https._delete(url, body, self.auth)
1191
+ return res
1192
+
1193
+ '''
1194
+ * 磁带库 - 获取slot列表(废弃)
1195
+ *
1196
+ * @param dict $body 参数详见 API 手册
1197
+ * @return list
1198
+ '''
1199
+ def listSlot(self, body):
1200
+
1201
+ url = '{0}/tape/slot_list'.format(config.get_default('default_api_host'))
1202
+
1203
+ res = https._get(url, body, self.auth)
1204
+ return res
1205
+
1206
+ '''
1207
+ * 磁带库 - slot:获取备份数据
1208
+ *
1209
+ * @param dict $body 参数详见 API 手册
1210
+ * @return list
1211
+ '''
1212
+ def listBkData(self, body):
1213
+
1214
+ url = '{0}/tape/bkdata_list'.format(config.get_default('default_api_host'))
1215
+
1216
+ res = https._get(url, body, self.auth)
1217
+ return res
1218
+
1219
+ '''
1220
+ * 磁带库 - 查看备份数据下的详细文件
1221
+ *
1222
+ * @param dict $body 参数详见 API 手册
1223
+ * @return list
1224
+ '''
1225
+ def listBkFile(self, body):
1226
+
1227
+ url = '{0}/tape/bkfile_list'.format(config.get_default('default_api_host'))
1228
+
1229
+ res = https._get(url, body, self.auth)
1230
+ return res
1231
+
1232
+ '''
1233
+ * 磁带库 - 获取有磁带的驱动索引
1234
+ *
1235
+ * @param dict $body 参数详见 API 手册
1236
+ * @return list
1237
+ '''
1238
+ def listBusyDrive(self, body):
1239
+
1240
+ url = '{0}/tape/busy_drive_list'.format(config.get_default('default_api_host'))
1241
+
1242
+ res = https._get(url, body, self.auth)
1243
+ return res
1244
+
1245
+ '''
1246
+ * 磁带库 - 获取没有磁带的空闲槽
1247
+ *
1248
+ * @param dict $body 参数详见 API 手册
1249
+ * @return list
1250
+ '''
1251
+ def listFreeSlot(self, body):
1252
+
1253
+ url = '{0}/tape/free_slot_list'.format(config.get_default('default_api_host'))
1254
+
1255
+ res = https._get(url, body, self.auth)
1256
+ return res
1257
+
1258
+ '''
1259
+ * 磁带库 - 获取有磁带的IE槽
1260
+ *
1261
+ * @param dict $body 参数详见 API 手册
1262
+ * @return list
1263
+ '''
1264
+ def listBusyIEslot(self, body):
1265
+
1266
+ url = '{0}/tape/busy_ieslot_list'.format(config.get_default('default_api_host'))
1267
+
1268
+ res = https._get(url, body, self.auth)
1269
+ return res
1270
+
1271
+ '''
1272
+ * 磁带库 - 获取空闲的IE Slot
1273
+ *
1274
+ * @param dict $body 参数详见 API 手册
1275
+ * @return list
1276
+ '''
1277
+ def listFreeIEslot(self, body):
1278
+
1279
+ url = '{0}/tape/free_ieslot_list'.format(config.get_default('default_api_host'))
1280
+
1281
+ res = https._get(url, body, self.auth)
1282
+ return res
1283
+
1284
+ '''
1285
+ * 磁带库 - 获取有磁带的Slot
1286
+ *
1287
+ * @param dict $body 参数详见 API 手册
1288
+ * @return list
1289
+ '''
1290
+ def listBusySlot(self, body):
1291
+
1292
+ url = '{0}/tape/busy_slot_list'.format(config.get_default('default_api_host'))
1293
+
1294
+ res = https._get(url, body, self.auth)
1295
+ return res
1296
+
1297
+ '''
1298
+ * 磁带库 - 查看磁带详情
1299
+ *
1300
+ * @param dict $body 参数详见 API 手册
1301
+ * @return list
1302
+ '''
1303
+ def discribeTapeDetail(self, body):
1304
+
1305
+ url = '{0}/tape/details'.format(config.get_default('default_api_host'))
1306
+
1307
+ res = https._get(url, body, self.auth)
1308
+ return res
1309
+
1310
+ '''
1311
+ * 磁带池 - 获取列表
1312
+ *
1313
+ * @param dict $body 参数详见 API 手册
1314
+ * @return list
1315
+ '''
1316
+ def listTapePools(self, body):
1317
+
1318
+ url = '{0}/tape_pool'.format(config.get_default('default_api_host'))
1319
+
1320
+ res = https._get(url, body, self.auth)
1321
+ return res
1322
+
1323
+ '''
1324
+ * 磁带池 - 获取磁带列表
1325
+ *
1326
+ * @param dict $body 参数详见 API 手册
1327
+ * @return list
1328
+ '''
1329
+ def listTapePoolSlots(self, body):
1330
+
1331
+ url = '{0}/tape_pool/list_slots'.format(config.get_default('default_api_host'))
1332
+
1333
+ res = https._get(url, body, self.auth)
1334
+ return res
1335
+
1336
+ '''
1337
+ * 磁带池 - 新建
1338
+ *
1339
+ * @param dict $body 参数详见 API 手册
1340
+ * @return list
1341
+ '''
1342
+ def createTapePool(self, body):
1343
+
1344
+ url = '{0}/tape_pool'.format(config.get_default('default_api_host'))
1345
+
1346
+ res = https._post(url, body, self.auth)
1347
+ return res
1348
+
1349
+ '''
1350
+ * 磁带池 - 操作 - slot操作 删除 erase
1351
+ *
1352
+ * @param dict $body 参数详见 API 手册
1353
+ * @return list
1354
+ '''
1355
+ def eraseTape(self, body):
1356
+
1357
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1358
+
1359
+ res = https._post(url, body, self.auth)
1360
+ return res
1361
+
1362
+ '''
1363
+ * 磁带池 - 操作 - slot操作 格式化 format
1364
+ *
1365
+ * @param dict $body 参数详见 API 手册
1366
+ * @return list
1367
+ '''
1368
+ def formatTape(self, body):
1369
+
1370
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1371
+
1372
+ res = https._post(url, body, self.auth)
1373
+ return res
1374
+
1375
+ '''
1376
+ * 磁带池 - 操作 - slot操作 浏览 browse
1377
+ *
1378
+ * @param dict $body 参数详见 API 手册
1379
+ * @return list
1380
+ '''
1381
+ def browseTape(self, body):
1382
+
1383
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1384
+
1385
+ res = https._post(url, body, self.auth)
1386
+ return res
1387
+
1388
+ '''
1389
+ * 磁带池 - 操作 - slot操作 重构catalog rebuild_catalog
1390
+ *
1391
+ * @param dict $body 参数详见 API 手册
1392
+ * @return list
1393
+ '''
1394
+ def rebuildCatalogTape(self, body):
1395
+
1396
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1397
+
1398
+ res = https._post(url, body, self.auth)
1399
+ return res
1400
+
1401
+ '''
1402
+ * 磁带池 - 操作 - slot操作 卸载 unload
1403
+ *
1404
+ * @param dict $body 参数详见 API 手册
1405
+ * @return list
1406
+ '''
1407
+ def unloadTape(self, body):
1408
+
1409
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1410
+
1411
+ res = https._post(url, body, self.auth)
1412
+ return res
1413
+
1414
+ '''
1415
+ * 磁带池 - 操作 - slot操作 导入 import
1416
+ *
1417
+ * @param dict $body 参数详见 API 手册
1418
+ * @return list
1419
+ '''
1420
+ def importTape(self, body):
1421
+
1422
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1423
+
1424
+ res = https._post(url, body, self.auth)
1425
+ return res
1426
+
1427
+ '''
1428
+ * 磁带池 - 操作 - slot操作 导出 export
1429
+ *
1430
+ * @param dict $body 参数详见 API 手册
1431
+ * @return list
1432
+ '''
1433
+ def exportTape(self, body):
1434
+
1435
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1436
+
1437
+ res = https._post(url, body, self.auth)
1438
+ return res
1439
+
1440
+ '''
1441
+ * 磁带池 - 获取磁带名
1442
+ *
1443
+ * @param dict $body 参数详见 API 手册
1444
+ * @return list
1445
+ '''
1446
+ def listTapeNames(self, body):
1447
+
1448
+ url = '{0}/tape_pool/tape_names'.format(config.get_default('default_api_host'))
1449
+
1450
+ res = https._get(url, body, self.auth)
1451
+ return res
1452
+