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,1531 @@
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 uploadDeviceInfo(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
+
194
+ def modifyStorageQuota(self, body, uuid1, uuid2):
195
+ if uuid1 is None or uuid2 is None:
196
+ exit()
197
+ url = '{0}/storage/{1}/quota/{2}'.format(config.get_default('default_api_host'), uuid1, uuid2)
198
+
199
+ res = https._put(url, body, self.auth)
200
+ return res
201
+
202
+ '''
203
+ * 配额 - 获取列表
204
+ *
205
+ * @body['uuid'] String 必填 节点uuid
206
+ * @return list
207
+ '''
208
+ def listStorageQuota(self, body, uuid):
209
+ if uuid is None:
210
+ exit()
211
+ url = '{0}/storage/{1}/quota'.format(config.get_default('default_api_host'), uuid)
212
+
213
+ res = https._get(url, None, self.auth)
214
+ return res
215
+
216
+ '''
217
+ * 配额 - 删除
218
+ *
219
+ * @body['uuid'] String 必填 节点uuid
220
+ * @param dict $body 参数详见 API 手册
221
+ * @return list
222
+ '''
223
+ def deleteStorageQuota(self, body, uuid):
224
+ if uuid is None:
225
+ exit()
226
+ url = '{0}/storage/{1}/quota'.format(config.get_default('default_api_host'), uuid)
227
+
228
+ res = https._delete(url, body, self.auth)
229
+ return res
230
+
231
+ '''
232
+ * 设备 - 获取列表
233
+ *
234
+ * @param dict $body 参数详见 API 手册
235
+ * @return list
236
+ '''
237
+ def listDevice(self, body):
238
+
239
+ url = '{0}/storage/dev'.format(config.get_default('default_api_host'))
240
+
241
+ res = https._get(url, body, self.auth)
242
+ return res
243
+
244
+ '''
245
+ * 设备 - 获取可用列表
246
+ *
247
+ * @param dict $body 参数详见 API 手册
248
+ * @return list
249
+ '''
250
+ def listAvailableDevice(self, body):
251
+
252
+ url = '{0}/storage/available_dev'.format(config.get_default('default_api_host'))
253
+
254
+ res = https._get(url, body, self.auth)
255
+ return res
256
+
257
+ '''
258
+ * 存储池 - 创建
259
+ *
260
+ * @param dict $body 参数详见 API 手册
261
+ * @return list
262
+ '''
263
+ def createPool(self, body):
264
+
265
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
266
+
267
+ res = https._post(url, body, self.auth)
268
+ return res
269
+
270
+ '''
271
+ * 存储池 - 扩展
272
+ *
273
+ * @param dict $body 参数详见 API 手册
274
+ * @return list
275
+ '''
276
+ def expandPool(self, body):
277
+
278
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
279
+
280
+ res = https._put(url, body, self.auth)
281
+ return res
282
+
283
+ '''
284
+ * 存储池 - 删除
285
+ *
286
+ * @param dict $body 参数详见 API 手册
287
+ * @return list
288
+ '''
289
+ def deletePool(self, body):
290
+
291
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
292
+
293
+ res = https._delete(url, body, self.auth)
294
+ return res
295
+
296
+ '''
297
+ * 存储池 - 获取
298
+ *
299
+ * @param dict $body 参数详见 API 手册
300
+ * @return list
301
+ '''
302
+ def listPool(self, body):
303
+
304
+ url = '{0}/storage/pool'.format(config.get_default('default_api_host'))
305
+
306
+ res = https._get(url, body, self.auth)
307
+ return res
308
+
309
+ '''
310
+ * 存储池 - 获取信息
311
+ *
312
+ * @param dict $body 参数详见 API 手册
313
+ * @return list
314
+ '''
315
+ def listPoolInfo(self, body):
316
+
317
+ url = '{0}/storage/pool/info'.format(config.get_default('default_api_host'))
318
+
319
+ res = https._get(url, body, self.auth)
320
+ return res
321
+
322
+ '''
323
+ * 通过节点rpc来获取池列表
324
+ *
325
+ * @param dict $body 参数详见 API 手册
326
+ * @return list
327
+ '''
328
+ def listPoolFromNode(self, body):
329
+
330
+ url = '{0}/storage/pool_from_node'.format(config.get_default('default_api_host'))
331
+
332
+ res = https._get(url, body, self.auth)
333
+ return res
334
+
335
+ '''
336
+ * 文件系统 - 创建
337
+ *
338
+ * @param dict $body 参数详见 API 手册
339
+ * @return list
340
+ '''
341
+ def createFs(self, body):
342
+
343
+ url = '{0}/storage/file_system'.format(config.get_default('default_api_host'))
344
+
345
+ res = https._post(url, body, self.auth)
346
+ return res
347
+
348
+ '''
349
+ * 文件系统 - 删除
350
+ *
351
+ * @param dict $body 参数详见 API 手册
352
+ * @return list
353
+ '''
354
+ def deleteFs(self, body):
355
+
356
+ url = '{0}/storage/file_system'.format(config.get_default('default_api_host'))
357
+
358
+ res = https._delete(url, body, self.auth)
359
+ return res
360
+
361
+ '''
362
+ * 文件系统 - 获取
363
+ *
364
+ * @param dict $body 参数详见 API 手册
365
+ * @return list
366
+ '''
367
+ def listFs(self, body):
368
+
369
+ url = '{0}/storage/file_system'.format(config.get_default('default_api_host'))
370
+
371
+ res = https._get(url, body, self.auth)
372
+ return res
373
+
374
+ '''
375
+ * 文件系统 / 快照 - 创建
376
+ *
377
+ * @param dict $body 参数详见 API 手册
378
+ * @return list
379
+ '''
380
+ def createFsSnapshot(self, body):
381
+
382
+ url = '{0}/storage/file_system/snap'.format(config.get_default('default_api_host'))
383
+
384
+ res = https._post(url, body, self.auth)
385
+ return res
386
+
387
+ '''
388
+ * 文件系统 / 快照 - 删除
389
+ *
390
+ * @param dict $body 参数详见 API 手册
391
+ * @return list
392
+ '''
393
+ def deleteFsSnapshot(self, body):
394
+
395
+ url = '{0}/storage/file_system/snap'.format(config.get_default('default_api_host'))
396
+
397
+ res = https._delete(url, body, self.auth)
398
+ return res
399
+
400
+ '''
401
+ * 文件系统 / 快照 - 获取
402
+ *
403
+ * @param dict $body 参数详见 API 手册
404
+ * @return list
405
+ '''
406
+ def listFsSnapshot(self, body):
407
+
408
+ url = '{0}/storage/file_system/snap'.format(config.get_default('default_api_host'))
409
+
410
+ res = https._get(url, body, self.auth)
411
+ return res
412
+
413
+ '''
414
+ * 文件系统 / 快照 / 克隆 - 创建
415
+ *
416
+ * @param dict $body 参数详见 API 手册
417
+ * @return list
418
+ '''
419
+ def createFsCloneSnapshot(self, body):
420
+
421
+ url = '{0}/storage/file_system/snap/clone'.format(config.get_default('default_api_host'))
422
+
423
+ res = https._post(url, body, self.auth)
424
+ return res
425
+
426
+ '''
427
+ * 文件系统 / 快照 / 克隆 - 删除
428
+ *
429
+ * @param dict $body 参数详见 API 手册
430
+ * @return list
431
+ '''
432
+ def deleteFsCloneSnapshot(self, body):
433
+
434
+ url = '{0}/storage/file_system/snap/clone'.format(config.get_default('default_api_host'))
435
+
436
+ res = https._delete(url, body, self.auth)
437
+ return res
438
+
439
+ '''
440
+ * 文件系统 / 快照 / 克隆 - 列表
441
+ *
442
+ * @param dict $body 参数详见 API 手册
443
+ * @return list
444
+ '''
445
+ def listFsCloneSnapshot(self, body):
446
+
447
+ url = '{0}/storage/file_system/snap/clone'.format(config.get_default('default_api_host'))
448
+
449
+ res = https._get(url, body, self.auth)
450
+ return res
451
+
452
+ '''
453
+ * 卷 - 创建
454
+ *
455
+ * @param dict $body 参数详见 API 手册
456
+ * @return list
457
+ '''
458
+ def createVolume(self, body):
459
+
460
+ url = '{0}/storage/volume'.format(config.get_default('default_api_host'))
461
+
462
+ res = https._post(url, body, self.auth)
463
+ return res
464
+
465
+ '''
466
+ * 卷 - 删除
467
+ *
468
+ * @param dict $body 参数详见 API 手册
469
+ * @return list
470
+ '''
471
+ def deleteVolume(self, body):
472
+
473
+ url = '{0}/storage/volume'.format(config.get_default('default_api_host'))
474
+
475
+ res = https._delete(url, body, self.auth)
476
+ return res
477
+
478
+ '''
479
+ * 卷 - 获取
480
+ *
481
+ * @param dict $body 参数详见 API 手册
482
+ * @return list
483
+ '''
484
+ def listVolume(self, body):
485
+
486
+ url = '{0}/storage/volume'.format(config.get_default('default_api_host'))
487
+
488
+ res = https._get(url, body, self.auth)
489
+ return res
490
+
491
+ '''
492
+ * 卷 / 快照 - 创建
493
+ *
494
+ * @param dict $body 参数详见 API 手册
495
+ * @return list
496
+ '''
497
+ def createVolumeSnapshot(self, body):
498
+
499
+ url = '{0}/storage/volume/snap'.format(config.get_default('default_api_host'))
500
+
501
+ res = https._post(url, body, self.auth)
502
+ return res
503
+
504
+ '''
505
+ * 卷 / 快照 - 删除
506
+ *
507
+ * @param dict $body 参数详见 API 手册
508
+ * @return list
509
+ '''
510
+ def deleteVolumeSnapshot(self, body):
511
+
512
+ url = '{0}/storage/volume/snap'.format(config.get_default('default_api_host'))
513
+
514
+ res = https._delete(url, body, self.auth)
515
+ return res
516
+
517
+ '''
518
+ * 卷 / 快照 - 获取
519
+ *
520
+ * @param dict $body 参数详见 API 手册
521
+ * @return list
522
+ '''
523
+ def listVolumeSnapshot(self, body):
524
+
525
+ url = '{0}/storage/volume/snap'.format(config.get_default('default_api_host'))
526
+
527
+ res = https._get(url, body, self.auth)
528
+ return res
529
+
530
+ '''
531
+ * 卷 / 快照 / 克隆 - 创建
532
+ *
533
+ * @param dict $body 参数详见 API 手册
534
+ * @return list
535
+ '''
536
+ def createVolumeCloneSnapshot(self, body):
537
+
538
+ url = '{0}/storage/volume/snap/clone'.format(config.get_default('default_api_host'))
539
+
540
+ res = https._post(url, body, self.auth)
541
+ return res
542
+
543
+ '''
544
+ * 卷 / 快照 / 克隆 - 删除
545
+ *
546
+ * @param dict $body 参数详见 API 手册
547
+ * @return list
548
+ '''
549
+ def deleteVolumeCloneSnapshot(self, body):
550
+
551
+ url = '{0}/storage/volume/snap/clone'.format(config.get_default('default_api_host'))
552
+
553
+ res = https._delete(url, body, self.auth)
554
+ return res
555
+
556
+ '''
557
+ * 卷 / 快照 / 克隆 - 列表
558
+ *
559
+ * @param dict $body 参数详见 API 手册
560
+ * @return list
561
+ '''
562
+ def listVolumeCloneSnapshot(self, body):
563
+
564
+ url = '{0}/storage/volume/snap/clone'.format(config.get_default('default_api_host'))
565
+
566
+ res = https._get(url, body, self.auth)
567
+ return res
568
+
569
+ '''
570
+ * VMDK - 创建
571
+ *
572
+ * @return list
573
+ '''
574
+ def createVMDK(self, body):
575
+
576
+ url = '{0}/storage/vmdk'.format(config.get_default('default_api_host'))
577
+
578
+ res = https._post(url, body, self.auth)
579
+ return res
580
+
581
+ '''
582
+ * VMDK - 删除
583
+ *
584
+ * @return list
585
+ '''
586
+ def deleteVMDK(self, body):
587
+
588
+ url = '{0}/storage/vmdk'.format(config.get_default('default_api_host'))
589
+
590
+ res = https._delete(url, body, self.auth)
591
+ return res
592
+
593
+ '''
594
+ * 后备存储(BackStore) - 创建
595
+ *
596
+ * @param dict $body 参数详见 API 手册
597
+ * @return list
598
+ '''
599
+ def createBackStore(self, body):
600
+
601
+ url = '{0}/storage/backstore'.format(config.get_default('default_api_host'))
602
+
603
+ res = https._post(url, body, self.auth)
604
+ return res
605
+
606
+ '''
607
+ * 后备存储(BackStore) - 删除
608
+ *
609
+ * @param dict $body 参数详见 API 手册
610
+ * @return list
611
+ '''
612
+ def deleteBackStore(self, body):
613
+
614
+ url = '{0}/storage/backstore'.format(config.get_default('default_api_host'))
615
+
616
+ res = https._delete(url, body, self.auth)
617
+ return res
618
+
619
+ '''
620
+ * 后备存储(BackStore) - 获取信息
621
+ *
622
+ * @param dict $body 参数详见 API 手册
623
+ * @return list
624
+ '''
625
+ def listBackStore(self, body):
626
+
627
+ url = '{0}/storage/backstore/info'.format(config.get_default('default_api_host'))
628
+
629
+ res = https._get(url, body, self.auth)
630
+ return res
631
+
632
+ '''
633
+ * 后备存储(BackStore) - 分配给ISCSI发起者
634
+ *
635
+ * @param dict $body 参数详见 API 手册
636
+ * @return list
637
+ '''
638
+ def createAssignBackStore(self, body):
639
+
640
+ url = '{0}/storage/backstore/assign'.format(config.get_default('default_api_host'))
641
+
642
+ res = https._post(url, body, self.auth)
643
+ return res
644
+
645
+ '''
646
+ * 后备存储(BackStore) - 查看被分配给哪些ISCSI发起者
647
+ *
648
+ * @param dict $body 参数详见 API 手册
649
+ * @return list
650
+ '''
651
+ def listAssignBackStore(self, body):
652
+
653
+ url = '{0}/storage/backstore/assign'.format(config.get_default('default_api_host'))
654
+
655
+ res = https._get(url, body, self.auth)
656
+ return res
657
+
658
+ '''
659
+ * 后备存储(BackStore) - 获取可创建 块 的 盘 的 路径
660
+ *
661
+ * @param dict $body 参数详见 API 手册
662
+ * @return list
663
+ '''
664
+ def listBackStoreAvailablePath(self, body):
665
+
666
+ url = '{0}/storage/backstore/available_path'.format(config.get_default('default_api_host'))
667
+
668
+ res = https._get(url, body, self.auth)
669
+ return res
670
+
671
+ '''
672
+ * ISCSI - 获取版本信息
673
+ *
674
+ * @param dict $body 参数详见 API 手册
675
+ * @return list
676
+ '''
677
+ def describeIscsiVersion(self, body):
678
+
679
+ url = '{0}/storage/iscsi/version'.format(config.get_default('default_api_host'))
680
+
681
+ res = https._get(url, body, self.auth)
682
+ return res
683
+
684
+ '''
685
+ * ISCSI - 获取发现权限
686
+ *
687
+ * @param dict $body 参数详见 API 手册
688
+ * @return list
689
+ '''
690
+ def describeIscsiAuth(self, body):
691
+
692
+ url = '{0}/storage/iscsi/auth'.format(config.get_default('default_api_host'))
693
+
694
+ res = https._get(url, body, self.auth)
695
+ return res
696
+
697
+ '''
698
+ * ISCSI - 设置发现权限
699
+ *
700
+ * @param dict $body 参数详见 API 手册
701
+ * @return list
702
+ '''
703
+ def createIscsiDiscoverAuth(self, body):
704
+
705
+ url = '{0}/storage/iscsi/auth'.format(config.get_default('default_api_host'))
706
+
707
+ res = https._post(url, body, self.auth)
708
+ return res
709
+
710
+ '''
711
+ * ISCSI - 取消发现权限
712
+ *
713
+ * @param dict $body 参数详见 API 手册
714
+ * @return list
715
+ '''
716
+ def deleteIscsiDiscoverAuth(self, body):
717
+
718
+ url = '{0}/storage/iscsi/auth'.format(config.get_default('default_api_host'))
719
+
720
+ res = https._delete(url, body, self.auth)
721
+ return res
722
+
723
+ '''
724
+ * ISCSI - 全局参数设置:自动添加 ISCSI目标端 门户
725
+ *
726
+ * @param dict $body 参数详见 API 手册
727
+ * @return list
728
+ '''
729
+ def createAutoAddPortal(self, body):
730
+
731
+ url = '{0}/storage/iscsi/auto_add_portal'.format(config.get_default('default_api_host'))
732
+
733
+ res = https._post(url, body, self.auth)
734
+ return res
735
+
736
+ '''
737
+ * ISCSI - 全局参数设置:自动添加 单元逻辑号映射
738
+ *
739
+ * @param dict $body 参数详见 API 手册
740
+ * @return list
741
+ '''
742
+ def createAutoAddLun(self, body):
743
+
744
+ url = '{0}/storage/iscsi/auto_add_luns'.format(config.get_default('default_api_host'))
745
+
746
+ res = https._post(url, body, self.auth)
747
+ return res
748
+
749
+ '''
750
+ * ISCSI - 获取全局参数:自动添加ISCSI目标端 门户
751
+ *
752
+ * @param dict $body 参数详见 API 手册
753
+ * @return list
754
+ '''
755
+ def describeAutoAddPortal(self, body):
756
+
757
+ url = '{0}/storage/iscsi/auto_add_portal'.format(config.get_default('default_api_host'))
758
+
759
+ res = https._get(url, body, self.auth)
760
+ return res
761
+
762
+ '''
763
+ * ISCSI - 获取全局参数:自动添加单元逻辑映射
764
+ *
765
+ * @param dict $body 参数详见 API 手册
766
+ * @return list
767
+ '''
768
+ def describeAutoAddLun(self, body):
769
+
770
+ url = '{0}/storage/iscsi/auto_add_luns'.format(config.get_default('default_api_host'))
771
+
772
+ res = https._get(url, body, self.auth)
773
+ return res
774
+
775
+ '''
776
+ * ISCSI目标端 - 获取状态
777
+ *
778
+ * @param dict $body 参数详见 API 手册
779
+ * @return list
780
+ '''
781
+ def describeIscsiTargetStatus(self, body):
782
+
783
+ url = '{0}/storage/target/status'.format(config.get_default('default_api_host'))
784
+
785
+ res = https._get(url, body, self.auth)
786
+ return res
787
+
788
+ '''
789
+ * ISCSI目标端 - 获取信息
790
+ *
791
+ * @param dict $body 参数详见 API 手册
792
+ * @return list
793
+ '''
794
+ def listIscsiTarget(self, body):
795
+
796
+ url = '{0}/storage/target/info'.format(config.get_default('default_api_host'))
797
+
798
+ res = https._get(url, body, self.auth)
799
+ return res
800
+
801
+ '''
802
+ * ISCSI目标端 - 添加
803
+ *
804
+ * @param dict $body 参数详见 API 手册
805
+ * @return list
806
+ '''
807
+ def createIscsiTarget(self, body):
808
+
809
+ url = '{0}/storage/target'.format(config.get_default('default_api_host'))
810
+
811
+ res = https._post(url, body, self.auth)
812
+ return res
813
+
814
+ '''
815
+ * ISCSI目标端 - 删除
816
+ *
817
+ * @param dict $body 参数详见 API 手册
818
+ * @return list
819
+ '''
820
+ def deleteIscsiTarget(self, body):
821
+
822
+ url = '{0}/storage/target'.format(config.get_default('default_api_host'))
823
+
824
+ res = https._delete(url, body, self.auth)
825
+ return res
826
+
827
+ '''
828
+ * ISCSI目标端 - 获取目标端列表
829
+ *
830
+ * @param dict $body 参数详见 API 手册
831
+ * @return list
832
+ '''
833
+ def listIscsiTargetList(self, body):
834
+
835
+ url = '{0}/storage/target_list'.format(config.get_default('default_api_host'))
836
+
837
+ res = https._get(url, body, self.auth)
838
+ return res
839
+
840
+ '''
841
+ * ISCSI发起者 - 添加
842
+ *
843
+ * @param dict $body 参数详见 API 手册
844
+ * @return list
845
+ '''
846
+ def createIscsiInitiator(self, body):
847
+
848
+ url = '{0}/storage/initiator'.format(config.get_default('default_api_host'))
849
+
850
+ res = https._post(url, body, self.auth)
851
+ return res
852
+
853
+ '''
854
+ * ISCSI发起者 - 删除
855
+ *
856
+ * @param dict $body 参数详见 API 手册
857
+ * @return list
858
+ '''
859
+ def deleteIscsiInitiator(self, body):
860
+
861
+ url = '{0}/storage/initiator'.format(config.get_default('default_api_host'))
862
+
863
+ res = https._delete(url, body, self.auth)
864
+ return res
865
+
866
+ '''
867
+ * ISCSI发起者 - 设置连接权限
868
+ *
869
+ * @param dict $body 参数详见 API 手册
870
+ * @return list
871
+ '''
872
+ def createIscsiInitiatorConnectAuth(self, body):
873
+
874
+ url = '{0}/storage/initiator/auth'.format(config.get_default('default_api_host'))
875
+
876
+ res = https._post(url, body, self.auth)
877
+ return res
878
+
879
+ '''
880
+ * ISCSI发起者 - 添加 逻辑单元号(LUN)
881
+ *
882
+ * @param dict $body 参数详见 API 手册
883
+ * @return list
884
+ '''
885
+ def createIscsiInitiatorLun(self, body):
886
+
887
+ url = '{0}/storage/initiator/lun'.format(config.get_default('default_api_host'))
888
+
889
+ res = https._post(url, body, self.auth)
890
+ return res
891
+
892
+ '''
893
+ * ISCSI发起者 - 删除 逻辑单元号(LUN)
894
+ *
895
+ * @param dict $body 参数详见 API 手册
896
+ * @return list
897
+ '''
898
+ def deleteIscsiInitiatorLun(self, body):
899
+
900
+ url = '{0}/storage/initiator/lun'.format(config.get_default('default_api_host'))
901
+
902
+ res = https._delete(url, body, self.auth)
903
+ return res
904
+
905
+ '''
906
+ * ISCSI发起者 - 发现目标端
907
+ *
908
+ * @param dict $body 参数详见 API 手册
909
+ * @return list
910
+ '''
911
+ def createIscsiInitiatorDiscoverTarget(self, body):
912
+
913
+ url = '{0}/storage/initiator/discover'.format(config.get_default('default_api_host'))
914
+
915
+ res = https._post(url, body, self.auth)
916
+ return res
917
+
918
+ '''
919
+ * ISCSI发起者 - 连接目标端
920
+ *
921
+ * @param dict $body 参数详见 API 手册
922
+ * @return list
923
+ '''
924
+ def createIscsiInitiatorConnectTarget(self, body):
925
+
926
+ url = '{0}/storage/initiator/connect'.format(config.get_default('default_api_host'))
927
+
928
+ res = https._post(url, body, self.auth)
929
+ return res
930
+
931
+ '''
932
+ * ISCSI发起者 - 断开目标段连接
933
+ *
934
+ * @param dict $body 参数详见 API 手册
935
+ * @return list
936
+ '''
937
+ def deleteIscsiInitiatorConnectTarget(self, body):
938
+
939
+ url = '{0}/storage/initiator/connect'.format(config.get_default('default_api_host'))
940
+
941
+ res = https._delete(url, body, self.auth)
942
+ return res
943
+
944
+ '''
945
+ * ISCSI发起者 - 获取发现门户列表
946
+ *
947
+ * @param dict $body 参数详见 API 手册
948
+ * @return list
949
+ '''
950
+ def listIscsiInitiatorPortal(self, body):
951
+
952
+ url = '{0}/storage/initiator/portal'.format(config.get_default('default_api_host'))
953
+
954
+ res = https._get(url, body, self.auth)
955
+ return res
956
+
957
+ '''
958
+ * ISCSI发起者 - 删除发现门户
959
+ *
960
+ * @param dict $body 参数详见 API 手册
961
+ * @return list
962
+ '''
963
+ def deleteIscsiInitiatorPortal(self, body):
964
+
965
+ url = '{0}/storage/initiator/portal'.format(config.get_default('default_api_host'))
966
+
967
+ res = https._delete(url, body, self.auth)
968
+ return res
969
+
970
+ '''
971
+ * ISCSI发起者 - 刷新会话
972
+ *
973
+ * @param dict $body 参数详见 API 手册
974
+ * @return list
975
+ '''
976
+ def iscsiInitiatorRefreshSession(self, body):
977
+
978
+ url = '{0}/storage/initiator/refresh_session'.format(config.get_default('default_api_host'))
979
+
980
+ res = https._post(url, body, self.auth)
981
+ return res
982
+
983
+ '''
984
+ * 目标门户组(TPG) - 获取信息
985
+ *
986
+ * @param dict $body 参数详见 API 手册
987
+ * @return list
988
+ '''
989
+ def listTpg(self, body):
990
+
991
+ url = '{0}/storage/tpg/info'.format(config.get_default('default_api_host'))
992
+
993
+ res = https._get(url, body, self.auth)
994
+ return res
995
+
996
+ '''
997
+ * 目标门户组(TPG) - 添加
998
+ *
999
+ * @param dict $body 参数详见 API 手册
1000
+ * @return list
1001
+ '''
1002
+ def createTpg(self, body):
1003
+
1004
+ url = '{0}/storage/tpg'.format(config.get_default('default_api_host'))
1005
+
1006
+ res = https._post(url, body, self.auth)
1007
+ return res
1008
+
1009
+ '''
1010
+ * 目标门户组(TPG) - 删除
1011
+ *
1012
+ * @param dict $body 参数详见 API 手册
1013
+ * @return list
1014
+ '''
1015
+ def deleteTpg(self, body):
1016
+
1017
+ url = '{0}/storage/tpg'.format(config.get_default('default_api_host'))
1018
+
1019
+ res = https._delete(url, body, self.auth)
1020
+ return res
1021
+
1022
+ '''
1023
+ * 目标门户组(TPG) - 设置连接权限
1024
+ *
1025
+ * @param dict $body 参数详见 API 手册
1026
+ * @return list
1027
+ '''
1028
+ def createTpgConnectAuth(self, body):
1029
+
1030
+ url = '{0}/storage/tpg/auth'.format(config.get_default('default_api_host'))
1031
+
1032
+ res = https._post(url, body, self.auth)
1033
+ return res
1034
+
1035
+ '''
1036
+ * 目标门户组(TPG) - 取消连接权限
1037
+ *
1038
+ * @param dict $body 参数详见 API 手册
1039
+ * @return list
1040
+ '''
1041
+ def deleteTpgConnectAuth(self, body):
1042
+
1043
+ url = '{0}/storage/tpg/auth'.format(config.get_default('default_api_host'))
1044
+
1045
+ res = https._delete(url, body, self.auth)
1046
+ return res
1047
+
1048
+ '''
1049
+ * 目标门户组(TPG) - 添加 逻辑单元(LUN)
1050
+ *
1051
+ * @param dict $body 参数详见 API 手册
1052
+ * @return list
1053
+ '''
1054
+ def createTpgLun(self, body):
1055
+
1056
+ url = '{0}/storage/tpg/lun'.format(config.get_default('default_api_host'))
1057
+
1058
+ res = https._post(url, body, self.auth)
1059
+ return res
1060
+
1061
+ '''
1062
+ * 目标门户组(TPG)- 是否开启连接权限
1063
+ *
1064
+ * @param dict $body 参数详见 API 手册
1065
+ * @return list
1066
+ '''
1067
+ def describeTpgConnectAuth(self, body):
1068
+
1069
+ url = '{0}/storage/tpg/auth'.format(config.get_default('default_api_host'))
1070
+
1071
+ res = https._get(url, body, self.auth)
1072
+ return res
1073
+
1074
+ '''
1075
+ * 目标门户组(TPG) - 删除 逻辑单元号(LUN)
1076
+ *
1077
+ * @param dict $body 参数详见 API 手册
1078
+ * @return list
1079
+ '''
1080
+ def deleteTpgLun(self, body):
1081
+
1082
+ url = '{0}/storage/tpg/lun'.format(config.get_default('default_api_host'))
1083
+
1084
+ res = https._delete(url, body, self.auth)
1085
+ return res
1086
+
1087
+ '''
1088
+ * 目标门户组(TPG) - 添加 门户(Portal)
1089
+ *
1090
+ * @param dict $body 参数详见 API 手册
1091
+ * @return list
1092
+ '''
1093
+ def createTpgPortal(self, body):
1094
+
1095
+ url = '{0}/storage/tpg/portal'.format(config.get_default('default_api_host'))
1096
+
1097
+ res = https._post(url, body, self.auth)
1098
+ return res
1099
+
1100
+ '''
1101
+ * 目标门户组(TPG) - 删除 门户(Portal)
1102
+ *
1103
+ * @param dict $body 参数详见 API 手册
1104
+ * @return list
1105
+ '''
1106
+ def deleteTpgPortal(self, body):
1107
+
1108
+ url = '{0}/storage/tpg/portal'.format(config.get_default('default_api_host'))
1109
+
1110
+ res = https._delete(url, body, self.auth)
1111
+ return res
1112
+
1113
+ '''
1114
+ * Server是否注册
1115
+ *
1116
+ * @param dict $body 参数详见 API 手册
1117
+ * @return list
1118
+ '''
1119
+ def registerServer(self, body):
1120
+
1121
+ url = '{0}/storage/server_register'.format(config.get_default('default_api_host'))
1122
+
1123
+ res = https._get(url, body, self.auth)
1124
+ return res
1125
+
1126
+ '''
1127
+ * 磁带库 - 列表
1128
+ *
1129
+ * @param dict $body 参数详见 API 手册
1130
+ * @return list
1131
+ '''
1132
+ def listTape(self, body):
1133
+
1134
+ url = '{0}/tape'.format(config.get_default('default_api_host'))
1135
+
1136
+ res = https._get(url, body, self.auth)
1137
+ return res
1138
+
1139
+ '''
1140
+ * 磁带库 - 扫描
1141
+ *
1142
+ * @param dict $body 参数详见 API 手册
1143
+ * @return list
1144
+ '''
1145
+ def scanTapes(self, body):
1146
+
1147
+ url = '{0}/tape/scan_tapes'.format(config.get_default('default_api_host'))
1148
+
1149
+ res = https._get(url, body, self.auth)
1150
+ return res
1151
+
1152
+ '''
1153
+ * 磁带库 - 新建
1154
+ *
1155
+ * @param dict $body 参数详见 API 手册
1156
+ * @return list
1157
+ '''
1158
+ def createTape(self, body):
1159
+
1160
+ url = '{0}/tape'.format(config.get_default('default_api_host'))
1161
+
1162
+ res = https._post(url, body, self.auth)
1163
+ return res
1164
+
1165
+ '''
1166
+ * 磁带库 - 获取单个
1167
+ *
1168
+ * @body['uuid'] String 必填 节点uuid
1169
+ * @return list
1170
+ '''
1171
+ def describeTape(self, body, uuid):
1172
+ if uuid is None:
1173
+ exit()
1174
+ url = '{0}/tape/{1}'.format(config.get_default('default_api_host'), uuid)
1175
+
1176
+ res = https._get(url, None, self.auth)
1177
+ return res
1178
+
1179
+ '''
1180
+ * 磁带库 - 更新
1181
+ *
1182
+ * @body['uuid'] String 必填 节点uuid
1183
+ * @param dict $body 参数详见 API 手册
1184
+ * @return list
1185
+ '''
1186
+ def modifyTape(self, body, uuid):
1187
+ if uuid is None:
1188
+ exit()
1189
+ url = '{0}/tape/{1}'.format(config.get_default('default_api_host'), uuid)
1190
+
1191
+ res = https._put(url, body, self.auth)
1192
+ return res
1193
+
1194
+ '''
1195
+ * 磁带库 - 删除
1196
+ *
1197
+ * @param dict $body 参数详见 API 手册
1198
+ * @return list
1199
+ '''
1200
+ def deleteTape(self, body):
1201
+
1202
+ url = '{0}/tape'.format(config.get_default('default_api_host'))
1203
+
1204
+ res = https._delete(url, body, self.auth)
1205
+ return res
1206
+
1207
+ '''
1208
+ * 磁带库 - 操作
1209
+ *
1210
+ * @param dict $body 参数详见 API 手册
1211
+ * @return list
1212
+ '''
1213
+ def eraseTape(self, body):
1214
+
1215
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1216
+
1217
+ res = https._post(url, body, self.auth)
1218
+ return res
1219
+
1220
+ '''
1221
+ * 磁带库 - 操作
1222
+ *
1223
+ * @param dict $body 参数详见 API 手册
1224
+ * @return list
1225
+ '''
1226
+ def formatTape(self, body):
1227
+
1228
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1229
+
1230
+ res = https._post(url, body, self.auth)
1231
+ return res
1232
+
1233
+ '''
1234
+ * 磁带库 - 操作
1235
+ *
1236
+ * @param dict $body 参数详见 API 手册
1237
+ * @return list
1238
+ '''
1239
+ def browseTape(self, body):
1240
+
1241
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1242
+
1243
+ res = https._post(url, body, self.auth)
1244
+ return res
1245
+
1246
+ '''
1247
+ * 磁带库 - 操作
1248
+ *
1249
+ * @param dict $body 参数详见 API 手册
1250
+ * @return list
1251
+ '''
1252
+ def rebuildCatalogTape(self, body):
1253
+
1254
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1255
+
1256
+ res = https._post(url, body, self.auth)
1257
+ return res
1258
+
1259
+ '''
1260
+ * 磁带库 - 操作
1261
+ *
1262
+ * @param dict $body 参数详见 API 手册
1263
+ * @return list
1264
+ '''
1265
+ def catalogTape(self, body):
1266
+
1267
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1268
+
1269
+ res = https._post(url, body, self.auth)
1270
+ return res
1271
+
1272
+ '''
1273
+ * 磁带库 - 操作
1274
+ *
1275
+ * @param dict $body 参数详见 API 手册
1276
+ * @return list
1277
+ '''
1278
+ def unloadTape(self, body):
1279
+
1280
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1281
+
1282
+ res = https._post(url, body, self.auth)
1283
+ return res
1284
+
1285
+ '''
1286
+ * 磁带库 - 操作
1287
+ *
1288
+ * @param dict $body 参数详见 API 手册
1289
+ * @return list
1290
+ '''
1291
+ def importTape(self, body):
1292
+
1293
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1294
+
1295
+ res = https._post(url, body, self.auth)
1296
+ return res
1297
+
1298
+ '''
1299
+ * 磁带库 - 操作
1300
+ *
1301
+ * @param dict $body 参数详见 API 手册
1302
+ * @return list
1303
+ '''
1304
+ def exportTape(self, body):
1305
+
1306
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1307
+
1308
+ res = https._post(url, body, self.auth)
1309
+ return res
1310
+
1311
+ '''
1312
+ * 磁带库 - 操作
1313
+ *
1314
+ * @param dict $body 参数详见 API 手册
1315
+ * @return list
1316
+ '''
1317
+ def updatePoolsTape(self, body):
1318
+
1319
+ url = '{0}/tape/operate'.format(config.get_default('default_api_host'))
1320
+
1321
+ res = https._post(url, body, self.auth)
1322
+ return res
1323
+
1324
+ '''
1325
+ * 磁带库 - slot:获取备份数据
1326
+ *
1327
+ * @param dict $body 参数详见 API 手册
1328
+ * @return list
1329
+ '''
1330
+ def listBkData(self, body):
1331
+
1332
+ url = '{0}/tape/bkdata_list'.format(config.get_default('default_api_host'))
1333
+
1334
+ res = https._get(url, body, self.auth)
1335
+ return res
1336
+
1337
+ '''
1338
+ * 磁带库 - 查看备份数据下的详细文件
1339
+ *
1340
+ * @param dict $body 参数详见 API 手册
1341
+ * @return list
1342
+ '''
1343
+ def listBkFile(self, body):
1344
+
1345
+ url = '{0}/tape/bkfile_list'.format(config.get_default('default_api_host'))
1346
+
1347
+ res = https._get(url, body, self.auth)
1348
+ return res
1349
+
1350
+ '''
1351
+ * 磁带库 - 获取有磁带的驱动索引
1352
+ *
1353
+ * @param dict $body 参数详见 API 手册
1354
+ * @return list
1355
+ '''
1356
+ def listBusyDrive(self, body):
1357
+
1358
+ url = '{0}/tape/busy_drive_list'.format(config.get_default('default_api_host'))
1359
+
1360
+ res = https._get(url, body, self.auth)
1361
+ return res
1362
+
1363
+ '''
1364
+ * 磁带库 - 获取没有磁带的空闲槽
1365
+ *
1366
+ * @param dict $body 参数详见 API 手册
1367
+ * @return list
1368
+ '''
1369
+ def listFreeSlot(self, body):
1370
+
1371
+ url = '{0}/tape/free_slot_list'.format(config.get_default('default_api_host'))
1372
+
1373
+ res = https._get(url, body, self.auth)
1374
+ return res
1375
+
1376
+ '''
1377
+ * 磁带库 - 获取有磁带的IE槽
1378
+ *
1379
+ * @param dict $body 参数详见 API 手册
1380
+ * @return list
1381
+ '''
1382
+ def listBusyIEslot(self, body):
1383
+
1384
+ url = '{0}/tape/busy_ieslot_list'.format(config.get_default('default_api_host'))
1385
+
1386
+ res = https._get(url, body, self.auth)
1387
+ return res
1388
+
1389
+ '''
1390
+ * 磁带库 - 获取空闲的IE Slot
1391
+ *
1392
+ * @param dict $body 参数详见 API 手册
1393
+ * @return list
1394
+ '''
1395
+ def listFreeIEslot(self, body):
1396
+
1397
+ url = '{0}/tape/free_ieslot_list'.format(config.get_default('default_api_host'))
1398
+
1399
+ res = https._get(url, body, self.auth)
1400
+ return res
1401
+
1402
+ '''
1403
+ * 磁带库 - 获取有磁带的Slot
1404
+ *
1405
+ * @param dict $body 参数详见 API 手册
1406
+ * @return list
1407
+ '''
1408
+ def listBusySlot(self, body):
1409
+
1410
+ url = '{0}/tape/busy_slot_list'.format(config.get_default('default_api_host'))
1411
+
1412
+ res = https._get(url, body, self.auth)
1413
+ return res
1414
+
1415
+ '''
1416
+ * 磁带库 - 查看磁带详情
1417
+ *
1418
+ * @param dict $body 参数详见 API 手册
1419
+ * @return list
1420
+ '''
1421
+ def discribeTapeDetail(self, body):
1422
+
1423
+ url = '{0}/tape/details'.format(config.get_default('default_api_host'))
1424
+
1425
+ res = https._get(url, body, self.auth)
1426
+ return res
1427
+
1428
+ '''
1429
+ * 磁带池 - 获取列表
1430
+ *
1431
+ * @param dict $body 参数详见 API 手册
1432
+ * @return list
1433
+ '''
1434
+ def listTapePools(self, body):
1435
+
1436
+ url = '{0}/tape_pool'.format(config.get_default('default_api_host'))
1437
+
1438
+ res = https._get(url, body, self.auth)
1439
+ return res
1440
+
1441
+ '''
1442
+ * 磁带池 - 获取磁带列表
1443
+ *
1444
+ * @param dict $body 参数详见 API 手册
1445
+ * @return list
1446
+ '''
1447
+ def listTapePoolSlots(self, body):
1448
+
1449
+ url = '{0}/tape_pool/list_slots'.format(config.get_default('default_api_host'))
1450
+
1451
+ res = https._get(url, body, self.auth)
1452
+ return res
1453
+
1454
+ '''
1455
+ * 磁带池 - 新建
1456
+ *
1457
+ * @param dict $body 参数详见 API 手册
1458
+ * @return list
1459
+ '''
1460
+ def createTapePool(self, body):
1461
+
1462
+ url = '{0}/tape_pool'.format(config.get_default('default_api_host'))
1463
+
1464
+ res = https._post(url, body, self.auth)
1465
+ return res
1466
+
1467
+ '''
1468
+ * 磁带池 - 操作
1469
+ *
1470
+ * @param dict $body 参数详见 API 手册
1471
+ * @return list
1472
+ '''
1473
+ def addSlotTapePool(self, body):
1474
+
1475
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1476
+
1477
+ res = https._post(url, body, self.auth)
1478
+ return res
1479
+
1480
+ '''
1481
+ * 磁带池 - 操作
1482
+ *
1483
+ * @param dict $body 参数详见 API 手册
1484
+ * @return list
1485
+ '''
1486
+ def removeSlotTapePool(self, body):
1487
+
1488
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1489
+
1490
+ res = https._post(url, body, self.auth)
1491
+ return res
1492
+
1493
+ '''
1494
+ * 磁带池 - 操作
1495
+ *
1496
+ * @param dict $body 参数详见 API 手册
1497
+ * @return list
1498
+ '''
1499
+ def deleteTapePool(self, body):
1500
+
1501
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1502
+
1503
+ res = https._post(url, body, self.auth)
1504
+ return res
1505
+
1506
+ '''
1507
+ * 磁带池 - 操作
1508
+ *
1509
+ * @param dict $body 参数详见 API 手册
1510
+ * @return list
1511
+ '''
1512
+ def updateTapePool(self, body):
1513
+
1514
+ url = '{0}/tape_pool/operate'.format(config.get_default('default_api_host'))
1515
+
1516
+ res = https._post(url, body, self.auth)
1517
+ return res
1518
+
1519
+ '''
1520
+ * 磁带池 - 获取磁带名
1521
+ *
1522
+ * @param dict $body 参数详见 API 手册
1523
+ * @return list
1524
+ '''
1525
+ def listTapeNames(self, body):
1526
+
1527
+ url = '{0}/tape_pool/tape_names'.format(config.get_default('default_api_host'))
1528
+
1529
+ res = https._get(url, body, self.auth)
1530
+ return res
1531
+