From 10ec801de3e570072147308a0b1cb1e87295d188 Mon Sep 17 00:00:00 2001
From: Hoshi <1196756653@qq.com>
Date: Tue, 20 Aug 2024 17:56:42 +0800
Subject: [PATCH] Initial commit all
---
bocloud.ams.booter/.gitignore | 10 +
bocloud.ams.booter/pom.xml | 157 ++
.../com/bocloud/ams/booter/Application.java | 24 +
.../booter/config/RabbitMQConfiguration.java | 145 +
.../booter/config/SwaggerConfiguration.java | 20 +
.../config/WebInterceptorConfiguration.java | 62 +
.../AutoRelationRuleController.java | 112 +
.../audit/OperationalAuditController.java | 57 +
.../CollectionHistoryController.java | 81 +
.../CollectionHistoryItemController.java | 37 +
.../collection/CollectionTaskController.java | 161 ++
.../CollectionTaskInstanceController.java | 57 +
.../CollectionTemplateController.java | 113 +
.../config/CmdbConfigController.java | 75 +
.../instance/InstanceAuthoryController.java | 89 +
.../instance/InstanceController.java | 226 ++
.../instance/InstanceHistoryController.java | 36 +
.../instance/InstanceRelationController.java | 88 +
...stanceRelationHistoryRecordController.java | 80 +
.../controller/module/ModuleController.java | 192 ++
.../module/ModuleGroupController.java | 159 ++
.../module/ModuleRelationController.java | 192 ++
.../controller/module/PropertyController.java | 36 +
.../module/PropertyPoolController.java | 135 +
.../module/RegularExpressionController.java | 37 +
.../module/RelationCategoryController.java | 132 +
.../controller/module/RelationController.java | 105 +
.../module/TopologyConfigController.java | 237 ++
.../booter/listener/TaskResultListener.java | 93 +
.../CollectionTaskInstanceBakScheduler.java | 373 +++
.../ModuleInstanceRelationScheduler.java | 50 +
.../OperationalAuditBakScheduler.java | 231 ++
.../syslog/SysLogAppenderTcpAndUdp.java | 15 +
.../booter/syslog/SysLogLevelConvertor.java | 22 +
.../syslog/SyslogOutputStreamTcpAndUdp.java | 70 +
.../src/main/resources/application.yml | 110 +
.../src/main/resources/banner.txt | 8 +
.../src/main/resources/logback-spring.xml | 73 +
bocloud.ams.entity/.gitignore | 10 +
bocloud.ams.entity/pom.xml | 18 +
.../bocloud/ams/annotation/ColumnType.java | 14 +
.../java/com/bocloud/ams/entity/Role.java | 16 +
.../java/com/bocloud/ams/entity/TableLog.java | 30 +
.../entity/association/AutoRelationRule.java | 46 +
.../association/AutoRelationRuleItem.java | 71 +
.../AutoRelationRuleItemValue.java | 79 +
.../ams/entity/audit/OperationalAudit.java | 58 +
.../ams/entity/audit/OperationalAuditBak.java | 110 +
.../collection/CollectionComponent.java | 48 +
.../entity/collection/CollectionHistory.java | 58 +
.../collection/CollectionHistoryBak.java | 53 +
.../collection/CollectionHistoryItem.java | 41 +
.../collection/CollectionHistoryItemBak.java | 34 +
.../ams/entity/collection/CollectionTask.java | 47 +
.../collection/CollectionTaskInstance.java | 142 +
.../collection/CollectionTaskInstanceBak.java | 160 ++
.../entity/collection/CollectionTemplate.java | 37 +
.../bocloud/ams/entity/config/CmdbConfig.java | 101 +
.../bocloud/ams/entity/enums/ApplyStatus.java | 36 +
.../ams/entity/enums/CollectionEnum.java | 220 ++
.../ams/entity/enums/InstanceEnum.java | 66 +
.../entity/enums/OperationalAuditType.java | 49 +
.../ams/entity/enums/PropertyType.java | 57 +
.../com/bocloud/ams/entity/enums/Status.java | 126 +
.../bocloud/ams/entity/instance/Instance.java | 35 +
.../entity/instance/InstanceAuthority.java | 64 +
.../ams/entity/instance/InstanceHistory.java | 62 +
.../ams/entity/instance/InstanceRelation.java | 80 +
.../InstanceRelationHistoryRecord.java | 92 +
.../ams/entity/instance/InstanceValue.java | 40 +
.../entity/model/CollectionHistoryModel.java | 11 +
.../model/ColumnAndSearchItemModel.java | 24 +
.../bocloud/ams/entity/model/ColumnModel.java | 32 +
.../ams/entity/model/InstanceBean.java | 22 +
.../ams/entity/model/InstanceLink.java | 45 +
.../ams/entity/model/InstanceModel.java | 29 +
.../ams/entity/model/InstanceNodeModel.java | 35 +
.../InstanceRelationHistoryAlterModel.java | 31 +
...InstanceRelationHistoryPreflightModel.java | 27 +
.../entity/model/InstanceRelationModel.java | 37 +
.../ams/entity/model/InstanceTopo.java | 18 +
.../bocloud/ams/entity/model/ModuleLink.java | 34 +
.../bocloud/ams/entity/model/ModuleTopo.java | 30 +
.../ams/entity/model/NotifyMessage.java | 128 +
.../ams/entity/model/OperateParam.java | 15 +
.../bocloud/ams/entity/model/PathModel.java | 25 +
.../ams/entity/model/PropertyModel.java | 37 +
.../model/RequestInstanceTopologyModel.java | 20 +
.../model/ResponseInstanceTopologyModel.java | 20 +
.../com/bocloud/ams/entity/model/Role.java | 33 +
.../ams/entity/model/SearchConfigModel.java | 49 +
.../ams/entity/model/StartModeParams.java | 17 +
.../bocloud/ams/entity/model/TaskBean.java | 19 +
.../bocloud/ams/entity/model/TaskGraph.java | 35 +
.../ams/entity/model/TaskInstanceBean.java | 32 +
.../bocloud/ams/entity/model/TaskNode.java | 17 +
.../ams/entity/model/TaskTransferParams.java | 24 +
.../bocloud/ams/entity/module/CiModule.java | 40 +
.../ams/entity/module/ModuleGroup.java | 42 +
.../ams/entity/module/ModuleRelation.java | 85 +
.../bocloud/ams/entity/module/Property.java | 224 ++
.../ams/entity/module/PropertyGroup.java | 34 +
.../ams/entity/module/PropertyItem.java | 72 +
.../ams/entity/module/PropertyPool.java | 180 ++
.../ams/entity/module/PropertyPoolItem.java | 91 +
.../ams/entity/module/RegularExpression.java | 34 +
.../bocloud/ams/entity/module/Relation.java | 58 +
.../ams/entity/module/RelationCategory.java | 43 +
.../ams/entity/module/TopologyConfig.java | 120 +
bocloud.ams.repository/.gitignore | 10 +
bocloud.ams.repository/pom.xml | 18 +
.../ams/repository/TableLogRepository.java | 28 +
.../AutoRelationRuleItemRepository.java | 50 +
.../AutoRelationRuleItemValueRepository.java | 45 +
.../AutoRelationRuleRepository.java | 107 +
.../audit/OperationalAuditBakRepository.java | 143 +
.../audit/OperationalAuditRepository.java | 76 +
.../CollectionComponentRepository.java | 98 +
.../CollectionHistoryBakRepository.java | 77 +
.../CollectionHistoryItemBakRepository.java | 77 +
.../CollectionHistoryItemRepository.java | 69 +
.../CollectionHistoryRepository.java | 92 +
.../CollectionTaskInstanceBakRepository.java | 79 +
.../CollectionTaskInstanceRepository.java | 122 +
.../collection/CollectionTaskRepository.java | 112 +
.../CollectionTemplateRepository.java | 76 +
.../config/CmdbConfigRepository.java | 62 +
.../instance/InstanceAuthorityRepository.java | 157 ++
.../instance/InstanceHistoryRepository.java | 62 +
...stanceRelationHistoryRecordRepository.java | 62 +
.../instance/InstanceRelationRepository.java | 298 +++
.../instance/InstanceRepository.java | 199 ++
.../instance/InstanceValueRepository.java | 176 ++
.../module/ModuleGroupRepository.java | 73 +
.../module/ModuleRelationRepository.java | 137 +
.../repository/module/ModuleRepository.java | 117 +
.../module/PropertyGroupRepository.java | 41 +
.../module/PropertyItemRepository.java | 53 +
.../module/PropertyPoolItemRepository.java | 61 +
.../module/PropertyPoolRepository.java | 72 +
.../repository/module/PropertyRepository.java | 113 +
.../module/RegularExpressionRepository.java | 39 +
.../module/RelationCategoryRepository.java | 79 +
.../repository/module/RelationRepository.java | 82 +
.../module/TopologyConfigRepository.java | 82 +
.../ams/repository/utils/CmdbUtils.java | 495 ++++
bocloud.ams.service/.gitignore | 10 +
bocloud.ams.service/pom.xml | 58 +
.../AutoRelationRuleItemService.java | 13 +
.../association/AutoRelationRuleService.java | 30 +
.../impl/AutoRelationRuleItemServiceImpl.java | 39 +
.../impl/AutoRelationRuleServiceImpl.java | 234 ++
.../audit/OperationalAuditService.java | 41 +
.../impl/OperationalAuditServiceImpl.java | 196 ++
.../CollectionHistoryItemService.java | 21 +
.../collection/CollectionHistoryService.java | 39 +
.../CollectionTaskInstanceService.java | 29 +
.../collection/CollectionTaskService.java | 61 +
.../collection/CollectionTemplateService.java | 28 +
.../CollectionHistoryItemServiceImpl.java | 68 +
.../impl/CollectionHistoryServiceImpl.java | 529 ++++
.../CollectionTaskInstanceServiceImpl.java | 351 +++
.../impl/CollectionTaskServiceImpl.java | 776 ++++++
.../impl/CollectionTemplateServiceImpl.java | 255 ++
.../ams/service/config/CmdbConfigService.java | 36 +
.../config/impl/CmdbConfigServiceImpl.java | 150 ++
.../ams/service/core/CmdbConfigCache.java | 56 +
.../instance/InstanceAuthorityService.java | 31 +
.../instance/InstanceAutoRelationService.java | 35 +
.../instance/InstanceHistoryService.java | 23 +
.../InstanceRelationHistoryRecordService.java | 54 +
.../instance/InstanceRelationService.java | 21 +
.../ams/service/instance/InstanceService.java | 57 +
.../instance/InstanceValueService.java | 18 +
.../impl/InstanceAuthorityServiceImpl.java | 246 ++
.../impl/InstanceAutoRelationServiceImpl.java | 209 ++
.../impl/InstanceHistoryServiceImpl.java | 87 +
...tanceRelationHistoryRecordServiceImpl.java | 1148 ++++++++
.../impl/InstanceRelationServiceImpl.java | 363 +++
.../instance/impl/InstanceServiceImpl.java | 2369 +++++++++++++++++
.../impl/InstanceValueServiceImpl.java | 59 +
.../service/internal/AmsInternalService.java | 58 +
.../service/internal/SmsInternalService.java | 62 +
.../service/module/ModuleGroupService.java | 35 +
.../service/module/ModuleRelationService.java | 76 +
.../ams/service/module/ModuleService.java | 38 +
.../service/module/PropertyPoolService.java | 47 +
.../ams/service/module/PropertyService.java | 18 +
.../module/RegularExpressionService.java | 23 +
.../module/RelationCategoryService.java | 64 +
.../ams/service/module/RelationService.java | 40 +
.../service/module/TopologyConfigService.java | 149 ++
.../module/impl/ModuleGroupServiceImpl.java | 573 ++++
.../impl/ModuleRelationServiceImpl.java | 592 ++++
.../module/impl/ModuleServiceImpl.java | 773 ++++++
.../module/impl/PropertyPoolServiceImpl.java | 424 +++
.../module/impl/PropertyServiceImpl.java | 155 ++
.../impl/RegularExpressionServiceImpl.java | 48 +
.../impl/RelationCategoryServiceImpl.java | 245 ++
.../module/impl/RelationServiceImpl.java | 145 +
.../impl/TopologyConfigServiceImpl.java | 1427 ++++++++++
.../service/task/InstanceRelationTask.java | 1126 ++++++++
.../task/ModuleInstanceRelationTask.java | 649 +++++
.../AutoModuleInstanceRelationUtils.java | 410 +++
.../ams/service/utils/BoStringUtils.java | 336 +++
.../utils/CollectionHistoryHelper.java | 542 ++++
.../ams/service/utils/EventPublisher.java | 42 +
.../ams/service/utils/ExcelFactory.java | 210 ++
.../ams/service/utils/ExcelHelper.java | 605 +++++
.../service/utils/GraphAlgorithmUtils.java | 111 +
.../service/utils/InstanceExcelHelper.java | 646 +++++
.../service/utils/InstanceHistoryHelper.java | 170 ++
.../ams/service/utils/JsonCompareUtil.java | 248 ++
.../ams/service/utils/ModuleConstant.java | 28 +
.../ams/service/utils/PropertyConstant.java | 107 +
.../utils/RelationHistoryConstant.java | 74 +
.../ams/service/utils/RepositoryHandler.java | 123 +
.../ams/service/utils/StreamUtils.java | 24 +
.../ams/service/utils/paginationUtil.java | 51 +
bocloud.ams.task/.gitignore | 10 +
bocloud.ams.task/pom.xml | 28 +
.../bocloud/ams/task/annotation/Module.java | 16 +
.../bocloud/ams/task/annotation/Worker.java | 13 +
.../task/exception/NodeFormatException.java | 30 +
.../ams/task/executor/RemoteWorker.java | 217 ++
.../ams/task/executor/TaskJobSubmit.java | 46 +
.../ams/task/executor/WorkerDispatcher.java | 162 ++
.../com/bocloud/ams/task/input/DBInput.java | 19 +
.../com/bocloud/ams/task/input/Depend.java | 77 +
.../com/bocloud/ams/task/input/HttpInput.java | 22 +
.../com/bocloud/ams/task/input/Input.java | 46 +
.../bocloud/ams/task/input/ScriptInput.java | 21 +
.../com/bocloud/ams/task/input/Target.java | 94 +
.../task/listener/AbstractTaskListener.java | 47 +
.../task/listener/MaintainTaskListener.java | 58 +
.../com/bocloud/ams/task/model/DBFront.java | 122 +
.../bocloud/ams/task/model/HostResult.java | 166 ++
.../com/bocloud/ams/task/model/HttpFront.java | 84 +
.../java/com/bocloud/ams/task/model/Job.java | 156 ++
.../com/bocloud/ams/task/model/JobResult.java | 68 +
.../com/bocloud/ams/task/model/Module.java | 77 +
.../com/bocloud/ams/task/model/Option.java | 88 +
.../bocloud/ams/task/model/ScriptFront.java | 73 +
.../bocloud/ams/task/model/TargetGroup.java | 59 +
.../bocloud/ams/task/model/WorkerHost.java | 240 ++
.../bocloud/ams/task/model/WorkerScript.java | 109 +
.../ams/task/model/enums/TaskParam.java | 74 +
.../com/bocloud/ams/task/utils/DBDriver.java | 45 +
.../com/bocloud/ams/task/utils/DBTool.java | 84 +
.../bocloud/ams/task/utils/ParamBuilder.java | 39 +
.../ams/task/worker/AbstractWorker.java | 76 +
.../ams/task/worker/DatabaseWorker.java | 426 +++
.../ams/task/worker/InputClassLocator.java | 51 +
.../ams/task/worker/MaintainWorker.java | 144 +
.../bocloud/ams/task/worker/MethodWorker.java | 118 +
.../bocloud/ams/task/worker/ScriptWorker.java | 95 +
.../ams/task/worker/WorkerClassLocator.java | 51 +
.../ams/task/worker/WorkerFactory.java | 52 +
pom.xml | 144 +
259 files changed, 33389 insertions(+)
create mode 100644 bocloud.ams.booter/.gitignore
create mode 100644 bocloud.ams.booter/pom.xml
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/Application.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/RabbitMQConfiguration.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/SwaggerConfiguration.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/WebInterceptorConfiguration.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/association/AutoRelationRuleController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/audit/OperationalAuditController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryItemController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskInstanceController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTemplateController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/config/CmdbConfigController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/instance/InstanceAuthoryController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/instance/InstanceController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/instance/InstanceHistoryController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/instance/InstanceRelationController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/instance/InstanceRelationHistoryRecordController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/ModuleController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/ModuleGroupController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/ModuleRelationController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/PropertyController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/PropertyPoolController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/RegularExpressionController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/RelationCategoryController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/RelationController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/module/TopologyConfigController.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/listener/TaskResultListener.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/scheduler/CollectionTaskInstanceBakScheduler.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/scheduler/ModuleInstanceRelationScheduler.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/scheduler/OperationalAuditBakScheduler.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/syslog/SysLogAppenderTcpAndUdp.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/syslog/SysLogLevelConvertor.java
create mode 100644 bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/syslog/SyslogOutputStreamTcpAndUdp.java
create mode 100644 bocloud.ams.booter/src/main/resources/application.yml
create mode 100644 bocloud.ams.booter/src/main/resources/banner.txt
create mode 100644 bocloud.ams.booter/src/main/resources/logback-spring.xml
create mode 100644 bocloud.ams.entity/.gitignore
create mode 100644 bocloud.ams.entity/pom.xml
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/annotation/ColumnType.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/Role.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/TableLog.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/association/AutoRelationRule.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/association/AutoRelationRuleItem.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/association/AutoRelationRuleItemValue.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/audit/OperationalAudit.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/audit/OperationalAuditBak.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionComponent.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionHistory.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionHistoryBak.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionHistoryItem.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionHistoryItemBak.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionTask.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionTaskInstance.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionTaskInstanceBak.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/collection/CollectionTemplate.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/config/CmdbConfig.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/enums/ApplyStatus.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/enums/CollectionEnum.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/enums/InstanceEnum.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/enums/OperationalAuditType.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/enums/PropertyType.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/enums/Status.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/instance/Instance.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/instance/InstanceAuthority.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/instance/InstanceHistory.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/instance/InstanceRelation.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/instance/InstanceRelationHistoryRecord.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/instance/InstanceValue.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/CollectionHistoryModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/ColumnAndSearchItemModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/ColumnModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceBean.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceLink.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceNodeModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceRelationHistoryAlterModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceRelationHistoryPreflightModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceRelationModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/InstanceTopo.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/ModuleLink.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/ModuleTopo.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/NotifyMessage.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/OperateParam.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/PathModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/PropertyModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/RequestInstanceTopologyModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/ResponseInstanceTopologyModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/Role.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/SearchConfigModel.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/StartModeParams.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/TaskBean.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/TaskGraph.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/TaskInstanceBean.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/TaskNode.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/model/TaskTransferParams.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/CiModule.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/ModuleGroup.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/ModuleRelation.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/Property.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/PropertyGroup.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/PropertyItem.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/PropertyPool.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/PropertyPoolItem.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/RegularExpression.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/Relation.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/RelationCategory.java
create mode 100644 bocloud.ams.entity/src/main/java/com/bocloud/ams/entity/module/TopologyConfig.java
create mode 100644 bocloud.ams.repository/.gitignore
create mode 100644 bocloud.ams.repository/pom.xml
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/TableLogRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/association/AutoRelationRuleItemRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/association/AutoRelationRuleItemValueRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/association/AutoRelationRuleRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/audit/OperationalAuditBakRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/audit/OperationalAuditRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionComponentRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionHistoryBakRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionHistoryItemBakRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionHistoryItemRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionHistoryRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionTaskInstanceBakRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionTaskInstanceRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionTaskRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/collection/CollectionTemplateRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/config/CmdbConfigRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/instance/InstanceAuthorityRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/instance/InstanceHistoryRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/instance/InstanceRelationHistoryRecordRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/instance/InstanceRelationRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/instance/InstanceRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/instance/InstanceValueRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/ModuleGroupRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/ModuleRelationRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/ModuleRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/PropertyGroupRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/PropertyItemRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/PropertyPoolItemRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/PropertyPoolRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/PropertyRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/RegularExpressionRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/RelationCategoryRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/RelationRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/module/TopologyConfigRepository.java
create mode 100644 bocloud.ams.repository/src/main/java/com/bocloud/ams/repository/utils/CmdbUtils.java
create mode 100644 bocloud.ams.service/.gitignore
create mode 100644 bocloud.ams.service/pom.xml
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/association/AutoRelationRuleItemService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/association/AutoRelationRuleService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/association/impl/AutoRelationRuleItemServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/association/impl/AutoRelationRuleServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/audit/OperationalAuditService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/audit/impl/OperationalAuditServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/CollectionHistoryItemService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/CollectionHistoryService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/CollectionTaskInstanceService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/CollectionTaskService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/CollectionTemplateService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/impl/CollectionHistoryItemServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/impl/CollectionHistoryServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/impl/CollectionTaskInstanceServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/impl/CollectionTaskServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/collection/impl/CollectionTemplateServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/config/CmdbConfigService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/config/impl/CmdbConfigServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/core/CmdbConfigCache.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceAuthorityService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceAutoRelationService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceHistoryService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceRelationHistoryRecordService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceRelationService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/InstanceValueService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceAuthorityServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceAutoRelationServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceHistoryServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceRelationHistoryRecordServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceRelationServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/instance/impl/InstanceValueServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/internal/AmsInternalService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/internal/SmsInternalService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/ModuleGroupService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/ModuleRelationService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/ModuleService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/PropertyPoolService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/PropertyService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/RegularExpressionService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/RelationCategoryService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/RelationService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/TopologyConfigService.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/ModuleGroupServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/ModuleRelationServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/ModuleServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/PropertyPoolServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/PropertyServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/RegularExpressionServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/RelationCategoryServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/RelationServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/module/impl/TopologyConfigServiceImpl.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/task/InstanceRelationTask.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/task/ModuleInstanceRelationTask.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/AutoModuleInstanceRelationUtils.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/BoStringUtils.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/CollectionHistoryHelper.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/EventPublisher.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/ExcelFactory.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/ExcelHelper.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/GraphAlgorithmUtils.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/InstanceExcelHelper.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/InstanceHistoryHelper.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/JsonCompareUtil.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/ModuleConstant.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/PropertyConstant.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/RelationHistoryConstant.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/RepositoryHandler.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/StreamUtils.java
create mode 100644 bocloud.ams.service/src/main/java/com/bocloud/ams/service/utils/paginationUtil.java
create mode 100644 bocloud.ams.task/.gitignore
create mode 100644 bocloud.ams.task/pom.xml
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/annotation/Module.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/annotation/Worker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/exception/NodeFormatException.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/executor/RemoteWorker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/executor/TaskJobSubmit.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/executor/WorkerDispatcher.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/input/DBInput.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/input/Depend.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/input/HttpInput.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/input/Input.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/input/ScriptInput.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/input/Target.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/listener/AbstractTaskListener.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/listener/MaintainTaskListener.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/DBFront.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/HostResult.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/HttpFront.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/Job.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/JobResult.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/Module.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/Option.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/ScriptFront.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/TargetGroup.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/WorkerHost.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/WorkerScript.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/model/enums/TaskParam.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/utils/DBDriver.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/utils/DBTool.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/utils/ParamBuilder.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/AbstractWorker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/DatabaseWorker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/InputClassLocator.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/MaintainWorker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/MethodWorker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/ScriptWorker.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/WorkerClassLocator.java
create mode 100644 bocloud.ams.task/src/main/java/com/bocloud/ams/task/worker/WorkerFactory.java
create mode 100644 pom.xml
diff --git a/bocloud.ams.booter/.gitignore b/bocloud.ams.booter/.gitignore
new file mode 100644
index 0000000..e313482
--- /dev/null
+++ b/bocloud.ams.booter/.gitignore
@@ -0,0 +1,10 @@
+*/target/*
+*/.settings/*
+*.classpath
+*.project
+*.prefs
+*.class
+*.iml
+/.idea/*
+*/.svn/*
+/target/
diff --git a/bocloud.ams.booter/pom.xml b/bocloud.ams.booter/pom.xml
new file mode 100644
index 0000000..7266529
--- /dev/null
+++ b/bocloud.ams.booter/pom.xml
@@ -0,0 +1,157 @@
+
+
+
+ bocloud.ams
+ com.bocloud
+ 6.5.0-LTS-SZ
+
+ 4.0.0
+ bocloud.ams.booter
+ ${bocloud.booter.version}
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.hibernate.validator
+ hibernate-validator
+
+
+
+
+
+ com.bocloud
+ bocloud.ams.service
+
+
+ com.freedom
+ megatron.microservice
+
+
+ junit
+ junit
+ test
+
+
+ org.springframework.boot
+ spring-boot-test
+ 2.3.5.RELEASE
+ test
+
+
+ org.springframework
+ spring-test
+ 5.2.10.RELEASE
+ test
+
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.7
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ true
+ 21
+ 21
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.3.0
+
+
+
+ com.bocloud.ams.booter.Application
+ true
+ false
+ libs/
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.6.1
+
+
+
+ copy-dependencies
+
+
+ jar
+ jar
+ runtime
+ ${project.build.directory}/libs
+
+
+
+
+
+
+
+
+ bocloud.booter.tomcat
+
+ 6.5.0-LTS-SZ
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.hibernate.validator
+ hibernate-validator
+
+
+
+
+
+
+ bocloud.booter.tongweb
+
+ 6.5.0-LTS-SZ-TONGWEB
+
+
+
+ com.tongweb
+ tongweb-embed
+ 7.0.E.2
+
+
+ com.tongweb.springboot
+ tongweb-spring-boot-starter
+ 2.x.0.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.hibernate.validator
+ hibernate-validator
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/Application.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/Application.java
new file mode 100644
index 0000000..f51ca06
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/Application.java
@@ -0,0 +1,24 @@
+package com.bocloud.ams.booter;
+
+import org.springframework.amqp.rabbit.annotation.EnableRabbit;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * CMDB服务启动类
+ *
+ * @author DMW
+ */
+@SpringBootApplication
+@EnableRabbit
+@EnableDiscoveryClient
+@EnableScheduling
+@ComponentScan(value = {"com.bocloud", "com.megatron"})
+public class Application {
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/RabbitMQConfiguration.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/RabbitMQConfiguration.java
new file mode 100644
index 0000000..f7413cb
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/RabbitMQConfiguration.java
@@ -0,0 +1,145 @@
+package com.bocloud.ams.booter.config;
+
+import com.bocloud.ams.booter.listener.TaskResultListener;
+import com.megatron.common.utils.MapTools;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
+import org.springframework.amqp.support.converter.MessageConverter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+import java.util.Map;
+
+@Configuration
+@ConfigurationProperties(prefix = "spring.rabbitmq")
+public class RabbitMQConfiguration {
+ private Map arguments = MapTools.simpleMap("x-ha-policy", "all");
+ @Autowired
+ private ConnectionFactory connectionFactory;
+
+ /**
+ * 声明审计日志队列
+ *
+ * @return
+ */
+ @Bean
+ public Queue declareLogQueue() {
+ return new Queue("bocloud.log.queue", true, false, false, arguments);
+ }
+
+
+ /**
+ * 声明默认的交换
+ *
+ * @return
+ */
+ @Bean
+ public DirectExchange deafultExchange() {
+ return new DirectExchange("bocloud.direct.exchange", true, true, arguments);
+ }
+
+ /**
+ * 绑定日志队列
+ *
+ * @return
+ */
+ @Bean
+ public Binding bindingLogQueue() {
+ return BindingBuilder.bind(declareLogQueue()).to(deafultExchange()).withQueueName();
+ }
+
+ /**
+ * 绑定CMDB任务队列
+ *
+ * @return
+ */
+ @Bean
+ public Binding bindingCmdbQueue() {
+ return BindingBuilder.bind(declareTaskResultQueue()).to(deafultExchange()).withQueueName();
+ }
+
+ /**
+ * 声明任务执行队列
+ *
+ * @return
+ */
+ @Bean
+ public Queue declareTaskResultQueue() {
+ return new Queue("cmdb.task.result.queue", true, false, false, arguments);
+ }
+
+ @Bean
+ public MessageConverter messageConverter() {
+ return new Jackson2JsonMessageConverter();
+ }
+
+ @Bean
+ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+ public RabbitTemplate amqpTemplate() {
+ RabbitTemplate amqpTemplate = new RabbitTemplate(connectionFactory);
+ amqpTemplate.setMessageConverter(messageConverter());
+ amqpTemplate.setExchange(deafultExchange().getName());
+ return amqpTemplate;
+ }
+
+ /**
+ * 设置手动消费确认
+ *
+ * @param connectionFactory
+ * @return
+ */
+ @Bean
+ public RabbitListenerContainerFactory> rabbitListenerContainerFactory(ConnectionFactory connectionFactory) {
+ SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
+ factory.setConnectionFactory(connectionFactory);
+ factory.setMessageConverter(new Jackson2JsonMessageConverter());
+ factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
+ return factory;
+ }
+
+ @Bean
+ public SimpleMessageListenerContainer autoJobCompletedListener(TaskResultListener taskResultListener) {
+ SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
+ container.setQueues(declareTaskResultQueue());
+ // 设置确认模式自动确认
+ container.setAcknowledgeMode(AcknowledgeMode.AUTO);
+ container.setMessageListener(taskResultListener);
+ return container;
+ }
+
+ @Bean("customContainerFactory")
+ public SimpleRabbitListenerContainerFactory containerFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) {
+ SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
+ //设置线程数
+ factory.setConcurrentConsumers(10);
+ //最大线程数
+ factory.setMaxConcurrentConsumers(10);
+ configurer.configure(factory, connectionFactory);
+ return factory;
+ }
+
+ @Bean
+ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+ public RabbitAdmin rabbitAdmin() {
+ RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory);
+ return rabbitAdmin;
+ }
+
+ @Bean
+ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+ public AmqpAdmin amqpAdmin() {
+ AmqpAdmin amqpAdmin = new RabbitAdmin(connectionFactory);
+ return amqpAdmin;
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/SwaggerConfiguration.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/SwaggerConfiguration.java
new file mode 100644
index 0000000..34bb9c7
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/SwaggerConfiguration.java
@@ -0,0 +1,20 @@
+package com.bocloud.ams.booter.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Contact;
+import io.swagger.v3.oas.models.info.Info;
+
+@Configuration
+public class SwaggerConfiguration {
+
+ @Bean
+ public OpenAPI openAPI() {
+ Contact contact = new Contact().name("未伟").email("weiwei@beyondcent.com").url("http://www.bocloud.com/");
+ Info info = new Info().title("CMDB服务API接口文档").description("CMDB服务API接口文档")
+ .termsOfService("http://www.bocloud.com/").contact(contact).version("1.0");
+ return new OpenAPI().info(info);
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/WebInterceptorConfiguration.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/WebInterceptorConfiguration.java
new file mode 100644
index 0000000..aae1b70
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/config/WebInterceptorConfiguration.java
@@ -0,0 +1,62 @@
+package com.bocloud.ams.booter.config;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.bocloud.cmp.boot.config.PagerArgumentResolver;
+import com.bocloud.cmp.boot.interceptor.AccessInterceptor;
+import com.bocloud.cmp.boot.interceptor.LogInterceptor;
+import com.megatron.framework.core.InterceptorBridge;
+import com.megatron.framework.core.config.InterceptorConfiguration;
+import com.megatron.framework.core.domain.InterceptorEntity;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 拦截器配置类
+ *
+ * @author dmw
+ */
+@Slf4j
+@Component
+public class WebInterceptorConfiguration implements InterceptorConfiguration {
+
+ private static final String[] ACCESS_EXCLUDES = new String[] {"/status", "/status/db", "/status/**",
+ "/v1/status/**", "/login", "/sso", "/v1/logview", "/v1/logzip", "/v1/config/**", "/v1/plugins/**", "/*/*.css",
+ "/*/*.js", "/*/*.png", "/*/*.jpg", "/*/*.jpeg", "/*.html", "/*/*.html", "/swagger-resources/**", "/favicon.ico",
+ "/webjars/**", "/v3/**", "/swagger-ui.html/**", "**/api-docs", "/error", "/favicon.ico"};
+ private static final String[] LOG_EXCLUDES = new String[] {"/*/*.css", "/*/*.js", "/*/*.png", "/*/*.jpg",
+ "/*/*.jpeg", "/*.html", "/*/*.html", "/swagger-resources/**", "/favicon.ico", "/webjars/**", "/v3/**",
+ "/swagger-ui.html/**", "**/api-docs", "/error", "/favicon.ico"};
+ private static final String[] INCLUDES = new String[] {"/**"};
+ private final LogInterceptor logInterceptor;
+ private final AccessInterceptor accessInterceptor;
+
+ @Autowired
+ public WebInterceptorConfiguration(AccessInterceptor accessInterceptor, LogInterceptor logInterceptor) {
+ this.logInterceptor = logInterceptor;
+ this.accessInterceptor = accessInterceptor;
+ }
+
+ @Override
+ public InterceptorBridge buildBridge() {
+ log.info("start to build interceptors...");
+ InterceptorBridge bridge = new InterceptorBridge();
+ InterceptorEntity accessEntity = InterceptorEntity.builder().interceptor(accessInterceptor).includes(INCLUDES)
+ .excludes(ACCESS_EXCLUDES).order(0).build();
+ InterceptorEntity auditLogEntity = InterceptorEntity.builder().interceptor(logInterceptor).includes(INCLUDES)
+ .excludes(LOG_EXCLUDES).order(1).build();
+ List interceptors = new ArrayList<>();
+ interceptors.add(accessEntity);
+ interceptors.add(auditLogEntity);
+ bridge.setInterceptors(interceptors);
+ bridge.setResolvers(Collections.singletonList(new PagerArgumentResolver()));
+ bridge.setMessageConverters(new ArrayList<>(0));
+ log.info("build interceptors success!!!");
+ return bridge;
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/association/AutoRelationRuleController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/association/AutoRelationRuleController.java
new file mode 100644
index 0000000..233becc
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/association/AutoRelationRuleController.java
@@ -0,0 +1,112 @@
+package com.bocloud.ams.booter.controller.association;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.association.AutoRelationRule;
+import com.bocloud.ams.entity.association.AutoRelationRuleItem;
+import com.bocloud.ams.service.association.AutoRelationRuleService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+import com.megatron.common.model.RequestContext;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/rule")
+@Tag(name = "关联规则管理")
+public class AutoRelationRuleController {
+
+ @Autowired
+ private AutoRelationRuleService autoRelationRuleService;
+
+ /**
+ * 关联规则展示
+ *
+ * @param pager
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "关联规则列表")
+ @GetMapping
+ public GeneralResult> list(Pager pager) {
+ return autoRelationRuleService.list(pager);
+ }
+
+ /**
+ * 新增关联规则
+ *
+ * @param rule
+ * @param context
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "关联规则新增")
+ @PostMapping
+ public GeneralResult save(@RequestBody AutoRelationRule rule,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return autoRelationRuleService.save(rule, context.getTarget());
+ }
+
+ /**
+ * 更新关联规则
+ *
+ * @param id
+ * @param rule
+ * @param context
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "关联规则修改")
+ @PutMapping(value = "/{id}")
+ public GeneralResult modify(@PathVariable(value = Common.ID) Long id, @RequestBody AutoRelationRule rule,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return autoRelationRuleService.modify(id, rule, context.getTarget());
+ }
+
+ /**
+ * 关联规则详情
+ *
+ * @param id
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "关联规则详情")
+ @GetMapping(value = "/{id}")
+ public GeneralResult detail(@PathVariable(value = Common.ID) Long id) {
+ return autoRelationRuleService.detail(id);
+ }
+
+ /**
+ * 关联规则明细详情
+ *
+ * @param itemId
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "关联规则明细详情")
+ @GetMapping(value = "/{id}/items/{itemId}")
+ public GeneralResult itemDetail(@PathVariable("itemId") Long itemId) {
+ return autoRelationRuleService.itemDetail(itemId);
+ }
+
+ /**
+ * 删除关联规则
+ *
+ * @param id
+ * @param context
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "关联规则删除")
+ @DeleteMapping(value = "/{id}")
+ public GeneralResult remove(@PathVariable(value = Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return autoRelationRuleService.remove(id, context.getTarget());
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/audit/OperationalAuditController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/audit/OperationalAuditController.java
new file mode 100644
index 0000000..bed20a4
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/audit/OperationalAuditController.java
@@ -0,0 +1,57 @@
+package com.bocloud.ams.booter.controller.audit;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.audit.OperationalAudit;
+import com.bocloud.ams.entity.audit.OperationalAuditBak;
+import com.bocloud.ams.service.audit.OperationalAuditService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/operational/audit")
+@Tag(name = "操作审计管理")
+public class OperationalAuditController {
+
+ @Autowired
+ private OperationalAuditService operationalAuditService;
+
+ /**
+ * 资源变更记录
+ *
+ * @param pager
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "操作审计列表")
+ @GetMapping
+ public GeneralResult> operationalAudit(Pager pager) {
+ return operationalAuditService.list(pager);
+ }
+
+ /**
+ * 资源变更记录详情
+ *
+ * @param id
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "操作审计详情")
+ @GetMapping(value = "/{id}")
+ public GeneralResult operationalAudit(@PathVariable(value = Common.ID) Long id) {
+ return operationalAuditService.deatil(id);
+ }
+
+ @Operation(tags = {"CMC"}, summary = "操作审计备份列表")
+ @GetMapping(value = "/bak")
+ public GeneralResult> operationalAuditBak(Pager pager) {
+ return operationalAuditService.bakList(pager);
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryController.java
new file mode 100644
index 0000000..9cebe0b
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryController.java
@@ -0,0 +1,81 @@
+package com.bocloud.ams.booter.controller.collection;
+
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.collection.CollectionHistory;
+import com.bocloud.ams.entity.model.CollectionHistoryModel;
+import com.bocloud.ams.service.collection.CollectionHistoryService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+import com.megatron.common.model.RequestContext;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/collection/history")
+@Tag(name = "采集历史管理")
+public class CollectionHistoryController {
+
+ @Autowired
+ private CollectionHistoryService collectionHistoryService;
+
+ @Operation(tags = {"CMC"}, summary = "实例采集历史列表")
+ @GetMapping("/instances")
+ public GeneralResult>> list(Pager pager,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionHistoryService.instances(pager, context.getTarget());
+ }
+
+ @Operation(tags = {"CMC"}, summary = "采集历史列表")
+ @GetMapping
+ public GeneralResult> history(Pager pager) {
+ return collectionHistoryService.list(pager);
+ }
+
+ @Operation(tags = {"CMC"}, summary = "采集历史新增")
+ @PostMapping
+ public GeneralResult save(@RequestBody CollectionHistory history,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionHistoryService.create(history);
+ }
+
+ @PutMapping(value = "/{id}")
+ @Operation(tags = {"CMC"}, summary = "采集历史修改")
+ public GeneralResult modify(@RequestBody CollectionHistory history,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionHistoryService.modify(history);
+ }
+
+ @PutMapping(value = "/batch")
+ @Operation(tags = {"CMC"}, summary = "采集历史批量新增")
+ public GeneralResult batchModify(@RequestBody CollectionHistoryModel historyModel,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionHistoryService.batchModify(historyModel, context.getTarget());
+ }
+
+ @Operation(tags = {"CMC"}, summary = "采集历史备份列表")
+ @GetMapping("/backup")
+ public GeneralResult> backupHistory(Pager pager) {
+ return collectionHistoryService.backupHistory(pager);
+ }
+
+ @Operation(tags = {"CMC"}, summary = "实例采集历史备份列表")
+ @GetMapping("/backup/instances")
+ public GeneralResult>> backupList(Pager pager,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionHistoryService.backupList(pager, context.getTarget());
+ }
+
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryItemController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryItemController.java
new file mode 100644
index 0000000..d589783
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionHistoryItemController.java
@@ -0,0 +1,37 @@
+package com.bocloud.ams.booter.controller.collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.collection.CollectionHistoryItem;
+import com.bocloud.ams.service.collection.CollectionHistoryItemService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/collection/history/item")
+@Tag(name = "采集历史条目管理")
+public class CollectionHistoryItemController {
+
+ @Autowired
+ private CollectionHistoryItemService collectionHistoryItemService;
+
+ @Operation(tags = {"CMC"}, summary = "采集历史条目列表")
+ @GetMapping
+ public GeneralResult> historyItems(Pager pager) {
+ return collectionHistoryItemService.list(pager);
+ }
+
+ @Operation(tags = {"CMC"}, summary = "实例采集历史条目备份列表")
+ @GetMapping("/backup")
+ public GeneralResult> backupHistoryItems(Pager pager) {
+ return collectionHistoryItemService.backupHistoryItems(pager);
+ }
+
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskController.java
new file mode 100644
index 0000000..9a4c125
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskController.java
@@ -0,0 +1,161 @@
+package com.bocloud.ams.booter.controller.collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.ApplicationListener;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PatchMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.collection.CollectionTask;
+import com.bocloud.ams.entity.model.OperateParam;
+import com.bocloud.ams.service.collection.CollectionTaskService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+import com.megatron.common.model.RequestContext;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/collection/tasks")
+@Tag(name = "采集任务管理")
+public class CollectionTaskController implements ApplicationListener {
+
+ @Autowired
+ private CollectionTaskService collectionTaskService;
+
+ /**
+ * 启动作业
+ *
+ * @param id
+ * @param context
+ * @return
+ */
+ @PatchMapping(value = "/{id}/start")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集任务执行")
+ public GeneralResult start(@PathVariable(value = Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionTaskService.start(id, context);
+ }
+
+ /**
+ * 采集任务列表
+ *
+ * @param pager
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "采集任务列表")
+ @GetMapping
+ public GeneralResult> list(Pager pager) {
+ return collectionTaskService.list(pager);
+ }
+
+ /**
+ * 采集任务创建
+ *
+ * @param task
+ * @param context
+ * @return
+ */
+ @PostMapping
+ @Operation(tags = {"CMC"}, summary = "采集任务创建")
+ public GeneralResult create(@RequestBody CollectionTask task,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionTaskService.save(task, context);
+ }
+
+ /**
+ * 采集任务修改
+ *
+ * @param bean
+ * @param context
+ * @return
+ */
+ @PutMapping(value = "/{id}")
+ @Operation(tags = {"CMC"}, summary = "采集任务修改")
+ public GeneralResult modify(@RequestBody CollectionTask bean,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionTaskService.modify(bean, context);
+ }
+
+ /**
+ * 采集任务类型变更->由定时任务变更为常规任务
+ *
+ * @param context
+ * @return
+ */
+ @PatchMapping(value = "/{id}")
+ @Operation(tags = {"CMC"}, summary = "采集任务定时任务转为常规任务")
+ public GeneralResult modifyType(@PathVariable(value = Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionTaskService.modifyType(id, context);
+ }
+
+ /**
+ * 采集任务删除
+ *
+ * @param id
+ * @param context
+ * @return
+ */
+ @DeleteMapping(value = "/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集任务删除")
+ public GeneralResult remove(@PathVariable(value = Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionTaskService.remove(id, context.getTarget());
+ }
+
+ /**
+ * 采集任务详情
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping(value = "/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集任务详情")
+ public GeneralResult detail(@PathVariable(value = Common.ID) Long id) {
+ return collectionTaskService.detail(id);
+ }
+
+ /**
+ * 采集定时任务操作-启动/暂停
+ *
+ * @param operateParam
+ * @param requestContext
+ * @return
+ */
+ @PatchMapping(value = "/{id}/schedule")
+ @Operation(summary = "采集任务定时任务操作-启动/暂停")
+ public GeneralResult operate(@RequestBody OperateParam operateParam, @PathVariable(value = Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext requestContext) {
+ return collectionTaskService.operate(operateParam, id, requestContext.getTarget());
+ }
+
+ @GetMapping(value = "/{id}/schedule")
+ @Operation(tags = {"CMC"}, summary = "采集任务为定时采集添加任务(主服务有效)")
+ public GeneralResult addScheduleIfLeader(@PathVariable(Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext requestContext) {
+ return collectionTaskService.addScheduleIfLeader(id);
+ }
+
+ @DeleteMapping(value = "/{id}/schedule")
+ @Operation(tags = {"CMC"}, summary = "采集任务为定时采集删除任务(主服务有效)")
+ public GeneralResult removeScheduleIfLeader(@PathVariable(Common.ID) Long id) {
+ return collectionTaskService.removeScheduleIfLeader(id);
+ }
+
+ @Override
+ public void onApplicationEvent(ApplicationReadyEvent event) {
+ collectionTaskService.onApplicationReadyEvent();
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskInstanceController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskInstanceController.java
new file mode 100644
index 0000000..351aa9d
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTaskInstanceController.java
@@ -0,0 +1,57 @@
+package com.bocloud.ams.booter.controller.collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.collection.CollectionTaskInstance;
+import com.bocloud.ams.service.collection.CollectionTaskInstanceService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/collection/tasks/instances")
+@Tag(name = "采集任务实例管理")
+public class CollectionTaskInstanceController {
+
+ @Autowired
+ private CollectionTaskInstanceService collectionTaskInstanceService;
+
+ /**
+ * 采集任务实例列表
+ *
+ * @param pager
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "采集任务实例列表")
+ @GetMapping
+ public GeneralResult> list(Pager pager) {
+ return collectionTaskInstanceService.list(pager);
+ }
+
+ @GetMapping(value = "/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集任务实例详情")
+ public GeneralResult detail(@PathVariable(value = Common.ID) Long id) {
+ return collectionTaskInstanceService.detail(id);
+ }
+
+ @Operation(tags = {"CMC"}, summary = "采集任务实例备份列表")
+ @GetMapping("/backup")
+ public GeneralResult> bakList(Pager pager) {
+ return collectionTaskInstanceService.bakList(pager);
+ }
+
+ @GetMapping(value = "/{name}/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集任务实例备份详情")
+ public GeneralResult bakDetail(@PathVariable(value = Common.ID) Long id,
+ @PathVariable(value = Common.NAME) String name) {
+ return collectionTaskInstanceService.bakDetail(id, name);
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTemplateController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTemplateController.java
new file mode 100644
index 0000000..a28b203
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/collection/CollectionTemplateController.java
@@ -0,0 +1,113 @@
+package com.bocloud.ams.booter.controller.collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.bocloud.ams.entity.collection.CollectionComponent;
+import com.bocloud.ams.entity.collection.CollectionTemplate;
+import com.bocloud.ams.service.collection.CollectionTemplateService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.GridBean;
+import com.megatron.common.model.Pager;
+import com.megatron.common.model.RequestContext;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/collection/templates")
+@Tag(name = "采集插件管理")
+public class CollectionTemplateController {
+
+ @Autowired
+ private CollectionTemplateService collectionTemplateService;
+
+ /**
+ * 采集模板组件列表
+ *
+ * @param pager
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "采集插件组件列表")
+ @GetMapping(value = "/components")
+ public GeneralResult> components(Pager pager) {
+ return collectionTemplateService.components(pager);
+ }
+
+ /**
+ * 采集插件列表
+ *
+ * @param pager
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "采集插件列表")
+ @GetMapping
+ public GeneralResult> list(Pager pager) {
+ return collectionTemplateService.list(pager);
+ }
+
+ /**
+ * 新增采集插件
+ *
+ * @param template
+ * @param context
+ * @return
+ */
+ @Operation(tags = {"CMC"}, summary = "采集插件新增")
+ @PostMapping
+ public GeneralResult save(@RequestBody CollectionTemplate template,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ template.setCreatorId(context.getTarget());
+ return collectionTemplateService.save(template, context.getTarget());
+ }
+
+ /**
+ * 采集插件修改
+ *
+ * @param template
+ * @param context
+ * @return
+ */
+ @PutMapping(value = "/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集插件修改")
+ public GeneralResult modify(@RequestBody CollectionTemplate template,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ template.setMenderId(context.getTarget());
+ return collectionTemplateService.modify(template, context.getTarget());
+ }
+
+ /**
+ * 采集插件删除
+ *
+ * @param id
+ * @param context
+ * @return
+ */
+ @DeleteMapping(value = "/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集插件删除")
+ public GeneralResult remove(@PathVariable(value = Common.ID) Long id,
+ @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return collectionTemplateService.remove(id, context.getTarget());
+ }
+
+ /**
+ * 采集插件详情
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping(value = "/{id}")
+ @Operation(tags = {"CMC", "CSC"}, summary = "采集插件详情")
+ public GeneralResult detail(@PathVariable(value = Common.ID) Long id) {
+ return collectionTemplateService.detail(id);
+ }
+}
diff --git a/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/config/CmdbConfigController.java b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/config/CmdbConfigController.java
new file mode 100644
index 0000000..d60ad1a
--- /dev/null
+++ b/bocloud.ams.booter/src/main/java/com/bocloud/ams/booter/controller/config/CmdbConfigController.java
@@ -0,0 +1,75 @@
+package com.bocloud.ams.booter.controller.config;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.alibaba.fastjson.JSONArray;
+import com.bocloud.ams.entity.config.CmdbConfig;
+import com.bocloud.ams.service.config.CmdbConfigService;
+import com.megatron.common.model.GeneralResult;
+import com.megatron.common.model.RequestContext;
+import com.megatron.common.model.Result;
+import com.megatron.common.utils.Common;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@RestController
+@RequestMapping("/v1/cmdb/configs")
+@Tag(name = "配置中心配置管理")
+public class CmdbConfigController {
+
+ @Autowired
+ private CmdbConfigService cmdbConfigService;
+
+ /**
+ * 更新CMDB配置
+ *
+ * @param configs
+ * @param context
+ * @return
+ */
+ @PutMapping
+ @Operation(tags = {"CMC", "CSC"}, summary = "配置中心配置修改")
+ public Result modify(@RequestBody List configs, @Value(Common.REQ_CONTEXT) RequestContext context) {
+ return cmdbConfigService.batchUpdate(configs, context);
+ }
+
+ /**
+ * 查询CMDB配置
+ *
+ * @param category
+ * @param codes
+ * @return
+ */
+ @GetMapping
+ @Operation(summary = "配置中心配置批量查询")
+ public GeneralResult