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.
- examples/OracleRule.py +39 -0
- examples/__init__.py +0 -0
- examples/nodeList.py +42 -0
- examples/repBackupList.py +30 -0
- i2up_python_sdk-9.1.3.1.dist-info/LICENSE +201 -0
- i2up_python_sdk-9.1.3.1.dist-info/METADATA +23 -0
- i2up_python_sdk-9.1.3.1.dist-info/RECORD +1472 -0
- i2up_python_sdk-9.1.3.1.dist-info/WHEEL +5 -0
- i2up_python_sdk-9.1.3.1.dist-info/top_level.txt +2 -0
- info2soft/ContainerCls/__init__.py +0 -0
- info2soft/ContainerCls/v20240819/ContainerCls.py +261 -0
- info2soft/ContainerCls/v20240819/__init__.py +2 -0
- info2soft/ContainerCls/v20250123/ContainerCls.py +261 -0
- info2soft/ContainerCls/v20250123/__init__.py +2 -0
- info2soft/ContainerCls/v20250630/ContainerCls.py +261 -0
- info2soft/ContainerCls/v20250630/__init__.py +2 -0
- info2soft/TapeCopy/__init__.py +0 -0
- info2soft/TapeCopy/v20240819/TapeCopy.py +74 -0
- info2soft/TapeCopy/v20240819/__init__.py +2 -0
- info2soft/TapeCopy/v20250123/TapeCopy.py +74 -0
- info2soft/TapeCopy/v20250123/__init__.py +2 -0
- info2soft/TapeCopy/v20250630/TapeCopy.py +74 -0
- info2soft/TapeCopy/v20250630/__init__.py +2 -0
- info2soft/__init__.py +85 -0
- info2soft/active/__init__.py +3 -0
- info2soft/active/test/__init__.py +0 -0
- info2soft/active/test/v20200720/DataChkTest.py +269 -0
- info2soft/active/test/v20200720/Db2Test.py +546 -0
- info2soft/active/test/v20200720/DmTest.py +285 -0
- info2soft/active/test/v20200720/GaussTest.py +339 -0
- info2soft/active/test/v20200720/HeteroTest.py +416 -0
- info2soft/active/test/v20200720/InfomixTest.py +193 -0
- info2soft/active/test/v20200720/LogTest.py +69 -0
- info2soft/active/test/v20200720/MaskTest.py +690 -0
- info2soft/active/test/v20200720/MongoDBTest.py +202 -0
- info2soft/active/test/v20200720/MysqlTest.py +1058 -0
- info2soft/active/test/v20200720/NodeTest.py +200 -0
- info2soft/active/test/v20200720/NotificationsTest.py +52 -0
- info2soft/active/test/v20200720/OceanbaseTest.py +316 -0
- info2soft/active/test/v20200720/OracleRuleTest.py +1588 -0
- info2soft/active/test/v20200720/PostgresTest.py +238 -0
- info2soft/active/test/v20200720/QianBaseSyncTest.py +404 -0
- info2soft/active/test/v20200720/QianBasexTPTest.py +174 -0
- info2soft/active/test/v20200720/ScriptMaskTest.py +255 -0
- info2soft/active/test/v20200720/SqlserverTest.py +505 -0
- info2soft/active/test/v20200720/SummaryTest.py +76 -0
- info2soft/active/test/v20200720/SyncRulesTest.py +1295 -0
- info2soft/active/test/v20200720/TidbTest.py +444 -0
- info2soft/active/test/v20200720/__init__.py +0 -0
- info2soft/active/test/v20220622/DataChkTest.py +269 -0
- info2soft/active/test/v20220622/Db2Test.py +546 -0
- info2soft/active/test/v20220622/DmTest.py +285 -0
- info2soft/active/test/v20220622/GaussTest.py +339 -0
- info2soft/active/test/v20220622/HeteroTest.py +416 -0
- info2soft/active/test/v20220622/InfomixTest.py +193 -0
- info2soft/active/test/v20220622/LogTest.py +69 -0
- info2soft/active/test/v20220622/MaskTest.py +690 -0
- info2soft/active/test/v20220622/MongoDBTest.py +202 -0
- info2soft/active/test/v20220622/MysqlTest.py +1058 -0
- info2soft/active/test/v20220622/NodeTest.py +200 -0
- info2soft/active/test/v20220622/NotificationsTest.py +52 -0
- info2soft/active/test/v20220622/OceanbaseTest.py +316 -0
- info2soft/active/test/v20220622/OracleRuleTest.py +1588 -0
- info2soft/active/test/v20220622/PostgresTest.py +238 -0
- info2soft/active/test/v20220622/QianBaseSyncTest.py +404 -0
- info2soft/active/test/v20220622/QianBasexTPTest.py +174 -0
- info2soft/active/test/v20220622/ScriptMaskTest.py +255 -0
- info2soft/active/test/v20220622/SqlserverTest.py +505 -0
- info2soft/active/test/v20220622/SummaryTest.py +76 -0
- info2soft/active/test/v20220622/SyncRulesTest.py +1295 -0
- info2soft/active/test/v20220622/TidbTest.py +444 -0
- info2soft/active/test/v20220622/__init__.py +0 -0
- info2soft/active/v20200720/DataChk.py +192 -0
- info2soft/active/v20200720/Db2.py +495 -0
- info2soft/active/v20200720/Dm.py +226 -0
- info2soft/active/v20200720/Gauss.py +184 -0
- info2soft/active/v20200720/Hetero.py +320 -0
- info2soft/active/v20200720/Infomix.py +98 -0
- info2soft/active/v20200720/Log.py +35 -0
- info2soft/active/v20200720/Mask.py +475 -0
- info2soft/active/v20200720/MongoDB.py +158 -0
- info2soft/active/v20200720/Mysql.py +936 -0
- info2soft/active/v20200720/Node.py +126 -0
- info2soft/active/v20200720/Notifications.py +21 -0
- info2soft/active/v20200720/Oceanbase.py +257 -0
- info2soft/active/v20200720/OracleRule.py +1360 -0
- info2soft/active/v20200720/Postgres.py +196 -0
- info2soft/active/v20200720/QianBaseSync.py +330 -0
- info2soft/active/v20200720/QianBasexTP.py +86 -0
- info2soft/active/v20200720/ScriptMask.py +193 -0
- info2soft/active/v20200720/Sqlserver.py +430 -0
- info2soft/active/v20200720/Summary.py +46 -0
- info2soft/active/v20200720/SyncRules.py +1079 -0
- info2soft/active/v20200720/Tidb.py +304 -0
- info2soft/active/v20200720/__init__.py +6 -0
- info2soft/active/v20220622/DataChk.py +192 -0
- info2soft/active/v20220622/Db2.py +495 -0
- info2soft/active/v20220622/Dm.py +226 -0
- info2soft/active/v20220622/Gauss.py +184 -0
- info2soft/active/v20220622/Hetero.py +320 -0
- info2soft/active/v20220622/Infomix.py +98 -0
- info2soft/active/v20220622/Log.py +35 -0
- info2soft/active/v20220622/Mask.py +475 -0
- info2soft/active/v20220622/MongoDB.py +158 -0
- info2soft/active/v20220622/Mysql.py +936 -0
- info2soft/active/v20220622/Node.py +126 -0
- info2soft/active/v20220622/Notifications.py +21 -0
- info2soft/active/v20220622/Oceanbase.py +257 -0
- info2soft/active/v20220622/OracleRule.py +1360 -0
- info2soft/active/v20220622/Postgres.py +196 -0
- info2soft/active/v20220622/QianBaseSync.py +330 -0
- info2soft/active/v20220622/QianBasexTP.py +86 -0
- info2soft/active/v20220622/ScriptMask.py +193 -0
- info2soft/active/v20220622/Sqlserver.py +430 -0
- info2soft/active/v20220622/Summary.py +46 -0
- info2soft/active/v20220622/SyncRules.py +1079 -0
- info2soft/active/v20220622/Tidb.py +304 -0
- info2soft/active/v20220622/__init__.py +22 -0
- info2soft/active/v20230227/DataChk.py +302 -0
- info2soft/active/v20230227/Db2.py +282 -0
- info2soft/active/v20230227/Dm.py +98 -0
- info2soft/active/v20230227/Gauss.py +140 -0
- info2soft/active/v20230227/Hetero.py +296 -0
- info2soft/active/v20230227/Infomix.py +73 -0
- info2soft/active/v20230227/Log.py +47 -0
- info2soft/active/v20230227/Mask.py +488 -0
- info2soft/active/v20230227/MongoDB.py +111 -0
- info2soft/active/v20230227/Mysql.py +936 -0
- info2soft/active/v20230227/Notifications.py +21 -0
- info2soft/active/v20230227/Oceanbase.py +124 -0
- info2soft/active/v20230227/OfflineRule.py +100 -0
- info2soft/active/v20230227/OracleRule.py +490 -0
- info2soft/active/v20230227/Postgres.py +114 -0
- info2soft/active/v20230227/QianBaseSync.py +259 -0
- info2soft/active/v20230227/QianBasexTP.py +86 -0
- info2soft/active/v20230227/Redis.py +111 -0
- info2soft/active/v20230227/ScriptMask.py +170 -0
- info2soft/active/v20230227/Sqlserver.py +323 -0
- info2soft/active/v20230227/Summary.py +45 -0
- info2soft/active/v20230227/Tidb.py +114 -0
- info2soft/active/v20230227/__init__.py +44 -0
- info2soft/active/v20240228/DataChk.py +428 -0
- info2soft/active/v20240228/Db2.py +370 -0
- info2soft/active/v20240228/Dm.py +142 -0
- info2soft/active/v20240228/Gauss.py +140 -0
- info2soft/active/v20240228/HBase.py +75 -0
- info2soft/active/v20240228/Hetero.py +296 -0
- info2soft/active/v20240228/Infomix.py +136 -0
- info2soft/active/v20240228/Log.py +47 -0
- info2soft/active/v20240228/Mask.py +503 -0
- info2soft/active/v20240228/MongoDB.py +155 -0
- info2soft/active/v20240228/Mysql.py +949 -0
- info2soft/active/v20240228/Notifications.py +21 -0
- info2soft/active/v20240228/Oceanbase.py +244 -0
- info2soft/active/v20240228/OfflineRule.py +100 -0
- info2soft/active/v20240228/OracleRule.py +1683 -0
- info2soft/active/v20240228/Postgres.py +177 -0
- info2soft/active/v20240228/QianBaseSync.py +303 -0
- info2soft/active/v20240228/QianBasexTP.py +86 -0
- info2soft/active/v20240228/Redis.py +155 -0
- info2soft/active/v20240228/ScriptMask.py +170 -0
- info2soft/active/v20240228/Sqlserver.py +468 -0
- info2soft/active/v20240228/Summary.py +45 -0
- info2soft/active/v20240228/Tidb.py +291 -0
- info2soft/active/v20240228/__init__.py +44 -0
- info2soft/active/v20240819/DataChk.py +380 -0
- info2soft/active/v20240819/Db2.py +164 -0
- info2soft/active/v20240819/Dm.py +111 -0
- info2soft/active/v20240819/HBase.py +75 -0
- info2soft/active/v20240819/Hetero.py +231 -0
- info2soft/active/v20240819/Informix.py +112 -0
- info2soft/active/v20240819/Mask.py +493 -0
- info2soft/active/v20240819/MongoDB.py +115 -0
- info2soft/active/v20240819/Mysql.py +270 -0
- info2soft/active/v20240819/Notifications.py +21 -0
- info2soft/active/v20240819/Oceanbase.py +202 -0
- info2soft/active/v20240819/OfflineRule.py +207 -0
- info2soft/active/v20240819/OracleRule.py +1397 -0
- info2soft/active/v20240819/Postgres.py +140 -0
- info2soft/active/v20240819/QianBaseSync.py +140 -0
- info2soft/active/v20240819/Rabbitmq.py +111 -0
- info2soft/active/v20240819/Redis.py +115 -0
- info2soft/active/v20240819/ScriptMask.py +210 -0
- info2soft/active/v20240819/Sqlserver.py +230 -0
- info2soft/active/v20240819/Summary.py +34 -0
- info2soft/active/v20240819/Tidb.py +205 -0
- info2soft/active/v20240819/__init__.py +42 -0
- info2soft/active/v20250123/DataChk.py +380 -0
- info2soft/active/v20250123/Db2.py +163 -0
- info2soft/active/v20250123/Dm.py +111 -0
- info2soft/active/v20250123/HBase.py +75 -0
- info2soft/active/v20250123/Hetero.py +244 -0
- info2soft/active/v20250123/HeteroConsumer.py +114 -0
- info2soft/active/v20250123/Informix.py +112 -0
- info2soft/active/v20250123/Mask.py +493 -0
- info2soft/active/v20250123/MongoDB.py +115 -0
- info2soft/active/v20250123/Mysql.py +270 -0
- info2soft/active/v20250123/MysqlRule.py +125 -0
- info2soft/active/v20250123/Notifications.py +21 -0
- info2soft/active/v20250123/Oceanbase.py +202 -0
- info2soft/active/v20250123/OfflineRule.py +207 -0
- info2soft/active/v20250123/OracleRule.py +1397 -0
- info2soft/active/v20250123/Postgres.py +140 -0
- info2soft/active/v20250123/QianBaseSync.py +140 -0
- info2soft/active/v20250123/Rabbitmq.py +111 -0
- info2soft/active/v20250123/Redis.py +115 -0
- info2soft/active/v20250123/ScriptMask.py +210 -0
- info2soft/active/v20250123/SqlServerRule.py +125 -0
- info2soft/active/v20250123/Sqlserver.py +230 -0
- info2soft/active/v20250123/Summary.py +34 -0
- info2soft/active/v20250123/Tidb.py +205 -0
- info2soft/active/v20250123/__init__.py +48 -0
- info2soft/active/v20250630/DataChk.py +380 -0
- info2soft/active/v20250630/Db2.py +163 -0
- info2soft/active/v20250630/Dm.py +111 -0
- info2soft/active/v20250630/HBase.py +75 -0
- info2soft/active/v20250630/Hetero.py +244 -0
- info2soft/active/v20250630/HeteroConsumer.py +140 -0
- info2soft/active/v20250630/Informix.py +112 -0
- info2soft/active/v20250630/Mask.py +493 -0
- info2soft/active/v20250630/MongoDB.py +115 -0
- info2soft/active/v20250630/Mysql.py +270 -0
- info2soft/active/v20250630/MysqlRule.py +125 -0
- info2soft/active/v20250630/Notifications.py +21 -0
- info2soft/active/v20250630/Oceanbase.py +202 -0
- info2soft/active/v20250630/OfflineRule.py +207 -0
- info2soft/active/v20250630/OracleRule.py +1397 -0
- info2soft/active/v20250630/Postgres.py +140 -0
- info2soft/active/v20250630/QianBaseSync.py +140 -0
- info2soft/active/v20250630/Rabbitmq.py +111 -0
- info2soft/active/v20250630/Redis.py +115 -0
- info2soft/active/v20250630/RocketMq.py +114 -0
- info2soft/active/v20250630/RoutingRule.py +163 -0
- info2soft/active/v20250630/ScriptMask.py +210 -0
- info2soft/active/v20250630/SqlServerRule.py +125 -0
- info2soft/active/v20250630/Sqlserver.py +230 -0
- info2soft/active/v20250630/Summary.py +34 -0
- info2soft/active/v20250630/Tidb.py +205 -0
- info2soft/active/v20250630/__init__.py +52 -0
- info2soft/appContinuity/__init__.py +0 -0
- info2soft/appContinuity/v20240819/AppContinuity.py +180 -0
- info2soft/appContinuity/v20240819/__init__.py +2 -0
- info2soft/appContinuity/v20250123/AppContinuity.py +180 -0
- info2soft/appContinuity/v20250123/__init__.py +2 -0
- info2soft/appContinuity/v20250630/AppContinuity.py +219 -0
- info2soft/appContinuity/v20250630/__init__.py +2 -0
- info2soft/authorization/__init__.py +0 -0
- info2soft/authorization/v20240819/Authorization.py +99 -0
- info2soft/authorization/v20240819/__init__.py +2 -0
- info2soft/authorization/v20250123/Authorization.py +99 -0
- info2soft/authorization/v20250123/__init__.py +2 -0
- info2soft/authorization/v20250630/Authorization.py +99 -0
- info2soft/authorization/v20250630/__init__.py +2 -0
- info2soft/backupDomain/__init__.py +0 -0
- info2soft/backupDomain/v20250630/BackupDomain.py +115 -0
- info2soft/backupDomain/v20250630/__init__.py +2 -0
- info2soft/backupRule/__init__.py +0 -0
- info2soft/backupRule/v20240228/BackupRule.py +178 -0
- info2soft/backupRule/v20240228/__init__.py +2 -0
- info2soft/backupRule/v20240819/BackupRule.py +167 -0
- info2soft/backupRule/v20240819/__init__.py +2 -0
- info2soft/backupRule/v20250123/BackupRule.py +193 -0
- info2soft/backupRule/v20250123/__init__.py +2 -0
- info2soft/backupRule/v20250630/BackupRule.py +232 -0
- info2soft/backupRule/v20250630/__init__.py +2 -0
- info2soft/backupSet/__init__.py +0 -0
- info2soft/backupSet/v20240228/BackupSet.py +208 -0
- info2soft/backupSet/v20240228/__init__.py +2 -0
- info2soft/backupSet/v20240819/BackupSet.py +242 -0
- info2soft/backupSet/v20240819/__init__.py +2 -0
- info2soft/backupSet/v20250123/BackupSet.py +294 -0
- info2soft/backupSet/v20250123/__init__.py +2 -0
- info2soft/backupSet/v20250630/BackupSet.py +294 -0
- info2soft/backupSet/v20250630/__init__.py +2 -0
- info2soft/backupSetRulePolicy/__init__.py +0 -0
- info2soft/backupSetRulePolicy/v20240228/BackupSetRulePolicy.py +76 -0
- info2soft/backupSetRulePolicy/v20240228/__init__.py +2 -0
- info2soft/backupSetRulePolicy/v20240819/BackupSetRulePolicy.py +76 -0
- info2soft/backupSetRulePolicy/v20240819/__init__.py +2 -0
- info2soft/backupSetRulePolicy/v20250123/BackupSetRulePolicy.py +76 -0
- info2soft/backupSetRulePolicy/v20250123/__init__.py +2 -0
- info2soft/backupSetRulePolicy/v20250630/BackupSetRulePolicy.py +76 -0
- info2soft/backupSetRulePolicy/v20250630/__init__.py +2 -0
- info2soft/backupWork/__init__.py +0 -0
- info2soft/backupWork/v20240228/BackupWork.py +152 -0
- info2soft/backupWork/v20240228/__init__.py +2 -0
- info2soft/backupWork/v20240819/BackupWork.py +183 -0
- info2soft/backupWork/v20240819/__init__.py +2 -0
- info2soft/backupWork/v20250123/BackupWork.py +183 -0
- info2soft/backupWork/v20250123/__init__.py +2 -0
- info2soft/backupWork/v20250630/BackupWork.py +183 -0
- info2soft/backupWork/v20250630/__init__.py +2 -0
- info2soft/bigdata/__init__.py +2 -0
- info2soft/bigdata/v20200724/Backup.py +130 -0
- info2soft/bigdata/v20200724/Recovery.py +164 -0
- info2soft/bigdata/v20200724/__init__.py +3 -0
- info2soft/bigdata/v20220622/Backup.py +130 -0
- info2soft/bigdata/v20220622/Recovery.py +164 -0
- info2soft/bigdata/v20220622/__init__.py +3 -0
- info2soft/bigdata/v20230227/Backup.py +218 -0
- info2soft/bigdata/v20230227/__init__.py +2 -0
- info2soft/bigdata/v20240228/Backup.py +257 -0
- info2soft/bigdata/v20240228/__init__.py +2 -0
- info2soft/bigdata/v20240819/Backup.py +243 -0
- info2soft/bigdata/v20240819/Recovery.py +152 -0
- info2soft/bigdata/v20240819/__init__.py +4 -0
- info2soft/bigdata/v20250123/Backup.py +243 -0
- info2soft/bigdata/v20250123/Recovery.py +152 -0
- info2soft/bigdata/v20250123/__init__.py +4 -0
- info2soft/bigdata/v20250630/Backup.py +243 -0
- info2soft/bigdata/v20250630/Recovery.py +152 -0
- info2soft/bigdata/v20250630/__init__.py +4 -0
- info2soft/bigdataBackupRule/__init__.py +0 -0
- info2soft/bigdataBackupRule/v20240819/BigdataBackupRule.py +152 -0
- info2soft/bigdataBackupRule/v20240819/__init__.py +2 -0
- info2soft/bigdataBackupRule/v20250123/BigdataBackupRule.py +152 -0
- info2soft/bigdataBackupRule/v20250123/__init__.py +2 -0
- info2soft/bigdataBackupRule/v20250630/BigdataBackupRule.py +152 -0
- info2soft/bigdataBackupRule/v20250630/__init__.py +2 -0
- info2soft/bigdataRecoveryRule/__init__.py +0 -0
- info2soft/bigdataRecoveryRule/v20240819/BigdataRecoveryRule.py +76 -0
- info2soft/bigdataRecoveryRule/v20240819/__init__.py +2 -0
- info2soft/bigdataRecoveryRule/v20250123/BigdataRecoveryRule.py +76 -0
- info2soft/bigdataRecoveryRule/v20250123/__init__.py +2 -0
- info2soft/bigdataRecoveryRule/v20250630/BigdataRecoveryRule.py +76 -0
- info2soft/bigdataRecoveryRule/v20250630/__init__.py +2 -0
- info2soft/cdm/__init__.py +1 -0
- info2soft/cdm/v20200729/Cdm.py +688 -0
- info2soft/cdm/v20200729/__init__.py +2 -0
- info2soft/cdm/v20220622/Cdm.py +688 -0
- info2soft/cdm/v20220622/__init__.py +2 -0
- info2soft/cdm/v20230227/Cdm.py +602 -0
- info2soft/cdm/v20230227/__init__.py +2 -0
- info2soft/cdm/v20240228/Cdm.py +640 -0
- info2soft/cdm/v20240228/__init__.py +2 -0
- info2soft/cdm/v20240819/Cdm.py +232 -0
- info2soft/cdm/v20240819/CdmRecovery.py +99 -0
- info2soft/cdm/v20240819/CdmRule.py +113 -0
- info2soft/cdm/v20240819/Drill.py +127 -0
- info2soft/cdm/v20240819/FfoMount.py +89 -0
- info2soft/cdm/v20240819/RemoteCoopy.py +178 -0
- info2soft/cdm/v20240819/__init__.py +12 -0
- info2soft/cdm/v20250123/Cdm.py +232 -0
- info2soft/cdm/v20250123/CdmRecovery.py +99 -0
- info2soft/cdm/v20250123/CdmRule.py +113 -0
- info2soft/cdm/v20250123/Drill.py +127 -0
- info2soft/cdm/v20250123/FfoMount.py +89 -0
- info2soft/cdm/v20250123/RemoteCoopy.py +178 -0
- info2soft/cdm/v20250123/__init__.py +12 -0
- info2soft/cdm/v20250630/Cdm.py +232 -0
- info2soft/cdm/v20250630/CdmRecovery.py +99 -0
- info2soft/cdm/v20250630/CdmRule.py +113 -0
- info2soft/cdm/v20250630/Drill.py +127 -0
- info2soft/cdm/v20250630/FfoMount.py +89 -0
- info2soft/cdm/v20250630/RemoteCoopy.py +178 -0
- info2soft/cdm/v20250630/__init__.py +12 -0
- info2soft/cfs/__init__.py +0 -0
- info2soft/cfs/v20240228/CfsBackup.py +218 -0
- info2soft/cfs/v20240228/__init__.py +2 -0
- info2soft/cfs/v20240819/CfsBackup.py +193 -0
- info2soft/cfs/v20240819/__init__.py +2 -0
- info2soft/cfs/v20250123/CfsBackup.py +193 -0
- info2soft/cfs/v20250123/__init__.py +2 -0
- info2soft/cfs/v20250630/CfsBackup.py +232 -0
- info2soft/cfs/v20250630/__init__.py +2 -0
- info2soft/cloud/__init__.py +1 -0
- info2soft/cloud/v20200727/CloudBackup.py +170 -0
- info2soft/cloud/v20200727/CloudEcs.py +237 -0
- info2soft/cloud/v20200727/CloudPlatform.py +191 -0
- info2soft/cloud/v20200727/CloudRehearse.py +438 -0
- info2soft/cloud/v20200727/CloudVolume.py +123 -0
- info2soft/cloud/v20200727/__init__.py +6 -0
- info2soft/cloud/v20220622/CloudBackup.py +170 -0
- info2soft/cloud/v20220622/CloudEcs.py +237 -0
- info2soft/cloud/v20220622/CloudPlatform.py +191 -0
- info2soft/cloud/v20220622/CloudRehearse.py +438 -0
- info2soft/cloud/v20220622/CloudVolume.py +123 -0
- info2soft/cloud/v20220622/__init__.py +6 -0
- info2soft/cloud/v20230227/CloudBackup.py +1028 -0
- info2soft/cloud/v20230227/__init__.py +2 -0
- info2soft/cloud/v20240228/CloudBackup.py +1098 -0
- info2soft/cloud/v20240228/__init__.py +2 -0
- info2soft/cloud/v20240819/CloudBackendStorage.py +76 -0
- info2soft/cloud/v20240819/CloudBackup.py +153 -0
- info2soft/cloud/v20240819/CloudEcs.py +256 -0
- info2soft/cloud/v20240819/CloudPlatform.py +193 -0
- info2soft/cloud/v20240819/CloudRehearse.py +438 -0
- info2soft/cloud/v20240819/CloudVolume.py +124 -0
- info2soft/cloud/v20240819/__init__.py +12 -0
- info2soft/cloud/v20250123/CloudBackendStorage.py +76 -0
- info2soft/cloud/v20250123/CloudBackup.py +153 -0
- info2soft/cloud/v20250123/CloudEcs.py +256 -0
- info2soft/cloud/v20250123/CloudPlatform.py +193 -0
- info2soft/cloud/v20250123/CloudRehearse.py +438 -0
- info2soft/cloud/v20250123/CloudVolume.py +124 -0
- info2soft/cloud/v20250123/__init__.py +12 -0
- info2soft/cloud/v20250630/CloudBackendStorage.py +76 -0
- info2soft/cloud/v20250630/CloudBackup.py +153 -0
- info2soft/cloud/v20250630/CloudEcs.py +256 -0
- info2soft/cloud/v20250630/CloudPlatform.py +193 -0
- info2soft/cloud/v20250630/CloudRehearse.py +438 -0
- info2soft/cloud/v20250630/CloudVolume.py +124 -0
- info2soft/cloud/v20250630/__init__.py +12 -0
- info2soft/common/Auth.py +215 -0
- info2soft/common/BackupMigrate.py +111 -0
- info2soft/common/Cache.py +93 -0
- info2soft/common/CcMonitor.py +33 -0
- info2soft/common/Client.py +101 -0
- info2soft/common/CompareResult.py +78 -0
- info2soft/common/Credential.py +102 -0
- info2soft/common/DataBaseBackup.py +68 -0
- info2soft/common/DbConvert.py +46 -0
- info2soft/common/Diagnose.py +47 -0
- info2soft/common/Dir.py +112 -0
- info2soft/common/FindPassword.py +60 -0
- info2soft/common/GTS.py +83 -0
- info2soft/common/GeneralInterface.py +256 -0
- info2soft/common/Lic.py +215 -0
- info2soft/common/Logs.py +85 -0
- info2soft/common/Menu.py +20 -0
- info2soft/common/Notifications.py +177 -0
- info2soft/common/OpLogs.py +72 -0
- info2soft/common/Permission.py +32 -0
- info2soft/common/Qr.py +99 -0
- info2soft/common/RestrpcServer.py +114 -0
- info2soft/common/Rsa.py +67 -0
- info2soft/common/Settings.py +448 -0
- info2soft/common/Statistics.py +101 -0
- info2soft/common/Storage.py +978 -0
- info2soft/common/Tenant.py +62 -0
- info2soft/common/Wechat.py +45 -0
- info2soft/common/__init__.py +0 -0
- info2soft/common/test/__init__.py +0 -0
- info2soft/common/test/v20190104/AuthTest.py +124 -0
- info2soft/common/test/v20190104/BackupMigrateTest.py +149 -0
- info2soft/common/test/v20190104/CcMonitorTest.py +63 -0
- info2soft/common/test/v20190104/ClientTest.py +153 -0
- info2soft/common/test/v20190104/CompareResultTest.py +102 -0
- info2soft/common/test/v20190104/CredentialTest.py +129 -0
- info2soft/common/test/v20190104/DataBaseBackupTest.py +75 -0
- info2soft/common/test/v20190104/DbConvertTest.py +73 -0
- info2soft/common/test/v20190104/DiagnoseTest.py +79 -0
- info2soft/common/test/v20190104/DirTest.py +158 -0
- info2soft/common/test/v20190104/FindPasswordTest.py +92 -0
- info2soft/common/test/v20190104/GTSTest.py +117 -0
- info2soft/common/test/v20190104/GeneralInterfaceTest.py +285 -0
- info2soft/common/test/v20190104/LicTest.py +265 -0
- info2soft/common/test/v20190104/LogsTest.py +153 -0
- info2soft/common/test/v20190104/MenuTest.py +48 -0
- info2soft/common/test/v20190104/NotificationsTest.py +256 -0
- info2soft/common/test/v20190104/OpLogsTest.py +125 -0
- info2soft/common/test/v20190104/PermissionTest.py +55 -0
- info2soft/common/test/v20190104/QrTest.py +117 -0
- info2soft/common/test/v20190104/RestrpcServerTest.py +159 -0
- info2soft/common/test/v20190104/SettingsTest.py +518 -0
- info2soft/common/test/v20190104/StatisticsTest.py +210 -0
- info2soft/common/test/v20190104/StorageTest.py +48 -0
- info2soft/common/test/v20190104/TenantTest.py +100 -0
- info2soft/common/test/v20190104/WechatTest.py +72 -0
- info2soft/common/test/v20190104/__init__.py +0 -0
- info2soft/common/test/v20190805/MonitorTest.py +45 -0
- info2soft/common/test/v20190805/PermissionTest.py +45 -0
- info2soft/common/test/v20190805/StorageTest.py +1058 -0
- info2soft/common/test/v20190805/__init__.py +0 -0
- info2soft/common/test/v20220622/AuthTest.py +124 -0
- info2soft/common/test/v20220622/BackupMigrateTest.py +149 -0
- info2soft/common/test/v20220622/CcMonitorTest.py +63 -0
- info2soft/common/test/v20220622/ClientTest.py +153 -0
- info2soft/common/test/v20220622/CompareResultTest.py +102 -0
- info2soft/common/test/v20220622/CredentialTest.py +129 -0
- info2soft/common/test/v20220622/DataBaseBackupTest.py +75 -0
- info2soft/common/test/v20220622/DbConvertTest.py +73 -0
- info2soft/common/test/v20220622/DiagnoseTest.py +79 -0
- info2soft/common/test/v20220622/DirTest.py +158 -0
- info2soft/common/test/v20220622/FindPasswordTest.py +92 -0
- info2soft/common/test/v20220622/GTSTest.py +117 -0
- info2soft/common/test/v20220622/GeneralInterfaceTest.py +285 -0
- info2soft/common/test/v20220622/LicTest.py +265 -0
- info2soft/common/test/v20220622/LogsTest.py +153 -0
- info2soft/common/test/v20220622/MenuTest.py +48 -0
- info2soft/common/test/v20220622/NotificationsTest.py +256 -0
- info2soft/common/test/v20220622/OpLogsTest.py +125 -0
- info2soft/common/test/v20220622/PermissionTest.py +55 -0
- info2soft/common/test/v20220622/QrTest.py +117 -0
- info2soft/common/test/v20220622/RestrpcServerTest.py +159 -0
- info2soft/common/test/v20220622/SettingsTest.py +518 -0
- info2soft/common/test/v20220622/StatisticsTest.py +210 -0
- info2soft/common/test/v20220622/StorageTest.py +48 -0
- info2soft/common/test/v20220622/TenantTest.py +100 -0
- info2soft/common/test/v20220622/WechatTest.py +72 -0
- info2soft/common/test/v20220622/__init__.py +0 -0
- info2soft/common/utils.py +168 -0
- info2soft/common/v20230227/Auth.py +218 -0
- info2soft/common/v20230227/BackupMigrate.py +111 -0
- info2soft/common/v20230227/BigScreen.py +192 -0
- info2soft/common/v20230227/CcMonitor.py +33 -0
- info2soft/common/v20230227/Client.py +112 -0
- info2soft/common/v20230227/CommonTemplate.py +77 -0
- info2soft/common/v20230227/CompareResult.py +76 -0
- info2soft/common/v20230227/Credential.py +115 -0
- info2soft/common/v20230227/DataBaseBackup.py +69 -0
- info2soft/common/v20230227/DbConvert.py +46 -0
- info2soft/common/v20230227/Diagnose.py +59 -0
- info2soft/common/v20230227/Dir.py +112 -0
- info2soft/common/v20230227/FindPassword.py +60 -0
- info2soft/common/v20230227/GTS.py +83 -0
- info2soft/common/v20230227/GeneralInterface.py +295 -0
- info2soft/common/v20230227/Lic.py +239 -0
- info2soft/common/v20230227/Logs.py +85 -0
- info2soft/common/v20230227/Menu.py +20 -0
- info2soft/common/v20230227/Notifications.py +203 -0
- info2soft/common/v20230227/OpLogs.py +72 -0
- info2soft/common/v20230227/Permission.py +45 -0
- info2soft/common/v20230227/Qr.py +73 -0
- info2soft/common/v20230227/RestrpcServer.py +112 -0
- info2soft/common/v20230227/Settings.py +487 -0
- info2soft/common/v20230227/Statistics.py +112 -0
- info2soft/common/v20230227/Tenant.py +60 -0
- info2soft/common/v20230227/Webhook.py +130 -0
- info2soft/common/v20230227/Wechat.py +45 -0
- info2soft/common/v20230227/__init__.py +60 -0
- info2soft/common/v20240228/Auth.py +218 -0
- info2soft/common/v20240228/BackupMigrate.py +111 -0
- info2soft/common/v20240228/BigScreen.py +192 -0
- info2soft/common/v20240228/CcMonitor.py +161 -0
- info2soft/common/v20240228/Client.py +242 -0
- info2soft/common/v20240228/CommonTemplate.py +77 -0
- info2soft/common/v20240228/CompareResult.py +76 -0
- info2soft/common/v20240228/Credential.py +115 -0
- info2soft/common/v20240228/DataBaseBackup.py +69 -0
- info2soft/common/v20240228/DbConvert.py +46 -0
- info2soft/common/v20240228/Diagnose.py +59 -0
- info2soft/common/v20240228/Dir.py +125 -0
- info2soft/common/v20240228/FindPassword.py +60 -0
- info2soft/common/v20240228/GTS.py +83 -0
- info2soft/common/v20240228/GeneralInterface.py +333 -0
- info2soft/common/v20240228/GuardData.py +114 -0
- info2soft/common/v20240228/Lic.py +280 -0
- info2soft/common/v20240228/Logs.py +85 -0
- info2soft/common/v20240228/Menu.py +20 -0
- info2soft/common/v20240228/Notifications.py +203 -0
- info2soft/common/v20240228/OpLogs.py +72 -0
- info2soft/common/v20240228/Permission.py +45 -0
- info2soft/common/v20240228/Qr.py +73 -0
- info2soft/common/v20240228/RestrpcServer.py +112 -0
- info2soft/common/v20240228/Settings.py +550 -0
- info2soft/common/v20240228/Statistics.py +125 -0
- info2soft/common/v20240228/Tenant.py +60 -0
- info2soft/common/v20240228/Webhook.py +130 -0
- info2soft/common/v20240228/Wechat.py +45 -0
- info2soft/common/v20240228/__init__.py +60 -0
- info2soft/common/v20240819/Auth.py +122 -0
- info2soft/common/v20240819/BackupMigrate.py +111 -0
- info2soft/common/v20240819/BigScreen.py +192 -0
- info2soft/common/v20240819/CcMonitor.py +137 -0
- info2soft/common/v20240819/Client.py +254 -0
- info2soft/common/v20240819/CommonTemplate.py +77 -0
- info2soft/common/v20240819/CompareResult.py +76 -0
- info2soft/common/v20240819/Credential.py +115 -0
- info2soft/common/v20240819/DbConvert.py +46 -0
- info2soft/common/v20240819/Diagnose.py +59 -0
- info2soft/common/v20240819/Dir.py +125 -0
- info2soft/common/v20240819/FindPassword.py +60 -0
- info2soft/common/v20240819/GeneralInterface.py +419 -0
- info2soft/common/v20240819/Lic.py +149 -0
- info2soft/common/v20240819/Logs.py +85 -0
- info2soft/common/v20240819/Menu.py +20 -0
- info2soft/common/v20240819/Notifications.py +216 -0
- info2soft/common/v20240819/OpLogs.py +59 -0
- info2soft/common/v20240819/Permission.py +58 -0
- info2soft/common/v20240819/Qr.py +99 -0
- info2soft/common/v20240819/Settings.py +729 -0
- info2soft/common/v20240819/Statistics.py +138 -0
- info2soft/common/v20240819/Tenant.py +62 -0
- info2soft/common/v20240819/Webhook.py +130 -0
- info2soft/common/v20240819/Wechat.py +45 -0
- info2soft/common/v20240819/__init__.py +50 -0
- info2soft/common/v20250123/Auth.py +148 -0
- info2soft/common/v20250123/BackupMigrate.py +111 -0
- info2soft/common/v20250123/BigScreen.py +192 -0
- info2soft/common/v20250123/CcMonitor.py +137 -0
- info2soft/common/v20250123/Client.py +254 -0
- info2soft/common/v20250123/CommonTemplate.py +77 -0
- info2soft/common/v20250123/CompareResult.py +76 -0
- info2soft/common/v20250123/Credential.py +115 -0
- info2soft/common/v20250123/DbConvert.py +46 -0
- info2soft/common/v20250123/Diagnose.py +59 -0
- info2soft/common/v20250123/Dir.py +125 -0
- info2soft/common/v20250123/FindPassword.py +60 -0
- info2soft/common/v20250123/GeneralInterface.py +419 -0
- info2soft/common/v20250123/GeneralSettings.py +84 -0
- info2soft/common/v20250123/Lic.py +149 -0
- info2soft/common/v20250123/LicQuota.py +102 -0
- info2soft/common/v20250123/Logs.py +85 -0
- info2soft/common/v20250123/Menu.py +20 -0
- info2soft/common/v20250123/Notifications.py +216 -0
- info2soft/common/v20250123/OpLogs.py +59 -0
- info2soft/common/v20250123/Permission.py +58 -0
- info2soft/common/v20250123/Qr.py +99 -0
- info2soft/common/v20250123/Settings.py +537 -0
- info2soft/common/v20250123/Statistics.py +163 -0
- info2soft/common/v20250123/Tenant.py +62 -0
- info2soft/common/v20250123/UserSettings.py +173 -0
- info2soft/common/v20250123/Webhook.py +130 -0
- info2soft/common/v20250123/Wechat.py +45 -0
- info2soft/common/v20250123/__init__.py +56 -0
- info2soft/common/v20250630/BackupMigrate.py +111 -0
- info2soft/common/v20250630/BigScreen.py +192 -0
- info2soft/common/v20250630/CcMonitor.py +137 -0
- info2soft/common/v20250630/Client.py +254 -0
- info2soft/common/v20250630/CommonTemplate.py +77 -0
- info2soft/common/v20250630/CompareResult.py +76 -0
- info2soft/common/v20250630/Credential.py +115 -0
- info2soft/common/v20250630/DbConvert.py +46 -0
- info2soft/common/v20250630/Diagnose.py +59 -0
- info2soft/common/v20250630/Dir.py +125 -0
- info2soft/common/v20250630/FindPassword.py +60 -0
- info2soft/common/v20250630/GeneralInterface.py +419 -0
- info2soft/common/v20250630/GeneralSettings.py +84 -0
- info2soft/common/v20250630/Lic.py +161 -0
- info2soft/common/v20250630/LicQuota.py +102 -0
- info2soft/common/v20250630/Logs.py +85 -0
- info2soft/common/v20250630/Menu.py +20 -0
- info2soft/common/v20250630/Notifications.py +216 -0
- info2soft/common/v20250630/OpLogs.py +59 -0
- info2soft/common/v20250630/Permission.py +58 -0
- info2soft/common/v20250630/Qr.py +99 -0
- info2soft/common/v20250630/Settings.py +537 -0
- info2soft/common/v20250630/Statistics.py +163 -0
- info2soft/common/v20250630/Tenant.py +62 -0
- info2soft/common/v20250630/UserSettings.py +173 -0
- info2soft/common/v20250630/Webhook.py +130 -0
- info2soft/common/v20250630/Wechat.py +45 -0
- info2soft/common/v20250630/__init__.py +54 -0
- info2soft/compat.py +76 -0
- info2soft/config.py +33 -0
- info2soft/container_cls/__init__.py +0 -0
- info2soft/container_cls/v20230227/ContainerCls.py +209 -0
- info2soft/container_cls/v20230227/__init__.py +2 -0
- info2soft/container_cls/v20240228/ContainerCls.py +247 -0
- info2soft/container_cls/v20240228/__init__.py +2 -0
- info2soft/dashboard/__init__.py +0 -0
- info2soft/dashboard/test/__init__.py +0 -0
- info2soft/dashboard/test/v20190104/DashboardTest.py +100 -0
- info2soft/dashboard/test/v20190104/__init__.py +0 -0
- info2soft/dashboard/test/v20220622/DashboardTest.py +100 -0
- info2soft/dashboard/test/v20220622/__init__.py +0 -0
- info2soft/dashboard/v20181227/Dashboard.py +73 -0
- info2soft/dashboard/v20181227/__init__.py +0 -0
- info2soft/dashboard/v20220622/Dashboard.py +73 -0
- info2soft/dashboard/v20220622/__init__.py +1 -0
- info2soft/dashboard/v20240819/Dashboard.py +120 -0
- info2soft/dashboard/v20240819/__init__.py +2 -0
- info2soft/dashboard/v20250123/Dashboard.py +120 -0
- info2soft/dashboard/v20250123/__init__.py +2 -0
- info2soft/dashboard/v20250630/Dashboard.py +120 -0
- info2soft/dashboard/v20250630/__init__.py +2 -0
- info2soft/dbInstance/__init__.py +0 -0
- info2soft/dbInstance/v20240819/DbInstance.py +140 -0
- info2soft/dbInstance/v20240819/__init__.py +2 -0
- info2soft/dbInstance/v20250123/DbInstance.py +140 -0
- info2soft/dbInstance/v20250123/__init__.py +2 -0
- info2soft/dbInstance/v20250630/DbInstance.py +140 -0
- info2soft/dbInstance/v20250630/__init__.py +2 -0
- info2soft/dedupeStorage/__init__.py +0 -0
- info2soft/dedupeStorage/v20240819/DedupeStorage.py +115 -0
- info2soft/dedupeStorage/v20240819/__init__.py +2 -0
- info2soft/dedupeStorage/v20250123/DedupeStorage.py +115 -0
- info2soft/dedupeStorage/v20250123/__init__.py +2 -0
- info2soft/dedupeStorage/v20250630/DedupeStorage.py +115 -0
- info2soft/dedupeStorage/v20250630/__init__.py +2 -0
- info2soft/distributor/__init__.py +1 -0
- info2soft/distributor/v20200727/DistributorSystem.py +216 -0
- info2soft/distributor/v20200727/Group.py +150 -0
- info2soft/distributor/v20200727/Node.py +176 -0
- info2soft/distributor/v20200727/__init__.py +6 -0
- info2soft/distributor/v20220622/DistributorSystem.py +216 -0
- info2soft/distributor/v20220622/Group.py +150 -0
- info2soft/distributor/v20220622/Node.py +176 -0
- info2soft/distributor/v20220622/__init__.py +6 -0
- info2soft/dto/Dto.py +221 -0
- info2soft/dto/__init__.py +0 -0
- info2soft/dto/v20220622/Dto.py +221 -0
- info2soft/dto/v20220622/__init__.py +1 -0
- info2soft/dto/v20230227/Dto.py +158 -0
- info2soft/dto/v20230227/__init__.py +2 -0
- info2soft/dto/v20240228/Dto.py +158 -0
- info2soft/dto/v20240228/__init__.py +2 -0
- info2soft/dto/v20240819/Dto.py +249 -0
- info2soft/dto/v20240819/DtoArchive.py +164 -0
- info2soft/dto/v20240819/__init__.py +4 -0
- info2soft/dto/v20250123/Dto.py +249 -0
- info2soft/dto/v20250123/DtoArchive.py +164 -0
- info2soft/dto/v20250123/__init__.py +4 -0
- info2soft/dto/v20250630/Dto.py +262 -0
- info2soft/dto/v20250630/DtoArchive.py +164 -0
- info2soft/dto/v20250630/__init__.py +4 -0
- info2soft/dtrack/Dtrack.py +809 -0
- info2soft/dtrack/__init__.py +2 -0
- info2soft/dtrack/v20220622/Dtrack.py +809 -0
- info2soft/dtrack/v20220622/__init__.py +2 -0
- info2soft/dtrack/v20230227/Dtrack.py +862 -0
- info2soft/dtrack/v20230227/__init__.py +2 -0
- info2soft/examineApprove/__init__.py +0 -0
- info2soft/examineApprove/v20240819/ExamineApprove.py +137 -0
- info2soft/examineApprove/v20240819/__init__.py +2 -0
- info2soft/examineApprove/v20250123/ExamineApprove.py +137 -0
- info2soft/examineApprove/v20250123/__init__.py +2 -0
- info2soft/examineApprove/v20250630/ExamineApprove.py +137 -0
- info2soft/examineApprove/v20250630/__init__.py +2 -0
- info2soft/fileWriter.py +16 -0
- info2soft/fingerprintDomain/__init__.py +0 -0
- info2soft/fingerprintDomain/v20240819/FingerprintDomain.py +89 -0
- info2soft/fingerprintDomain/v20240819/__init__.py +2 -0
- info2soft/fingerprintDomain/v20250123/FingerprintDomain.py +89 -0
- info2soft/fingerprintDomain/v20250123/__init__.py +2 -0
- info2soft/fingerprintDomain/v20250630/FingerprintDomain.py +102 -0
- info2soft/fingerprintDomain/v20250630/__init__.py +2 -0
- info2soft/fsp/FspBackup.py +228 -0
- info2soft/fsp/FspMove.py +233 -0
- info2soft/fsp/FspRecovery.py +253 -0
- info2soft/fsp/__init__.py +0 -0
- info2soft/fsp/test/FspBackupTest.py +426 -0
- info2soft/fsp/test/FspMoveTest.py +450 -0
- info2soft/fsp/test/FspRecoveryTest.py +393 -0
- info2soft/fsp/test/__init__.py +0 -0
- info2soft/fsp/test/v20220622/FspBackupTest.py +427 -0
- info2soft/fsp/test/v20220622/FspMoveTest.py +451 -0
- info2soft/fsp/test/v20220622/FspRecoveryTest.py +394 -0
- info2soft/fsp/test/v20220622/__init__.py +0 -0
- info2soft/fsp/v20220622/FspBackup.py +228 -0
- info2soft/fsp/v20220622/FspMove.py +233 -0
- info2soft/fsp/v20220622/FspRecovery.py +253 -0
- info2soft/fsp/v20220622/__init__.py +3 -0
- info2soft/fsp/v20230227/FspBackup.py +601 -0
- info2soft/fsp/v20230227/__init__.py +2 -0
- info2soft/fsp/v20240228/FspBackup.py +614 -0
- info2soft/fsp/v20240228/__init__.py +2 -0
- info2soft/fsp/v20240819/FspBackup.py +271 -0
- info2soft/fsp/v20240819/FspMove.py +232 -0
- info2soft/fsp/v20240819/FspRecovery.py +257 -0
- info2soft/fsp/v20240819/__init__.py +2 -0
- info2soft/fsp/v20250123/FspBackup.py +271 -0
- info2soft/fsp/v20250123/FspMove.py +232 -0
- info2soft/fsp/v20250123/FspRecovery.py +257 -0
- info2soft/fsp/v20250123/__init__.py +6 -0
- info2soft/fsp/v20250630/FspBackup.py +271 -0
- info2soft/fsp/v20250630/FspMove.py +232 -0
- info2soft/fsp/v20250630/FspRecovery.py +257 -0
- info2soft/fsp/v20250630/__init__.py +6 -0
- info2soft/fspBackupRule/__init__.py +0 -0
- info2soft/fspBackupRule/v20240819/FspBackupRule.py +154 -0
- info2soft/fspBackupRule/v20240819/__init__.py +2 -0
- info2soft/fspBackupRule/v20250123/FspBackupRule.py +154 -0
- info2soft/fspBackupRule/v20250123/__init__.py +2 -0
- info2soft/fspBackupRule/v20250630/FspBackupRule.py +154 -0
- info2soft/fspBackupRule/v20250630/__init__.py +2 -0
- info2soft/fspRecoveryRule/__init__.py +0 -0
- info2soft/fspRecoveryRule/v20240819/FspRecoveryRule.py +153 -0
- info2soft/fspRecoveryRule/v20240819/__init__.py +2 -0
- info2soft/fspRecoveryRule/v20250123/FspRecoveryRule.py +153 -0
- info2soft/fspRecoveryRule/v20250123/__init__.py +2 -0
- info2soft/fspRecoveryRule/v20250630/FspRecoveryRule.py +179 -0
- info2soft/fspRecoveryRule/v20250630/__init__.py +2 -0
- info2soft/fullMachineCopy/__init__.py +0 -0
- info2soft/fullMachineCopy/v20240819/FullMachineCopy.py +115 -0
- info2soft/fullMachineCopy/v20240819/__init__.py +2 -0
- info2soft/fullMachineCopy/v20250123/FullMachineCopy.py +115 -0
- info2soft/fullMachineCopy/v20250123/__init__.py +2 -0
- info2soft/fullMachineCopy/v20250630/FullMachineCopy.py +115 -0
- info2soft/fullMachineCopy/v20250630/__init__.py +2 -0
- info2soft/gts/__init__.py +0 -0
- info2soft/gts/test/GTS.py +157 -0
- info2soft/gts/test/__init__.py +0 -0
- info2soft/gts/test/v20220622/GTS.py +157 -0
- info2soft/gts/test/v20220622/__init__.py +0 -0
- info2soft/gts/v20190805/GTS.py +123 -0
- info2soft/gts/v20190805/__init__.py +0 -0
- info2soft/gts/v20220622/GTS.py +123 -0
- info2soft/gts/v20220622/__init__.py +1 -0
- info2soft/guardData/__init__.py +0 -0
- info2soft/guardData/v20240819/GuardData.py +114 -0
- info2soft/guardData/v20240819/__init__.py +2 -0
- info2soft/guardData/v20250123/GuardData.py +114 -0
- info2soft/guardData/v20250123/__init__.py +2 -0
- info2soft/guardData/v20250630/GuardData.py +114 -0
- info2soft/guardData/v20250630/__init__.py +2 -0
- info2soft/ha/__init__.py +1 -0
- info2soft/ha/test/__init__.py +0 -0
- info2soft/ha/test/v20190104/AppHighAvailabilityTest.py +383 -0
- info2soft/ha/test/v20190104/__init__.py +0 -0
- info2soft/ha/test/v20190806/AppHighAvailabilityTest.py +246 -0
- info2soft/ha/test/v20190806/__init__.py +0 -0
- info2soft/ha/test/v20200727/ClusterTest.py +330 -0
- info2soft/ha/test/v20200727/__init__.py +0 -0
- info2soft/ha/test/v20220622/AppHighAvailabilityTest.py +246 -0
- info2soft/ha/test/v20220622/ClusterTest.py +330 -0
- info2soft/ha/test/v20220622/__init__.py +0 -0
- info2soft/ha/v20181227/AppHighAvailability.py +335 -0
- info2soft/ha/v20181227/__init__.py +0 -0
- info2soft/ha/v20200724/Cluster.py +270 -0
- info2soft/ha/v20200724/__init__.py +2 -0
- info2soft/ha/v20220622/AppHighAvailability.py +335 -0
- info2soft/ha/v20220622/Cluster.py +270 -0
- info2soft/ha/v20220622/__init__.py +3 -0
- info2soft/ha/v20230227/AppHighAvailability.py +302 -0
- info2soft/ha/v20230227/Cluster.py +232 -0
- info2soft/ha/v20230227/__init__.py +4 -0
- info2soft/ha/v20240228/AppHighAvailability.py +302 -0
- info2soft/ha/v20240228/Cluster.py +232 -0
- info2soft/ha/v20240228/__init__.py +4 -0
- info2soft/ha/v20240819/AppHighAvailability.py +318 -0
- info2soft/ha/v20240819/Cluster.py +204 -0
- info2soft/ha/v20240819/Label.py +62 -0
- info2soft/ha/v20240819/__init__.py +6 -0
- info2soft/ha/v20250123/AppHighAvailability.py +318 -0
- info2soft/ha/v20250123/Cluster.py +192 -0
- info2soft/ha/v20250123/Label.py +62 -0
- info2soft/ha/v20250123/__init__.py +6 -0
- info2soft/ha/v20250630/AppHighAvailability.py +318 -0
- info2soft/ha/v20250630/Cluster.py +192 -0
- info2soft/ha/v20250630/Label.py +62 -0
- info2soft/ha/v20250630/__init__.py +6 -0
- info2soft/hdfs/Hdfs.py +112 -0
- info2soft/hdfs/__init__.py +2 -0
- info2soft/hdfs/v20220622/Hdfs.py +112 -0
- info2soft/hdfs/v20220622/__init__.py +2 -0
- info2soft/hdfs/v20230227/Hdfs.py +89 -0
- info2soft/hdfs/v20230227/__init__.py +2 -0
- info2soft/hdfs/v20240228/Hdfs.py +89 -0
- info2soft/hdfs/v20240228/__init__.py +2 -0
- info2soft/hdfs/v20240819/Hdfs.py +300 -0
- info2soft/hdfs/v20240819/__init__.py +2 -0
- info2soft/hdfs/v20250123/Hdfs.py +300 -0
- info2soft/hdfs/v20250123/__init__.py +2 -0
- info2soft/hdfs/v20250630/Hdfs.py +300 -0
- info2soft/hdfs/v20250630/__init__.py +2 -0
- info2soft/https.py +422 -0
- info2soft/hw/__init__.py +0 -0
- info2soft/hw/v20240819/GTS.py +87 -0
- info2soft/hw/v20240819/HDR.py +58 -0
- info2soft/hw/v20240819/__init__.py +4 -0
- info2soft/hw/v20250123/GTS.py +87 -0
- info2soft/hw/v20250123/HDR.py +58 -0
- info2soft/hw/v20250123/__init__.py +4 -0
- info2soft/hw/v20250630/CBG.py +21 -0
- info2soft/hw/v20250630/GTS.py +87 -0
- info2soft/hw/v20250630/HDR.py +121 -0
- info2soft/hw/v20250630/__init__.py +6 -0
- info2soft/mountTask/__init__.py +0 -0
- info2soft/mountTask/v20240819/MountTask.py +139 -0
- info2soft/mountTask/v20240819/__init__.py +2 -0
- info2soft/mountTask/v20250123/MountTask.py +139 -0
- info2soft/mountTask/v20250123/__init__.py +2 -0
- info2soft/mountTask/v20250630/MountTask.py +139 -0
- info2soft/mountTask/v20250630/__init__.py +2 -0
- info2soft/nas/__init__.py +0 -0
- info2soft/nas/test/NASTest.py +111 -0
- info2soft/nas/test/__init__.py +0 -0
- info2soft/nas/test/v20190104/NASTest.py +173 -0
- info2soft/nas/test/v20190104/__init__.py +0 -0
- info2soft/nas/test/v20220622/NASTest.py +175 -0
- info2soft/nas/test/v20220622/__init__.py +0 -0
- info2soft/nas/v20190102/NAS.py +119 -0
- info2soft/nas/v20190102/__init__.py +0 -0
- info2soft/nas/v20220622/NAS.py +119 -0
- info2soft/nas/v20220622/__init__.py +1 -0
- info2soft/nas/v20230227/NAS.py +102 -0
- info2soft/nas/v20230227/__init__.py +2 -0
- info2soft/nas/v20240228/NAS.py +102 -0
- info2soft/nas/v20240228/__init__.py +2 -0
- info2soft/nas/v20240819/Nas.py +115 -0
- info2soft/nas/v20240819/__init__.py +2 -0
- info2soft/nas/v20250123/Nas.py +115 -0
- info2soft/nas/v20250123/__init__.py +2 -0
- info2soft/nas/v20250630/Nas.py +115 -0
- info2soft/nas/v20250630/__init__.py +2 -0
- info2soft/nbuBackupSet/__init__.py +0 -0
- info2soft/nbuBackupSet/v20250630/NbuBackupSet.py +34 -0
- info2soft/nbuBackupSet/v20250630/__init__.py +2 -0
- info2soft/notifications/__init__.py +0 -0
- info2soft/notifications/test/NotificationsTest.py +90 -0
- info2soft/notifications/test/__init__.py +0 -0
- info2soft/notifications/test/v20190104/NotificationsTest.py +192 -0
- info2soft/notifications/test/v20190104/__init__.py +0 -0
- info2soft/notifications/test/v20190806/NotificationsTest.py +63 -0
- info2soft/notifications/test/v20190806/__init__.py +0 -0
- info2soft/notifications/v20181227/Notifications.py +142 -0
- info2soft/notifications/v20181227/__init__.py +0 -0
- info2soft/recovery/__init__.py +0 -0
- info2soft/recovery/v20240819/Recovery.py +34 -0
- info2soft/recovery/v20240819/__init__.py +2 -0
- info2soft/recovery/v20250123/Recovery.py +34 -0
- info2soft/recovery/v20250123/__init__.py +2 -0
- info2soft/recovery/v20250630/Recovery.py +34 -0
- info2soft/recovery/v20250630/__init__.py +2 -0
- info2soft/recoveryRule/__init__.py +0 -0
- info2soft/recoveryRule/v20240228/RecoveryRule.py +212 -0
- info2soft/recoveryRule/v20240228/__init__.py +2 -0
- info2soft/recoveryRule/v20240819/RecoveryRule.py +207 -0
- info2soft/recoveryRule/v20240819/__init__.py +2 -0
- info2soft/recoveryRule/v20250123/RecoveryRule.py +207 -0
- info2soft/recoveryRule/v20250123/__init__.py +2 -0
- info2soft/recoveryRule/v20250630/BatchRecoveryRule.py +154 -0
- info2soft/recoveryRule/v20250630/RecoveryRule.py +220 -0
- info2soft/recoveryRule/v20250630/__init__.py +4 -0
- info2soft/recycleBin/__init__.py +0 -0
- info2soft/recycleBin/v20240819/RecycleBin.py +35 -0
- info2soft/recycleBin/v20240819/__init__.py +2 -0
- info2soft/recycleBin/v20250123/RecycleBin.py +35 -0
- info2soft/recycleBin/v20250123/__init__.py +2 -0
- info2soft/recycleBin/v20250630/RecycleBin.py +35 -0
- info2soft/recycleBin/v20250630/__init__.py +2 -0
- info2soft/remoteRep/__init__.py +0 -0
- info2soft/remoteRep/v20240819/RemoteRep.py +206 -0
- info2soft/remoteRep/v20240819/__init__.py +2 -0
- info2soft/remoteRep/v20250123/RemoteRep.py +206 -0
- info2soft/remoteRep/v20250123/__init__.py +2 -0
- info2soft/remoteRep/v20250630/RemoteRep.py +206 -0
- info2soft/remoteRep/v20250630/__init__.py +2 -0
- info2soft/remote_rep/__init__.py +0 -0
- info2soft/remote_rep/v20230227/RemoteRep.py +167 -0
- info2soft/remote_rep/v20230227/__init__.py +2 -0
- info2soft/remote_rep/v20240228/RemoteRep.py +211 -0
- info2soft/remote_rep/v20240228/__init__.py +2 -0
- info2soft/rep/__init__.py +0 -0
- info2soft/rep/test/__init__.py +0 -0
- info2soft/rep/test/v20190104/RepBackupTest.py +513 -0
- info2soft/rep/test/v20190104/RepRecoveryTest.py +279 -0
- info2soft/rep/test/v20190104/__init__.py +0 -0
- info2soft/rep/test/v20220622/RepBackupTest.py +513 -0
- info2soft/rep/test/v20220622/RepRecoveryTest.py +279 -0
- info2soft/rep/test/v20220622/__init__.py +0 -0
- info2soft/rep/v20181227/RepBackup.py +325 -0
- info2soft/rep/v20181227/RepRecovery.py +203 -0
- info2soft/rep/v20181227/__init__.py +0 -0
- info2soft/rep/v20220622/RepBackup.py +325 -0
- info2soft/rep/v20220622/RepRecovery.py +203 -0
- info2soft/rep/v20220622/__init__.py +2 -0
- info2soft/rep/v20230227/RepBackup.py +308 -0
- info2soft/rep/v20230227/RepRecovery.py +156 -0
- info2soft/rep/v20230227/__init__.py +4 -0
- info2soft/rep/v20240228/RepBackup.py +308 -0
- info2soft/rep/v20240228/RepRecovery.py +156 -0
- info2soft/rep/v20240228/__init__.py +4 -0
- info2soft/rep/v20240819/RepBackup.py +360 -0
- info2soft/rep/v20240819/RepRecovery.py +195 -0
- info2soft/rep/v20240819/__init__.py +4 -0
- info2soft/rep/v20250123/RepBackup.py +360 -0
- info2soft/rep/v20250123/RepRecovery.py +195 -0
- info2soft/rep/v20250123/__init__.py +4 -0
- info2soft/rep/v20250630/RepBackup.py +360 -0
- info2soft/rep/v20250630/RepRecovery.py +195 -0
- info2soft/rep/v20250630/__init__.py +4 -0
- info2soft/replica/__init__.py +0 -0
- info2soft/replica/v20240819/First.py +115 -0
- info2soft/replica/v20240819/Second.py +139 -0
- info2soft/replica/v20240819/__init__.py +4 -0
- info2soft/replica/v20250123/First.py +115 -0
- info2soft/replica/v20250123/Second.py +139 -0
- info2soft/replica/v20250123/__init__.py +4 -0
- info2soft/replica/v20250630/First.py +115 -0
- info2soft/replica/v20250630/Second.py +139 -0
- info2soft/replica/v20250630/__init__.py +4 -0
- info2soft/resource/__init__.py +2 -0
- info2soft/resource/test/__init__.py +0 -0
- info2soft/resource/test/v20190104/BizGroupTest.py +143 -0
- info2soft/resource/test/v20190104/ClusterTest.py +219 -0
- info2soft/resource/test/v20190104/NodeTest.py +575 -0
- info2soft/resource/test/v20190104/__init__.py +0 -0
- info2soft/resource/test/v20200727/BoxVmTest.py +139 -0
- info2soft/resource/test/v20200727/__init__.py +0 -0
- info2soft/resource/test/v20200930/ActiveNodeTest.py +479 -0
- info2soft/resource/test/v20200930/AppTypeTest.py +98 -0
- info2soft/resource/test/v20200930/AuthorizationTest.py +140 -0
- info2soft/resource/test/v20200930/CopyVolume.py +155 -0
- info2soft/resource/test/v20200930/DedupePoolTest.py +151 -0
- info2soft/resource/test/v20200930/DtoHostTest.py +266 -0
- info2soft/resource/test/v20200930/DtoLifeManagementTest.py +140 -0
- info2soft/resource/test/v20200930/DtoStorageTest.py +144 -0
- info2soft/resource/test/v20200930/HdfsPlatformTest.py +167 -0
- info2soft/resource/test/v20200930/MonitorTest.py +109 -0
- info2soft/resource/test/v20200930/NodeDbConfigTest.py +82 -0
- info2soft/resource/test/v20200930/NodeProxyTest.py +100 -0
- info2soft/resource/test/v20200930/ReCyleTest.py +76 -0
- info2soft/resource/test/v20200930/ServiceClusterTest.py +151 -0
- info2soft/resource/test/v20200930/StoragePool.py +200 -0
- info2soft/resource/test/v20200930/StorageTest.py +1734 -0
- info2soft/resource/test/v20200930/VirtualizationSupportTest.py +536 -0
- info2soft/resource/test/v20200930/__init__.py +0 -0
- info2soft/resource/test/v20220622/ActiveNodeTest.py +479 -0
- info2soft/resource/test/v20220622/AppTypeTest.py +98 -0
- info2soft/resource/test/v20220622/AuthorizationTest.py +140 -0
- info2soft/resource/test/v20220622/CopyVolume.py +155 -0
- info2soft/resource/test/v20220622/DedupePoolTest.py +151 -0
- info2soft/resource/test/v20220622/DtoHostTest.py +266 -0
- info2soft/resource/test/v20220622/DtoLifeManagementTest.py +140 -0
- info2soft/resource/test/v20220622/DtoStorageTest.py +144 -0
- info2soft/resource/test/v20220622/HdfsPlatformTest.py +167 -0
- info2soft/resource/test/v20220622/MonitorTest.py +109 -0
- info2soft/resource/test/v20220622/NodeDbConfigTest.py +82 -0
- info2soft/resource/test/v20220622/NodeProxyTest.py +100 -0
- info2soft/resource/test/v20220622/ReCyleTest.py +76 -0
- info2soft/resource/test/v20220622/ServiceClusterTest.py +151 -0
- info2soft/resource/test/v20220622/StoragePool.py +200 -0
- info2soft/resource/test/v20220622/StorageTest.py +1734 -0
- info2soft/resource/test/v20220622/VirtualizationSupportTest.py +536 -0
- info2soft/resource/test/v20220622/__init__.py +0 -0
- info2soft/resource/v20181227/BizGroup.py +106 -0
- info2soft/resource/v20181227/Cluster.py +190 -0
- info2soft/resource/v20181227/Node.py +463 -0
- info2soft/resource/v20181227/__init__.py +6 -0
- info2soft/resource/v20200727/BoxVm.py +106 -0
- info2soft/resource/v20200727/__init__.py +2 -0
- info2soft/resource/v20200729/AppSystem.py +364 -0
- info2soft/resource/v20200729/__init__.py +2 -0
- info2soft/resource/v20200930/ActiveNode.py +297 -0
- info2soft/resource/v20200930/AppType.py +75 -0
- info2soft/resource/v20200930/Authorization.py +99 -0
- info2soft/resource/v20200930/CopyVolume.py +129 -0
- info2soft/resource/v20200930/DedupePool.py +126 -0
- info2soft/resource/v20200930/DtoHost.py +242 -0
- info2soft/resource/v20200930/DtoLifeManagement.py +91 -0
- info2soft/resource/v20200930/DtoStorage.py +102 -0
- info2soft/resource/v20200930/HdfsPlatform.py +102 -0
- info2soft/resource/v20200930/Monitor.py +99 -0
- info2soft/resource/v20200930/NodeDbConfig.py +47 -0
- info2soft/resource/v20200930/NodeProxy.py +76 -0
- info2soft/resource/v20200930/ReCyle.py +47 -0
- info2soft/resource/v20200930/ServiceCluster.py +100 -0
- info2soft/resource/v20200930/Storage.py +1443 -0
- info2soft/resource/v20200930/StoragePool.py +166 -0
- info2soft/resource/v20200930/VirtualizationSupport.py +464 -0
- info2soft/resource/v20200930/__init__.py +17 -0
- info2soft/resource/v20220622/ActiveNode.py +297 -0
- info2soft/resource/v20220622/AppType.py +75 -0
- info2soft/resource/v20220622/Authorization.py +99 -0
- info2soft/resource/v20220622/CopyVolume.py +129 -0
- info2soft/resource/v20220622/DedupePool.py +126 -0
- info2soft/resource/v20220622/DtoHost.py +242 -0
- info2soft/resource/v20220622/DtoLifeManagement.py +91 -0
- info2soft/resource/v20220622/DtoStorage.py +102 -0
- info2soft/resource/v20220622/HdfsPlatform.py +102 -0
- info2soft/resource/v20220622/Monitor.py +99 -0
- info2soft/resource/v20220622/NodeDbConfig.py +47 -0
- info2soft/resource/v20220622/NodeProxy.py +76 -0
- info2soft/resource/v20220622/ReCyle.py +47 -0
- info2soft/resource/v20220622/ServiceCluster.py +100 -0
- info2soft/resource/v20220622/Storage.py +1443 -0
- info2soft/resource/v20220622/StoragePool.py +166 -0
- info2soft/resource/v20220622/VirtualizationSupport.py +464 -0
- info2soft/resource/v20220622/__init__.py +25 -0
- info2soft/resource/v20230227/ActiveNode.py +361 -0
- info2soft/resource/v20230227/AppSystem.py +307 -0
- info2soft/resource/v20230227/AppType.py +75 -0
- info2soft/resource/v20230227/Authorization.py +86 -0
- info2soft/resource/v20230227/BizGroup.py +118 -0
- info2soft/resource/v20230227/BoxVm.py +100 -0
- info2soft/resource/v20230227/Cluster.py +180 -0
- info2soft/resource/v20230227/ContainerCluster.py +313 -0
- info2soft/resource/v20230227/CopyVolume.py +130 -0
- info2soft/resource/v20230227/DedupePool.py +101 -0
- info2soft/resource/v20230227/DtoHost.py +218 -0
- info2soft/resource/v20230227/DtoLifeManagement.py +91 -0
- info2soft/resource/v20230227/DtoStorage.py +128 -0
- info2soft/resource/v20230227/HdfsPlatform.py +102 -0
- info2soft/resource/v20230227/Monitor.py +92 -0
- info2soft/resource/v20230227/Node.py +518 -0
- info2soft/resource/v20230227/NodeDbConfig.py +47 -0
- info2soft/resource/v20230227/NodeProxy.py +76 -0
- info2soft/resource/v20230227/Npsvr.py +126 -0
- info2soft/resource/v20230227/ReCyle.py +60 -0
- info2soft/resource/v20230227/ServiceCluster.py +139 -0
- info2soft/resource/v20230227/Storage.py +1374 -0
- info2soft/resource/v20230227/StoragePool.py +180 -0
- info2soft/resource/v20230227/Ukey.py +153 -0
- info2soft/resource/v20230227/VirtualizationSupport.py +604 -0
- info2soft/resource/v20230227/__init__.py +46 -0
- info2soft/resource/v20240228/ActiveDbType.py +99 -0
- info2soft/resource/v20240228/ActiveNode.py +387 -0
- info2soft/resource/v20240228/AppSystem.py +1221 -0
- info2soft/resource/v20240228/AppType.py +80 -0
- info2soft/resource/v20240228/Authorization.py +86 -0
- info2soft/resource/v20240228/BizGroup.py +118 -0
- info2soft/resource/v20240228/BoxVm.py +119 -0
- info2soft/resource/v20240228/Cfs.py +133 -0
- info2soft/resource/v20240228/Cluster.py +206 -0
- info2soft/resource/v20240228/ContainerCluster.py +313 -0
- info2soft/resource/v20240228/CopyVolume.py +139 -0
- info2soft/resource/v20240228/DedupePool.py +126 -0
- info2soft/resource/v20240228/DtoHost.py +254 -0
- info2soft/resource/v20240228/DtoLifeManagement.py +96 -0
- info2soft/resource/v20240228/DtoStorage.py +128 -0
- info2soft/resource/v20240228/Filesystem.py +114 -0
- info2soft/resource/v20240228/HdfsPlatform.py +288 -0
- info2soft/resource/v20240228/LanfreeChannel.py +101 -0
- info2soft/resource/v20240228/Monitor.py +92 -0
- info2soft/resource/v20240228/Node.py +544 -0
- info2soft/resource/v20240228/NodeDbConfig.py +47 -0
- info2soft/resource/v20240228/NodeProxy.py +76 -0
- info2soft/resource/v20240228/Npsvr.py +164 -0
- info2soft/resource/v20240228/ReCyle.py +60 -0
- info2soft/resource/v20240228/ServiceCluster.py +140 -0
- info2soft/resource/v20240228/Storage.py +1452 -0
- info2soft/resource/v20240228/StoragePool.py +253 -0
- info2soft/resource/v20240228/StorageUnit.py +196 -0
- info2soft/resource/v20240228/Tape.py +487 -0
- info2soft/resource/v20240228/Ukey.py +248 -0
- info2soft/resource/v20240228/VirtualizationSupport.py +620 -0
- info2soft/resource/v20240228/__init__.py +52 -0
- info2soft/resource/v20240819/ActiveDbType.py +113 -0
- info2soft/resource/v20240819/ActiveNode.py +375 -0
- info2soft/resource/v20240819/ActiveNodeCluster.py +141 -0
- info2soft/resource/v20240819/ActiveNodeV3.py +348 -0
- info2soft/resource/v20240819/AppSystem.py +181 -0
- info2soft/resource/v20240819/AppType.py +75 -0
- info2soft/resource/v20240819/BigdataPlatform.py +194 -0
- info2soft/resource/v20240819/BizGroup.py +118 -0
- info2soft/resource/v20240819/BoxVm.py +100 -0
- info2soft/resource/v20240819/Cfs.py +128 -0
- info2soft/resource/v20240819/Cluster.py +206 -0
- info2soft/resource/v20240819/ContainerCluster.py +326 -0
- info2soft/resource/v20240819/CopyVolume.py +156 -0
- info2soft/resource/v20240819/DedupePool.py +114 -0
- info2soft/resource/v20240819/DiskPool.py +89 -0
- info2soft/resource/v20240819/DtoHost.py +270 -0
- info2soft/resource/v20240819/DtoLifeManagement.py +60 -0
- info2soft/resource/v20240819/DtoStorage.py +128 -0
- info2soft/resource/v20240819/DtoStorageBucket.py +74 -0
- info2soft/resource/v20240819/Filesystem.py +114 -0
- info2soft/resource/v20240819/HdfsPlatform.py +141 -0
- info2soft/resource/v20240819/LanfreeChannel.py +114 -0
- info2soft/resource/v20240819/Monitor.py +92 -0
- info2soft/resource/v20240819/Node.py +611 -0
- info2soft/resource/v20240819/NodeDbConfig.py +47 -0
- info2soft/resource/v20240819/NodeProxy.py +76 -0
- info2soft/resource/v20240819/Npsvr.py +130 -0
- info2soft/resource/v20240819/ReCyle.py +47 -0
- info2soft/resource/v20240819/ServiceCluster.py +139 -0
- info2soft/resource/v20240819/Storage.py +1530 -0
- info2soft/resource/v20240819/StoragePool.py +206 -0
- info2soft/resource/v20240819/StorageUnit.py +209 -0
- info2soft/resource/v20240819/Tape.py +505 -0
- info2soft/resource/v20240819/Ukey.py +218 -0
- info2soft/resource/v20240819/VirtualizationSupport.py +741 -0
- info2soft/resource/v20240819/__init__.py +70 -0
- info2soft/resource/v20250123/ActiveDbType.py +113 -0
- info2soft/resource/v20250123/ActiveNode.py +375 -0
- info2soft/resource/v20250123/ActiveNodeCluster.py +141 -0
- info2soft/resource/v20250123/ActiveNodeV3.py +348 -0
- info2soft/resource/v20250123/AppSystem.py +181 -0
- info2soft/resource/v20250123/AppType.py +75 -0
- info2soft/resource/v20250123/BigdataPlatform.py +194 -0
- info2soft/resource/v20250123/BizGroup.py +118 -0
- info2soft/resource/v20250123/BoxVm.py +100 -0
- info2soft/resource/v20250123/Cfs.py +128 -0
- info2soft/resource/v20250123/Cluster.py +245 -0
- info2soft/resource/v20250123/ContainerCluster.py +326 -0
- info2soft/resource/v20250123/CopyVolume.py +156 -0
- info2soft/resource/v20250123/DedupePool.py +114 -0
- info2soft/resource/v20250123/DiskPool.py +89 -0
- info2soft/resource/v20250123/DtoGateway.py +116 -0
- info2soft/resource/v20250123/DtoHost.py +270 -0
- info2soft/resource/v20250123/DtoLifeManagement.py +60 -0
- info2soft/resource/v20250123/DtoStorage.py +128 -0
- info2soft/resource/v20250123/DtoStorageBucket.py +89 -0
- info2soft/resource/v20250123/Filesystem.py +114 -0
- info2soft/resource/v20250123/HdfsPlatform.py +141 -0
- info2soft/resource/v20250123/LanfreeChannel.py +114 -0
- info2soft/resource/v20250123/Monitor.py +92 -0
- info2soft/resource/v20250123/Node.py +611 -0
- info2soft/resource/v20250123/NodeDbConfig.py +47 -0
- info2soft/resource/v20250123/NodeProxy.py +76 -0
- info2soft/resource/v20250123/Npsvr.py +130 -0
- info2soft/resource/v20250123/ReCyle.py +47 -0
- info2soft/resource/v20250123/ServiceCluster.py +139 -0
- info2soft/resource/v20250123/Storage.py +1530 -0
- info2soft/resource/v20250123/StoragePool.py +206 -0
- info2soft/resource/v20250123/StorageUnit.py +209 -0
- info2soft/resource/v20250123/Tape.py +505 -0
- info2soft/resource/v20250123/Ukey.py +218 -0
- info2soft/resource/v20250123/VirtualizationSupport.py +756 -0
- info2soft/resource/v20250123/__init__.py +72 -0
- info2soft/resource/v20250630/ActiveDbType.py +113 -0
- info2soft/resource/v20250630/ActiveNode.py +375 -0
- info2soft/resource/v20250630/ActiveNodeCluster.py +141 -0
- info2soft/resource/v20250630/ActiveNodeClusterV3.py +141 -0
- info2soft/resource/v20250630/ActiveNodeV3.py +361 -0
- info2soft/resource/v20250630/AppSystem.py +181 -0
- info2soft/resource/v20250630/AppType.py +75 -0
- info2soft/resource/v20250630/BigdataPlatform.py +194 -0
- info2soft/resource/v20250630/BizGroup.py +118 -0
- info2soft/resource/v20250630/BoxVm.py +100 -0
- info2soft/resource/v20250630/Cfs.py +128 -0
- info2soft/resource/v20250630/Cluster.py +335 -0
- info2soft/resource/v20250630/ContainerCluster.py +325 -0
- info2soft/resource/v20250630/CopyVolume.py +156 -0
- info2soft/resource/v20250630/DedupePool.py +114 -0
- info2soft/resource/v20250630/DiskPool.py +89 -0
- info2soft/resource/v20250630/DtoGateway.py +155 -0
- info2soft/resource/v20250630/DtoHost.py +270 -0
- info2soft/resource/v20250630/DtoLifeManagement.py +60 -0
- info2soft/resource/v20250630/DtoStorage.py +128 -0
- info2soft/resource/v20250630/DtoStorageBucket.py +89 -0
- info2soft/resource/v20250630/Filesystem.py +114 -0
- info2soft/resource/v20250630/HdfsPlatform.py +141 -0
- info2soft/resource/v20250630/LanfreeChannel.py +114 -0
- info2soft/resource/v20250630/Monitor.py +92 -0
- info2soft/resource/v20250630/Node.py +624 -0
- info2soft/resource/v20250630/NodeDbConfig.py +47 -0
- info2soft/resource/v20250630/NodeProxy.py +76 -0
- info2soft/resource/v20250630/NodeV3.py +663 -0
- info2soft/resource/v20250630/Npsvr.py +130 -0
- info2soft/resource/v20250630/ReCyle.py +47 -0
- info2soft/resource/v20250630/ServiceCluster.py +139 -0
- info2soft/resource/v20250630/Storage.py +1531 -0
- info2soft/resource/v20250630/StoragePool.py +206 -0
- info2soft/resource/v20250630/StorageUnit.py +209 -0
- info2soft/resource/v20250630/Tape.py +505 -0
- info2soft/resource/v20250630/Ukey.py +218 -0
- info2soft/resource/v20250630/VirtualizationSupport.py +756 -0
- info2soft/resource/v20250630/__init__.py +76 -0
- info2soft/retentionPolicy/__init__.py +0 -0
- info2soft/retentionPolicy/v20240228/RetentionPolicy.py +33 -0
- info2soft/retentionPolicy/v20240228/__init__.py +2 -0
- info2soft/retentionPolicy/v20240819/RetentionPolicy.py +33 -0
- info2soft/retentionPolicy/v20240819/__init__.py +2 -0
- info2soft/retentionPolicy/v20250123/RetentionPolicy.py +33 -0
- info2soft/retentionPolicy/v20250123/__init__.py +2 -0
- info2soft/retentionPolicy/v20250630/RetentionPolicy.py +33 -0
- info2soft/retentionPolicy/v20250630/__init__.py +2 -0
- info2soft/ruleVersion/__init__.py +0 -0
- info2soft/ruleVersion/v20240228/RuleVersion.py +34 -0
- info2soft/ruleVersion/v20240228/__init__.py +2 -0
- info2soft/ruleVersion/v20240819/RuleVersion.py +47 -0
- info2soft/ruleVersion/v20240819/__init__.py +2 -0
- info2soft/ruleVersion/v20250123/RuleVersion.py +47 -0
- info2soft/ruleVersion/v20250123/__init__.py +2 -0
- info2soft/ruleVersion/v20250630/RuleVersion.py +47 -0
- info2soft/ruleVersion/v20250630/__init__.py +2 -0
- info2soft/snapshotTask/__init__.py +0 -0
- info2soft/snapshotTask/v20240819/SnapshotTask.py +157 -0
- info2soft/snapshotTask/v20240819/__init__.py +2 -0
- info2soft/snapshotTask/v20250123/SnapshotTask.py +157 -0
- info2soft/snapshotTask/v20250123/__init__.py +2 -0
- info2soft/snapshotTask/v20250630/SnapshotTask.py +157 -0
- info2soft/snapshotTask/v20250630/__init__.py +2 -0
- info2soft/stoCluster/__init__.py +0 -0
- info2soft/stoCluster/v20250630/StoCluster.py +89 -0
- info2soft/stoCluster/v20250630/__init__.py +2 -0
- info2soft/storage_cdm/FfoMount.py +76 -0
- info2soft/storage_cdm/MountTask.py +151 -0
- info2soft/storage_cdm/SnapshotTask.py +173 -0
- info2soft/storage_cdm/__init__.py +6 -0
- info2soft/storage_cdm/v20220622/FfoMount.py +76 -0
- info2soft/storage_cdm/v20220622/MountTask.py +151 -0
- info2soft/storage_cdm/v20220622/SnapshotTask.py +173 -0
- info2soft/storage_cdm/v20220622/__init__.py +6 -0
- info2soft/storage_cdm/v20230227/MountTask.py +113 -0
- info2soft/storage_cdm/v20230227/SnapshotTask.py +118 -0
- info2soft/storage_cdm/v20230227/__init__.py +3 -0
- info2soft/storage_cdm/v20240228/MountTask.py +151 -0
- info2soft/storage_cdm/v20240228/SnapshotTask.py +175 -0
- info2soft/storage_cdm/v20240228/__init__.py +3 -0
- info2soft/stream/__init__.py +0 -0
- info2soft/stream/v20240228/ObjCmp.py +21 -0
- info2soft/stream/v20240228/OracleBkTakeover.py +74 -0
- info2soft/stream/v20240228/OracleReverse.py +21 -0
- info2soft/stream/v20240228/SyncRule.py +331 -0
- info2soft/stream/v20240228/TbCmp.py +97 -0
- info2soft/stream/v20240228/__init__.py +10 -0
- info2soft/stream/v20240819/ObjCmp.py +99 -0
- info2soft/stream/v20240819/OracleBkTakeover.py +47 -0
- info2soft/stream/v20240819/OracleReverse.py +21 -0
- info2soft/stream/v20240819/RuleMonitor.py +137 -0
- info2soft/stream/v20240819/SyncRule.py +322 -0
- info2soft/stream/v20240819/TbCmp.py +125 -0
- info2soft/stream/v20240819/TrafficReport.py +47 -0
- info2soft/stream/v20240819/__init__.py +14 -0
- info2soft/stream/v20250123/ObjCmp.py +99 -0
- info2soft/stream/v20250123/OracleBkTakeover.py +47 -0
- info2soft/stream/v20250123/OracleReverse.py +21 -0
- info2soft/stream/v20250123/RuleMonitor.py +137 -0
- info2soft/stream/v20250123/SyncRule.py +322 -0
- info2soft/stream/v20250123/TbCmp.py +125 -0
- info2soft/stream/v20250123/TrafficReport.py +47 -0
- info2soft/stream/v20250123/__init__.py +14 -0
- info2soft/stream/v20250630/MaskAlgo.py +61 -0
- info2soft/stream/v20250630/MaskRule.py +140 -0
- info2soft/stream/v20250630/MaskSensType.py +50 -0
- info2soft/stream/v20250630/ObjCmp.py +112 -0
- info2soft/stream/v20250630/OracleBkTakeover.py +85 -0
- info2soft/stream/v20250630/OracleReverse.py +21 -0
- info2soft/stream/v20250630/RuleMonitor.py +137 -0
- info2soft/stream/v20250630/Script.py +89 -0
- info2soft/stream/v20250630/ScriptRule.py +115 -0
- info2soft/stream/v20250630/SensCheck.py +143 -0
- info2soft/stream/v20250630/SensMap.py +129 -0
- info2soft/stream/v20250630/SyncRule.py +698 -0
- info2soft/stream/v20250630/TbCmp.py +151 -0
- info2soft/stream/v20250630/TrafficReport.py +47 -0
- info2soft/stream/v20250630/__init__.py +28 -0
- info2soft/system/__init__.py +1 -0
- info2soft/system/test/__init__.py +0 -0
- info2soft/system/test/v20190104/LicTest.py +215 -0
- info2soft/system/test/v20190104/UserTest.py +152 -0
- info2soft/system/test/v20190104/__init__.py +0 -0
- info2soft/system/test/v20190806/UserTest.py +92 -0
- info2soft/system/test/v20190806/__init__.py +0 -0
- info2soft/system/test/v20220622/CredentialTest.py +129 -0
- info2soft/system/test/v20220622/LicTest.py +215 -0
- info2soft/system/test/v20220622/UserTest.py +92 -0
- info2soft/system/test/v20220622/__init__.py +0 -0
- info2soft/system/v20181227/Lic.py +204 -0
- info2soft/system/v20181227/User.py +203 -0
- info2soft/system/v20181227/__init__.py +0 -0
- info2soft/system/v20200729/Credential.py +102 -0
- info2soft/system/v20200729/__init__.py +2 -0
- info2soft/system/v20220622/Credential.py +102 -0
- info2soft/system/v20220622/Lic.py +204 -0
- info2soft/system/v20220622/User.py +203 -0
- info2soft/system/v20220622/__init__.py +5 -0
- info2soft/system/v20240819/Lic.py +189 -0
- info2soft/system/v20240819/__init__.py +2 -0
- info2soft/system/v20250123/Lic.py +189 -0
- info2soft/system/v20250123/__init__.py +2 -0
- info2soft/system/v20250630/Lic.py +189 -0
- info2soft/system/v20250630/__init__.py +2 -0
- info2soft/tape/Tape.py +74 -0
- info2soft/tape/__init__.py +2 -0
- info2soft/tape/v20220622/Tape.py +74 -0
- info2soft/tape/v20220622/__init__.py +2 -0
- info2soft/tape/v20230227/Tape.py +74 -0
- info2soft/tape/v20230227/__init__.py +2 -0
- info2soft/tape/v20240228/Tape.py +74 -0
- info2soft/tape/v20240228/__init__.py +2 -0
- info2soft/tape/v20240819/TapeRecovery.py +74 -0
- info2soft/tape/v20240819/__init__.py +2 -0
- info2soft/tape/v20250123/TapeRecovery.py +74 -0
- info2soft/tape/v20250123/__init__.py +2 -0
- info2soft/tape/v20250630/TapeRecovery.py +74 -0
- info2soft/tape/v20250630/__init__.py +2 -0
- info2soft/tape_copy/__init__.py +0 -0
- info2soft/tape_copy/v20230227/TapeCopy.py +74 -0
- info2soft/tape_copy/v20230227/__init__.py +2 -0
- info2soft/tape_copy/v20240228/TapeCopy.py +74 -0
- info2soft/tape_copy/v20240228/__init__.py +2 -0
- info2soft/taskCenter/__init__.py +0 -0
- info2soft/taskCenter/v20240819/BatchTask.py +73 -0
- info2soft/taskCenter/v20240819/__init__.py +2 -0
- info2soft/taskCenter/v20250123/BatchTask.py +73 -0
- info2soft/taskCenter/v20250123/__init__.py +2 -0
- info2soft/taskCenter/v20250630/BatchTask.py +73 -0
- info2soft/taskCenter/v20250630/__init__.py +2 -0
- info2soft/thirdParty/__init__.py +0 -0
- info2soft/thirdParty/v20240819/ThirdParty.py +21 -0
- info2soft/thirdParty/v20240819/__init__.py +2 -0
- info2soft/thirdParty/v20250123/ThirdParty.py +21 -0
- info2soft/thirdParty/v20250123/__init__.py +2 -0
- info2soft/thirdParty/v20250630/ThirdParty.py +21 -0
- info2soft/thirdParty/v20250630/__init__.py +2 -0
- info2soft/timing/TimingBackup.py +239 -0
- info2soft/timing/TimingRecovery.py +369 -0
- info2soft/timing/__init__.py +0 -0
- info2soft/timing/test/TimingBackupTest.py +451 -0
- info2soft/timing/test/TimingRecoveryTest.py +478 -0
- info2soft/timing/test/__init__.py +0 -0
- info2soft/timing/test/v20220622/TimingBackupTest.py +451 -0
- info2soft/timing/test/v20220622/TimingRecoveryTest.py +478 -0
- info2soft/timing/test/v20220622/__init__.py +0 -0
- info2soft/timing/v20220622/TimingBackup.py +239 -0
- info2soft/timing/v20220622/TimingRecovery.py +369 -0
- info2soft/timing/v20220622/__init__.py +2 -0
- info2soft/timing/v20230227/TimingBackup.py +626 -0
- info2soft/timing/v20230227/__init__.py +2 -0
- info2soft/timing/v20240228/TimingBackup.py +664 -0
- info2soft/timing/v20240228/__init__.py +2 -0
- info2soft/timing/v20240819/TimingBackup.py +361 -0
- info2soft/timing/v20240819/TimingRecovery.py +376 -0
- info2soft/timing/v20240819/__init__.py +4 -0
- info2soft/timing/v20250123/TimingBackup.py +361 -0
- info2soft/timing/v20250123/TimingRecovery.py +376 -0
- info2soft/timing/v20250123/__init__.py +4 -0
- info2soft/timing/v20250630/TimingBackup.py +361 -0
- info2soft/timing/v20250630/TimingRecovery.py +376 -0
- info2soft/timing/v20250630/__init__.py +4 -0
- info2soft/tools/__init__.py +0 -0
- info2soft/tools/test/DiagnoseTest.py +62 -0
- info2soft/tools/test/__init__.py +0 -0
- info2soft/tools/test/v20190104/CompareTest.py +241 -0
- info2soft/tools/test/v20190104/DiagnoseTest.py +73 -0
- info2soft/tools/test/v20190104/__init__.py +0 -0
- info2soft/tools/test/v20220622/CompareTest.py +241 -0
- info2soft/tools/test/v20220622/DiagnoseTest.py +62 -0
- info2soft/tools/test/v20220622/__init__.py +0 -0
- info2soft/tools/v20181227/Compare.py +177 -0
- info2soft/tools/v20181227/Diagnose.py +60 -0
- info2soft/tools/v20181227/__init__.py +0 -0
- info2soft/tools/v20220622/Compare.py +177 -0
- info2soft/tools/v20220622/Diagnose.py +60 -0
- info2soft/tools/v20220622/__init__.py +2 -0
- info2soft/tools/v20230227/Compare.py +129 -0
- info2soft/tools/v20230227/__init__.py +2 -0
- info2soft/tools/v20240228/Compare.py +129 -0
- info2soft/tools/v20240228/__init__.py +2 -0
- info2soft/tools/v20240819/Compare.py +156 -0
- info2soft/tools/v20240819/__init__.py +2 -0
- info2soft/tools/v20250123/Compare.py +156 -0
- info2soft/tools/v20250123/__init__.py +2 -0
- info2soft/tools/v20250630/Compare.py +156 -0
- info2soft/tools/v20250630/__init__.py +2 -0
- info2soft/upmonitor/__init__.py +0 -0
- info2soft/upmonitor/test/UpMonitor.py +153 -0
- info2soft/upmonitor/test/__init__.py +0 -0
- info2soft/upmonitor/test/v20220622/UpMonitor.py +153 -0
- info2soft/upmonitor/test/v20220622/__init__.py +0 -0
- info2soft/upmonitor/v20190805/UpMonitor.py +134 -0
- info2soft/upmonitor/v20190805/__init__.py +0 -0
- info2soft/upmonitor/v20220622/UpMonitor.py +134 -0
- info2soft/upmonitor/v20220622/__init__.py +1 -0
- info2soft/upmonitor/v20230227/UpMonitor.py +128 -0
- info2soft/upmonitor/v20230227/__init__.py +2 -0
- info2soft/upmonitor/v20240228/UpMonitor.py +128 -0
- info2soft/upmonitor/v20240228/__init__.py +2 -0
- info2soft/upmonitor/v20240819/UpMonitor.py +245 -0
- info2soft/upmonitor/v20240819/__init__.py +2 -0
- info2soft/upmonitor/v20250123/UpMonitor.py +245 -0
- info2soft/upmonitor/v20250123/__init__.py +2 -0
- info2soft/upmonitor/v20250630/UpMonitor.py +245 -0
- info2soft/upmonitor/v20250630/__init__.py +2 -0
- info2soft/vmClone/__init__.py +0 -0
- info2soft/vmClone/v20240819/VmCloneRule.py +100 -0
- info2soft/vmClone/v20240819/VmCloneVm.py +102 -0
- info2soft/vmClone/v20240819/__init__.py +4 -0
- info2soft/vmClone/v20250123/VmCloneRule.py +100 -0
- info2soft/vmClone/v20250123/VmCloneVm.py +102 -0
- info2soft/vmClone/v20250123/__init__.py +4 -0
- info2soft/vmClone/v20250630/VmCloneRule.py +100 -0
- info2soft/vmClone/v20250630/VmCloneVm.py +102 -0
- info2soft/vmClone/v20250630/__init__.py +4 -0
- info2soft/vp/VirtualizationSupport.py +1066 -0
- info2soft/vp/__init__.py +0 -0
- info2soft/vp/test/VirtualizationSupportTest.py +1341 -0
- info2soft/vp/test/__init__.py +0 -0
- info2soft/vp/test/v20220622/VirtualizationSupportTest.py +1341 -0
- info2soft/vp/test/v20220622/__init__.py +0 -0
- info2soft/vp/v20220622/VirtualizationSupport.py +1066 -0
- info2soft/vp/v20220622/__init__.py +1 -0
- info2soft/vp/v20230227/VirtualizationSupport.py +570 -0
- info2soft/vp/v20230227/__init__.py +2 -0
- info2soft/vp/v20240228/VirtualizationSupport.py +570 -0
- info2soft/vp/v20240228/__init__.py +2 -0
- info2soft/vp/v20240819/VirtualizationSupport.py +876 -0
- info2soft/vp/v20240819/__init__.py +2 -0
- info2soft/vp/v20250123/VirtualizationSupport.py +876 -0
- info2soft/vp/v20250123/__init__.py +2 -0
- info2soft/vp/v20250630/VirtualizationSupport.py +876 -0
- info2soft/vp/v20250630/__init__.py +2 -0
- info2soft/vpBackupRule/__init__.py +0 -0
- info2soft/vpBackupRule/v20240819/VpBackupRule.py +115 -0
- info2soft/vpBackupRule/v20240819/__init__.py +2 -0
- info2soft/vpBackupRule/v20250123/VpBackupRule.py +115 -0
- info2soft/vpBackupRule/v20250123/__init__.py +2 -0
- info2soft/vpBackupRule/v20250630/VpBackupRule.py +127 -0
- info2soft/vpBackupRule/v20250630/__init__.py +2 -0
- info2soft/vpRecoveryRule/__init__.py +0 -0
- info2soft/vpRecoveryRule/v20240819/VpRecoveryRule.py +102 -0
- info2soft/vpRecoveryRule/v20240819/__init__.py +2 -0
- info2soft/vpRecoveryRule/v20250123/VpRecoveryRule.py +102 -0
- info2soft/vpRecoveryRule/v20250123/__init__.py +2 -0
- info2soft/vpRecoveryRule/v20250630/VpRecoveryRule.py +102 -0
- info2soft/vpRecoveryRule/v20250630/__init__.py +2 -0
|
@@ -0,0 +1,1295 @@
|
|
|
1
|
+
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
# flake8: noqa
|
|
4
|
+
import sys
|
|
5
|
+
sys.path.append(r'/Users/chengl/Desktop/sdk/python-sdk/')
|
|
6
|
+
|
|
7
|
+
import unittest
|
|
8
|
+
from info2soft.active.v20200720.SyncRules import SyncRules
|
|
9
|
+
from info2soft import Auth
|
|
10
|
+
from info2soft.fileWriter import write
|
|
11
|
+
from info2soft.compat import is_py2, is_py3
|
|
12
|
+
|
|
13
|
+
if is_py2:
|
|
14
|
+
import sys
|
|
15
|
+
import StringIO
|
|
16
|
+
import urllib
|
|
17
|
+
|
|
18
|
+
# reload(sys)
|
|
19
|
+
sys.setdefaultencoding('utf-8')
|
|
20
|
+
StringIO = StringIO.StringIO
|
|
21
|
+
urlopen = urllib.urlopen
|
|
22
|
+
if is_py3:
|
|
23
|
+
import io
|
|
24
|
+
import urllib
|
|
25
|
+
|
|
26
|
+
StringIO = io.StringIO
|
|
27
|
+
urlopen = urllib.request.urlopen
|
|
28
|
+
|
|
29
|
+
username = 'admin'
|
|
30
|
+
pwd = 'Info1234'
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class SyncRulesTestCase(unittest.TestCase):
|
|
34
|
+
|
|
35
|
+
def testDescribeSyncRulesObjInfo(self):
|
|
36
|
+
a = Auth(username, pwd)
|
|
37
|
+
body = {
|
|
38
|
+
'offset': 0,
|
|
39
|
+
'limit': 10,
|
|
40
|
+
'rule_uuid': 'c3FBc77A-aA76-A8E2-8ACe-6d763dfdA255',
|
|
41
|
+
'usr': '',
|
|
42
|
+
'sort': '',
|
|
43
|
+
'sort_order': '',
|
|
44
|
+
'search': '',
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
syncRules = SyncRules(a)
|
|
48
|
+
r = syncRules.describeSyncRulesObjInfo(body)
|
|
49
|
+
print(r[0])
|
|
50
|
+
assert r[0]['ret'] == 200
|
|
51
|
+
write(r[0], 'SyncRules', 'describeSyncRulesObjInfo', body)
|
|
52
|
+
|
|
53
|
+
def testDescribeSyncRulesDML(self):
|
|
54
|
+
a = Auth(username, pwd)
|
|
55
|
+
body = {
|
|
56
|
+
'offset': 0,
|
|
57
|
+
'limit': '10',
|
|
58
|
+
'usr': '',
|
|
59
|
+
'rule_uuid': '166b9eed-CE78-1ef9-9545-09FdB6Cbe2ac',
|
|
60
|
+
'sort_order': 'asc',
|
|
61
|
+
'search': '',
|
|
62
|
+
'sort': '',
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
syncRules = SyncRules(a)
|
|
66
|
+
r = syncRules.describeSyncRulesDML(body)
|
|
67
|
+
print(r[0])
|
|
68
|
+
assert r[0]['ret'] == 200
|
|
69
|
+
write(r[0], 'SyncRules', 'describeSyncRulesDML', body)
|
|
70
|
+
|
|
71
|
+
def testDescribeSyncRulesProxyStatus(self):
|
|
72
|
+
a = Auth(username, pwd)
|
|
73
|
+
body = {
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
syncRules = SyncRules(a)
|
|
77
|
+
r = syncRules.describeSyncRulesProxyStatus(body)
|
|
78
|
+
print(r[0])
|
|
79
|
+
assert r[0]['ret'] == 200
|
|
80
|
+
write(r[0], 'SyncRules', 'describeSyncRulesProxyStatus', body)
|
|
81
|
+
|
|
82
|
+
def testCreateSyncRules(self):
|
|
83
|
+
a = Auth(username, pwd)
|
|
84
|
+
body = {
|
|
85
|
+
'rule_name': 'ctt->ctt',
|
|
86
|
+
'src_db_uuid': ' 1B1153F6-DAD9-BC39-888A-A743FCC208E5',
|
|
87
|
+
'tgt_db_uuid': ' D42BF707-C971-EEA9-521F-BB0F3F7A92FC',
|
|
88
|
+
'tgt_type': 'oracle',
|
|
89
|
+
'db_user_map': {
|
|
90
|
+
'CTT': 'CTT',},
|
|
91
|
+
'row_map_mode': 'rowid',
|
|
92
|
+
'map_type': 'user',
|
|
93
|
+
'table_map': [{},],
|
|
94
|
+
'dbmap_topic': '',
|
|
95
|
+
'sync_mode': 1,
|
|
96
|
+
'start_scn': 1,
|
|
97
|
+
'full_sync_settings': {
|
|
98
|
+
'keep_exist_table': 0,
|
|
99
|
+
'keep_table': 0,
|
|
100
|
+
'load_mode': 'direct',
|
|
101
|
+
'ld_dir_opt': 0,
|
|
102
|
+
'his_thread': 1,
|
|
103
|
+
'try_split_part_table': 0,
|
|
104
|
+
'concurrent_table': [
|
|
105
|
+
'hello.world',],},
|
|
106
|
+
'full_sync_obj_filter': {
|
|
107
|
+
'full_sync_obj_data': [
|
|
108
|
+
'PROCEDURE',
|
|
109
|
+
'PACKAGE',
|
|
110
|
+
'PACKAGE BODY',
|
|
111
|
+
'DATABASE LINK',
|
|
112
|
+
'OLD JOB',
|
|
113
|
+
'JOB',
|
|
114
|
+
'PRIVS',
|
|
115
|
+
'CONSTRAINT',
|
|
116
|
+
'JAVA RESOURCE',
|
|
117
|
+
'JAVA SOURCE',],},
|
|
118
|
+
'inc_sync_ddl_filter': {
|
|
119
|
+
'inc_sync_ddl_data': [
|
|
120
|
+
'INDEX',
|
|
121
|
+
'VIEW',
|
|
122
|
+
'FUNCTION',],},
|
|
123
|
+
'filter_table_settings': {
|
|
124
|
+
'exclude_table': [
|
|
125
|
+
'hh.ww',],},
|
|
126
|
+
'etl_settings': {
|
|
127
|
+
'etl_table': [{
|
|
128
|
+
'oprType': 'IRP',
|
|
129
|
+
'table': '',
|
|
130
|
+
'user': '',
|
|
131
|
+
'process': 'SKIP',
|
|
132
|
+
'addInfo': '',},],},
|
|
133
|
+
'start_rule_now': 0,
|
|
134
|
+
'storage_settings': {
|
|
135
|
+
'src_max_mem': 512,
|
|
136
|
+
'src_max_disk': 5000,
|
|
137
|
+
'txn_max_mem': 10000,
|
|
138
|
+
'tf_max_size': 100,
|
|
139
|
+
'tgt_extern_table': '',},
|
|
140
|
+
'error_handling': {
|
|
141
|
+
'load_err_set': 'continue',
|
|
142
|
+
'drp': 'ignore',
|
|
143
|
+
'irp': 'irpafterdel',
|
|
144
|
+
'urp': 'toirp',},
|
|
145
|
+
'table_space_map': {
|
|
146
|
+
'tgt_table_space': '',
|
|
147
|
+
'table_mapping_way': 'ptop',
|
|
148
|
+
'table_path_map': {
|
|
149
|
+
'ddd': 'sss',
|
|
150
|
+
'ddd1': 'sss1',},
|
|
151
|
+
'table_space_name': {
|
|
152
|
+
'qq': 'ss',},},
|
|
153
|
+
'other_settings': {
|
|
154
|
+
'keep_dyn_data': 0,
|
|
155
|
+
'dyn_thread': 1,
|
|
156
|
+
'dly_constraint_load': 0,
|
|
157
|
+
'zip_level': 0,
|
|
158
|
+
'ddl_cv': 0,
|
|
159
|
+
'keep_bad_act': 0,
|
|
160
|
+
'keep_usr_pwd': 1,
|
|
161
|
+
'convert_urp_of_key': 0,
|
|
162
|
+
'ignore_foreign_key': 0,},
|
|
163
|
+
'bw_settings': {
|
|
164
|
+
'bw_limit': '"12*00:00-13:00*40M,3*00:00-13:00*40M"',},
|
|
165
|
+
'biz_grp_list': [],
|
|
166
|
+
'kafka_time_out': '!4Hce[pBcYtQ#]RrJcUB2iRSeC99g)3ql4kCrA(%j*NQaA^5eE$CJU^VNXujipcyjiG#JykHw$DoMg7zThxviQRx&sxmKZr4(@n8)[cSp]0$&YIOwHUWdBEnjq[*[8C$HL@wf@[!ywEluSr4IG!AgKq8XuXo(Zworua&AAE[G4j9$nf*bNrhl%XjSEUz!^TKP(6G$2bl7#ZSzq4#R^RXCSS8wit#Cu2l*Pix^ZIg#xE%Ce!&yV)QoWtgc)7kTJqM%g6gxiRP3m(XMLIx6xt0KpOk%ydFQ%5YW)%y*BE1!%NBdIStbk0])g!&xVwvy9i%O%G26f$Ik#F5(tK1%Ne0k7*M3&uJRENIh3Hw^zw#JWD%y^ens6lWRJ]LqhIE0)Vrg7iF0WWY14@lwk$2)*zp$Y(GWAkaBOA*peSStro[Os(@fkpMIy4gf3m1j4]#ti^J&pgOD@%NoXiK!tF6hqAxDu8kz29Oca1HtVuTV5y@F4^!lggz*dsIZ[5Ou(bUoE[#R1G2l7nFR(cyqRys35IKoZ)z#Qn2cG8T@9GFW4[skx1PthJGo2Rr*eyzHRosrd(PC0qHE6SwD[s&Cq4&Tj&GN&OG1vWGeqU7fxlQOBS(D%]K)MraDkwHEGDmWpK)bhfzuOaJf)p5ZsU7M@O4f!#4BHXTHtMgs%^8mqcItR!17$DTXZJuE9ZN2Scrq&qpfwB804POb%5c#6DKjd^6Tsc^cdtwH#n**B^uDQ9&zWqiXO2QyLbqZ9VdVN&a*53N)F8Zr*Q08TC@0m[CPk0Nt@*VpFN&B!w(sn^lRfX2rg94n!5heHm4VotZVI!rhU9EJZ5p7*eAdyr)NC[ZvMa9)]1*oFiWsl%z@!8qHm7&GIfL]*3EyAnHMjGCh^RT6nBuq61NCOFT)]@uJfe[lNlG)K7t6(M6&!(Wv6s6VwJXp0pTLBj3qhw4yrKfOa*k[l1Cp4@EltdxB8wonKc3cJdkd^koq5IjUkL*SzeF5ZWfJ^e&QDKG6EP2YgEuWBqviDTy(BCS[WhsG^(S0ES@DXiD3@kaGLhX4Mk7tC((MKM^7G[Wygd8FCuD%krKPLuTz*bnXwj#LSiMqarCshod)ekFl%P!BOFq^##Bc%S4PVFi^NZzi98CbDq&D7ijV&M)4TIG1M#9Mf%t9h#G9zc])8SnzqMygU)u9S2zsgnX9B8KJ^RgsZ84My*s49QjYCSxZJK9lUCfDh)!SRdSN5owBzHBMBX#5APkySV7f#XD$e!X&IY3nLBKIkb2$GwMgx]KYeN#Zp*1%EEOIb9QVB3wE8Iwr2E1VC7uTAxqci@4fDr@bKk2RwMIFGPnNp()4@l7tvf]yzGmN*Pi)GYA&F$l[GWNmpskE2(B24@smPP^@IL)4^KKneZM!edoxoXVcV5yA1w6mm#R9xTcf4f5L454BoURRiaLaT)H0bP3#KKrW@ST5^pGP79BkjV!8AZTX!lkJ8Ih6vj)0RLS)vVZspZ!fM)p&M6Mjs)7i4@yWGdF[5ju5Euq^0F[R8fb0Ckio(5%($[)P7^7x8xn&Ks!Wzq8iC8NFNsOOtTedgCewgzG^Q0%YJrh!c*mwRFc#1J39wIxi7oJ(Gy3ejW6WN0$U%oCYd(FKnOZA0PU)[zDfbzj2lMrdFeHB8R%T8G8OC9P5^h4H0Zo2*[^%n2dZx(7BIE9X(9]Xl&A7i#(Vek1wNXAMQ5Y94npDJOT%q^*1xet!Qj5j&VXVciLFbyaA7^q*l&P!p0SgF6Hx!NHFgtNb4qQ@x[Cpk3B0Ka*U7JL[Sr@m9X7oB8pI$RYKTXtKzCr&88403#5uAcv3&c6bXxaAL!7qv9dWnJy7uSqc4wPs$gGxYEOIT9(u3Cln#HZs#@&yu*A6Z6elH62&wi^IhWY^V)X!skN6A@fv7mx&%N2Ty%D0qMCEDW!8fUxyvspZHPPMhgcOZ&A&cJ6p$*YnIf8cyAsVdCwghV6KOGBlSqFXA#I4g42buN61s1CRuzmz8xzeLpCxsXxdTq0QywS4kck0yc9m^zCYX5GdgFUjE(OkvMeXD!pJ[SxQBR4wgvs@1aCMJdgY&n)m!N2BXZQ4mDreL1o4U*9o(1Oy4V$!PT[YBfc&HuCfImA(kyud(NRxlhIX3Gs7MU!b0y5YP)sjmUit7wlunj[IOdKneyUIchy!dhhRTyDxfGoZKRgxyGEyQ0WOoIzwVIYD)nNFKhv&BkHvDZ[s*LOsS3!sL)nWu*jR$ZOH2v5OezM4QvuKebFF]RK*V$oeTUSxcIUNUe&K1IJnrxVyLdfQkaNw#KxHvS6EJ]FFEpg#SL8RSyif0nzsTFlZmRT#ZX@lU$kdlEALGbs$Lo6V4Euq%gQ^AcLZJ)^R%vx)[Pv)B3%FaLZu&ylwM32F%2RA4Cjg%1O%@Qfyp8Ryd$@%s5!NOKfiy^H7m2DvkWT7d]Z4B^z$QHnw@oP8(vpUj@xVJ!pf#Jzj9!RJeXT0qK%P20P)hhv@5gDq%FOTUl)YU&Zn&wOs07LrHfLCK8u9pD)SDYn&@qwwN])43o3mI17dtQz2c$ELGKTRwzLkTQ&h%xD9hsUnep!MxxgFSuAkEnsO$(Ja!3O8RAKv2r2L63dx5IbaokhoNDNt*6DZ7C8OoWhc1m&HnV0Y3%lfvu(MF4P[^hS7NF!l9KiGQ8p7ooA@4$ny3twFV#&K])dl)3zJxh^CWdMPfrw!8quej8TdTc&#y)LYqM*o@p)JicPuLaYg1!!3Hu[gL0X#QpGXy0bHb8[1*$)sein#90noEW(PkqYWSNJfL2^Enzk#(GVAQZcqLqQP&QY4[UD8MiMGI&y8asIXZDUB$6a3NQxz^wM$z6s)1z1euNlzDRFP)DKHzkeT#WzTw1Yc1MVBd(9Fepoox%SobfLCDf08I9m3Uub@XGn(f4&)OMs)R^bcm(3hY3K4Z4OhFq)Wjnvx&f0j8Fmt2vNOAV!77xsB0dpQYKAD%uidKVYqbxl1$KRGl7n#ENsp$y!r$f3Js2FIcl7IfI68QqmV2tgH1QM)&KfmulN7YUlgTGfp[TnV$$N68]i$MID&AvcYmVuTd3vz)7HLAP5BnU9zqKOBYx*g@NRTworr&Ahe))4E[O!#1*W7ej#Gr!kfGIDRkVRXS^[XnUJ9ZmSt6!NP2NPPet^sEGtszckEyr29DYhB2qjtK$nmgZv@(cYOU@itKqqdy!qVhXMklWFqIospjRjaISbf*yW^)u438*]54HXLsmrDZr9[hmjax^Z$WVRvH!7vFPceyqE^!1AJLe4SPDw(YR7TqJUD2[$ZBuO*H0C%0dh@Ciu&T9LeQZFfs9CF^4TyBlKpoX$MyD3PRqq9*M@PS9$!Q%p2Ouzf1XVtb!O4vr%PlMZ)s!Li9Shwsz&gX3[CSykTHQAVmE2il!SrZk7%j]HyBpM6D@6Oo2ftNh#(Q*h!4[dBWsP1C7T]STfgtqHsIR5YMu1NDGeZUonH6tKBdi$ZfQCrZeDEZfAWFeN$^&Ol*pxDr#h6op@g*LGq5vw]4DL$JZ2*5#cCR*!w9pZ3su3dAwJrYm067!I#FzFCvx9@j[bYi8C2jMug@@fmYc6*pIpCC5Wco^]cjdk1PJ1e##3HDjA4rC)ZBpVhf2E[fuyErpFmTndw2g7d#UhTj3vlQEDWEVz&dKnc#6l64%JTHBgEn4NST[lnn^ll]cvJ!o*Z##%!Skxb#QuDs#Zy$H7)%BiuyZcIW)WpAs4(Fm3Y[r6QlN1aMdK18Zb6dRsy(C!GLceK(fvtleqeVEZw]tLZ*h@*%2DkH)e6IdcrX6qddOXvnqSM1!!S&zPDW^5KlJkCycHWZjepuQ$P*I[lfw%E7V9aW&pKNX9E(G5(VezY!Jf)U^Zj5]FUlJ46Vnz6$U5mMlMi#3p[ksB#Mzs5IoV5PTgzTw)^5%1Is[HyWa0AsNZVt5f@mtWr(Df1V&md4S$[(MSP9Uj)3OGuX8j^kw%tnS$&9%r*IloQZVTUsOY^L8Ra#w7Ve6StW(L64d#845IkLbuloeM2oq[34Zczoa7WUh$Sdxj^GliCG)V4cca&lsAkoO^&NB*Xc0FMg@Aw!#SUp($vmwA^K[dQA3dL5te0LE@jsM&!xZ1#vMZZ&J#61t@u$)F74@(1v2nc3EJdobEL)W%sB6]vmcy5ZQhWv(GRsh0e1cC^b6BC23tgYFR@(NBKE8N[EAA#xY!Pk6JQzS$@xTdqZn5&wsj$&DxZ$]JK4Ntpn6bRCLPtKFiPTdTiWv^^N5kqfDcq9RYuLVRE%K#F@PTzP@coAcjMkyi5*G^FAJ5Uf6jDTP@MWoNYhK[0[*ZJp7rpeU&xk3)7&RnNBBgMq(OniU63)!Q4izxxHDlEd[6K!o8MYF(VZdg7KSp(gyNMv%8gSXUrAnVcf8Q4MVHZpX)n@l[KRqm*eNR4H7EjRhhdEd8eJSj@G2[3ubTHel&chcMQMIUE1TcQ2HHcRw38l)#hli85PAobT@H$IV!9CJeO@QZZx3BxbxQMOw79)(U5Kil1bVvC8fh!qAiI*O$8jc#EIFA%fC$c4PICX](vvs@(LkQLRU#zOSQOQn5JnnHLyq[K7LlXz3a[5egr@yBgMUcT$wz*vJbjV7!VK8VV0bllVfwfIIgDR18u7UR&^!^wvUmj#xJQOUpCl#)OH(suhEuxdS2ilSK54%$tk43hnP^T859yX3Z(GdnRsTWYZrsIcuprEHSHHo2UjD1tv@rF*P2jE)4xRU2UB@6kGx([40xH$w0#JygYkFXiRk3Pw#2hSEE#X)qh[z[69dwQiCG&fp4iJYLfYJF]6GJ*kOBlGW!(qb#x9dE)]S^1m*#^zL#WE9X)&tnr5%SC7jtSVtQ6I]kcQo8dusrN(9KaJF)Tj*K6eXM&gQijBN7zpt(#Z3DQ3Ll3XBo8T%pK2O@3YuvsP*o7vM&ovtzri*SRiJSRqnElC9*CtqNxXlnR()PKbyx4RxiBsam7LCGXw&Ki8vt&0GOVDIL(4KZTHo%[Fvj2H2WcLoszUcB1CHAkxDQCuUbGE]Q%3P#$eN4t9hvK4OCOwNe*8keFfBn*X[gRKd]9rP7&kWlLNGxPnfhj8hKw3cy0Y1jlDjoc@lo@vFpF$@uCQZO&zbUHgD^Jo)Ln6C*yjgklKwk)%!)ZxGr*oj*BDSOKNEVis[&ylVH8moU^dvTBtlUG[)boQ7!Gmg)WOTbx7cjdDx%@F18BXHACJ&JTFx)NtuoV0([L5&)BFhLmT*XS]pCConhwwLjFNVefFKAuHUzPN#53#6@A^OvL$jsmzuU(HZ%#oO!tO@H03NK4kjo@FP%[js@4I&1VT4T#qnS#zKFSx$yfof&QJCkN5zU#lFLAn*yTM2EGXYRGu3FU$)nU*EjsynW&ov(4k)4TPjakxMvRiW[7Y$L@uhuw%(D[cVToT0z0V@ZU2Ox)hoQ0hoOJGBO$8x1RbP@88XKeZC]Y@&%MSYiBj@M176lHxE0v@BfHDZEj2w!$o#CK$79yEz]NP$x[6)r^D1axlPG9fnG56HZk74eaUn#cpT6DDisgmx#RTI9jQ9MZkevGbdyqwJ1zsK7TIl&E92(hl*ZCnxIBcA9$wjLtP@8ZwoIfQ&E)xv)Yqw6BGUZkJiX#N1B!iM&!WlmMe4gRMYytWQIV#TXL(SsGbW91Oq983qdDIlbfdkVGEVHlTxNOPDw$teFY3qATE4QjsxW!2gOMUhUif*xYtxoRlCEc@lGMh(^(403oYv0OqxuF%W93yTe@G[#ltr3AJUBozCE0qC2yKn2L97osp04QoXA%WAxb9htKlRtC90QgCGW8sa4Yy3N&NJXRz4&93&JCUS3z[R$ZQwDFGJVW)Ic8SIBb4JgU%33B!9OH1vumV]M$H%iZswEmnDY^x6D9N97oFO@cR1Vrw&XIXig&!G3qAPN#3en(EWKQF!*z&U3ceCGTsjL1$&Wfo]!oS6Z%vm96O9R#67ww%1uwr[ZfA!OuYnedQ3pYE$PA^e0#$QZ49*jeHCQr7w7ZPt#BJGi)EMcTK62rJz1h2TC$$ZVdJeel(YfOh%X5M*Dk*2oCz5@Bc)*u2kUbwrl!@e$$u4Tn99gT3DWISe8lkS(@Rhn8cDAHZf)MZZAN@rN0oCC5jEHhTL4UTzP%QgGtGXL7oqgkVEXmA6Db0jZKii8gOMTlhKaecmzBDwgKU#VW&dsIadm7iCg5JyHnOHiY5ULrkkAh*zeTQzsxIcvo%GjbsQmiUw4[PjTeTFgj%$qFvLT$ebhhWKI1tQ%6vitvFG&xP)niL!GA@[f2J*2*szPJTpVYOWD)i$*)m[PC7!^YOvIlpS!!85teiKHiBLyYm%V@9hhk9eQzDl5LfF^yWJWRD7hKe1TnFH)9TyNwYZZZI!XZL1bF@U@6%!IGysBO^poI@^ArzfkEyZrrro2s$1W@LrZ1YKuCr0Qz%Qjd*6B^H4R[WPsGm#k&Vo3Y)8(&56]f^FBCMU9DTfI7fbUdSMiuFl(%AtfD4NebDlzXMLlPGZdilH@^UbW^utHGBju6#[mI9l2$Xek5I5)ChPGo#WTlg%hN1Rw@tw4#U$nldhM%Y&m!EC99a2jlb%3zn4eNQ$2!s%W)%^r^w)]5DoNp9#g[TTAlSqSSVtIDKe80TGq1GuTFc4OU[u*u17aIPk*QPJkGthV@sYWzlUKKQx&aCjW7^PH%6&NuMlorCo)0*3cFP#Ej6Yn%jgH)7zV&o1eqx)7xosDJ^uDB3KRV5vzYqI5NmP5&ohxinU#x5f%^E8Hy4WFELF%b$w!DLB9Fy8f5aCLfrNUY37l$DoAEVqK2(@]tB&L&4^wYA1!pFUXK[EPYfHZxqq5pP9M0Ir*9eAj#8ur%9ejjIoJTppwg%1qRac8PTT)@44uTFLTW5u4htncfz]#Q9Za(OSVpqvm@TU!(f1t^vg5coQ88OJ)kBV^J0cJhb0CMVWUP0%t!xI4!ABAg8Kp@xVZ[boj%$[OUkIfcBb#ro$DqI$Qwv%O[]lr3k!wCkaGqh1AHMA)WPr6grHwlQild$wSS$@BW#1(Gx8!tT29$W*Ky&W$#)@G[#2*d9Lx)M3]GGz[R%blslFoftDbSNfB*Q^1eGX#$eP5dS[d*qpXr4PZXRvt%*WZ270pYB^M2cUCUouH5d6xKDDUywY4grHZJxk4T%9NX8h1LSfKgzNLVTSTtPu1[7w9Qsf$zRMYBK&KMQk@Q]AR%W4*1h)LP9N79HI7Z!x[l*8Ghl@@b)0g*$vys3Nn#TRsWBE2UtR9lnYumJl!mfM4BBiylxCwGGQzoKAcPId[*nVrsgx!uZo8i2)UufS$(sJn4NKU^$Pd$H@LD3@ayJgD18v7yRuYZSDHulFJ]n5$0hFAQsIeZu*na1oQlS&)MOtnUef5c5%95Uwi6RUiRhCP)N@4@]*tW)3*PI@rOLZCszws6%gbJd32Pb*#(sMh1!HKGhpT1blIKrELqIKw8wg[moTJ[X8CPBb5!)%J8s(l)UpRoV]*2XS5isDInCAOc(F#49rn7%)N@c$P(V4TXbCN46QUesbToAnrqgIlUojwyQpRpYvBuQz9jQkS4EznxfZc*Bx)265IUL*xJ1A$LOkImlKbZ[*D5duF1yOYlQVnDSoU7)XZU7M!@BPGX8$^r7tPnk7cJl$8Q(#JwY[GZz(ffhTp3fTe)kFJLkPt5V*(u#fpz76@$4CT9p[H[43e^z!52PT8hs)EBYyP@qjSY*dJO[4hpHjBX#KVdsHj1BxV3@4e22wT*65US^1$&9ptL(T!dgTMe@KtFeNO]eHqK86Wl0fuH[SM7KZ1mg8xA$GJ$!qV*lfA86TqE9%@d7T4$YnM7qN^W6cVZap$QWGT2607W7df[Vr5cInzygG8W4kQT@eLlX8ydZvn7CNVu9!47*eqc$$jy*OVp&D1t&S2rT#vRkGShrNS)2B9VL3vK@N]q7HfJ[vH5CpLbGqtXSmYjbF[7n1SUzoI9R$2RWs5Ce5ARK9PP3$5&u3QBBg8DMRoT8*KBzj2cLieS3AH(8H[PiS%UfqMmSiCzsz]G0aq06z)#FgL*td$l)STdNUYSuNs5UZ1gFbUErQtgfVGesYnfnJ&3znAHbAws[udje5ol(GkED!7Af9Ql$^It*WO%B^UjZ(gwsXPP!0s4k20fkwaQDm$8qvR56jYsu%gcNB@8sLVpOn2NR%KeQU2Sw)M%bSYWnyq9V09HXk^D0[8M1aji5kJB2BtM*IIAvF8b0DSFV0oGx[(^4%mqJmV2$3xjJFhKcv@zFURy[ieRSK%Y#wbkM)v*JukE[2uwIo!pPbNe02grtWXCJ@QN@pM[!@$PP2f[tL[ZYsAGSzHH]JKsHI8$[2gTb6j*DSQjQhNpLnMnh6zyiXinZQPsg4iZwI)d^gE4%uZBpMUbzo2c[ZOzJKWJmL9kp$T&Zdp&4gf)fdbh%9r!q7t6R46UW7l3%Me^m#Ycz8K^lxRg@8Nv#[9m#qj*FvP8(Tz7QIUrU8@k3qW3x[[#[c6EmvEh@h7sOhs%$@]XF0U1xyvw%boqvFT3SIvwz)KUp2USjGnDW%iBSspMNh(]PCByE3)3j*ylRNkcU9Y[MEmMO]NS[[he^M3ENFz[0[H[SEdN&4E*qFwxkRQ$V[0G)@g8JK(AR@20wH#N[7o#K0e1GFwhiZi[D@Cwox)WxSgkp$UbM(L]UVZ6gbGX^K2rk3qDt$gjT3hDE@fJD%^6UtgBd6E#gm!(NR&&D$jDHmjk2NytaRCaLfToKmdXxFs23@bF)9iLi$PkkNm7A^^L5[^MhA#Xw6*0(Vwp@@RRM3x6FU$lGmAmzJSEBWq(BFhY#VKqV]DxH^vQs0oLTXyB1ecG3JdIJdX*WMYRAIJsy6arMp8qp^C&rObl(M]%!d]Z[IcBIo7PZLSNJ1%*zimbu[PUzcZ)Bwm97#ul3*f52[hHmowAROb@UHT9bL23I7x6k#K0D(IL601Kn9$x5JUk#YtL80z7OD3W&cv8#CDZ2)&n[*hmAeAsZt@X$%&Or$PHGX[8XF3LW^xNdJdRQp$4ABE3kTe)S0HrkRqfnuQEkm1uDswFxH&7v7CIsVxIzRufmBdZLKk1We5!#6DRIj7D&SQinV^3tv)^AeM4^rLt)%6OYhm$C)8kQRSsT@g2rS17j#D[gWru!oa4p%fzcW69yPkB@p^[EZzFcirb1aZ50Q2fR$m9rTI9UJpv)IDR3pyQkrVgeAA6E$Pq#Ob]06$p)rDbf@TIlGRggM1fBQGf2wM5Q)my&fidg%JjQbgSXE4(Zl)rIMqXc#A2lYtYhAGGrA^1t$B46D2&OGk0vnG2%Hhtwv&JYUT8DcOudGVaBvy&d[o9cvJkEz!nJU*5^YS!P$kON0D1MPWvudv&L3d#u@[@S0DYtRQ]v]LPN7YqvRAdZzzKO5h9n2QUXDCr2T7jnzbq*wDPC9RsD2bK$LnWjZ@v7rqh$*INbYa]FqHXFx$IAzme^!W*Iy#*8e*rjcgVC)KpliizHm(PNENyUR0L%SKYJCXFmcllBH#IfJ&sTpbosBP7d1LDVgB#Kn*PCpQ2g9DghxICdPO2[B#KApYgw4dpQs5@SjFSM86KrsP0OOons6#RWGJ3gQX8N22ACzI5s8tv9PDO)EofRZxq8QM7F1CqTxL[X[^L6qE*ylrnZD(7S5zMQz5u5jUOz0*HBxVzddFsNKGQI80]84Cu23U1QpPEJuJfHQ2vl3uw&ojhbsK1Dy$*pVjn@W3z3a(dhF#wzg7vSdt6OHWyqnCUa1y(3f8^pf(K@uV6iunv(Jcxr!gAOcF[&sIBy6XnSu%jtHLvvFNt)Xumdz8B*[O$MdoNcekSBJhsdNO8KX*2G6IpfzgB*jEskSnavIeT*cHee^VMB0&MLxPnuBn[a(zf4xS^Y2hl)h[QfEJSuKZuWdPuWIr)N$ab7irhngnStp%AiIR2(lTO@L038xMqX5J70S5(mrWgmN79n0lPqsjQib51^S%6k3$%*&s[1hr(5KYi@PbWnFWtvIANR[Cknqf^M2U%j22ZDruD5JyCxLvR]5)hmPzLKf(B]xG!9JPHl8n[F8ZIU^ajy&I7E$!2sP9cr8VFVdSmBr7UHmhlaOWJ@FdX)C^ff18EN%RqWo7Lvv1tNHSpwRxkx4w(G0KXm^5uWK9Q%dLNJzY8lABc[fD1t67G6ziW^&2h5ZXPN3g#LnI4(KDgNx^XK#A!S(zQPw2SbXlSnnSd*H3@@(pqEC4g))gg$o9NjcBx*uYEBG1qJ!y1PeI5dPAqQNIt1a*]m!)9vL2GyvpjPAPIH$uRwrV*M5fs1#jHXos$GhOCrHnvCirpLj9*opbjUx)y*WNsFv3AYnhOCsc4@bwnMm6ysI1Y9)X(Hh!^c$zp^zu35p0YvpP^CN$]OZhO(tdtvD0^5II)I$dtmFDIIc^$[2hY)[2N8V8O%g@kh6ZoKuqSB1&YjGnwxO8f(b@u%HnX83se!WKme6zON6!7cT%qlxS@oq^zpju4KK2eS$kiSuZlZ5lvdlt@cvujl1$*XfLxu]oQhpTvw]!0ZLAx95Xx#uw&(MeF([iyh*&q$UDL5J7bSu(B*%8S2yMu(rSV%CgUWPnY]n(^XSHbxqeD!vWdk(wMqh1YR4g0MxlbG[ULF36NCJX03*Rkr7#$PzGWt17lk4b*BW*Z%XQ@PyOoMwzLUiCCLjzjS*kH1Mb0ZX4jJ%4cM)4qHlw72sGq#bQ3dM558#rjSo5i15S9Rmzsc)Q04WlE4xQixImvF85Sh5Z(H4*S8%6T%fLHX9O)cGaZs9o[xs3PDDTf6r!TWU@cGDK0]fm!mq%syhGN$wfd#r]1fWg4Ky&O[7Gz1434zME%xl1tiC0xsKI82p8$RY0gXsceMGQmNKz0NubNwpo7jF7(nxxpSUWm7OVGuCwYxRGz!drw@E6h([Q58SxvzTK%CJR3HZS&Eo4M9moLf1KOzqDL(lNkT&LEiZ!QzAaO8oY#[qupD6bo78Q8TvxB%s[n49VompW^FC66rS$NdkAHvp!kG*U(725qlx$PReQPOJPJpljdxfvvDcIl44F#42Uwb#dIvfk2Fr4&J^s1mkTsif6bvUZ6OU)kr2!rQxgOX1Mn6K0xp6#ctR4sq@B3IC4WkBotwm4@I71pBOS1KtZV4YSm[7izV#3qQh(pOjhRBLF$z70dYAyO!5Y1B($Cx0Lw24&k2fpz[OHj6iAdaDhEK%[GS]doNa4jNGIw*!ujHHpY7*w@gmgTQEBaDk0Qvi6UdAAwhNW)iS2[r$*Tjj%(xrqK6xHtP0SSys9#7@9@1ao)twY%@2b3yPN8k)@*iI6zfPbC9Li6PFC!Eq$x@XI%mMPKimP[W%itxJG&2pBXJ*J$@0r1Uqb5qt[1OyoXA54#3hEGHjgo7ZwEw5a@r#IdnBAB^c3e)Pww*dMfCgR9P&)x4o2yLwRcYv4&*QS%BCi9Bb81bZoC]*KTy%8nF0l(7PK[%pqDdnelbrsGbz]sy6A)1cKC5ocCuwu4l04M!])FwG!R1&!rsl68^AxH#dcw0q4@bI([z[AodfmW34*[h*U*2wvQ6Zoxp3HEeNGI*X!&WKfjqJnVw^qHWd9Uj0dJIVeG&FL!z0ktSd&lB6wBnY#znNHP3()rg!FusT9On!@5W22Y7a#9sGOC@Ff$D^DhIQ3J9HaFGIVgYVMFWkIWV2*Ik[c*zWLAe#kRuqnDTMA#0mz^$)DHceZ)Tqv38)Z0GYoi%#*Pt*oYZ9nDo3LMEsxN4BEiacf98yZ)7]ycQkY8$vvkqHeGW[cO3&A7PyP)qsM68gpv%*4$zvHl^C*9y$IQ2CjJXg3&QsP$hR4NFdLSry*@@D#ekKsgf@%0ETmN]ANp#(CY51HIicVa[pS*T7eCJV[yzj(abhKAhcZ5247LG97O&ttU[H7bINESM4hFx7IyjnMsofpHP6oRl%FTPM[X)mXNUno6qKccI)rjqv8mhUMk31IjKEWmTn(u$5oA*bPnO@FxZCd3JVhINS2cxTAun%$Xj9lHYLAiWL7$xCZs)P[dYTK0%t$LkT32colMQUzb5XjI[![ipAjXtPtZL4%pYJhsnS@e@#Re1^E[DXYoD(6',
|
|
167
|
+
'part_load_balance': '',
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
syncRules = SyncRules(a)
|
|
171
|
+
r = syncRules.createSyncRules(body)
|
|
172
|
+
print(r[0])
|
|
173
|
+
assert r[0]['ret'] == 200
|
|
174
|
+
write(r[0], 'SyncRules', 'createSyncRules', body)
|
|
175
|
+
|
|
176
|
+
def testModifySyncRules(self):
|
|
177
|
+
a = Auth(username, pwd)
|
|
178
|
+
body = {
|
|
179
|
+
'row_map_mode': 'rowid',
|
|
180
|
+
'map_type': 'user',
|
|
181
|
+
'table_map': [{},],
|
|
182
|
+
'dbmap_topic': '',
|
|
183
|
+
'sync_mode': 1,
|
|
184
|
+
'start_scn': 1,
|
|
185
|
+
'full_sync_settings': {
|
|
186
|
+
'keep_exist_table': 0,
|
|
187
|
+
'keep_table': 0,
|
|
188
|
+
'load_mode': 'direct',
|
|
189
|
+
'ld_dir_opt': 0,
|
|
190
|
+
'his_thread': 1,
|
|
191
|
+
'try_split_part_table': 0,
|
|
192
|
+
'concurrent_table': [
|
|
193
|
+
'hello.world',],},
|
|
194
|
+
'full_sync_obj_filter': {
|
|
195
|
+
'full_sync_obj_data': [
|
|
196
|
+
'PROCEDURE',
|
|
197
|
+
'PACKAGE',
|
|
198
|
+
'PACKAGE BODY',
|
|
199
|
+
'DATABASE LINK',
|
|
200
|
+
'OLD JOB',
|
|
201
|
+
'JOB',
|
|
202
|
+
'PRIVS',
|
|
203
|
+
'CONSTRAINT',
|
|
204
|
+
'JAVA RESOURCE',
|
|
205
|
+
'JAVA SOURCE',],},
|
|
206
|
+
'inc_sync_ddl_filter': {
|
|
207
|
+
'inc_sync_ddl_data': [
|
|
208
|
+
'INDEX',
|
|
209
|
+
'VIEW',
|
|
210
|
+
'FUNCTION',],},
|
|
211
|
+
'filter_table_settings': {
|
|
212
|
+
'exclude_table': [
|
|
213
|
+
'hh.ww',],},
|
|
214
|
+
'etl_settings': {
|
|
215
|
+
'etl_table': [{
|
|
216
|
+
'oprType': 'IRP',
|
|
217
|
+
'table': '',
|
|
218
|
+
'user': '',
|
|
219
|
+
'process': 'SKIP',
|
|
220
|
+
'addInfo': '',},],},
|
|
221
|
+
'start_rule_now': 0,
|
|
222
|
+
'storage_settings': {
|
|
223
|
+
'src_max_mem': 512,
|
|
224
|
+
'src_max_disk': 5000,
|
|
225
|
+
'txn_max_mem': 10000,
|
|
226
|
+
'tf_max_size': 100,
|
|
227
|
+
'tgt_extern_table': '',},
|
|
228
|
+
'error_handling': {
|
|
229
|
+
'load_err_set': 'continue',
|
|
230
|
+
'drp': 'ignore',
|
|
231
|
+
'irp': 'irpafterdel',
|
|
232
|
+
'urp': 'toirp',},
|
|
233
|
+
'table_space_map': {
|
|
234
|
+
'tgt_table_space': '',
|
|
235
|
+
'table_mapping_way': 'ptop',
|
|
236
|
+
'table_path_map': {
|
|
237
|
+
'ddd': 'sss',
|
|
238
|
+
'ddd1': 'sss1',},
|
|
239
|
+
'table_space_name': {
|
|
240
|
+
'qq': 'ss',},},
|
|
241
|
+
'other_settings': {
|
|
242
|
+
'keep_dyn_data': 0,
|
|
243
|
+
'dyn_thread': 1,
|
|
244
|
+
'dly_constraint_load': 0,
|
|
245
|
+
'zip_level': 0,
|
|
246
|
+
'ddl_cv': 0,
|
|
247
|
+
'keep_bad_act': 0,
|
|
248
|
+
'keep_usr_pwd': 1,
|
|
249
|
+
'convert_urp_of_key': 0,
|
|
250
|
+
'ignore_foreign_key': 0,},
|
|
251
|
+
'bw_settings': {
|
|
252
|
+
'bw_limit': '"12*00:00-13:00*40M,3*00:00-13:00*40M"',},
|
|
253
|
+
'biz_grp_list': [],
|
|
254
|
+
'part_load_balance': '',
|
|
255
|
+
'kafka_time_out': '&kwZYr)nOZvE&(4d!AseJMb2JRcseOpII8Pki(oINfx[EZX0oj(1siOBaTWRHcoHLrKIZ*eODNWdZw#LPI9Ehihq^7zqFrmQt0V3xdlMScyCfcO$A19bOmm^gASLb@to7X$q3$&B%5fq*3V0UQ&oy!qlHAP!d&!55Ngqcj*G]kcs2eHINE$ZKZ@xIi%5gcS^ZIqFuRdILYbj7p4idp%liWM6(GR00Dmb*RDIQKDxc1QqqGvwND(M!!!gI]86phGzP1Uf(KnQo6sMiAw%AAIsHw)VmmdpGF)wpG9EiM3I&87xArFFD25#6^WZh9$)@ZIE#a)giqeNosd#&t4$hQnLXsrIeOZBzX@@qfFmZjW2pW[2Jn$^WeZm9C^BFOfnu@uCJBqFsdQl@l8OLQMhDWhvH@fF!@LUQcf^tXtE[9)1KkiyUc]QcIrg]dhYbRUpiE(Iz6k^RvB16omhkqI@HyF]0G!)b4OB0&BgjM9ylugSf1dKyI)8XjbK977S42uzFJm0vZ%ENE&FuP9X1)gX0Lv*WqlZHY@Pp!Y(D4@QVC3hhNo[x9yczxQ2#K5UjJQECQW#[AQIe@%AKPm&WE6(NQzgD4V0c0TQW&*IOA)q%KUD0Tb5gqLjFo9T3wWVf0YGKZGarZpU)&KEe^]8*Qs%&E]X2)Nsgh#!3elEUJ17&UL*aN^g#bK9^neH&NXy[dwc$kGs(PyGnb&5vxHJ8)3hV3CKq(LLxNYUugIlyN7qSl9jPZEqSYTUS*dHTGgGokd)6wIGR$@u5r*J2SiYWB)hePQ!8O)M4MpsGKGzwy%EfEj49^549^E[8BiY(TaJc1ooYybuOhwmgeN&kRzO0nhnBD^((%WlQkwWA4CG[A*0zE2K3$lE)a3l$jFmjb1lmxiAPYusIxP!4G(DaG#dtNWtOT!@WP$Y0EkeI068TH^l$PtSd*5r2d9nyvs4rr$AtCIFPmW)6heN*%TqDpLfYELNqc44yr^1R)K!kwfAR#EN@EUZjULzVhTZjvT$iICoET&5(dH8Klxx0fY$9tA)g*5hRJ)t&OhJG#a^ATq2w!NnwM)xfzRASppKF)p9tMFOvOmj^Y9U!u@dUP5033NTLCJbuuFVcDoIxiCh1WkR%e^YO)Y)XJDul!wdpRGXaA7MPy3Z[kpW8W90!Gou&C@1%G4Yojh^4nvpICP^H@AdbdQUFFhoD4[FQih(!MV8umgs(dY5yf8yDt^lS)kb0XMdBVG&ZyrPt29eSf&pXT*(oHi37Hz5XoqY@SAs6u4JouWBGKvmm0wHLrM%05Gl@%X9%X1Y2CsXuzQ]fddurCSnJcqb#)HJbqawrvdr2XgOXjBXw8ikb$LC]8&&GSGao#SNnZfx0y2iL0mZyDVqBGGT*KjvblAfIyu^NI@$BZYi31vJUMBS]X0rp(W1AwahP^1ovmcyCwJhaH%[pNTlDN@TGGUO$UKjVENxSN6NP4iDIy$$ckPQ2egPLTE$HlkGsD$3JwSSSYpdyw$tZD6FZL)gyN29UdY@(3De(^c[hF9Wwi8skSop%c[FIcDK$NEn9L^v3p6xR($AQzMU2FQe8A19TCDy1Vqb0tc^DzgcAJv#gQ]1CNmsm2Pwd3B[ZxCX8wiaqvAqc&5GldMZ!KIFX941U7c8%92tv25ov3HEY@u2#1]qHvGvNz0pN2!FX5WVI^[B)96RBprB^l]]%Ej%O9SPoxN@[hrX(DUbRXYA$**zd8t3sMmt4C(iC%yru1gz!^eW!qs!L*TCTzTyOx5cUr9p0o8c*D8MN#d[^6rY7Pp9Rz8)OgJo^t8446%^Ycf9*un(l[[6mUK%sRmQRzFRM5@mTPK)ZDyGiYQUQ&g3SQ)AY%hInqSIplGjdeQL7$sK[9vGECegAprCksB0nP])&)dGySBnyR@Qg3C*pEY1XqOuZwRZolc@)&dWMl@Ieqvk9Nnz[e^p6lV$rZR&&djjWgbtJ&N#!FMtY5W4b[s[%6T2vt9x5r&6jAc1^(zSJxtseTHN@fNvfJfe7eKDbUDl&%dBh]OaaKoL1)v7DXk(qGxtC[@Xns2F9^teAV$CHSuUV9UoV2p&XUPX5BTC%qu3Z7vWq4dWj1)IPTCZ7mZS89!UEPF)yzP%*YeLCu76KO%QOq4a53W7k3#g(VguSR^@(EO8Ga@fi!JPEi2JU5o7F%y@Vm94GOWK6h&YxsJ4Xum@XTY1z43LVQNLzeYHAcG0TF8]iiC2(Ep^cZyqF14bRI7LM&WQbiDFYH12ix2dm0LpaYirPFX3W&kA&!vGL6GZF@NxOx#g]3YEzS7Kezhybs31Nn*J$5kHQu5&8**#GAyG4MG[EDhLDYgOW)^7CMgDbCEl)sTA%b@fwYn&tf7tS5RNk57c2py#4xvm%3ufWf5yV*aTGGVAo$uPnxt4[s57&*LSiSE@tUm^OsK2bP6[Q02&%aEwezWx*2tUUFfUW6$iRaifowYGWL$24l[$Hv*vU*HD6UtALr56d!R0i[yz#uy5DH71RTi*1Y(7KT#7K2zPb#q[PdWvJ#16WhOlgmJIy(ILOY6ofI3CdftI7ugQb&UaR#6HN2*ucyK!IeKAqfMaLc!D9OnnjRim$4!4%bD(fe&7X5FyL%WANc(zzlatYf4MYYiUT[!1M&uVo2Cr6SYwqJbw8gyr#A5)MP1ZtR)(AC*@zBcL)[hBGc#sisU1aT&&iAW6AlOjq$uhR)^YV9%vRKQdg3Wb3^H(qs@8J0@pHM[NL6mPVhuLri92Nm5SfQAtR&clP8XG3B)CRS65Lf$hI%ozBJf[1[g5@tL91tow[e3@@BY#I@e*GbUmGu[sIM[hv%RB$UfYGSKF3U3!O^g0Dqb&q&!h0C0VwaUzX&g)9rI28m(l#^9t(R2Lq#hXSZ2I%c$WhZPKnekKpo!7shMoUums!UMAaY5lHeUShXq6*@s7DpY9i%%20mrk7Dp4C[sVpnMM3u]Kq%Ejc^@^2fYQdlX#rId@xiq!W4RkzOI1V^G9@Jzr*m1J!#RM0UMCLRPOL)5tV2!Nx)iM5T4f7W%Ft^CnRvy#Z1*@yODTR#oZY@VLAYQ6F2)Xx6&O*$14OHH#!Xq&[rf8tXWLaLSH#ZxWVtFRXgk$EW0ky$XbUVx&sez%7chJlLHz!I8(4U1LgUbcD03*#e4S@LVp^oU98RElej(n6%hVFaWuT@TD9q@0jCGn5^t]TX[GLwcqRGQM^^4$V5W$H(lYVR[CCbTWliMhZKv0)fQXrlZdeKCQzR*UIACF30XW6rP2[ArNvlET*14Gz*oYrVnjTeZZp)6Fpi7CDzQH^GAWMI[iY7UBAbsKiBBb02Msc5D(pwbdLgPKq%ixRzAwbpj8ddTHuj5lVzM$s)d0DEAB@86[wpjh039MpXPUac78zFr4AU]s(&1&Wd^hj9&p6pF))dD*tEUmqJmgNRtO&tIEgdpaeXNLbKIjC1Ci!rvsK[^XvTZuA4TOQyEdIfU7Q7fiCVGm&*1FqOg(c1]2lgFBNhZB5Oi$QWKpZ^n#FE%OiYH3CzSHtTqGZ1g9iR[1c@Nd@zDijYSUBGNjrPJCT$8&xdiUqd(NuE^zNqmKRWSD5eXt*vq*yjx1KbrT1&3HA&(hD2clN!NK!7TpX@jCyN#m[DzQ9A6ln9AE&[N2uH3Gf2W(r$^1Lc34!aYoYLCNDf$A)Zvv23x74OHQdlEOG3EscuVqtmBc2oC2^%Bp13BSsHkG71LJi$zTtn[$lPDD(DM%j6CUf^0zVDkODl7lyGkA*JOQA)SvqEgW!mWTVwf&sy@E2PAUnsE2iHqoU*dsGIIi#Eyk%yk(ubiWHHL99K1xNgIx6(2*D38Uv]EhrizHw[P$*b]K[LUw1MgPqNC^@]@qCl(xdchTj*)[4Qlr$q)PsF($@C$PU!6eN%y(HeA$e8ocZe9Subg!CLF9yquFjGDg2#&kAQK)bGq$WKL6rPp(CW))nAmyZElmp]dkxPb8vrusC![P8AjvGzH7!eKA4r@UH5Qmjm0C#)ezr%r8ckv0Ql0xMRVPF1KEq]rr7R7hDDJHIC^)t5wmFZs5oK35QIMWjZXx)5ZNNI4LwE5KeM)e1W3&&bDw4rEOx40X]zd1oQsQ5EhY6YPD13*nQPx$!4lovD8#I(DBpX]FOs#lU7CVrVouDW@Ul9bPNfIT)5(x)Ecek$tn$^sWtfBQfzuv$W3kZ*y1LCyBHXo(gKDirRyHVc@HEOrDxU6CfTXY*d!NIAPJpBN5GUg5wLJ0Amlu@WFZSy&OopB%7otxU[d!G9c11el5KdnTIhcVxqp@cx*FkECS3F7rJ(r!v5XWMI4K(#^7[E#C&ewW5LP&JA4eYJw!*wX!7Rld%4fJn4&u)@*vaDm0dzuq0GjUGwNFtMUnoAY]5yF*An9W37Cm)33UxXbe03iyVoKcvFk93o!75NeA)1OyQFEo%GmVvr!vi2!)0nTYyrH1xLF%E!82A$^BqtgZueo[[2trJlfa#5ljy#6ZWnYwLXqpbF7g&9wCqZezgPUY9SBS*UF]sdm5kwHVqO1(t6DvwjU&$%qUdT8sW5Mbd#iXBEv06uoE3Pzm[x2Js9w[doM)CKtLSzuuDKUB4NqnidIhLIy&f&[[taX7yeYpcB6y[j9sbe^s9ggvY5%048KaatYFZSF&SHB)3OBId9NUFx*VhXZTFiz6DI@SDfJ$X#nwdl^20kaPhM7Ew8pTrkUIYROZ0Wu#VlJiejk#@C$IRiFDXTLX5i[1YnW8DEU%H6o(%FIzmH^er0Q0xzmArTFHaT04fVJJXwn34@h!2SMC0%g[E%E43@5V0ZP#KgJKE@KUk9!$S79kp^A3gt6TO2WvwBdIlys8oeBlmIg[N^u)!W9PSISi5f[nYvzbyrRUcEVSIIsvj4C9jb6hLZ9YKaq%viFMX(Wiy#vS9I%%$1j^sQf#&9ble%%HtEGpb#u[(jTVxBhqfeC@^fM@EILbD5%ofcgCRdrTZN@@3Z]hon%^YtTg]VFFoMuIzGXWuH39YnY5C406s2gfs61&sTyQRGQs(PDMnNEP4J*o]9YF$[#dveTEyhri$w9w6iZ*Hw3QGHWk^R6v2Fso*w50lTTk]db0R]rqVYSNW5t8RT4[W%9C5xhHlU!ag&rRGUU6QEp%oJLw$(wy^[ruvuYMwyGwXi)jXHGXE0lM[tpf@Z%Ok@d8DYstxs&uYe[Z(Gn@X9IP(Tt9XuMJ*yH!Nzo6^f5Rf!A3i35Ho%j6#DeChohVQFHuYmCccB@x)KVIMG![Nji#OlWzsHsXNxL1mAj$VC4qf)7keFE^my6sFOG$YEscypE(dQFDm!LYcX)hhUkdZX#H7NLircVj[gy^DdQjqktmG4#IsQ*ubAOCXBm9tSe7#Qo^#*QHF%Jzx^jC0601DgBF!98dfStfAl8lq(*a3mCxchQWoeqZycv9XqKr7ZbWAM^@EgMl^fludVCZcgO@zHGe1oqfInchEv&#(2*fhbQi9GP5I^cAZ&X2Wpe^spFj%wo%0w$T6*GdT8BfWVpMJgtB%6LO0CO!tv7gVYmTWl$4gEiU3[&)#CMBvp@M%of3g9ETQMrjrVb6dAA*1Mj6mI(Fu!zYRyQx1eWaVkK4QXqrYz(b7522w8n38j6$H#EWtTrFwdEsL0MvTvZWi6jOrUnlk5PqUJUN*BKp^@X1cX^BzWZNAOjAZMLAHF(X@unLy3gp$rt0t3zkcMuELi#d%DHLoORiXbU1WC![9thMnHzB70niyX@YdlCMOo!7BdFUEujy%1skX7i(#WNtvrmu[UiB35KRL2F5WHqj&FWfrqZiV45tDjaG0sltT0XlY&OoAfZQ2ZqWKmcOJQhljo89t()9pznmsy$&z5kQ&l1Nk!S3289Q)X]t(VB6^f@qm#r&CJ!myJ$nFYffyB5BsqbchJjGI5YeBZIRmSh@lVwI8vOmwN505IkWDi8w[57qyhnpUkHkAn$AV%yp7)SEXpSGDAfxTCQ6zj$Qe7ASWipIUzV%[Chy0mI3lRlK4K@mv4nrpcrNv8p4jsYX3YhXrxL5YH&#h*@J^3TQ%o!5OQgt%8E[rSCZz9Kl*hT%BwYg0cg8UU9CL7*YkzpJnAkXz1mmD0W^EKywFIoSTlGsn0Oi[Om$JL%eP%Wdtpz3qn[ehY9mV^Mzpn9XSSrciDcoZPI&qxE6KiUs&3[wTC9$!cIF07yc4tHpoL%30FmypGXAw^s&KClp@@^59BoLYE&2IGA9iZyTb*TwZMGf1gbKGr2QSPS6@MAbmf@1CnHTelF^vvWM(ALpwp#@#)JGG1&YDW#upHQ6DBMDR$SCYkAv)kbC4ET[3JGnrTwCnC&mNZ@E4*VPJGHj5FWhq86wBJP$K^D2XOrYj8@hbfJx)8kOY0zn@Bbtvic57661pn*0ou^jqrMyO0ZL!59iImOHtgYcqe%Csht!iuTzBLqM$07^avG[wV61ZKsC@MP8ZzsOT68K^7k7vv4a%yg8p8t6$nN3LW0mnZ#Z2[3hP*SPJqcY0Jmn1v)cRLkIyJjDTl(NOTQ4JrY%c$dJ(ezvMx8eR%!9N9@hOecViwmjZSx87NWiQk)b67U]gUi#IQP^FuqlKn$p[6Z3g4tYYYp$(#SuevzwLpAqBqD(h@WDReT@#Fl6P24VxlGwT*JGe[pnTp(!jgjo5TCASdB3rzLxCIV95dMDVy(@AdqYezCOfk^O2JnWKh2lLZcc5Ft05H!fHb^l7oTJ*u4GdHoTgdmJIr(A*2d&YSwiF5ynke%RGrNlR&Ht2f6LZcOO!1UCiS&2Q#Nr7NmkRf9*DEEZRDSWdn2XAKNW6pMwh9g#yMYv(4ox5PJkAqCP16V36YR#Q1G&T4n5pRQY&&TyfnrUg6Q%%4S0&C9@Gv$QRnWZP9A[Id@sMYFxDb([*ZBO^qStmIR7Euno07NmtPPGBugj(4$4i2IRdv6!I3Dn163rd&2)qSAfILN88bP11V15N3tu!(soS)vDxg)XpFS^XfFHn$xAVq$(oCG1q[IPtG[awl8JX*6fbg0nh&kti$jZ5z%G%UZRfMv45H^8oMzZf@5COMH(j!reH*@vXj!JDI%%#iub9M7^oks*uvuiEWL0(PMez0mN69nu7w(ch9$INH(GEg$3U*LZe1P*S^YifFWTyMyNs6Oiu5RU38clD9hbOu94#YdR]aroIrntl$JNfBMZ8fRRg$J[4ERL56c8uOpId$J[KP2iAM2Np6xVgjB7Evo*X*Y^ZX1(xrOn&mx)a9jQ%l^R6kdF6ocqzzW3hH!3COz^G2ORBg%id$ocUtFcp$OxzMDxjyN6v14W1WYVTAdqyecKM[s32hSClVBTu6y)$VBqWEq[)tn&7V*Z1yhTlPWVjSF(@&xd2f[LU5iyruz2Qx)6uwu0CsNxp6&$[PPlJ&heYSA$!BzPs7cO)2G6D3Pk)5ZqD$Y9dz*y(YE%T9KV&rJ@*lp20L0O1f5O468fDbbrhGOuF@e5TS#[NikVKjqGc@@zKgaMqQgvP3G#$ka@hy[J5Rl(&1n7r6s2RmvRjy036I%UkK0SC$C!Gp[*q5TLA3iBofp@0BJrE0Rio)^r4K26buPNz20w(ef#(KNDZ95@*IMe!68WXizH4yMu@FYjDdzdEb6isWtFycgHOlA*uh0RcB*c&Dn1#80q8RofYWXD06!bV9(N#wYqJdydYHv4Z)xqZkgrZPj!UgpCssX#yRANKP%a)JwLlotc!X6py^spAfYf8o9N](Cb5!*Jw2mmRoOnGqc*b5(I1TkdrWIxKb&guu5zZ5V&%C^qYj8QL!s5Tgs)KniH6hChA$h)]gpjbxYPXOgK(Wdk!xVyIK$IFSSOP!2b2MZRGa#6X#IDJE$4MQ@qBlN)QF)TcnR7uWL![yut*SJVp#n%sKFalkOADVdFnsfQs2&uU*UUPoZSPNaMnlvJM]bkje)yv!lfN^VI2mzGexax[lRIwnkoAtK*6K^B$A3pt4L%1GpC#p3fj8hRIvR43H^NV1YTZEA*HJ0MV)]VSg1HBt)Y2trd[h)2tXuNK@ciqrNLPwm47jR#pCc#UwmmMrS7*K&(Ee%I)!8egK3GsKuVq5z^Veoxa@nq8Hd!aULTXI4wnVUUNm[7ZNm)qCD(F#q0fApnU8wufM8WuNkfgfu0WP[nfWuISRX0fRQxX)zfK#qNg9F!FOB4^w(2mAt1Wf6!dWlUs6lNkwIehT)qt^VwmkgP3vku6CWDiTjQA@0Jg4tdDBI07muVB(1p(y4tN7%Ym&NW^pyUWHC&)@FPOhZBJ3j(kiH#qYGSv#ihTHmMBvw@45s]jQzyP0He&3hHE3lvti%^AU&5s#Y*aSJ#T[8trpu%*x3ZmOSbX2GUOAKiTPVxqij%Y@mJFq[MBSKFPPZHJBrd*NDcj4D&[Qb[5ktrwlDS[UE@Se1El#0WNFH^LdgOi*V)j[SsfG8yLBYJ22Q25[)5b$2p3Z6)Vg2ex15byv3)TC7%UnsVlVOWC[%zblMmbz(*O[Nd%QS#o6Hv9toA52HxokMjb90tV7%FYTT4KX!uRls%wi]HFAN@!!KUF5ndbr]9IQ($0c8t4rAyRrexk]xqIe#Mx[t6(TWXEHQ^IVvZXE9V1a%FNUSQIi4A!c5QtrFwrs^cUCf4vr)xPysxCPDQbpurOz]@D[iUBKrUYPUhTY[C#TwSB8exbM*3S7dByz#aTz0vz6r7NR)j!Rlb$S#00RKo!XAjLXz1VzK!EHwNphW%l@339tl5YLHTnf[iE@*Cl&jikKH@L5eJ)S#CRNG!JKC1I6(kfNt5CMlTZA8svhn^NxD0NxMk(BxNFw3o*Is2Z#JLW5wk%Es92!03b)oDM%V2b4QwWKudv(kPoMW%r[4@DKHk4q$%r&%VOD3[))3X1BimnmnuCUDXrhasPj3OF7*XtMD2t9AJg%&d0urxjyzU%)gS)UrAfRs]&BHOg!884kk#J%Mv6sehukAHevB88Ab(PYy*kJ(Gl@bNYTK^gnfbrqtI&^Bb@XjPh&Ul60fPEm4@p&O#gZnk*UMV@WHiC)3KpdBX1C3lXmklFvNIk!G118y#%oD[*YJ*jZkJdpki$5P@yzeujUNbARfiQ#F(OpIycJYyg4&T!&RM$4v(bjjK*5TVnw93dfP*@)6ZxEXIOR15Bb0pHLF(Z1RXBZR)lMY4g^qm1Rb[6dip835f@hp#pMwgE1PLdy*Sb11nOuGFHgfkf*!UcL]87CJvF13[Z1otcGGdg(7#a8fIzj3pTAYj@))hzl%pDCGjFW1*kNh6]N@QK1d&XUP8F^$91az#Aofq6jrkOAqbPemhyKxPr@a1HEQo3OD3*3)5@%pK$rTOX0!%$5gF#LYu%lL&ASZ*elnc$[YdH1xyby2H6Yme@l4lgxeg#C5bgNZbFbLKijI675VG#*)tEyl&FnxxwYd9DznRl5y08^YsA3T50dMBp8sNZ3Lou5tHjq6HcOYq2s@$H4^@$[%[y^i&qRk7K!a(NX@7Aulj)zOEnLObLbLm@FjH0J$fq5!L0BVV0lTcaKQtFdwYCu%&2y&8h*7^$4)F(rY14rPCNEs3Q)4!XhxP8(*6p3@LS$yy)0jDkbLnVmNKUMz877lV#6Hi!01Y6@Ex(FVHeOAdnv&jCKvbNU)q&NU3r8V2YZL0grAxDbZ!1[qHZ4th%UfQ9UqF(2npC8KNv9TS!&1P1QU71QJJ3S&dK93sCr%sT7[65A5mXB0(7tk8rC93L[8CtxsA@5Q$V!uyd2OE]DJ[twx!yM9v2XH*@!eK45%GyFaTH@y5NshqN2nNO@eEJc%#5d[sgrH8Qbn@afks]eNXvJEHio6KQwz7rvwvVYYHBpCf)2GSZANPn5frpgAAxBK7ki2hTb8CU7lHq2CTbLNemVzsox%f#Y@mhC1AL4dGzGt%u(zmV1O3&Wtf1eAn(S&4o8)CbHrRXZq9)UNV#2MI4B$c[yC@3k]4nESknwHW^NtMlN!37X&Z&WtQ3u&K6WeWxU%C4PweQm4NJK*dLKoigkSfEcwM1Vz67muzXu)bFT%7Q8lE8Ow0wkhL!hEfz6@wSVV[sI4pNJewGykBu*](G[$*2YkSt)DMk#sLJp1yjQvJFLzxp3JYTp^RVcHg54lG7odLjN5sZgcw81zYuNjUH5pN&Fsq62^1WhZ9EP2hlbL*fTu*M2F1xYuSmy#vpKXf^9ZgjJUw[*v)X*[InXQd]ckrqYfIu^jZDSrZpQC!w)ijuCxFY7O8CZoCGLsqbA3*5rzY(^UF54(@%26ei#(Yo)z*FnmneYj)p6RKC*11O!Nosj*QJ!g6)aCEnoa1n^A7g&yJ18SQE8X8MVLg!YKB3uG!9B4JHK(E3jPkYRTu8ozy$&$nspKCPt#J$X1WAmMM28pLAec9#Ptm1KBErNkfYI*ZLC41E9&N&7p2%%viQAGCRbR$q1#1@sD4!nD8e3SUy3tp^]Erb3nMLsCB5e5(VzLymWrzeH2q9ERL25Tr7I8AILm3mtWu1j2vi*yjNhn8)jquq0vQLD*7*lRS4fUBY0aif7Mz@FxsQNEC9DDgUASRFYBIfE$Mu5H!%%[NymRXOO4fgPsZGf[MMT!yHhPAfsAHmXI3U6d5[Qw^lE31R&1#ea(tQROS&xm#pV8#M6B3Uv5I9Y6Kq2Q)CKhBVqHAKXY6&c&m&uwDZpbpsSRETL1yyc)w11%BTttz1JAiXF^N^owrLD3Q!tliFaCVNXG^D8#40Uh5gmwf3V(JPhfl(#oZBXjz!PzL[Q#bxQnK!opS&eDJ22r&0f!n*TN!hr$XTWblMTh5fN^opzj87KHtY@f!*a1Pu4TMBhcOwAw5Qp6]qvZzUOWFkH1k7^%wgsBCkWj8Y@PKuHYk$lM$[CN9yL7QhTt8Qa0$CcyiXMXCwckc45Igkc2eugFplLbCIj[&EhvLn&kzgAI*j^0ST6GSII@ck@fn8(L17)jsX)#z8W[mTemNc8oPr&l2hl9302qI$NJR)$)dTET8UKsC7]metz$$9ZY&rQ$GVc^FYY]0UN7kYj[wnp*rtQy$P9YmAOekq^i&Yr3GiaO2Ee2&hIQDdcBmrxpex17F3tjFzgYR!dewizm27DzM%ZRm%AJyC3#ZzCY8t!sg$)Bg66Kq)LInaznNhvDd7i*$FTDQQKHSkKmU9myngPW)eivvvct1qfjoH8$goig3N9oRpc%edlKrHWdS9b73ggib@l0D$2F!dm%#cPBew[&j20[PK%#L$%&jQXjGXBnFkIghhAnk^fQyb9HIKumzt&OSe^9Aqt!xB7^]g$nC&4zkc#c&LNM#J*D3s0&X(27yzeQHVT)gKui9Y)VJp^CUd2WknDA8l%uourSnajsS(c9Z2RbU7JneS@49OMbP6wYyfcF!4xzWq3d&6PpAQ3*%0M[U0zZ5R)pXL!wF26H]YR[X3vgr0p@Zz^XriECZM)5&&e)7Rf$EZBhlhbOlivWARbV9i^^8py!l9XpnyaRCiGv#q$tUWom$kVZ6$9OI9sTC[I7j*pE2xbTwOnw%nuljK!60svfz7IoGUU2csFVg[W8%#N[0O0^fX&iuUA7CX1OWHjIvTQs5gePM2zOfIHkqBwLJ3qqZnAAp*bKEAQphjj*#s*$R54UKqeZ#wGO6$Ff$qNO1(mlU[ohBmPNEyk2U)u8ceb&*)5X9%@zcTNFISqP^V3*kqq#h#XXkLAeDYC[PBpbxrJ^piOIfE^)uyZ6ThjUgdF#yh!AsukGWv8KKU(Yl&Yke&fo@rw1HSM$RImO40wjePO&oYOE#XEZ7G@Y@gwU6Oj10Q&Dng8hTa#kK4lYB@7*R8K5(D9P#X8GAx1f8ro5jirw6$D861hT8bi%jFvHmE0(2jSEJz!L(LoYr7Ga^b0v(N2tj#)ED6iSgg^CDgM!$MSEE74fJwSa7NKT58RFClFg8JMcrUfdXAUMg33XhHOBSbnpk!Q2FD)kz8^M(p@T(FhME196EKGvF(FJB3Jq(ab3p%PPuSYbedtgfJk&NFN@lJOzjM[S5DWii%ypU)HS7]Y)CgOdbtsFD0jv4QJ5m!e3xuDR(WP8Ic#IQ1Vr)IdxJdILDcd3*lbAsB!o9*E[PtEVL3@yAb7P9iO28eK2nh$WE',
|
|
256
|
+
'rule_name': 'ctt->ctt',
|
|
257
|
+
'src_db_uuid': ' 1B1153F6-DAD9-BC39-888A-A743FCC208E5',
|
|
258
|
+
'tgt_db_uuid': ' D42BF707-C971-EEA9-521F-BB0F3F7A92FC',
|
|
259
|
+
'tgt_type': 'oracle',
|
|
260
|
+
'db_user_map': {
|
|
261
|
+
'CTT': 'CTT',},
|
|
262
|
+
'rule_uuid': '',
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
syncRules = SyncRules(a)
|
|
266
|
+
r = syncRules.modifySyncRules(body)
|
|
267
|
+
print(r[0])
|
|
268
|
+
assert r[0]['ret'] == 200
|
|
269
|
+
write(r[0], 'SyncRules', 'modifySyncRules', body)
|
|
270
|
+
|
|
271
|
+
def testDescribeSyncRulesHasSync(self):
|
|
272
|
+
a = Auth(username, pwd)
|
|
273
|
+
body = {
|
|
274
|
+
'offset': '0',
|
|
275
|
+
'limit': 10,
|
|
276
|
+
'row_uuid': 'd9AEe7eD-BD9d-d332-83CA-A78924b7dfde',
|
|
277
|
+
'search': '',
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
syncRules = SyncRules(a)
|
|
281
|
+
r = syncRules.describeSyncRulesHasSync(body)
|
|
282
|
+
print(r[0])
|
|
283
|
+
assert r[0]['ret'] == 200
|
|
284
|
+
write(r[0], 'SyncRules', 'describeSyncRulesHasSync', body)
|
|
285
|
+
|
|
286
|
+
def testDescribeSyncRulesFailObj(self):
|
|
287
|
+
a = Auth(username, pwd)
|
|
288
|
+
body = {
|
|
289
|
+
'offset': 0,
|
|
290
|
+
'limit': 10,
|
|
291
|
+
'rule_uuid': '5bA6fA95-818D-E3c2-Ab81-8F2337b4f4Bc',
|
|
292
|
+
'search': '',
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
syncRules = SyncRules(a)
|
|
296
|
+
r = syncRules.describeSyncRulesFailObj(body)
|
|
297
|
+
print(r[0])
|
|
298
|
+
assert r[0]['ret'] == 200
|
|
299
|
+
write(r[0], 'SyncRules', 'describeSyncRulesFailObj', body)
|
|
300
|
+
|
|
301
|
+
def testDescribeSyncRulesLoadInfo(self):
|
|
302
|
+
a = Auth(username, pwd)
|
|
303
|
+
body = {
|
|
304
|
+
'rule_uuid': '',
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
syncRules = SyncRules(a)
|
|
308
|
+
r = syncRules.describeSyncRulesLoadInfo(body)
|
|
309
|
+
print(r[0])
|
|
310
|
+
assert r[0]['ret'] == 200
|
|
311
|
+
write(r[0], 'SyncRules', 'describeSyncRulesLoadInfo', body)
|
|
312
|
+
|
|
313
|
+
def testDeleteSyncRules(self):
|
|
314
|
+
a = Auth(username, pwd)
|
|
315
|
+
body = {
|
|
316
|
+
'uuids': [
|
|
317
|
+
'DBED8CDE-435D-7865-76FE-149AA54AC7F7',],
|
|
318
|
+
'type': '',
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
syncRules = SyncRules(a)
|
|
322
|
+
r = syncRules.deleteSyncRules(body)
|
|
323
|
+
print(r[0])
|
|
324
|
+
assert r[0]['ret'] == 200
|
|
325
|
+
write(r[0], 'SyncRules', 'deleteSyncRules', body)
|
|
326
|
+
|
|
327
|
+
def testListSyncRules(self):
|
|
328
|
+
a = Auth(username, pwd)
|
|
329
|
+
body = {
|
|
330
|
+
'page': 1,
|
|
331
|
+
'limit': 10,
|
|
332
|
+
'search_field': '',
|
|
333
|
+
'search_value': '',
|
|
334
|
+
'group_uuid': '',
|
|
335
|
+
'where_args': {
|
|
336
|
+
'rule_uuid': '',},
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
syncRules = SyncRules(a)
|
|
340
|
+
r = syncRules.listSyncRules(body)
|
|
341
|
+
print(r[0])
|
|
342
|
+
assert r[0]['ret'] == 200
|
|
343
|
+
write(r[0], 'SyncRules', 'listSyncRules', body)
|
|
344
|
+
|
|
345
|
+
def testListSyncRulesStatus(self):
|
|
346
|
+
a = Auth(username, pwd)
|
|
347
|
+
body = {
|
|
348
|
+
'uuids': [
|
|
349
|
+
'ACCf9F05-Ccd6-8Ccf-6EB8-4FE1663A0D74',
|
|
350
|
+
'3A541667-1c82-f9c5-A485-cE488Dca688B',],
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
syncRules = SyncRules(a)
|
|
354
|
+
r = syncRules.listSyncRulesStatus(body)
|
|
355
|
+
print(r[0])
|
|
356
|
+
assert r[0]['ret'] == 200
|
|
357
|
+
write(r[0], 'SyncRules', 'listSyncRulesStatus', body)
|
|
358
|
+
|
|
359
|
+
def testDescribeSyncRulesMrtg(self):
|
|
360
|
+
a = Auth(username, pwd)
|
|
361
|
+
body = {
|
|
362
|
+
'set_time': 1,
|
|
363
|
+
'type': '',
|
|
364
|
+
'interval': '时间间隔',
|
|
365
|
+
'set_time_init': '',
|
|
366
|
+
'rule_uuid': '',
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
syncRules = SyncRules(a)
|
|
370
|
+
r = syncRules.describeSyncRulesMrtg(body)
|
|
371
|
+
print(r[0])
|
|
372
|
+
assert r[0]['ret'] == 200
|
|
373
|
+
write(r[0], 'SyncRules', 'describeSyncRulesMrtg', body)
|
|
374
|
+
|
|
375
|
+
def testDescribeSyncRulesIncreDdl(self):
|
|
376
|
+
a = Auth(username, pwd)
|
|
377
|
+
body = {
|
|
378
|
+
'offset': 0,
|
|
379
|
+
'limit': '10',
|
|
380
|
+
'rule_uuid': 'EaAEff59-eB80-EbB7-9719-30f7DBa918C0',
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
syncRules = SyncRules(a)
|
|
384
|
+
r = syncRules.describeSyncRulesIncreDdl(body)
|
|
385
|
+
print(r[0])
|
|
386
|
+
assert r[0]['ret'] == 200
|
|
387
|
+
write(r[0], 'SyncRules', 'describeSyncRulesIncreDdl', body)
|
|
388
|
+
|
|
389
|
+
def testDescribeSyncRules(self):
|
|
390
|
+
a = Auth(username, pwd)
|
|
391
|
+
body = {
|
|
392
|
+
'uuid': 'A923A558-b41F-Cb40-C95D-CB3fefcAE79b',
|
|
393
|
+
}
|
|
394
|
+
uuid = "22D03E06-94D0-5E2C-336E-4BEEC2D28EC4"
|
|
395
|
+
syncRules = SyncRules(a)
|
|
396
|
+
r = syncRules.describeSyncRules(body, uuid)
|
|
397
|
+
print(r[0])
|
|
398
|
+
assert r[0]['ret'] == 200
|
|
399
|
+
write(r[0], 'SyncRules', 'describeSyncRules', body)
|
|
400
|
+
|
|
401
|
+
def testListObjCmp(self):
|
|
402
|
+
a = Auth(username, pwd)
|
|
403
|
+
body = {
|
|
404
|
+
'page': 1,
|
|
405
|
+
'limit': 10,
|
|
406
|
+
'search_field': '',
|
|
407
|
+
'search_value': '',
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
syncRules = SyncRules(a)
|
|
411
|
+
r = syncRules.listObjCmp(body)
|
|
412
|
+
print(r[0])
|
|
413
|
+
assert r[0]['ret'] == 200
|
|
414
|
+
write(r[0], 'SyncRules', 'listObjCmp', body)
|
|
415
|
+
|
|
416
|
+
def testCreateObjCmp(self):
|
|
417
|
+
a = Auth(username, pwd)
|
|
418
|
+
body = {
|
|
419
|
+
'obj_cmp_name': 'test',
|
|
420
|
+
'src_db_uuid': '4CA773F4-36E3-A091-122C-ACDFB2112C21',
|
|
421
|
+
'tgt_db_uuid': '40405FD3-DB86-DC8A-81C9-C137B6FDECE5',
|
|
422
|
+
'cal_table_recoders': 1,
|
|
423
|
+
'cmp_type': 'user',
|
|
424
|
+
'rule_uuid': '751A03F5-C97D-645B-82B2-316A5D198528',
|
|
425
|
+
'db_user_map': {'src_user':'dst_user'},
|
|
426
|
+
'policies': '',
|
|
427
|
+
'policy_type': 'periodic',
|
|
428
|
+
'one_time': '2019-05-27 16:07:08',
|
|
429
|
+
'repair': 1,
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
syncRules = SyncRules(a)
|
|
433
|
+
r = syncRules.createObjCmp(body)
|
|
434
|
+
print(r[0])
|
|
435
|
+
assert r[0]['ret'] == 200
|
|
436
|
+
write(r[0], 'SyncRules', 'createObjCmp', body)
|
|
437
|
+
|
|
438
|
+
def testDeleteObjCmp(self):
|
|
439
|
+
a = Auth(username, pwd)
|
|
440
|
+
body = {
|
|
441
|
+
'uuids': [
|
|
442
|
+
'11111111-1111-1111-1111-111111111111',],
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
syncRules = SyncRules(a)
|
|
446
|
+
r = syncRules.deleteObjCmp(body)
|
|
447
|
+
print(r[0])
|
|
448
|
+
assert r[0]['ret'] == 200
|
|
449
|
+
write(r[0], 'SyncRules', 'deleteObjCmp', body)
|
|
450
|
+
|
|
451
|
+
def testDescribeObjCmp(self):
|
|
452
|
+
a = Auth(username, pwd)
|
|
453
|
+
body = {
|
|
454
|
+
}
|
|
455
|
+
uuid = "22D03E06-94D0-5E2C-336E-4BEEC2D28EC4"
|
|
456
|
+
syncRules = SyncRules(a)
|
|
457
|
+
r = syncRules.describeObjCmp(body, uuid)
|
|
458
|
+
print(r[0])
|
|
459
|
+
assert r[0]['ret'] == 200
|
|
460
|
+
write(r[0], 'SyncRules', 'describeObjCmp', body)
|
|
461
|
+
|
|
462
|
+
def testListObjCmpResultTimeList(self):
|
|
463
|
+
a = Auth(username, pwd)
|
|
464
|
+
body = {
|
|
465
|
+
'uuid': 'DA4EFDEe-35Ae-db5c-7af6-CDDBBcb5F24D',
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
syncRules = SyncRules(a)
|
|
469
|
+
r = syncRules.listObjCmpResultTimeList(body)
|
|
470
|
+
print(r[0])
|
|
471
|
+
assert r[0]['ret'] == 200
|
|
472
|
+
write(r[0], 'SyncRules', 'listObjCmpResultTimeList', body)
|
|
473
|
+
|
|
474
|
+
def testDescribeObjCmpResult(self):
|
|
475
|
+
a = Auth(username, pwd)
|
|
476
|
+
body = {
|
|
477
|
+
'uuid': '1c7583E4-24eB-57c7-fa5a-c9A66D49BDc1',
|
|
478
|
+
'start_time': '',
|
|
479
|
+
'limit': 1,
|
|
480
|
+
'offset': '',
|
|
481
|
+
'search_value': '',
|
|
482
|
+
'BackLackOnly': 0,
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
syncRules = SyncRules(a)
|
|
486
|
+
r = syncRules.describeObjCmpResult(body)
|
|
487
|
+
print(r[0])
|
|
488
|
+
assert r[0]['ret'] == 200
|
|
489
|
+
write(r[0], 'SyncRules', 'describeObjCmpResult', body)
|
|
490
|
+
|
|
491
|
+
def testListObjCmpStatus(self):
|
|
492
|
+
a = Auth(username, pwd)
|
|
493
|
+
body = {
|
|
494
|
+
'uuids': [],
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
syncRules = SyncRules(a)
|
|
498
|
+
r = syncRules.listObjCmpStatus(body)
|
|
499
|
+
print(r[0])
|
|
500
|
+
assert r[0]['ret'] == 200
|
|
501
|
+
write(r[0], 'SyncRules', 'listObjCmpStatus', body)
|
|
502
|
+
|
|
503
|
+
def testDescribeObjCmpResultTimeList(self):
|
|
504
|
+
a = Auth(username, pwd)
|
|
505
|
+
body = {
|
|
506
|
+
'uuid': '5ed66EbF-BAE8-acDA-9A7A-Cde6fbdB65FC',
|
|
507
|
+
'time_list': [],
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
syncRules = SyncRules(a)
|
|
511
|
+
r = syncRules.describeObjCmpResultTimeList(body)
|
|
512
|
+
print(r[0])
|
|
513
|
+
assert r[0]['ret'] == 200
|
|
514
|
+
write(r[0], 'SyncRules', 'describeObjCmpResultTimeList', body)
|
|
515
|
+
|
|
516
|
+
def testListObjCmpCmpInfo(self):
|
|
517
|
+
a = Auth(username, pwd)
|
|
518
|
+
body = {
|
|
519
|
+
'offset': 1,
|
|
520
|
+
'limit': 10,
|
|
521
|
+
'search_value': '',
|
|
522
|
+
'usr': 'I2',
|
|
523
|
+
'filed': '',
|
|
524
|
+
'uuid': '',
|
|
525
|
+
'start_time': '',
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
syncRules = SyncRules(a)
|
|
529
|
+
r = syncRules.listObjCmpCmpInfo(body)
|
|
530
|
+
print(r[0])
|
|
531
|
+
assert r[0]['ret'] == 200
|
|
532
|
+
write(r[0], 'SyncRules', 'listObjCmpCmpInfo', body)
|
|
533
|
+
|
|
534
|
+
def testCreateObjFix(self):
|
|
535
|
+
a = Auth(username, pwd)
|
|
536
|
+
body = {
|
|
537
|
+
'obj_fix_name': 'test',
|
|
538
|
+
'src_db_uuid': '4CA773F4-36E3-A091-122C-ACDFB2112C21',
|
|
539
|
+
'tgt_db_uuid': '40405FD3-DB86-DC8A-81C9-C137B6FDECE5',
|
|
540
|
+
'rule_uuid': '751A03F5-C97D-645B-82B2-316A5D198528',
|
|
541
|
+
'obj_map': [{
|
|
542
|
+
'type': 'owner.name',},{
|
|
543
|
+
'type': 'owner.name',},],
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
syncRules = SyncRules(a)
|
|
547
|
+
r = syncRules.createObjFix(body)
|
|
548
|
+
print(r[0])
|
|
549
|
+
assert r[0]['ret'] == 200
|
|
550
|
+
write(r[0], 'SyncRules', 'createObjFix', body)
|
|
551
|
+
|
|
552
|
+
def testDescribeObjFix(self):
|
|
553
|
+
a = Auth(username, pwd)
|
|
554
|
+
body = {
|
|
555
|
+
'uuid': 'fA2fB1fa-BAef-eaB5-EfA9-42Fed0Edd4dC',
|
|
556
|
+
}
|
|
557
|
+
uuid = "22D03E06-94D0-5E2C-336E-4BEEC2D28EC4"
|
|
558
|
+
syncRules = SyncRules(a)
|
|
559
|
+
r = syncRules.describeObjFix(body, uuid)
|
|
560
|
+
print(r[0])
|
|
561
|
+
assert r[0]['ret'] == 200
|
|
562
|
+
write(r[0], 'SyncRules', 'describeObjFix', body)
|
|
563
|
+
|
|
564
|
+
def testDeleteObjFix(self):
|
|
565
|
+
a = Auth(username, pwd)
|
|
566
|
+
body = {
|
|
567
|
+
'uuids': 'E46d4a32-98Cb-DdF3-674b-1Dd1cbA15ad1',
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
syncRules = SyncRules(a)
|
|
571
|
+
r = syncRules.deleteObjFix(body)
|
|
572
|
+
print(r[0])
|
|
573
|
+
assert r[0]['ret'] == 200
|
|
574
|
+
write(r[0], 'SyncRules', 'deleteObjFix', body)
|
|
575
|
+
|
|
576
|
+
def testListObjFix(self):
|
|
577
|
+
a = Auth(username, pwd)
|
|
578
|
+
body = {
|
|
579
|
+
'page': 1,
|
|
580
|
+
'limit': 10,
|
|
581
|
+
'search_field': '',
|
|
582
|
+
'search_value': '',
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
syncRules = SyncRules(a)
|
|
586
|
+
r = syncRules.listObjFix(body)
|
|
587
|
+
print(r[0])
|
|
588
|
+
assert r[0]['ret'] == 200
|
|
589
|
+
write(r[0], 'SyncRules', 'listObjFix', body)
|
|
590
|
+
|
|
591
|
+
def testDescribeObjFixResult(self):
|
|
592
|
+
a = Auth(username, pwd)
|
|
593
|
+
body = {
|
|
594
|
+
'uuid': 'df3Ad2fe-C784-8F8c-43AF-C809765Ef5f4',
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
syncRules = SyncRules(a)
|
|
598
|
+
r = syncRules.describeObjFixResult(body)
|
|
599
|
+
print(r[0])
|
|
600
|
+
assert r[0]['ret'] == 200
|
|
601
|
+
write(r[0], 'SyncRules', 'describeObjFixResult', body)
|
|
602
|
+
|
|
603
|
+
def testListObjFixStatus(self):
|
|
604
|
+
a = Auth(username, pwd)
|
|
605
|
+
body = {
|
|
606
|
+
'uuids': [],
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
syncRules = SyncRules(a)
|
|
610
|
+
r = syncRules.listObjFixStatus(body)
|
|
611
|
+
print(r[0])
|
|
612
|
+
assert r[0]['ret'] == 200
|
|
613
|
+
write(r[0], 'SyncRules', 'listObjFixStatus', body)
|
|
614
|
+
|
|
615
|
+
def testCreateTbCmp(self):
|
|
616
|
+
a = Auth(username, pwd)
|
|
617
|
+
body = {
|
|
618
|
+
'tb_cmp_name': 'ctt->ctt',
|
|
619
|
+
'src_db_uuid': '4CA773F4-36E3-A091-122C-ACDFB2112C21',
|
|
620
|
+
'tgt_db_uuid': '40405FD3-DB86-DC8A-81C9-C137B6FDECE5',
|
|
621
|
+
'cmp_type': 'user,table,db',
|
|
622
|
+
'db_user_map': '{"CTT":"CTT"}',
|
|
623
|
+
'filter_table': '[用户.表名]',
|
|
624
|
+
'db_tb_map': '表映射',
|
|
625
|
+
'dump_thd': 1,
|
|
626
|
+
'rule_uuid': '4Cb7bcc7-5beB-969B-2c6A-38C5C6e4EEDd',
|
|
627
|
+
'polices': '"0|00:00',
|
|
628
|
+
'policy_type': 'one_time',
|
|
629
|
+
'concurrent_table': [
|
|
630
|
+
'hh.ww',],
|
|
631
|
+
'try_split_part_table': 0,
|
|
632
|
+
'one_time': '2019-05-27 16:07:08',
|
|
633
|
+
'repair': 0,
|
|
634
|
+
'fix_related': 0,
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
syncRules = SyncRules(a)
|
|
638
|
+
r = syncRules.createTbCmp(body)
|
|
639
|
+
print(r[0])
|
|
640
|
+
assert r[0]['ret'] == 200
|
|
641
|
+
write(r[0], 'SyncRules', 'createTbCmp', body)
|
|
642
|
+
|
|
643
|
+
def testDescribeTbCmp(self):
|
|
644
|
+
a = Auth(username, pwd)
|
|
645
|
+
body = {
|
|
646
|
+
'uuid': '2F1BD5F2-0969-dCAE-2CB2-DAC5beDac99D',
|
|
647
|
+
}
|
|
648
|
+
uuid = "22D03E06-94D0-5E2C-336E-4BEEC2D28EC4"
|
|
649
|
+
syncRules = SyncRules(a)
|
|
650
|
+
r = syncRules.describeTbCmp(body, uuid)
|
|
651
|
+
print(r[0])
|
|
652
|
+
assert r[0]['ret'] == 200
|
|
653
|
+
write(r[0], 'SyncRules', 'describeTbCmp', body)
|
|
654
|
+
|
|
655
|
+
def testDeleteTbCmp(self):
|
|
656
|
+
a = Auth(username, pwd)
|
|
657
|
+
body = {
|
|
658
|
+
'uuids': 'bDd3FB96-27D7-fD97-8bcF-cE61CCa289F9',
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
syncRules = SyncRules(a)
|
|
662
|
+
r = syncRules.deleteTbCmp(body)
|
|
663
|
+
print(r[0])
|
|
664
|
+
assert r[0]['ret'] == 200
|
|
665
|
+
write(r[0], 'SyncRules', 'deleteTbCmp', body)
|
|
666
|
+
|
|
667
|
+
def testListTbCmp(self):
|
|
668
|
+
a = Auth(username, pwd)
|
|
669
|
+
body = {
|
|
670
|
+
'page': 1,
|
|
671
|
+
'limit': 10,
|
|
672
|
+
'search_field': '',
|
|
673
|
+
'search_value': '',
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
syncRules = SyncRules(a)
|
|
677
|
+
r = syncRules.listTbCmp(body)
|
|
678
|
+
print(r[0])
|
|
679
|
+
assert r[0]['ret'] == 200
|
|
680
|
+
write(r[0], 'SyncRules', 'listTbCmp', body)
|
|
681
|
+
|
|
682
|
+
def testListTbCmpStatus(self):
|
|
683
|
+
a = Auth(username, pwd)
|
|
684
|
+
body = {
|
|
685
|
+
'uuids': '1dcF478c-5112-fAd1-33c1-E8DD5eeC4FDc',
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
syncRules = SyncRules(a)
|
|
689
|
+
r = syncRules.listTbCmpStatus(body)
|
|
690
|
+
print(r[0])
|
|
691
|
+
assert r[0]['ret'] == 200
|
|
692
|
+
write(r[0], 'SyncRules', 'listTbCmpStatus', body)
|
|
693
|
+
|
|
694
|
+
def testListTbCmpResultTimeList(self):
|
|
695
|
+
a = Auth(username, pwd)
|
|
696
|
+
body = {
|
|
697
|
+
'uuid': '',
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
syncRules = SyncRules(a)
|
|
701
|
+
r = syncRules.listTbCmpResultTimeList(body)
|
|
702
|
+
print(r[0])
|
|
703
|
+
assert r[0]['ret'] == 200
|
|
704
|
+
write(r[0], 'SyncRules', 'listTbCmpResultTimeList', body)
|
|
705
|
+
|
|
706
|
+
def testDescribeTbCmpResuluTimeList(self):
|
|
707
|
+
a = Auth(username, pwd)
|
|
708
|
+
body = {
|
|
709
|
+
'time_list': '2CE8c95F-9AC8-EFeF-c4Eb-6c0EAD62cAbE',
|
|
710
|
+
'uuid': '',
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
syncRules = SyncRules(a)
|
|
714
|
+
r = syncRules.describeTbCmpResuluTimeList(body)
|
|
715
|
+
print(r[0])
|
|
716
|
+
assert r[0]['ret'] == 200
|
|
717
|
+
write(r[0], 'SyncRules', 'describeTbCmpResuluTimeList', body)
|
|
718
|
+
|
|
719
|
+
def testDescribeTbCmpResult(self):
|
|
720
|
+
a = Auth(username, pwd)
|
|
721
|
+
body = {
|
|
722
|
+
'page': 1,
|
|
723
|
+
'limit': 10,
|
|
724
|
+
'search_field': '',
|
|
725
|
+
'search_value': '',
|
|
726
|
+
'uuid': 'DD3BDbd9-4ec0-FD5e-dDc9-e68A7df21222',
|
|
727
|
+
'start_time': '',
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
syncRules = SyncRules(a)
|
|
731
|
+
r = syncRules.describeTbCmpResult(body)
|
|
732
|
+
print(r[0])
|
|
733
|
+
assert r[0]['ret'] == 200
|
|
734
|
+
write(r[0], 'SyncRules', 'describeTbCmpResult', body)
|
|
735
|
+
|
|
736
|
+
def testDescribeTbCmpErrorMsg(self):
|
|
737
|
+
a = Auth(username, pwd)
|
|
738
|
+
body = {
|
|
739
|
+
'offset': 1,
|
|
740
|
+
'limit': 10,
|
|
741
|
+
'search_field': '',
|
|
742
|
+
'search_value': '',
|
|
743
|
+
'uuid': 'dEceDa3c-BFbD-A44D-f861-657eC256D0F5',
|
|
744
|
+
'start_time': '',
|
|
745
|
+
'name': '',
|
|
746
|
+
'owner': 'admin',
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
syncRules = SyncRules(a)
|
|
750
|
+
r = syncRules.describeTbCmpErrorMsg(body)
|
|
751
|
+
print(r[0])
|
|
752
|
+
assert r[0]['ret'] == 200
|
|
753
|
+
write(r[0], 'SyncRules', 'describeTbCmpErrorMsg', body)
|
|
754
|
+
|
|
755
|
+
def testDescribeTbCmpCmpResult(self):
|
|
756
|
+
a = Auth(username, pwd)
|
|
757
|
+
body = {
|
|
758
|
+
'uuid': '',
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
syncRules = SyncRules(a)
|
|
762
|
+
r = syncRules.describeTbCmpCmpResult(body)
|
|
763
|
+
print(r[0])
|
|
764
|
+
assert r[0]['ret'] == 200
|
|
765
|
+
write(r[0], 'SyncRules', 'describeTbCmpCmpResult', body)
|
|
766
|
+
|
|
767
|
+
def testCreateBkTakeover(self):
|
|
768
|
+
a = Auth(username, pwd)
|
|
769
|
+
body = {
|
|
770
|
+
'rule_uuid': '7404A6e4-fEeD-7E4f-C5B1-0C5ee1bB8db2',
|
|
771
|
+
'start_val': 1000,
|
|
772
|
+
'scan_ip': [
|
|
773
|
+
'c01D7F86-A631-b79f-E2AA-7ccb7f2bE851',
|
|
774
|
+
'c01D7F86-A631-b79f-E2AA-7ccb7f2bE851',
|
|
775
|
+
'c01D7F86-A631-b79f-E2AA-7ccb7f2bE851',],
|
|
776
|
+
'hosts': [{
|
|
777
|
+
'ip': '192.168.12.200',
|
|
778
|
+
'password': '',},],
|
|
779
|
+
'use_ip_sw': 1,
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
syncRules = SyncRules(a)
|
|
783
|
+
r = syncRules.createBkTakeover(body)
|
|
784
|
+
print(r[0])
|
|
785
|
+
assert r[0]['ret'] == 200
|
|
786
|
+
write(r[0], 'SyncRules', 'createBkTakeover', body)
|
|
787
|
+
|
|
788
|
+
def testDescribeBkTakeover(self):
|
|
789
|
+
a = Auth(username, pwd)
|
|
790
|
+
body = {
|
|
791
|
+
}
|
|
792
|
+
uuid = "22D03E06-94D0-5E2C-336E-4BEEC2D28EC4"
|
|
793
|
+
syncRules = SyncRules(a)
|
|
794
|
+
r = syncRules.describeBkTakeover(body, uuid)
|
|
795
|
+
print(r[0])
|
|
796
|
+
assert r[0]['ret'] == 200
|
|
797
|
+
write(r[0], 'SyncRules', 'describeBkTakeover', body)
|
|
798
|
+
|
|
799
|
+
def testDeleteBkTakeover(self):
|
|
800
|
+
a = Auth(username, pwd)
|
|
801
|
+
body = {
|
|
802
|
+
'uuids': 'b7B91Be1-CE58-C0B2-F27d-8EbCdAE3bDA4',
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
syncRules = SyncRules(a)
|
|
806
|
+
r = syncRules.deleteBkTakeover(body)
|
|
807
|
+
print(r[0])
|
|
808
|
+
assert r[0]['ret'] == 200
|
|
809
|
+
write(r[0], 'SyncRules', 'deleteBkTakeover', body)
|
|
810
|
+
|
|
811
|
+
def testDescribeBkTakeoverResult(self):
|
|
812
|
+
a = Auth(username, pwd)
|
|
813
|
+
body = {
|
|
814
|
+
'bk_takeover_uuid': 'D23C8781-7Bed-dFA0-CAdb-eF0279AE8B62',
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
syncRules = SyncRules(a)
|
|
818
|
+
r = syncRules.describeBkTakeoverResult(body)
|
|
819
|
+
print(r[0])
|
|
820
|
+
assert r[0]['ret'] == 200
|
|
821
|
+
write(r[0], 'SyncRules', 'describeBkTakeoverResult', body)
|
|
822
|
+
|
|
823
|
+
def testListBkTakeoverStatus(self):
|
|
824
|
+
a = Auth(username, pwd)
|
|
825
|
+
body = {
|
|
826
|
+
'uuids': [],
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
syncRules = SyncRules(a)
|
|
830
|
+
r = syncRules.listBkTakeoverStatus(body)
|
|
831
|
+
print(r[0])
|
|
832
|
+
assert r[0]['ret'] == 200
|
|
833
|
+
write(r[0], 'SyncRules', 'listBkTakeoverStatus', body)
|
|
834
|
+
|
|
835
|
+
def testListBkTakeover(self):
|
|
836
|
+
a = Auth(username, pwd)
|
|
837
|
+
body = {
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
syncRules = SyncRules(a)
|
|
841
|
+
r = syncRules.listBkTakeover()
|
|
842
|
+
assert r[0]['ret'] == 200
|
|
843
|
+
write(r[0], 'SyncRules', 'listBkTakeover', body)
|
|
844
|
+
|
|
845
|
+
def testCreateReverse(self):
|
|
846
|
+
a = Auth(username, pwd)
|
|
847
|
+
body = {
|
|
848
|
+
'reverse_name': '',
|
|
849
|
+
'rule_uuid': '7CfFfB84-77c6-dcef-B950-F5Ab5d5e2589',
|
|
850
|
+
'node_uuid': '41CDDE6F-e6A2-7324-fbdd-Be965eDf3cbF',
|
|
851
|
+
'start_scn': 1,
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
syncRules = SyncRules(a)
|
|
855
|
+
r = syncRules.createReverse(body)
|
|
856
|
+
print(r[0])
|
|
857
|
+
assert r[0]['ret'] == 200
|
|
858
|
+
write(r[0], 'SyncRules', 'createReverse', body)
|
|
859
|
+
|
|
860
|
+
def testDeleteReverse(self):
|
|
861
|
+
a = Auth(username, pwd)
|
|
862
|
+
body = {
|
|
863
|
+
'uuids': [],
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
syncRules = SyncRules(a)
|
|
867
|
+
r = syncRules.deleteReverse(body)
|
|
868
|
+
print(r[0])
|
|
869
|
+
assert r[0]['ret'] == 200
|
|
870
|
+
write(r[0], 'SyncRules', 'deleteReverse', body)
|
|
871
|
+
|
|
872
|
+
def testDescribeReverse(self):
|
|
873
|
+
a = Auth(username, pwd)
|
|
874
|
+
body = {
|
|
875
|
+
'rule_uuid': '86313AA4-aefe-D3fE-B8F1-CAef1F1C9AFf',
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
syncRules = SyncRules(a)
|
|
879
|
+
r = syncRules.describeReverse(body)
|
|
880
|
+
print(r[0])
|
|
881
|
+
assert r[0]['ret'] == 200
|
|
882
|
+
write(r[0], 'SyncRules', 'describeReverse', body)
|
|
883
|
+
|
|
884
|
+
def testListReverse(self):
|
|
885
|
+
a = Auth(username, pwd)
|
|
886
|
+
body = {
|
|
887
|
+
'page': 1,
|
|
888
|
+
'limit': 10,
|
|
889
|
+
'search_field': '',
|
|
890
|
+
'search_value': '',
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
syncRules = SyncRules(a)
|
|
894
|
+
r = syncRules.listReverse(body)
|
|
895
|
+
print(r[0])
|
|
896
|
+
assert r[0]['ret'] == 200
|
|
897
|
+
write(r[0], 'SyncRules', 'listReverse', body)
|
|
898
|
+
|
|
899
|
+
def testListReverseStatus(self):
|
|
900
|
+
a = Auth(username, pwd)
|
|
901
|
+
body = {
|
|
902
|
+
'uuids': '022cfAE6-dbce-F8F2-fdeA-61cCffb3b274',
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
syncRules = SyncRules(a)
|
|
906
|
+
r = syncRules.listReverseStatus(body)
|
|
907
|
+
print(r[0])
|
|
908
|
+
assert r[0]['ret'] == 200
|
|
909
|
+
write(r[0], 'SyncRules', 'listReverseStatus', body)
|
|
910
|
+
|
|
911
|
+
def testStopReverse(self):
|
|
912
|
+
a = Auth(username, pwd)
|
|
913
|
+
body = {
|
|
914
|
+
'uuid': 'a6F31B7A-ee1f-41B5-fD2c-41554e1Cba94',
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
syncRules = SyncRules(a)
|
|
918
|
+
r = syncRules.stopReverse(body)
|
|
919
|
+
print(r[0])
|
|
920
|
+
assert r[0]['ret'] == 200
|
|
921
|
+
write(r[0], 'SyncRules', 'stopReverse', body)
|
|
922
|
+
|
|
923
|
+
def testRestartReverse(self):
|
|
924
|
+
a = Auth(username, pwd)
|
|
925
|
+
body = {
|
|
926
|
+
'uuid': 'F5b1fEDE-C8bF-bCDd-E4d1-de05c581514F',
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
syncRules = SyncRules(a)
|
|
930
|
+
r = syncRules.restartReverse(body)
|
|
931
|
+
print(r[0])
|
|
932
|
+
assert r[0]['ret'] == 200
|
|
933
|
+
write(r[0], 'SyncRules', 'restartReverse', body)
|
|
934
|
+
|
|
935
|
+
def testDescribeSingleReverse(self):
|
|
936
|
+
a = Auth(username, pwd)
|
|
937
|
+
body = {
|
|
938
|
+
'uuid': '743ca3a5-9D5e-A51C-1c43-ABe3C6CebEbE',
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
syncRules = SyncRules(a)
|
|
942
|
+
r = syncRules.describeSingleReverse(body)
|
|
943
|
+
print(r[0])
|
|
944
|
+
assert r[0]['ret'] == 200
|
|
945
|
+
write(r[0], 'SyncRules', 'describeSingleReverse', body)
|
|
946
|
+
|
|
947
|
+
def testDescribeRuleSelectUser(self):
|
|
948
|
+
a = Auth(username, pwd)
|
|
949
|
+
body = {
|
|
950
|
+
'db_uuid': '6CDE730D-ad5d-A37e-cf70-bafCdaEd16bd',
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
syncRules = SyncRules(a)
|
|
954
|
+
r = syncRules.describeRuleSelectUser(body)
|
|
955
|
+
print(r[0])
|
|
956
|
+
assert r[0]['ret'] == 200
|
|
957
|
+
write(r[0], 'SyncRules', 'describeRuleSelectUser', body)
|
|
958
|
+
|
|
959
|
+
def testDescribeRuleZStructure(self):
|
|
960
|
+
a = Auth(username, pwd)
|
|
961
|
+
body = {
|
|
962
|
+
'tab': '4e806F9C-cCb4-f8f6-39f3-54b64aCDd28a',
|
|
963
|
+
'user': '',
|
|
964
|
+
'db_uuid': '5fDb001F-6fC1-CEB2-eF08-fc59DDcf5eC9',
|
|
965
|
+
'lv': '',
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
syncRules = SyncRules(a)
|
|
969
|
+
r = syncRules.describeRuleZStructure(body)
|
|
970
|
+
print(r[0])
|
|
971
|
+
assert r[0]['ret'] == 200
|
|
972
|
+
write(r[0], 'SyncRules', 'describeRuleZStructure', body)
|
|
973
|
+
|
|
974
|
+
def testListRuleLog(self):
|
|
975
|
+
a = Auth(username, pwd)
|
|
976
|
+
body = {
|
|
977
|
+
'offset': 0,
|
|
978
|
+
'limit': 10,
|
|
979
|
+
'date_start': '',
|
|
980
|
+
'date_end': '',
|
|
981
|
+
'type': 1,
|
|
982
|
+
'module_type': 1,
|
|
983
|
+
'query_type': 1,
|
|
984
|
+
'rule_uuid': 'B306c9e5-dcCC-9253-E5aE-7e38aAFc9dCc',
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
syncRules = SyncRules(a)
|
|
988
|
+
r = syncRules.listRuleLog(body)
|
|
989
|
+
print(r[0])
|
|
990
|
+
assert r[0]['ret'] == 200
|
|
991
|
+
write(r[0], 'SyncRules', 'listRuleLog', body)
|
|
992
|
+
|
|
993
|
+
def testDescribeRuleTableFix(self):
|
|
994
|
+
a = Auth(username, pwd)
|
|
995
|
+
body = {
|
|
996
|
+
'rule_uuid': '253CeD3E-4Cc2-f77c-6759-7FBE2f7ABd3c',
|
|
997
|
+
'tab': [],
|
|
998
|
+
'fix_relation': 0,
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
syncRules = SyncRules(a)
|
|
1002
|
+
r = syncRules.describeRuleTableFix(body)
|
|
1003
|
+
print(r[0])
|
|
1004
|
+
assert r[0]['ret'] == 200
|
|
1005
|
+
write(r[0], 'SyncRules', 'describeRuleTableFix', body)
|
|
1006
|
+
|
|
1007
|
+
def testListRuleSyncTable(self):
|
|
1008
|
+
a = Auth(username, pwd)
|
|
1009
|
+
body = {
|
|
1010
|
+
'row_uuid': '',
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
syncRules = SyncRules(a)
|
|
1014
|
+
r = syncRules.listRuleSyncTable(body)
|
|
1015
|
+
print(r[0])
|
|
1016
|
+
assert r[0]['ret'] == 200
|
|
1017
|
+
write(r[0], 'SyncRules', 'listRuleSyncTable', body)
|
|
1018
|
+
|
|
1019
|
+
def testListRuleIncreDml(self):
|
|
1020
|
+
a = Auth(username, pwd)
|
|
1021
|
+
body = {
|
|
1022
|
+
'offset': 0,
|
|
1023
|
+
'limit': '10',
|
|
1024
|
+
'rule_uuid': 'cBc5BeF6-A34d-fa9b-dAAb-c30Aa995EeA3',
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
syncRules = SyncRules(a)
|
|
1028
|
+
r = syncRules.listRuleIncreDml(body)
|
|
1029
|
+
print(r[0])
|
|
1030
|
+
assert r[0]['ret'] == 200
|
|
1031
|
+
write(r[0], 'SyncRules', 'listRuleIncreDml', body)
|
|
1032
|
+
|
|
1033
|
+
def testDescribeRuleGetFalseRule(self):
|
|
1034
|
+
a = Auth(username, pwd)
|
|
1035
|
+
body = {
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
syncRules = SyncRules(a)
|
|
1039
|
+
r = syncRules.describeRuleGetFalseRule(body)
|
|
1040
|
+
print(r[0])
|
|
1041
|
+
assert r[0]['ret'] == 200
|
|
1042
|
+
write(r[0], 'SyncRules', 'describeRuleGetFalseRule', body)
|
|
1043
|
+
|
|
1044
|
+
def testDescribeRuleGetScn(self):
|
|
1045
|
+
a = Auth(username, pwd)
|
|
1046
|
+
body = {
|
|
1047
|
+
'uuid': 'B35F1b98-DA4f-FEbA-221f-005dCC13BC25',
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
syncRules = SyncRules(a)
|
|
1051
|
+
r = syncRules.describeRuleGetScn(body)
|
|
1052
|
+
print(r[0])
|
|
1053
|
+
assert r[0]['ret'] == 200
|
|
1054
|
+
write(r[0], 'SyncRules', 'describeRuleGetScn', body)
|
|
1055
|
+
|
|
1056
|
+
def testListRuleLoadReport(self):
|
|
1057
|
+
a = Auth(username, pwd)
|
|
1058
|
+
body = {
|
|
1059
|
+
'type': 'sec',
|
|
1060
|
+
'start_time': '',
|
|
1061
|
+
'end_time': '',
|
|
1062
|
+
'limit': 10,
|
|
1063
|
+
'offset': 0,
|
|
1064
|
+
'uuid': '1d2F6Fed-DAC6-FE94-A6cB-5Ab55415E9fd',
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
syncRules = SyncRules(a)
|
|
1068
|
+
r = syncRules.listRuleLoadReport(body)
|
|
1069
|
+
print(r[0])
|
|
1070
|
+
assert r[0]['ret'] == 200
|
|
1071
|
+
write(r[0], 'SyncRules', 'listRuleLoadReport', body)
|
|
1072
|
+
|
|
1073
|
+
def testListRuleLoadDelayReport(self):
|
|
1074
|
+
a = Auth(username, pwd)
|
|
1075
|
+
body = {
|
|
1076
|
+
'type': 'sec',
|
|
1077
|
+
'start_time': '',
|
|
1078
|
+
'end_time': '',
|
|
1079
|
+
'limit': 10,
|
|
1080
|
+
'offset': 0,
|
|
1081
|
+
'uuid': '1d2F6Fed-DAC6-FE94-A6cB-5Ab55415E9fd',
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
syncRules = SyncRules(a)
|
|
1085
|
+
r = syncRules.listRuleLoadDelayReport(body)
|
|
1086
|
+
print(r[0])
|
|
1087
|
+
assert r[0]['ret'] == 200
|
|
1088
|
+
write(r[0], 'SyncRules', 'listRuleLoadDelayReport', body)
|
|
1089
|
+
|
|
1090
|
+
def testDescribeRuleDbCheck(self):
|
|
1091
|
+
a = Auth(username, pwd)
|
|
1092
|
+
body = {
|
|
1093
|
+
'src_db_uuid': '',
|
|
1094
|
+
'dst_db_uuid': '',
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
syncRules = SyncRules(a)
|
|
1098
|
+
r = syncRules.describeRuleDbCheck(body)
|
|
1099
|
+
print(r[0])
|
|
1100
|
+
assert r[0]['ret'] == 200
|
|
1101
|
+
write(r[0], 'SyncRules', 'describeRuleDbCheck', body)
|
|
1102
|
+
|
|
1103
|
+
def testResumeSyncRules(self):
|
|
1104
|
+
a = Auth(username, pwd)
|
|
1105
|
+
body = {
|
|
1106
|
+
'operate': '',
|
|
1107
|
+
'rule_uuids': '',
|
|
1108
|
+
'scn': '',
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
syncRules = SyncRules(a)
|
|
1112
|
+
r = syncRules.resumeSyncRules(body)
|
|
1113
|
+
print(r[0])
|
|
1114
|
+
assert r[0]['ret'] == 200
|
|
1115
|
+
write(r[0], 'SyncRules', 'resumeSyncRules', body)
|
|
1116
|
+
|
|
1117
|
+
def testStopSyncRules(self):
|
|
1118
|
+
a = Auth(username, pwd)
|
|
1119
|
+
body = {
|
|
1120
|
+
'operate': '',
|
|
1121
|
+
'rule_uuids': '',
|
|
1122
|
+
'scn': '',
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
syncRules = SyncRules(a)
|
|
1126
|
+
r = syncRules.stopSyncRules(body)
|
|
1127
|
+
print(r[0])
|
|
1128
|
+
assert r[0]['ret'] == 200
|
|
1129
|
+
write(r[0], 'SyncRules', 'stopSyncRules', body)
|
|
1130
|
+
|
|
1131
|
+
def testRestartSyncRules(self):
|
|
1132
|
+
a = Auth(username, pwd)
|
|
1133
|
+
body = {
|
|
1134
|
+
'operate': '',
|
|
1135
|
+
'rule_uuids': '',
|
|
1136
|
+
'scn': '',
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
syncRules = SyncRules(a)
|
|
1140
|
+
r = syncRules.restartSyncRules(body)
|
|
1141
|
+
print(r[0])
|
|
1142
|
+
assert r[0]['ret'] == 200
|
|
1143
|
+
write(r[0], 'SyncRules', 'restartSyncRules', body)
|
|
1144
|
+
|
|
1145
|
+
def testStartAnalysisSyncRules(self):
|
|
1146
|
+
a = Auth(username, pwd)
|
|
1147
|
+
body = {
|
|
1148
|
+
'operate': '',
|
|
1149
|
+
'rule_uuids': '',
|
|
1150
|
+
'scn': '',
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
syncRules = SyncRules(a)
|
|
1154
|
+
r = syncRules.startAnalysisSyncRules(body)
|
|
1155
|
+
print(r[0])
|
|
1156
|
+
assert r[0]['ret'] == 200
|
|
1157
|
+
write(r[0], 'SyncRules', 'startAnalysisSyncRules', body)
|
|
1158
|
+
|
|
1159
|
+
def testStopAnalysisSyncRules(self):
|
|
1160
|
+
a = Auth(username, pwd)
|
|
1161
|
+
body = {
|
|
1162
|
+
'operate': '',
|
|
1163
|
+
'rule_uuids': '',
|
|
1164
|
+
'scn': '',
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
syncRules = SyncRules(a)
|
|
1168
|
+
r = syncRules.stopAnalysisSyncRules(body)
|
|
1169
|
+
print(r[0])
|
|
1170
|
+
assert r[0]['ret'] == 200
|
|
1171
|
+
write(r[0], 'SyncRules', 'stopAnalysisSyncRules', body)
|
|
1172
|
+
|
|
1173
|
+
def testResetAnalysisSyncRules(self):
|
|
1174
|
+
a = Auth(username, pwd)
|
|
1175
|
+
body = {
|
|
1176
|
+
'operate': '',
|
|
1177
|
+
'rule_uuids': '',
|
|
1178
|
+
'scn': '',
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
syncRules = SyncRules(a)
|
|
1182
|
+
r = syncRules.resetAnalysisSyncRules(body)
|
|
1183
|
+
print(r[0])
|
|
1184
|
+
assert r[0]['ret'] == 200
|
|
1185
|
+
write(r[0], 'SyncRules', 'resetAnalysisSyncRules', body)
|
|
1186
|
+
|
|
1187
|
+
def testStopAndStopanalysisSyncRules(self):
|
|
1188
|
+
a = Auth(username, pwd)
|
|
1189
|
+
body = {
|
|
1190
|
+
'operate': '',
|
|
1191
|
+
'rule_uuids': '',
|
|
1192
|
+
'scn': '',
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
syncRules = SyncRules(a)
|
|
1196
|
+
r = syncRules.stopAndStopanalysisSyncRules(body)
|
|
1197
|
+
print(r[0])
|
|
1198
|
+
assert r[0]['ret'] == 200
|
|
1199
|
+
write(r[0], 'SyncRules', 'stopAndStopanalysisSyncRules', body)
|
|
1200
|
+
|
|
1201
|
+
def testRestartObjFix(self):
|
|
1202
|
+
a = Auth(username, pwd)
|
|
1203
|
+
body = {
|
|
1204
|
+
'obj_fix_uuids': '33E2BD5a-3bB8-Bc72-4Be9-ff9157ddfAD4',
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
syncRules = SyncRules(a)
|
|
1208
|
+
r = syncRules.restartObjFix(body)
|
|
1209
|
+
print(r[0])
|
|
1210
|
+
assert r[0]['ret'] == 200
|
|
1211
|
+
write(r[0], 'SyncRules', 'restartObjFix', body)
|
|
1212
|
+
|
|
1213
|
+
def testStopObjFix(self):
|
|
1214
|
+
a = Auth(username, pwd)
|
|
1215
|
+
body = {
|
|
1216
|
+
'obj_fix_uuids': '33E2BD5a-3bB8-Bc72-4Be9-ff9157ddfAD4',
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
syncRules = SyncRules(a)
|
|
1220
|
+
r = syncRules.stopObjFix(body)
|
|
1221
|
+
print(r[0])
|
|
1222
|
+
assert r[0]['ret'] == 200
|
|
1223
|
+
write(r[0], 'SyncRules', 'stopObjFix', body)
|
|
1224
|
+
|
|
1225
|
+
def testStopTbCmp(self):
|
|
1226
|
+
a = Auth(username, pwd)
|
|
1227
|
+
body = {
|
|
1228
|
+
'tb_cmp_uuids': 'DAD4dECC-2eED-6c37-e16e-018DDe7fFfad',
|
|
1229
|
+
'operate': '',
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
syncRules = SyncRules(a)
|
|
1233
|
+
r = syncRules.stopTbCmp(body)
|
|
1234
|
+
print(r[0])
|
|
1235
|
+
assert r[0]['ret'] == 200
|
|
1236
|
+
write(r[0], 'SyncRules', 'stopTbCmp', body)
|
|
1237
|
+
|
|
1238
|
+
def testRestartTbCmp(self):
|
|
1239
|
+
a = Auth(username, pwd)
|
|
1240
|
+
body = {
|
|
1241
|
+
'tb_cmp_uuids': 'DAD4dECC-2eED-6c37-e16e-018DDe7fFfad',
|
|
1242
|
+
'operate': '',
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
syncRules = SyncRules(a)
|
|
1246
|
+
r = syncRules.restartTbCmp(body)
|
|
1247
|
+
print(r[0])
|
|
1248
|
+
assert r[0]['ret'] == 200
|
|
1249
|
+
write(r[0], 'SyncRules', 'restartTbCmp', body)
|
|
1250
|
+
|
|
1251
|
+
def testStopBkTakeover(self):
|
|
1252
|
+
a = Auth(username, pwd)
|
|
1253
|
+
body = {
|
|
1254
|
+
'bk_takeover_uuids': 'Be227bF2-1553-edeC-9993-B4071D73c8Cb',
|
|
1255
|
+
'operate': '',
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
syncRules = SyncRules(a)
|
|
1259
|
+
r = syncRules.stopBkTakeover(body)
|
|
1260
|
+
print(r[0])
|
|
1261
|
+
assert r[0]['ret'] == 200
|
|
1262
|
+
write(r[0], 'SyncRules', 'stopBkTakeover', body)
|
|
1263
|
+
|
|
1264
|
+
def testRestartBkTakeover(self):
|
|
1265
|
+
a = Auth(username, pwd)
|
|
1266
|
+
body = {
|
|
1267
|
+
'bk_takeover_uuids': 'Be227bF2-1553-edeC-9993-B4071D73c8Cb',
|
|
1268
|
+
'operate': '',
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
syncRules = SyncRules(a)
|
|
1272
|
+
r = syncRules.restartBkTakeover(body)
|
|
1273
|
+
print(r[0])
|
|
1274
|
+
assert r[0]['ret'] == 200
|
|
1275
|
+
write(r[0], 'SyncRules', 'restartBkTakeover', body)
|
|
1276
|
+
|
|
1277
|
+
def testDownloadLog(self):
|
|
1278
|
+
a = Auth(username, pwd)
|
|
1279
|
+
body = {
|
|
1280
|
+
'rule_uuid': '',
|
|
1281
|
+
'type': 1,
|
|
1282
|
+
'module_type': 1,
|
|
1283
|
+
'date_start': 1,
|
|
1284
|
+
'date_end': 1,
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
syncRules = SyncRules(a)
|
|
1288
|
+
r = syncRules.downloadLog(body)
|
|
1289
|
+
print(r[0])
|
|
1290
|
+
assert r[0]['ret'] == 200
|
|
1291
|
+
write(r[0], 'SyncRules', 'downloadLog', body)
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
if __name__ == '__main__':
|
|
1295
|
+
unittest.main()
|