فهرست منبع

由君石发起的AEGIS SDK自动发布, BUILD_ID=397, 版本号:1.0.12

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 سال پیش
والد
کامیت
558c26ba3d
100فایلهای تغییر یافته به همراه8334 افزوده شده و 2 حذف شده
  1. 3 0
      CHANGELOG
  2. 2 1
      CMakeLists.txt
  3. 1 1
      VERSION
  4. 178 0
      aegis/CMakeLists.txt
  5. 239 0
      aegis/include/alibabacloud/aegis/AegisClient.h
  6. 32 0
      aegis/include/alibabacloud/aegis/AegisExport.h
  7. 69 0
      aegis/include/alibabacloud/aegis/model/CreateInstanceRequest.h
  8. 53 0
      aegis/include/alibabacloud/aegis/model/CreateInstanceResult.h
  9. 54 0
      aegis/include/alibabacloud/aegis/model/DeleteStrategyRequest.h
  10. 49 0
      aegis/include/alibabacloud/aegis/model/DeleteStrategyResult.h
  11. 57 0
      aegis/include/alibabacloud/aegis/model/DescribeLoginLogsRequest.h
  12. 59 0
      aegis/include/alibabacloud/aegis/model/DescribeLoginLogsResult.h
  13. 60 0
      aegis/include/alibabacloud/aegis/model/DescribeStrategyTargetRequest.h
  14. 59 0
      aegis/include/alibabacloud/aegis/model/DescribeStrategyTargetResult.h
  15. 54 0
      aegis/include/alibabacloud/aegis/model/DescribeStratetyDetailRequest.h
  16. 73 0
      aegis/include/alibabacloud/aegis/model/DescribeStratetyDetailResult.h
  17. 51 0
      aegis/include/alibabacloud/aegis/model/DescribeStratetyRequest.h
  18. 70 0
      aegis/include/alibabacloud/aegis/model/DescribeStratetyResult.h
  19. 51 0
      aegis/include/alibabacloud/aegis/model/DescribeSuspiciousEventsRequest.h
  20. 59 0
      aegis/include/alibabacloud/aegis/model/DescribeSuspiciousEventsResult.h
  21. 108 0
      aegis/include/alibabacloud/aegis/model/DescribeVulDetailsRequest.h
  22. 81 0
      aegis/include/alibabacloud/aegis/model/DescribeVulDetailsResult.h
  23. 108 0
      aegis/include/alibabacloud/aegis/model/DescribeVulListRequest.h
  24. 59 0
      aegis/include/alibabacloud/aegis/model/DescribeVulListResult.h
  25. 78 0
      aegis/include/alibabacloud/aegis/model/DescribeWarningRequest.h
  26. 59 0
      aegis/include/alibabacloud/aegis/model/DescribeWarningResult.h
  27. 57 0
      aegis/include/alibabacloud/aegis/model/DescribeWebshellRequest.h
  28. 55 0
      aegis/include/alibabacloud/aegis/model/DescribeWebshellResult.h
  29. 51 0
      aegis/include/alibabacloud/aegis/model/GetAccountStatisticsRequest.h
  30. 64 0
      aegis/include/alibabacloud/aegis/model/GetAccountStatisticsResult.h
  31. 51 0
      aegis/include/alibabacloud/aegis/model/GetCrackStatisticsRequest.h
  32. 63 0
      aegis/include/alibabacloud/aegis/model/GetCrackStatisticsResult.h
  33. 63 0
      aegis/include/alibabacloud/aegis/model/GetEntityListRequest.h
  34. 85 0
      aegis/include/alibabacloud/aegis/model/GetEntityListResult.h
  35. 48 0
      aegis/include/alibabacloud/aegis/model/GetStatisticsByUuidRequest.h
  36. 68 0
      aegis/include/alibabacloud/aegis/model/GetStatisticsByUuidResult.h
  37. 51 0
      aegis/include/alibabacloud/aegis/model/GetStatisticsRequest.h
  38. 66 0
      aegis/include/alibabacloud/aegis/model/GetStatisticsResult.h
  39. 57 0
      aegis/include/alibabacloud/aegis/model/ModifyBatchIgnoreVulRequest.h
  40. 53 0
      aegis/include/alibabacloud/aegis/model/ModifyBatchIgnoreVulResult.h
  41. 66 0
      aegis/include/alibabacloud/aegis/model/ModifyStrategyRequest.h
  42. 61 0
      aegis/include/alibabacloud/aegis/model/ModifyStrategyResult.h
  43. 60 0
      aegis/include/alibabacloud/aegis/model/ModifyStrategyTargetRequest.h
  44. 49 0
      aegis/include/alibabacloud/aegis/model/ModifyStrategyTargetResult.h
  45. 60 0
      aegis/include/alibabacloud/aegis/model/QueryCrackEventRequest.h
  46. 91 0
      aegis/include/alibabacloud/aegis/model/QueryCrackEventResult.h
  47. 60 0
      aegis/include/alibabacloud/aegis/model/QueryLoginEventRequest.h
  48. 89 0
      aegis/include/alibabacloud/aegis/model/QueryLoginEventResult.h
  49. 51 0
      aegis/include/alibabacloud/aegis/model/ReleaseInstanceRequest.h
  50. 49 0
      aegis/include/alibabacloud/aegis/model/ReleaseInstanceResult.h
  51. 63 0
      aegis/include/alibabacloud/aegis/model/RenewInstanceRequest.h
  52. 51 0
      aegis/include/alibabacloud/aegis/model/RenewInstanceResult.h
  53. 60 0
      aegis/include/alibabacloud/aegis/model/UpgradeInstanceRequest.h
  54. 51 0
      aegis/include/alibabacloud/aegis/model/UpgradeInstanceResult.h
  55. 925 0
      aegis/src/AegisClient.cc
  56. 115 0
      aegis/src/model/CreateInstanceRequest.cc
  57. 59 0
      aegis/src/model/CreateInstanceResult.cc
  58. 60 0
      aegis/src/model/DeleteStrategyRequest.cc
  59. 45 0
      aegis/src/model/DeleteStrategyResult.cc
  60. 71 0
      aegis/src/model/DescribeLoginLogsRequest.cc
  61. 81 0
      aegis/src/model/DescribeLoginLogsResult.cc
  62. 82 0
      aegis/src/model/DescribeStrategyTargetRequest.cc
  63. 69 0
      aegis/src/model/DescribeStrategyTargetResult.cc
  64. 60 0
      aegis/src/model/DescribeStratetyDetailRequest.cc
  65. 90 0
      aegis/src/model/DescribeStratetyDetailResult.cc
  66. 49 0
      aegis/src/model/DescribeStratetyRequest.cc
  67. 89 0
      aegis/src/model/DescribeStratetyResult.cc
  68. 49 0
      aegis/src/model/DescribeSuspiciousEventsRequest.cc
  69. 81 0
      aegis/src/model/DescribeSuspiciousEventsResult.cc
  70. 258 0
      aegis/src/model/DescribeVulDetailsRequest.cc
  71. 158 0
      aegis/src/model/DescribeVulDetailsResult.cc
  72. 258 0
      aegis/src/model/DescribeVulListRequest.cc
  73. 81 0
      aegis/src/model/DescribeVulListResult.cc
  74. 148 0
      aegis/src/model/DescribeWarningRequest.cc
  75. 81 0
      aegis/src/model/DescribeWarningResult.cc
  76. 71 0
      aegis/src/model/DescribeWebshellRequest.cc
  77. 66 0
      aegis/src/model/DescribeWebshellResult.cc
  78. 49 0
      aegis/src/model/GetAccountStatisticsRequest.cc
  79. 88 0
      aegis/src/model/GetAccountStatisticsResult.cc
  80. 49 0
      aegis/src/model/GetCrackStatisticsRequest.cc
  81. 86 0
      aegis/src/model/GetCrackStatisticsResult.cc
  82. 93 0
      aegis/src/model/GetEntityListRequest.cc
  83. 126 0
      aegis/src/model/GetEntityListResult.cc
  84. 38 0
      aegis/src/model/GetStatisticsByUuidRequest.cc
  85. 96 0
      aegis/src/model/GetStatisticsByUuidResult.cc
  86. 49 0
      aegis/src/model/GetStatisticsRequest.cc
  87. 92 0
      aegis/src/model/GetStatisticsResult.cc
  88. 71 0
      aegis/src/model/ModifyBatchIgnoreVulRequest.cc
  89. 59 0
      aegis/src/model/ModifyBatchIgnoreVulResult.cc
  90. 104 0
      aegis/src/model/ModifyStrategyRequest.cc
  91. 79 0
      aegis/src/model/ModifyStrategyResult.cc
  92. 82 0
      aegis/src/model/ModifyStrategyTargetRequest.cc
  93. 45 0
      aegis/src/model/ModifyStrategyTargetResult.cc
  94. 82 0
      aegis/src/model/QueryCrackEventRequest.cc
  95. 138 0
      aegis/src/model/QueryCrackEventResult.cc
  96. 82 0
      aegis/src/model/QueryLoginEventRequest.cc
  97. 134 0
      aegis/src/model/QueryLoginEventResult.cc
  98. 49 0
      aegis/src/model/ReleaseInstanceRequest.cc
  99. 45 0
      aegis/src/model/ReleaseInstanceResult.cc
  100. 93 0
      aegis/src/model/RenewInstanceRequest.cc

+ 3 - 0
CHANGELOG

@@ -0,0 +1,3 @@
+2018-02-07 Version: 1.0.12
+1, add the access interface of logs such as vulnerabilities, baselines, exceptions, etc.
+

+ 2 - 1
CMakeLists.txt

@@ -59,4 +59,5 @@ add_subdirectory(cloudphoto)
 add_subdirectory(ess)
 add_subdirectory(tesladam)
 add_subdirectory(cms)
-add_subdirectory(afs)
+add_subdirectory(afs)
+add_subdirectory(aegis)

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.0.11
+1.0.12

+ 178 - 0
aegis/CMakeLists.txt

@@ -0,0 +1,178 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(aegis_public_header 
+	include/alibabacloud/aegis/AegisClient.h
+	include/alibabacloud/aegis/AegisExport.h )
+
+set(aegis_public_header_model 
+	include/alibabacloud/aegis/model/GetEntityListRequest.h
+	include/alibabacloud/aegis/model/GetEntityListResult.h
+	include/alibabacloud/aegis/model/GetStatisticsByUuidRequest.h
+	include/alibabacloud/aegis/model/GetStatisticsByUuidResult.h
+	include/alibabacloud/aegis/model/GetStatisticsRequest.h
+	include/alibabacloud/aegis/model/GetStatisticsResult.h
+	include/alibabacloud/aegis/model/DescribeVulDetailsRequest.h
+	include/alibabacloud/aegis/model/DescribeVulDetailsResult.h
+	include/alibabacloud/aegis/model/DeleteStrategyRequest.h
+	include/alibabacloud/aegis/model/DeleteStrategyResult.h
+	include/alibabacloud/aegis/model/GetCrackStatisticsRequest.h
+	include/alibabacloud/aegis/model/GetCrackStatisticsResult.h
+	include/alibabacloud/aegis/model/DescribeWarningRequest.h
+	include/alibabacloud/aegis/model/DescribeWarningResult.h
+	include/alibabacloud/aegis/model/ReleaseInstanceRequest.h
+	include/alibabacloud/aegis/model/ReleaseInstanceResult.h
+	include/alibabacloud/aegis/model/DescribeSuspiciousEventsRequest.h
+	include/alibabacloud/aegis/model/DescribeSuspiciousEventsResult.h
+	include/alibabacloud/aegis/model/CreateInstanceRequest.h
+	include/alibabacloud/aegis/model/CreateInstanceResult.h
+	include/alibabacloud/aegis/model/DescribeVulListRequest.h
+	include/alibabacloud/aegis/model/DescribeVulListResult.h
+	include/alibabacloud/aegis/model/UpgradeInstanceRequest.h
+	include/alibabacloud/aegis/model/UpgradeInstanceResult.h
+	include/alibabacloud/aegis/model/RenewInstanceRequest.h
+	include/alibabacloud/aegis/model/RenewInstanceResult.h
+	include/alibabacloud/aegis/model/DescribeStrategyTargetRequest.h
+	include/alibabacloud/aegis/model/DescribeStrategyTargetResult.h
+	include/alibabacloud/aegis/model/QueryLoginEventRequest.h
+	include/alibabacloud/aegis/model/QueryLoginEventResult.h
+	include/alibabacloud/aegis/model/GetAccountStatisticsRequest.h
+	include/alibabacloud/aegis/model/GetAccountStatisticsResult.h
+	include/alibabacloud/aegis/model/ModifyStrategyRequest.h
+	include/alibabacloud/aegis/model/ModifyStrategyResult.h
+	include/alibabacloud/aegis/model/ModifyStrategyTargetRequest.h
+	include/alibabacloud/aegis/model/ModifyStrategyTargetResult.h
+	include/alibabacloud/aegis/model/ModifyBatchIgnoreVulRequest.h
+	include/alibabacloud/aegis/model/ModifyBatchIgnoreVulResult.h
+	include/alibabacloud/aegis/model/DescribeWebshellRequest.h
+	include/alibabacloud/aegis/model/DescribeWebshellResult.h
+	include/alibabacloud/aegis/model/DescribeStratetyDetailRequest.h
+	include/alibabacloud/aegis/model/DescribeStratetyDetailResult.h
+	include/alibabacloud/aegis/model/DescribeStratetyRequest.h
+	include/alibabacloud/aegis/model/DescribeStratetyResult.h
+	include/alibabacloud/aegis/model/DescribeLoginLogsRequest.h
+	include/alibabacloud/aegis/model/DescribeLoginLogsResult.h
+	include/alibabacloud/aegis/model/QueryCrackEventRequest.h
+	include/alibabacloud/aegis/model/QueryCrackEventResult.h )
+
+set(aegis_src 
+	src/AegisClient.cc
+	src/model/GetEntityListRequest.cc
+	src/model/GetEntityListResult.cc
+	src/model/GetStatisticsByUuidRequest.cc
+	src/model/GetStatisticsByUuidResult.cc
+	src/model/GetStatisticsRequest.cc
+	src/model/GetStatisticsResult.cc
+	src/model/DescribeVulDetailsRequest.cc
+	src/model/DescribeVulDetailsResult.cc
+	src/model/DeleteStrategyRequest.cc
+	src/model/DeleteStrategyResult.cc
+	src/model/GetCrackStatisticsRequest.cc
+	src/model/GetCrackStatisticsResult.cc
+	src/model/DescribeWarningRequest.cc
+	src/model/DescribeWarningResult.cc
+	src/model/ReleaseInstanceRequest.cc
+	src/model/ReleaseInstanceResult.cc
+	src/model/DescribeSuspiciousEventsRequest.cc
+	src/model/DescribeSuspiciousEventsResult.cc
+	src/model/CreateInstanceRequest.cc
+	src/model/CreateInstanceResult.cc
+	src/model/DescribeVulListRequest.cc
+	src/model/DescribeVulListResult.cc
+	src/model/UpgradeInstanceRequest.cc
+	src/model/UpgradeInstanceResult.cc
+	src/model/RenewInstanceRequest.cc
+	src/model/RenewInstanceResult.cc
+	src/model/DescribeStrategyTargetRequest.cc
+	src/model/DescribeStrategyTargetResult.cc
+	src/model/QueryLoginEventRequest.cc
+	src/model/QueryLoginEventResult.cc
+	src/model/GetAccountStatisticsRequest.cc
+	src/model/GetAccountStatisticsResult.cc
+	src/model/ModifyStrategyRequest.cc
+	src/model/ModifyStrategyResult.cc
+	src/model/ModifyStrategyTargetRequest.cc
+	src/model/ModifyStrategyTargetResult.cc
+	src/model/ModifyBatchIgnoreVulRequest.cc
+	src/model/ModifyBatchIgnoreVulResult.cc
+	src/model/DescribeWebshellRequest.cc
+	src/model/DescribeWebshellResult.cc
+	src/model/DescribeStratetyDetailRequest.cc
+	src/model/DescribeStratetyDetailResult.cc
+	src/model/DescribeStratetyRequest.cc
+	src/model/DescribeStratetyResult.cc
+	src/model/DescribeLoginLogsRequest.cc
+	src/model/DescribeLoginLogsResult.cc
+	src/model/QueryCrackEventRequest.cc
+	src/model/QueryCrackEventResult.cc )
+
+add_library(aegis ${LIB_TYPE}
+	${aegis_public_header}
+	${aegis_public_header_model}
+	${aegis_src})
+
+set_target_properties(aegis
+	PROPERTIES
+	LINKER_LANGUAGE CXX
+	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}aegis
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(aegis
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_AEGIS_LIBRARY)
+endif()
+
+target_include_directories(aegis
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(aegis
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(aegis
+		jsoncpp)
+	target_include_directories(aegis
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(aegis
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(aegis
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(aegis
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(aegis
+		jsoncpp)
+endif()
+
+install(FILES ${aegis_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/aegis)
+install(FILES ${aegis_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/aegis/model)
+install(TARGETS aegis
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 239 - 0
aegis/include/alibabacloud/aegis/AegisClient.h

@@ -0,0 +1,239 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_AEGISCLIENT_H_
+#define ALIBABACLOUD_AEGIS_AEGISCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "AegisExport.h"
+#include "model/GetEntityListRequest.h"
+#include "model/GetEntityListResult.h"
+#include "model/GetStatisticsByUuidRequest.h"
+#include "model/GetStatisticsByUuidResult.h"
+#include "model/GetStatisticsRequest.h"
+#include "model/GetStatisticsResult.h"
+#include "model/DescribeVulDetailsRequest.h"
+#include "model/DescribeVulDetailsResult.h"
+#include "model/DeleteStrategyRequest.h"
+#include "model/DeleteStrategyResult.h"
+#include "model/GetCrackStatisticsRequest.h"
+#include "model/GetCrackStatisticsResult.h"
+#include "model/DescribeWarningRequest.h"
+#include "model/DescribeWarningResult.h"
+#include "model/ReleaseInstanceRequest.h"
+#include "model/ReleaseInstanceResult.h"
+#include "model/DescribeSuspiciousEventsRequest.h"
+#include "model/DescribeSuspiciousEventsResult.h"
+#include "model/CreateInstanceRequest.h"
+#include "model/CreateInstanceResult.h"
+#include "model/DescribeVulListRequest.h"
+#include "model/DescribeVulListResult.h"
+#include "model/UpgradeInstanceRequest.h"
+#include "model/UpgradeInstanceResult.h"
+#include "model/RenewInstanceRequest.h"
+#include "model/RenewInstanceResult.h"
+#include "model/DescribeStrategyTargetRequest.h"
+#include "model/DescribeStrategyTargetResult.h"
+#include "model/QueryLoginEventRequest.h"
+#include "model/QueryLoginEventResult.h"
+#include "model/GetAccountStatisticsRequest.h"
+#include "model/GetAccountStatisticsResult.h"
+#include "model/ModifyStrategyRequest.h"
+#include "model/ModifyStrategyResult.h"
+#include "model/ModifyStrategyTargetRequest.h"
+#include "model/ModifyStrategyTargetResult.h"
+#include "model/ModifyBatchIgnoreVulRequest.h"
+#include "model/ModifyBatchIgnoreVulResult.h"
+#include "model/DescribeWebshellRequest.h"
+#include "model/DescribeWebshellResult.h"
+#include "model/DescribeStratetyDetailRequest.h"
+#include "model/DescribeStratetyDetailResult.h"
+#include "model/DescribeStratetyRequest.h"
+#include "model/DescribeStratetyResult.h"
+#include "model/DescribeLoginLogsRequest.h"
+#include "model/DescribeLoginLogsResult.h"
+#include "model/QueryCrackEventRequest.h"
+#include "model/QueryCrackEventResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		class ALIBABACLOUD_AEGIS_EXPORT AegisClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::GetEntityListResult> GetEntityListOutcome;			
+			typedef std::future<GetEntityListOutcome> GetEntityListOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::GetEntityListRequest&, const GetEntityListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetEntityListAsyncHandler;
+			typedef Outcome<Error, Model::GetStatisticsByUuidResult> GetStatisticsByUuidOutcome;			
+			typedef std::future<GetStatisticsByUuidOutcome> GetStatisticsByUuidOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::GetStatisticsByUuidRequest&, const GetStatisticsByUuidOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetStatisticsByUuidAsyncHandler;
+			typedef Outcome<Error, Model::GetStatisticsResult> GetStatisticsOutcome;			
+			typedef std::future<GetStatisticsOutcome> GetStatisticsOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::GetStatisticsRequest&, const GetStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVulDetailsResult> DescribeVulDetailsOutcome;			
+			typedef std::future<DescribeVulDetailsOutcome> DescribeVulDetailsOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeVulDetailsRequest&, const DescribeVulDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVulDetailsAsyncHandler;
+			typedef Outcome<Error, Model::DeleteStrategyResult> DeleteStrategyOutcome;			
+			typedef std::future<DeleteStrategyOutcome> DeleteStrategyOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DeleteStrategyRequest&, const DeleteStrategyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteStrategyAsyncHandler;
+			typedef Outcome<Error, Model::GetCrackStatisticsResult> GetCrackStatisticsOutcome;			
+			typedef std::future<GetCrackStatisticsOutcome> GetCrackStatisticsOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::GetCrackStatisticsRequest&, const GetCrackStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCrackStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeWarningResult> DescribeWarningOutcome;			
+			typedef std::future<DescribeWarningOutcome> DescribeWarningOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeWarningRequest&, const DescribeWarningOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeWarningAsyncHandler;
+			typedef Outcome<Error, Model::ReleaseInstanceResult> ReleaseInstanceOutcome;			
+			typedef std::future<ReleaseInstanceOutcome> ReleaseInstanceOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::ReleaseInstanceRequest&, const ReleaseInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSuspiciousEventsResult> DescribeSuspiciousEventsOutcome;			
+			typedef std::future<DescribeSuspiciousEventsOutcome> DescribeSuspiciousEventsOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeSuspiciousEventsRequest&, const DescribeSuspiciousEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSuspiciousEventsAsyncHandler;
+			typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;			
+			typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVulListResult> DescribeVulListOutcome;			
+			typedef std::future<DescribeVulListOutcome> DescribeVulListOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeVulListRequest&, const DescribeVulListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVulListAsyncHandler;
+			typedef Outcome<Error, Model::UpgradeInstanceResult> UpgradeInstanceOutcome;			
+			typedef std::future<UpgradeInstanceOutcome> UpgradeInstanceOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::UpgradeInstanceRequest&, const UpgradeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeInstanceAsyncHandler;
+			typedef Outcome<Error, Model::RenewInstanceResult> RenewInstanceOutcome;			
+			typedef std::future<RenewInstanceOutcome> RenewInstanceOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::RenewInstanceRequest&, const RenewInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeStrategyTargetResult> DescribeStrategyTargetOutcome;			
+			typedef std::future<DescribeStrategyTargetOutcome> DescribeStrategyTargetOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeStrategyTargetRequest&, const DescribeStrategyTargetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeStrategyTargetAsyncHandler;
+			typedef Outcome<Error, Model::QueryLoginEventResult> QueryLoginEventOutcome;			
+			typedef std::future<QueryLoginEventOutcome> QueryLoginEventOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::QueryLoginEventRequest&, const QueryLoginEventOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryLoginEventAsyncHandler;
+			typedef Outcome<Error, Model::GetAccountStatisticsResult> GetAccountStatisticsOutcome;			
+			typedef std::future<GetAccountStatisticsOutcome> GetAccountStatisticsOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::GetAccountStatisticsRequest&, const GetAccountStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccountStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::ModifyStrategyResult> ModifyStrategyOutcome;			
+			typedef std::future<ModifyStrategyOutcome> ModifyStrategyOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::ModifyStrategyRequest&, const ModifyStrategyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyStrategyAsyncHandler;
+			typedef Outcome<Error, Model::ModifyStrategyTargetResult> ModifyStrategyTargetOutcome;			
+			typedef std::future<ModifyStrategyTargetOutcome> ModifyStrategyTargetOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::ModifyStrategyTargetRequest&, const ModifyStrategyTargetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyStrategyTargetAsyncHandler;
+			typedef Outcome<Error, Model::ModifyBatchIgnoreVulResult> ModifyBatchIgnoreVulOutcome;			
+			typedef std::future<ModifyBatchIgnoreVulOutcome> ModifyBatchIgnoreVulOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::ModifyBatchIgnoreVulRequest&, const ModifyBatchIgnoreVulOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyBatchIgnoreVulAsyncHandler;
+			typedef Outcome<Error, Model::DescribeWebshellResult> DescribeWebshellOutcome;			
+			typedef std::future<DescribeWebshellOutcome> DescribeWebshellOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeWebshellRequest&, const DescribeWebshellOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeWebshellAsyncHandler;
+			typedef Outcome<Error, Model::DescribeStratetyDetailResult> DescribeStratetyDetailOutcome;			
+			typedef std::future<DescribeStratetyDetailOutcome> DescribeStratetyDetailOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeStratetyDetailRequest&, const DescribeStratetyDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeStratetyDetailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeStratetyResult> DescribeStratetyOutcome;			
+			typedef std::future<DescribeStratetyOutcome> DescribeStratetyOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeStratetyRequest&, const DescribeStratetyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeStratetyAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLoginLogsResult> DescribeLoginLogsOutcome;			
+			typedef std::future<DescribeLoginLogsOutcome> DescribeLoginLogsOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::DescribeLoginLogsRequest&, const DescribeLoginLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLoginLogsAsyncHandler;
+			typedef Outcome<Error, Model::QueryCrackEventResult> QueryCrackEventOutcome;			
+			typedef std::future<QueryCrackEventOutcome> QueryCrackEventOutcomeCallable;			
+			typedef std::function<void(const AegisClient*, const Model::QueryCrackEventRequest&, const QueryCrackEventOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCrackEventAsyncHandler;
+
+			AegisClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			AegisClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			AegisClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~AegisClient();
+            GetEntityListOutcome getEntityList(const Model::GetEntityListRequest &request)const;
+            void getEntityListAsync(const Model::GetEntityListRequest& request, const GetEntityListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            GetEntityListOutcomeCallable getEntityListCallable(const Model::GetEntityListRequest& request) const;
+            GetStatisticsByUuidOutcome getStatisticsByUuid(const Model::GetStatisticsByUuidRequest &request)const;
+            void getStatisticsByUuidAsync(const Model::GetStatisticsByUuidRequest& request, const GetStatisticsByUuidAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            GetStatisticsByUuidOutcomeCallable getStatisticsByUuidCallable(const Model::GetStatisticsByUuidRequest& request) const;
+            GetStatisticsOutcome getStatistics(const Model::GetStatisticsRequest &request)const;
+            void getStatisticsAsync(const Model::GetStatisticsRequest& request, const GetStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            GetStatisticsOutcomeCallable getStatisticsCallable(const Model::GetStatisticsRequest& request) const;
+            DescribeVulDetailsOutcome describeVulDetails(const Model::DescribeVulDetailsRequest &request)const;
+            void describeVulDetailsAsync(const Model::DescribeVulDetailsRequest& request, const DescribeVulDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeVulDetailsOutcomeCallable describeVulDetailsCallable(const Model::DescribeVulDetailsRequest& request) const;
+            DeleteStrategyOutcome deleteStrategy(const Model::DeleteStrategyRequest &request)const;
+            void deleteStrategyAsync(const Model::DeleteStrategyRequest& request, const DeleteStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DeleteStrategyOutcomeCallable deleteStrategyCallable(const Model::DeleteStrategyRequest& request) const;
+            GetCrackStatisticsOutcome getCrackStatistics(const Model::GetCrackStatisticsRequest &request)const;
+            void getCrackStatisticsAsync(const Model::GetCrackStatisticsRequest& request, const GetCrackStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            GetCrackStatisticsOutcomeCallable getCrackStatisticsCallable(const Model::GetCrackStatisticsRequest& request) const;
+            DescribeWarningOutcome describeWarning(const Model::DescribeWarningRequest &request)const;
+            void describeWarningAsync(const Model::DescribeWarningRequest& request, const DescribeWarningAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeWarningOutcomeCallable describeWarningCallable(const Model::DescribeWarningRequest& request) const;
+            ReleaseInstanceOutcome releaseInstance(const Model::ReleaseInstanceRequest &request)const;
+            void releaseInstanceAsync(const Model::ReleaseInstanceRequest& request, const ReleaseInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            ReleaseInstanceOutcomeCallable releaseInstanceCallable(const Model::ReleaseInstanceRequest& request) const;
+            DescribeSuspiciousEventsOutcome describeSuspiciousEvents(const Model::DescribeSuspiciousEventsRequest &request)const;
+            void describeSuspiciousEventsAsync(const Model::DescribeSuspiciousEventsRequest& request, const DescribeSuspiciousEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeSuspiciousEventsOutcomeCallable describeSuspiciousEventsCallable(const Model::DescribeSuspiciousEventsRequest& request) const;
+            CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
+            void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
+            DescribeVulListOutcome describeVulList(const Model::DescribeVulListRequest &request)const;
+            void describeVulListAsync(const Model::DescribeVulListRequest& request, const DescribeVulListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeVulListOutcomeCallable describeVulListCallable(const Model::DescribeVulListRequest& request) const;
+            UpgradeInstanceOutcome upgradeInstance(const Model::UpgradeInstanceRequest &request)const;
+            void upgradeInstanceAsync(const Model::UpgradeInstanceRequest& request, const UpgradeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            UpgradeInstanceOutcomeCallable upgradeInstanceCallable(const Model::UpgradeInstanceRequest& request) const;
+            RenewInstanceOutcome renewInstance(const Model::RenewInstanceRequest &request)const;
+            void renewInstanceAsync(const Model::RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            RenewInstanceOutcomeCallable renewInstanceCallable(const Model::RenewInstanceRequest& request) const;
+            DescribeStrategyTargetOutcome describeStrategyTarget(const Model::DescribeStrategyTargetRequest &request)const;
+            void describeStrategyTargetAsync(const Model::DescribeStrategyTargetRequest& request, const DescribeStrategyTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeStrategyTargetOutcomeCallable describeStrategyTargetCallable(const Model::DescribeStrategyTargetRequest& request) const;
+            QueryLoginEventOutcome queryLoginEvent(const Model::QueryLoginEventRequest &request)const;
+            void queryLoginEventAsync(const Model::QueryLoginEventRequest& request, const QueryLoginEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            QueryLoginEventOutcomeCallable queryLoginEventCallable(const Model::QueryLoginEventRequest& request) const;
+            GetAccountStatisticsOutcome getAccountStatistics(const Model::GetAccountStatisticsRequest &request)const;
+            void getAccountStatisticsAsync(const Model::GetAccountStatisticsRequest& request, const GetAccountStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            GetAccountStatisticsOutcomeCallable getAccountStatisticsCallable(const Model::GetAccountStatisticsRequest& request) const;
+            ModifyStrategyOutcome modifyStrategy(const Model::ModifyStrategyRequest &request)const;
+            void modifyStrategyAsync(const Model::ModifyStrategyRequest& request, const ModifyStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            ModifyStrategyOutcomeCallable modifyStrategyCallable(const Model::ModifyStrategyRequest& request) const;
+            ModifyStrategyTargetOutcome modifyStrategyTarget(const Model::ModifyStrategyTargetRequest &request)const;
+            void modifyStrategyTargetAsync(const Model::ModifyStrategyTargetRequest& request, const ModifyStrategyTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            ModifyStrategyTargetOutcomeCallable modifyStrategyTargetCallable(const Model::ModifyStrategyTargetRequest& request) const;
+            ModifyBatchIgnoreVulOutcome modifyBatchIgnoreVul(const Model::ModifyBatchIgnoreVulRequest &request)const;
+            void modifyBatchIgnoreVulAsync(const Model::ModifyBatchIgnoreVulRequest& request, const ModifyBatchIgnoreVulAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            ModifyBatchIgnoreVulOutcomeCallable modifyBatchIgnoreVulCallable(const Model::ModifyBatchIgnoreVulRequest& request) const;
+            DescribeWebshellOutcome describeWebshell(const Model::DescribeWebshellRequest &request)const;
+            void describeWebshellAsync(const Model::DescribeWebshellRequest& request, const DescribeWebshellAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeWebshellOutcomeCallable describeWebshellCallable(const Model::DescribeWebshellRequest& request) const;
+            DescribeStratetyDetailOutcome describeStratetyDetail(const Model::DescribeStratetyDetailRequest &request)const;
+            void describeStratetyDetailAsync(const Model::DescribeStratetyDetailRequest& request, const DescribeStratetyDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeStratetyDetailOutcomeCallable describeStratetyDetailCallable(const Model::DescribeStratetyDetailRequest& request) const;
+            DescribeStratetyOutcome describeStratety(const Model::DescribeStratetyRequest &request)const;
+            void describeStratetyAsync(const Model::DescribeStratetyRequest& request, const DescribeStratetyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeStratetyOutcomeCallable describeStratetyCallable(const Model::DescribeStratetyRequest& request) const;
+            DescribeLoginLogsOutcome describeLoginLogs(const Model::DescribeLoginLogsRequest &request)const;
+            void describeLoginLogsAsync(const Model::DescribeLoginLogsRequest& request, const DescribeLoginLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            DescribeLoginLogsOutcomeCallable describeLoginLogsCallable(const Model::DescribeLoginLogsRequest& request) const;
+            QueryCrackEventOutcome queryCrackEvent(const Model::QueryCrackEventRequest &request)const;
+            void queryCrackEventAsync(const Model::QueryCrackEventRequest& request, const QueryCrackEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+            QueryCrackEventOutcomeCallable queryCrackEventCallable(const Model::QueryCrackEventRequest& request) const;
+	
+		private:
+			virtual EndpointOutcome endpoint()const override;
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_AEGIS_AEGISCLIENT_H_

+ 32 - 0
aegis/include/alibabacloud/aegis/AegisExport.h

@@ -0,0 +1,32 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_AEGISEXPORT_H_
+#define ALIBABACLOUD_AEGIS_AEGISEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_AEGIS_LIBRARY)
+#		define ALIBABACLOUD_AEGIS_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_AEGIS_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_AEGIS_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_AEGIS_AEGISEXPORT_H_

+ 69 - 0
aegis/include/alibabacloud/aegis/model/CreateInstanceRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_CREATEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_CREATEINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT CreateInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateInstanceRequest();
+				~CreateInstanceRequest();
+
+				int getDuration()const;
+				void setDuration(int duration);
+				bool getIsAutoRenew()const;
+				void setIsAutoRenew(bool isAutoRenew);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				int getVmNumber()const;
+				void setVmNumber(int vmNumber);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				int getVersionCode()const;
+				void setVersionCode(int versionCode);
+				std::string getPricingCycle()const;
+				void setPricingCycle(const std::string& pricingCycle);
+				int getAutoRenewDuration()const;
+				void setAutoRenewDuration(int autoRenewDuration);
+
+            private:
+				int duration_;
+				bool isAutoRenew_;
+				std::string clientToken_;
+				int vmNumber_;
+				long ownerId_;
+				int versionCode_;
+				std::string pricingCycle_;
+				int autoRenewDuration_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_CREATEINSTANCEREQUEST_H_

+ 53 - 0
aegis/include/alibabacloud/aegis/model/CreateInstanceResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_CREATEINSTANCERESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_CREATEINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT CreateInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				CreateInstanceResult();
+				explicit CreateInstanceResult(const std::string &payload);
+				~CreateInstanceResult();
+				std::string getInstanceId()const;
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string instanceId_;
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_CREATEINSTANCERESULT_H_

+ 54 - 0
aegis/include/alibabacloud/aegis/model/DeleteStrategyRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DELETESTRATEGYREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DELETESTRATEGYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DeleteStrategyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteStrategyRequest();
+				~DeleteStrategyRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getId()const;
+				void setId(const std::string& id);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string id_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DELETESTRATEGYREQUEST_H_

+ 49 - 0
aegis/include/alibabacloud/aegis/model/DeleteStrategyResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DELETESTRATEGYRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DELETESTRATEGYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DeleteStrategyResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteStrategyResult();
+				explicit DeleteStrategyResult(const std::string &payload);
+				~DeleteStrategyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DELETESTRATEGYRESULT_H_

+ 57 - 0
aegis/include/alibabacloud/aegis/model/DescribeLoginLogsRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBELOGINLOGSREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBELOGINLOGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeLoginLogsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLoginLogsRequest();
+				~DescribeLoginLogsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				int pageSize_;
+				int currentPage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBELOGINLOGSREQUEST_H_

+ 59 - 0
aegis/include/alibabacloud/aegis/model/DescribeLoginLogsResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBELOGINLOGSRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBELOGINLOGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeLoginLogsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeLoginLogsResult();
+				explicit DescribeLoginLogsResult(const std::string &payload);
+				~DescribeLoginLogsResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				int getHttpStatusCode()const;
+				std::vector<std::string> getLoginLogs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int currentPage_;
+				int httpStatusCode_;
+				std::vector<std::string> loginLogs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBELOGINLOGSRESULT_H_

+ 60 - 0
aegis/include/alibabacloud/aegis/model/DescribeStrategyTargetRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATEGYTARGETREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATEGYTARGETREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeStrategyTargetRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeStrategyTargetRequest();
+				~DescribeStrategyTargetRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getConfig()const;
+				void setConfig(const std::string& config);
+				std::string getTarget()const;
+				void setTarget(const std::string& target);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string type_;
+				std::string config_;
+				std::string target_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATEGYTARGETREQUEST_H_

+ 59 - 0
aegis/include/alibabacloud/aegis/model/DescribeStrategyTargetResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATEGYTARGETRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATEGYTARGETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeStrategyTargetResult : public ServiceResult
+			{
+			public:
+				struct StringItem
+				{
+					std::string target;
+					std::string targetType;
+					std::string flag;
+				};
+
+
+				DescribeStrategyTargetResult();
+				explicit DescribeStrategyTargetResult(const std::string &payload);
+				~DescribeStrategyTargetResult();
+				std::vector<StringItem> getStrategyTargets()const;
+				int getCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<StringItem> strategyTargets_;
+				int count_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATEGYTARGETRESULT_H_

+ 54 - 0
aegis/include/alibabacloud/aegis/model/DescribeStratetyDetailRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYDETAILREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeStratetyDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeStratetyDetailRequest();
+				~DescribeStratetyDetailRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getId()const;
+				void setId(const std::string& id);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string id_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYDETAILREQUEST_H_

+ 73 - 0
aegis/include/alibabacloud/aegis/model/DescribeStratetyDetailResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYDETAILRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeStratetyDetailResult : public ServiceResult
+			{
+			public:
+				struct Strategy
+				{
+					struct RiskTypeWhiteListQueryResult
+					{
+						struct SubTyp
+						{
+							std::string typeName;
+							std::string alias;
+							bool on;
+						};
+						std::string typeName;
+						std::vector<RiskTypeWhiteListQueryResult::SubTyp> subTypes;
+						std::string alias;
+						bool on;
+					};
+					int cycleStartTime;
+					int type;
+					int cycleDays;
+					int id;
+					std::vector<RiskTypeWhiteListQueryResult> riskTypeWhiteListQueryResultList;
+					std::string name;
+				};
+
+
+				DescribeStratetyDetailResult();
+				explicit DescribeStratetyDetailResult(const std::string &payload);
+				~DescribeStratetyDetailResult();
+				std::vector<Strategy> getStrategy()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Strategy> strategy_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYDETAILRESULT_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/DescribeStratetyRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeStratetyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeStratetyRequest();
+				~DescribeStratetyRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYREQUEST_H_

+ 70 - 0
aegis/include/alibabacloud/aegis/model/DescribeStratetyResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeStratetyResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ConfigTarget
+					{
+						std::string target;
+						std::string targetType;
+						std::string flag;
+					};
+					int cycleStartTime;
+					int ecsCount;
+					int type;
+					int cycleDays;
+					int id;
+					std::vector<Data::ConfigTarget> configTargets;
+					int riskCount;
+					std::string name;
+				};
+
+
+				DescribeStratetyResult();
+				explicit DescribeStratetyResult(const std::string &payload);
+				~DescribeStratetyResult();
+				std::vector<Data> getStrategies()const;
+				int getCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> strategies_;
+				int count_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESTRATETYRESULT_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/DescribeSuspiciousEventsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESUSPICIOUSEVENTSREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESUSPICIOUSEVENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeSuspiciousEventsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSuspiciousEventsRequest();
+				~DescribeSuspiciousEventsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESUSPICIOUSEVENTSREQUEST_H_

+ 59 - 0
aegis/include/alibabacloud/aegis/model/DescribeSuspiciousEventsResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBESUSPICIOUSEVENTSRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBESUSPICIOUSEVENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeSuspiciousEventsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeSuspiciousEventsResult();
+				explicit DescribeSuspiciousEventsResult(const std::string &payload);
+				~DescribeSuspiciousEventsResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				std::vector<std::string> getSuspiciousEvents()const;
+				int getCurrentPage()const;
+				int getHttpStatusCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				std::vector<std::string> suspiciousEvents_;
+				int currentPage_;
+				int httpStatusCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBESUSPICIOUSEVENTSRESULT_H_

+ 108 - 0
aegis/include/alibabacloud/aegis/model/DescribeVulDetailsRequest.h

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULDETAILSREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULDETAILSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeVulDetailsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVulDetailsRequest();
+				~DescribeVulDetailsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getStatusList()const;
+				void setStatusList(const std::string& statusList);
+				std::string getLevel()const;
+				void setLevel(const std::string& level);
+				std::string getResource()const;
+				void setResource(const std::string& resource);
+				std::string getOrderBy()const;
+				void setOrderBy(const std::string& orderBy);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getType()const;
+				void setType(const std::string& type);
+				long getLastTsEnd()const;
+				void setLastTsEnd(long lastTsEnd);
+				std::string getBatchName()const;
+				void setBatchName(const std::string& batchName);
+				long getPatchId()const;
+				void setPatchId(long patchId);
+				std::string getAliasName()const;
+				void setAliasName(const std::string& aliasName);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getName()const;
+				void setName(const std::string& name);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getLastTsStart()const;
+				void setLastTsStart(long lastTsStart);
+				std::string getNecessity()const;
+				void setNecessity(const std::string& necessity);
+				std::string getUuids()const;
+				void setUuids(const std::string& uuids);
+				std::string getDirection()const;
+				void setDirection(const std::string& direction);
+
+            private:
+				long resourceOwnerId_;
+				std::string product_;
+				std::string statusList_;
+				std::string level_;
+				std::string resource_;
+				std::string orderBy_;
+				std::string dealed_;
+				int currentPage_;
+				std::string type_;
+				long lastTsEnd_;
+				std::string batchName_;
+				long patchId_;
+				std::string aliasName_;
+				std::string sourceIp_;
+				std::string name_;
+				int pageSize_;
+				std::string lang_;
+				long lastTsStart_;
+				std::string necessity_;
+				std::string uuids_;
+				std::string direction_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULDETAILSREQUEST_H_

+ 81 - 0
aegis/include/alibabacloud/aegis/model/DescribeVulDetailsResult.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULDETAILSRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULDETAILSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeVulDetailsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeVulDetailsResult();
+				explicit DescribeVulDetailsResult(const std::string &payload);
+				~DescribeVulDetailsResult();
+				int getPendingCount()const;
+				std::string getDescription()const;
+				std::vector<std::string> getCveLists()const;
+				std::string getCveIds()const;
+				long getVulPublishTs()const;
+				std::string getProduct()const;
+				bool getHasPatch()const;
+				std::string getName()const;
+				std::string getType()const;
+				std::string getCvss()const;
+				long getPatchPublishTs()const;
+				int getHandledCount()const;
+				std::string getAliasName()const;
+				std::string getLevel()const;
+				std::string getAdvice()const;
+				std::string getPatchSource()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pendingCount_;
+				std::string description_;
+				std::vector<std::string> cveLists_;
+				std::string cveIds_;
+				long vulPublishTs_;
+				std::string product_;
+				bool hasPatch_;
+				std::string name_;
+				std::string type_;
+				std::string cvss_;
+				long patchPublishTs_;
+				int handledCount_;
+				std::string aliasName_;
+				std::string level_;
+				std::string advice_;
+				std::string patchSource_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULDETAILSRESULT_H_

+ 108 - 0
aegis/include/alibabacloud/aegis/model/DescribeVulListRequest.h

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULLISTREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeVulListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVulListRequest();
+				~DescribeVulListRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getStatusList()const;
+				void setStatusList(const std::string& statusList);
+				std::string getLevel()const;
+				void setLevel(const std::string& level);
+				std::string getResource()const;
+				void setResource(const std::string& resource);
+				std::string getOrderBy()const;
+				void setOrderBy(const std::string& orderBy);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getType()const;
+				void setType(const std::string& type);
+				long getLastTsEnd()const;
+				void setLastTsEnd(long lastTsEnd);
+				std::string getBatchName()const;
+				void setBatchName(const std::string& batchName);
+				long getPatchId()const;
+				void setPatchId(long patchId);
+				std::string getAliasName()const;
+				void setAliasName(const std::string& aliasName);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getName()const;
+				void setName(const std::string& name);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getLastTsStart()const;
+				void setLastTsStart(long lastTsStart);
+				std::string getNecessity()const;
+				void setNecessity(const std::string& necessity);
+				std::string getUuids()const;
+				void setUuids(const std::string& uuids);
+				std::string getDirection()const;
+				void setDirection(const std::string& direction);
+
+            private:
+				long resourceOwnerId_;
+				std::string product_;
+				std::string statusList_;
+				std::string level_;
+				std::string resource_;
+				std::string orderBy_;
+				std::string dealed_;
+				int currentPage_;
+				std::string type_;
+				long lastTsEnd_;
+				std::string batchName_;
+				long patchId_;
+				std::string aliasName_;
+				std::string sourceIp_;
+				std::string name_;
+				int pageSize_;
+				std::string lang_;
+				long lastTsStart_;
+				std::string necessity_;
+				std::string uuids_;
+				std::string direction_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULLISTREQUEST_H_

+ 59 - 0
aegis/include/alibabacloud/aegis/model/DescribeVulListResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULLISTRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeVulListResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeVulListResult();
+				explicit DescribeVulListResult(const std::string &payload);
+				~DescribeVulListResult();
+				int getTotalCount()const;
+				std::vector<std::string> getVulRecords()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				int getCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<std::string> vulRecords_;
+				int pageSize_;
+				int currentPage_;
+				int count_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEVULLISTRESULT_H_

+ 78 - 0
aegis/include/alibabacloud/aegis/model/DescribeWarningRequest.h

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWARNINGREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWARNINGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeWarningRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeWarningRequest();
+				~DescribeWarningRequest();
+
+				std::string getTypeNames()const;
+				void setTypeNames(const std::string& typeNames);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRiskName()const;
+				void setRiskName(const std::string& riskName);
+				std::string getStatusList()const;
+				void setStatusList(const std::string& statusList);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getRiskLevels()const;
+				void setRiskLevels(const std::string& riskLevels);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				std::string getSubTypeNames()const;
+				void setSubTypeNames(const std::string& subTypeNames);
+				std::string getUuids()const;
+				void setUuids(const std::string& uuids);
+
+            private:
+				std::string typeNames_;
+				long resourceOwnerId_;
+				std::string riskName_;
+				std::string statusList_;
+				std::string sourceIp_;
+				std::string riskLevels_;
+				int pageSize_;
+				int currentPage_;
+				std::string dealed_;
+				std::string subTypeNames_;
+				std::string uuids_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWARNINGREQUEST_H_

+ 59 - 0
aegis/include/alibabacloud/aegis/model/DescribeWarningResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWARNINGRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWARNINGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeWarningResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeWarningResult();
+				explicit DescribeWarningResult(const std::string &payload);
+				~DescribeWarningResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				int getCount()const;
+				std::vector<std::string> getWarnings()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int currentPage_;
+				int count_;
+				std::vector<std::string> warnings_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWARNINGRESULT_H_

+ 57 - 0
aegis/include/alibabacloud/aegis/model/DescribeWebshellRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWEBSHELLREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWEBSHELLREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeWebshellRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeWebshellRequest();
+				~DescribeWebshellRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getGroupId()const;
+				void setGroupId(int groupId);
+				std::string getRemark()const;
+				void setRemark(const std::string& remark);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				int groupId_;
+				std::string remark_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWEBSHELLREQUEST_H_

+ 55 - 0
aegis/include/alibabacloud/aegis/model/DescribeWebshellResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWEBSHELLRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWEBSHELLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT DescribeWebshellResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeWebshellResult();
+				explicit DescribeWebshellResult(const std::string &payload);
+				~DescribeWebshellResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int currentPage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_DESCRIBEWEBSHELLRESULT_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/GetAccountStatisticsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETACCOUNTSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETACCOUNTSTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetAccountStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetAccountStatisticsRequest();
+				~GetAccountStatisticsRequest();
+
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+
+            private:
+				std::string endTime_;
+				std::string startTime_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETACCOUNTSTATISTICSREQUEST_H_

+ 64 - 0
aegis/include/alibabacloud/aegis/model/GetAccountStatisticsResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETACCOUNTSTATISTICSRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETACCOUNTSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetAccountStatisticsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int crackSuccess;
+					int remoteLogin;
+				};
+
+
+				GetAccountStatisticsResult();
+				explicit GetAccountStatisticsResult(const std::string &payload);
+				~GetAccountStatisticsResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Data> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Data> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETACCOUNTSTATISTICSRESULT_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/GetCrackStatisticsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETCRACKSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETCRACKSTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetCrackStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetCrackStatisticsRequest();
+				~GetCrackStatisticsRequest();
+
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+
+            private:
+				std::string endTime_;
+				std::string startTime_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETCRACKSTATISTICSREQUEST_H_

+ 63 - 0
aegis/include/alibabacloud/aegis/model/GetCrackStatisticsResult.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETCRACKSTATISTICSRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETCRACKSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetCrackStatisticsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int intercepted;
+				};
+
+
+				GetCrackStatisticsResult();
+				explicit GetCrackStatisticsResult(const std::string &payload);
+				~GetCrackStatisticsResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Data> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Data> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETCRACKSTATISTICSRESULT_H_

+ 63 - 0
aegis/include/alibabacloud/aegis/model/GetEntityListRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETENTITYLISTREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETENTITYLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetEntityListRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetEntityListRequest();
+				~GetEntityListRequest();
+
+				long getGroupId()const;
+				void setGroupId(long groupId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getRemark()const;
+				void setRemark(const std::string& remark);
+				std::string getEventType()const;
+				void setEventType(const std::string& eventType);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getRegionNo()const;
+				void setRegionNo(const std::string& regionNo);
+
+            private:
+				long groupId_;
+				int pageSize_;
+				std::string remark_;
+				std::string eventType_;
+				int currentPage_;
+				std::string regionNo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETENTITYLISTREQUEST_H_

+ 85 - 0
aegis/include/alibabacloud/aegis/model/GetEntityListResult.h

@@ -0,0 +1,85 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETENTITYLISTRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETENTITYLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetEntityListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PageInfo
+					{
+						int totalCount;
+						int pageSize;
+						int currentPage;
+						int count;
+					};
+					struct Entity
+					{
+						std::string instanceName;
+						std::string uuid;
+						std::string buyVersion;
+						std::string aegisVersion;
+						std::string os;
+						std::string instanceId;
+						std::string ip;
+						std::string region;
+						bool aegisOnline;
+						std::string flag;
+						long groupId;
+					};
+					std::vector<PageInfo> pageInfo;
+					std::vector<Entity> list;
+				};
+
+
+				GetEntityListResult();
+				explicit GetEntityListResult(const std::string &payload);
+				~GetEntityListResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Data> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Data> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETENTITYLISTRESULT_H_

+ 48 - 0
aegis/include/alibabacloud/aegis/model/GetStatisticsByUuidRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSBYUUIDREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSBYUUIDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetStatisticsByUuidRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetStatisticsByUuidRequest();
+				~GetStatisticsByUuidRequest();
+
+				std::string getUuid()const;
+				void setUuid(const std::string& uuid);
+
+            private:
+				std::string uuid_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSBYUUIDREQUEST_H_

+ 68 - 0
aegis/include/alibabacloud/aegis/model/GetStatisticsByUuidResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSBYUUIDRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSBYUUIDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetStatisticsByUuidResult : public ServiceResult
+			{
+			public:
+				struct Entity
+				{
+					int account;
+					std::string uuid;
+					int health;
+					int trojan;
+					bool online;
+					int patch;
+				};
+
+
+				GetStatisticsByUuidResult();
+				explicit GetStatisticsByUuidResult(const std::string &payload);
+				~GetStatisticsByUuidResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Entity> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Entity> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSBYUUIDRESULT_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/GetStatisticsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetStatisticsRequest();
+				~GetStatisticsRequest();
+
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+
+            private:
+				std::string endTime_;
+				std::string startTime_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSREQUEST_H_

+ 66 - 0
aegis/include/alibabacloud/aegis/model/GetStatisticsResult.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT GetStatisticsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int account;
+					int health;
+					int trojan;
+					int patch;
+				};
+
+
+				GetStatisticsResult();
+				explicit GetStatisticsResult(const std::string &payload);
+				~GetStatisticsResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Data> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Data> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_GETSTATISTICSRESULT_H_

+ 57 - 0
aegis/include/alibabacloud/aegis/model/ModifyBatchIgnoreVulRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_MODIFYBATCHIGNOREVULREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_MODIFYBATCHIGNOREVULREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ModifyBatchIgnoreVulRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyBatchIgnoreVulRequest();
+				~ModifyBatchIgnoreVulRequest();
+
+				std::string getReason()const;
+				void setReason(const std::string& reason);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getInfo()const;
+				void setInfo(const std::string& info);
+
+            private:
+				std::string reason_;
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string info_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_MODIFYBATCHIGNOREVULREQUEST_H_

+ 53 - 0
aegis/include/alibabacloud/aegis/model/ModifyBatchIgnoreVulResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_MODIFYBATCHIGNOREVULRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_MODIFYBATCHIGNOREVULRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ModifyBatchIgnoreVulResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyBatchIgnoreVulResult();
+				explicit ModifyBatchIgnoreVulResult(const std::string &payload);
+				~ModifyBatchIgnoreVulResult();
+				int getHttpStatusCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int httpStatusCode_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_MODIFYBATCHIGNOREVULRESULT_H_

+ 66 - 0
aegis/include/alibabacloud/aegis/model/ModifyStrategyRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ModifyStrategyRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyStrategyRequest();
+				~ModifyStrategyRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRiskSubTypeName()const;
+				void setRiskSubTypeName(const std::string& riskSubTypeName);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getCycleStartTime()const;
+				void setCycleStartTime(const std::string& cycleStartTime);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getCycleDays()const;
+				void setCycleDays(const std::string& cycleDays);
+				std::string getId()const;
+				void setId(const std::string& id);
+
+            private:
+				long resourceOwnerId_;
+				std::string riskSubTypeName_;
+				std::string sourceIp_;
+				std::string cycleStartTime_;
+				std::string name_;
+				std::string cycleDays_;
+				std::string id_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYREQUEST_H_

+ 61 - 0
aegis/include/alibabacloud/aegis/model/ModifyStrategyResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ModifyStrategyResult : public ServiceResult
+			{
+			public:
+				struct Result
+				{
+					int strategyId;
+				};
+
+
+				ModifyStrategyResult();
+				explicit ModifyStrategyResult(const std::string &payload);
+				~ModifyStrategyResult();
+				int getTotalCount()const;
+				int getHttpStatusCode()const;
+				bool getSuccess()const;
+				std::vector<Result> getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int httpStatusCode_;
+				bool success_;
+				std::vector<Result> result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYRESULT_H_

+ 60 - 0
aegis/include/alibabacloud/aegis/model/ModifyStrategyTargetRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYTARGETREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYTARGETREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ModifyStrategyTargetRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyStrategyTargetRequest();
+				~ModifyStrategyTargetRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getConfig()const;
+				void setConfig(const std::string& config);
+				std::string getTarget()const;
+				void setTarget(const std::string& target);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string type_;
+				std::string config_;
+				std::string target_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYTARGETREQUEST_H_

+ 49 - 0
aegis/include/alibabacloud/aegis/model/ModifyStrategyTargetResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYTARGETRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYTARGETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ModifyStrategyTargetResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyStrategyTargetResult();
+				explicit ModifyStrategyTargetResult(const std::string &payload);
+				~ModifyStrategyTargetResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_MODIFYSTRATEGYTARGETRESULT_H_

+ 60 - 0
aegis/include/alibabacloud/aegis/model/QueryCrackEventRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_QUERYCRACKEVENTREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_QUERYCRACKEVENTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT QueryCrackEventRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryCrackEventRequest();
+				~QueryCrackEventRequest();
+
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getUuid()const;
+				void setUuid(const std::string& uuid);
+				int getStatus()const;
+				void setStatus(int status);
+
+            private:
+				std::string endTime_;
+				int currentPage_;
+				std::string startTime_;
+				std::string uuid_;
+				int status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_QUERYCRACKEVENTREQUEST_H_

+ 91 - 0
aegis/include/alibabacloud/aegis/model/QueryCrackEventResult.h

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_QUERYCRACKEVENTRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_QUERYCRACKEVENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT QueryCrackEventResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PageInfo
+					{
+						int totalCount;
+						int pageSize;
+						int currentPage;
+						int count;
+					};
+					struct Entity
+					{
+						int status;
+						std::string buyVersion;
+						std::string userName;
+						std::string instanceId;
+						std::string ip;
+						int attackType;
+						std::string statusName;
+						int groupId;
+						std::string instanceName;
+						int inWhite;
+						std::string uuid;
+						std::string attackTypeName;
+						int crackTimes;
+						std::string region;
+						std::string crackSourceIp;
+						std::string attackTime;
+						std::string location;
+					};
+					std::vector<PageInfo> pageInfo;
+					std::vector<Entity> list;
+				};
+
+
+				QueryCrackEventResult();
+				explicit QueryCrackEventResult(const std::string &payload);
+				~QueryCrackEventResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Data> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Data> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_QUERYCRACKEVENTRESULT_H_

+ 60 - 0
aegis/include/alibabacloud/aegis/model/QueryLoginEventRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_QUERYLOGINEVENTREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_QUERYLOGINEVENTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT QueryLoginEventRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryLoginEventRequest();
+				~QueryLoginEventRequest();
+
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getUuid()const;
+				void setUuid(const std::string& uuid);
+				int getStatus()const;
+				void setStatus(int status);
+
+            private:
+				std::string endTime_;
+				int currentPage_;
+				std::string startTime_;
+				std::string uuid_;
+				int status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_QUERYLOGINEVENTREQUEST_H_

+ 89 - 0
aegis/include/alibabacloud/aegis/model/QueryLoginEventResult.h

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_QUERYLOGINEVENTRESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_QUERYLOGINEVENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT QueryLoginEventResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PageInfo
+					{
+						int totalCount;
+						int pageSize;
+						int currentPage;
+						int count;
+					};
+					struct Entity
+					{
+						int status;
+						std::string loginTime;
+						std::string buyVersion;
+						std::string loginSourceIp;
+						std::string userName;
+						std::string instanceId;
+						std::string ip;
+						std::string statusName;
+						int groupId;
+						std::string instanceName;
+						std::string loginTypeName;
+						std::string uuid;
+						std::string region;
+						int loginType;
+						std::string location;
+					};
+					std::vector<PageInfo> pageInfo;
+					std::vector<Entity> list;
+				};
+
+
+				QueryLoginEventResult();
+				explicit QueryLoginEventResult(const std::string &payload);
+				~QueryLoginEventResult();
+				std::string getRequestId()const;
+				std::string getMessage()const;
+				std::vector<Data> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string requestId_;
+				std::string message_;
+				std::vector<Data> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_QUERYLOGINEVENTRESULT_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/ReleaseInstanceRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_RELEASEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_RELEASEINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ReleaseInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ReleaseInstanceRequest();
+				~ReleaseInstanceRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string instanceId_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_RELEASEINSTANCEREQUEST_H_

+ 49 - 0
aegis/include/alibabacloud/aegis/model/ReleaseInstanceResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_RELEASEINSTANCERESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_RELEASEINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT ReleaseInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				ReleaseInstanceResult();
+				explicit ReleaseInstanceResult(const std::string &payload);
+				~ReleaseInstanceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_RELEASEINSTANCERESULT_H_

+ 63 - 0
aegis/include/alibabacloud/aegis/model/RenewInstanceRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_RENEWINSTANCEREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_RENEWINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT RenewInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				RenewInstanceRequest();
+				~RenewInstanceRequest();
+
+				int getDuration()const;
+				void setDuration(int duration);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getVmNumber()const;
+				void setVmNumber(const std::string& vmNumber);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getPricingCycle()const;
+				void setPricingCycle(const std::string& pricingCycle);
+
+            private:
+				int duration_;
+				std::string instanceId_;
+				std::string clientToken_;
+				std::string vmNumber_;
+				long ownerId_;
+				std::string pricingCycle_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_RENEWINSTANCEREQUEST_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/RenewInstanceResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_RENEWINSTANCERESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_RENEWINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT RenewInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				RenewInstanceResult();
+				explicit RenewInstanceResult(const std::string &payload);
+				~RenewInstanceResult();
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_RENEWINSTANCERESULT_H_

+ 60 - 0
aegis/include/alibabacloud/aegis/model/UpgradeInstanceRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_UPGRADEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_AEGIS_MODEL_UPGRADEINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT UpgradeInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpgradeInstanceRequest();
+				~UpgradeInstanceRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				int getVmNumber()const;
+				void setVmNumber(int vmNumber);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				int getVersionCode()const;
+				void setVersionCode(int versionCode);
+
+            private:
+				std::string instanceId_;
+				std::string clientToken_;
+				int vmNumber_;
+				long ownerId_;
+				int versionCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_UPGRADEINSTANCEREQUEST_H_

+ 51 - 0
aegis/include/alibabacloud/aegis/model/UpgradeInstanceResult.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_AEGIS_MODEL_UPGRADEINSTANCERESULT_H_
+#define ALIBABACLOUD_AEGIS_MODEL_UPGRADEINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/aegis/AegisExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Aegis
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_AEGIS_EXPORT UpgradeInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				UpgradeInstanceResult();
+				explicit UpgradeInstanceResult(const std::string &payload);
+				~UpgradeInstanceResult();
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_AEGIS_MODEL_UPGRADEINSTANCERESULT_H_

+ 925 - 0
aegis/src/AegisClient.cc

@@ -0,0 +1,925 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/AegisClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+AegisClient::AegisClient(const Credentials &credentials, const ClientConfiguration &configuration) :
+	RpcServiceClient(std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), "vipaegis");
+}
+
+AegisClient::AegisClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
+	RpcServiceClient(credentialsProvider, configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), "vipaegis");
+}
+
+AegisClient::AegisClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
+	RpcServiceClient(std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), "vipaegis");
+}
+
+AegisClient::~AegisClient()
+{}
+
+CoreClient::EndpointOutcome AegisClient::endpoint()const
+{
+	if(!configuration().endpoint().empty())
+		return CoreClient::EndpointOutcome(configuration().endpoint());
+
+	auto endpoint = endpointProvider_->getEndpoint();
+	
+	if (endpoint.empty())
+		return CoreClient::EndpointOutcome(Error("InvalidEndpoint",""));
+	else
+		return CoreClient::EndpointOutcome(endpoint);
+}
+
+AegisClient::GetEntityListOutcome AegisClient::getEntityList(const GetEntityListRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetEntityListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetEntityListOutcome(GetEntityListResult(outcome.result()));
+	else
+		return GetEntityListOutcome(outcome.error());
+}
+
+void AegisClient::getEntityListAsync(const GetEntityListRequest& request, const GetEntityListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getEntityList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::GetEntityListOutcomeCallable AegisClient::getEntityListCallable(const GetEntityListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetEntityListOutcome()>>(
+			[this, request]()
+			{
+			return this->getEntityList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::GetStatisticsByUuidOutcome AegisClient::getStatisticsByUuid(const GetStatisticsByUuidRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetStatisticsByUuidOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetStatisticsByUuidOutcome(GetStatisticsByUuidResult(outcome.result()));
+	else
+		return GetStatisticsByUuidOutcome(outcome.error());
+}
+
+void AegisClient::getStatisticsByUuidAsync(const GetStatisticsByUuidRequest& request, const GetStatisticsByUuidAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getStatisticsByUuid(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::GetStatisticsByUuidOutcomeCallable AegisClient::getStatisticsByUuidCallable(const GetStatisticsByUuidRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetStatisticsByUuidOutcome()>>(
+			[this, request]()
+			{
+			return this->getStatisticsByUuid(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::GetStatisticsOutcome AegisClient::getStatistics(const GetStatisticsRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetStatisticsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetStatisticsOutcome(GetStatisticsResult(outcome.result()));
+	else
+		return GetStatisticsOutcome(outcome.error());
+}
+
+void AegisClient::getStatisticsAsync(const GetStatisticsRequest& request, const GetStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getStatistics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::GetStatisticsOutcomeCallable AegisClient::getStatisticsCallable(const GetStatisticsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetStatisticsOutcome()>>(
+			[this, request]()
+			{
+			return this->getStatistics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeVulDetailsOutcome AegisClient::describeVulDetails(const DescribeVulDetailsRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVulDetailsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVulDetailsOutcome(DescribeVulDetailsResult(outcome.result()));
+	else
+		return DescribeVulDetailsOutcome(outcome.error());
+}
+
+void AegisClient::describeVulDetailsAsync(const DescribeVulDetailsRequest& request, const DescribeVulDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVulDetails(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeVulDetailsOutcomeCallable AegisClient::describeVulDetailsCallable(const DescribeVulDetailsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVulDetailsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVulDetails(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DeleteStrategyOutcome AegisClient::deleteStrategy(const DeleteStrategyRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteStrategyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteStrategyOutcome(DeleteStrategyResult(outcome.result()));
+	else
+		return DeleteStrategyOutcome(outcome.error());
+}
+
+void AegisClient::deleteStrategyAsync(const DeleteStrategyRequest& request, const DeleteStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteStrategy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DeleteStrategyOutcomeCallable AegisClient::deleteStrategyCallable(const DeleteStrategyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteStrategyOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteStrategy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::GetCrackStatisticsOutcome AegisClient::getCrackStatistics(const GetCrackStatisticsRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCrackStatisticsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCrackStatisticsOutcome(GetCrackStatisticsResult(outcome.result()));
+	else
+		return GetCrackStatisticsOutcome(outcome.error());
+}
+
+void AegisClient::getCrackStatisticsAsync(const GetCrackStatisticsRequest& request, const GetCrackStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCrackStatistics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::GetCrackStatisticsOutcomeCallable AegisClient::getCrackStatisticsCallable(const GetCrackStatisticsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCrackStatisticsOutcome()>>(
+			[this, request]()
+			{
+			return this->getCrackStatistics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeWarningOutcome AegisClient::describeWarning(const DescribeWarningRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeWarningOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeWarningOutcome(DescribeWarningResult(outcome.result()));
+	else
+		return DescribeWarningOutcome(outcome.error());
+}
+
+void AegisClient::describeWarningAsync(const DescribeWarningRequest& request, const DescribeWarningAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeWarning(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeWarningOutcomeCallable AegisClient::describeWarningCallable(const DescribeWarningRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeWarningOutcome()>>(
+			[this, request]()
+			{
+			return this->describeWarning(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::ReleaseInstanceOutcome AegisClient::releaseInstance(const ReleaseInstanceRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReleaseInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReleaseInstanceOutcome(ReleaseInstanceResult(outcome.result()));
+	else
+		return ReleaseInstanceOutcome(outcome.error());
+}
+
+void AegisClient::releaseInstanceAsync(const ReleaseInstanceRequest& request, const ReleaseInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, releaseInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::ReleaseInstanceOutcomeCallable AegisClient::releaseInstanceCallable(const ReleaseInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReleaseInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->releaseInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeSuspiciousEventsOutcome AegisClient::describeSuspiciousEvents(const DescribeSuspiciousEventsRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSuspiciousEventsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSuspiciousEventsOutcome(DescribeSuspiciousEventsResult(outcome.result()));
+	else
+		return DescribeSuspiciousEventsOutcome(outcome.error());
+}
+
+void AegisClient::describeSuspiciousEventsAsync(const DescribeSuspiciousEventsRequest& request, const DescribeSuspiciousEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSuspiciousEvents(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeSuspiciousEventsOutcomeCallable AegisClient::describeSuspiciousEventsCallable(const DescribeSuspiciousEventsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSuspiciousEventsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSuspiciousEvents(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::CreateInstanceOutcome AegisClient::createInstance(const CreateInstanceRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateInstanceOutcome(CreateInstanceResult(outcome.result()));
+	else
+		return CreateInstanceOutcome(outcome.error());
+}
+
+void AegisClient::createInstanceAsync(const CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::CreateInstanceOutcomeCallable AegisClient::createInstanceCallable(const CreateInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->createInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeVulListOutcome AegisClient::describeVulList(const DescribeVulListRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVulListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVulListOutcome(DescribeVulListResult(outcome.result()));
+	else
+		return DescribeVulListOutcome(outcome.error());
+}
+
+void AegisClient::describeVulListAsync(const DescribeVulListRequest& request, const DescribeVulListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVulList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeVulListOutcomeCallable AegisClient::describeVulListCallable(const DescribeVulListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVulListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVulList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::UpgradeInstanceOutcome AegisClient::upgradeInstance(const UpgradeInstanceRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpgradeInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpgradeInstanceOutcome(UpgradeInstanceResult(outcome.result()));
+	else
+		return UpgradeInstanceOutcome(outcome.error());
+}
+
+void AegisClient::upgradeInstanceAsync(const UpgradeInstanceRequest& request, const UpgradeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, upgradeInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::UpgradeInstanceOutcomeCallable AegisClient::upgradeInstanceCallable(const UpgradeInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpgradeInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->upgradeInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::RenewInstanceOutcome AegisClient::renewInstance(const RenewInstanceRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return RenewInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RenewInstanceOutcome(RenewInstanceResult(outcome.result()));
+	else
+		return RenewInstanceOutcome(outcome.error());
+}
+
+void AegisClient::renewInstanceAsync(const RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, renewInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::RenewInstanceOutcomeCallable AegisClient::renewInstanceCallable(const RenewInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RenewInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->renewInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeStrategyTargetOutcome AegisClient::describeStrategyTarget(const DescribeStrategyTargetRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeStrategyTargetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeStrategyTargetOutcome(DescribeStrategyTargetResult(outcome.result()));
+	else
+		return DescribeStrategyTargetOutcome(outcome.error());
+}
+
+void AegisClient::describeStrategyTargetAsync(const DescribeStrategyTargetRequest& request, const DescribeStrategyTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeStrategyTarget(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeStrategyTargetOutcomeCallable AegisClient::describeStrategyTargetCallable(const DescribeStrategyTargetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeStrategyTargetOutcome()>>(
+			[this, request]()
+			{
+			return this->describeStrategyTarget(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::QueryLoginEventOutcome AegisClient::queryLoginEvent(const QueryLoginEventRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryLoginEventOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryLoginEventOutcome(QueryLoginEventResult(outcome.result()));
+	else
+		return QueryLoginEventOutcome(outcome.error());
+}
+
+void AegisClient::queryLoginEventAsync(const QueryLoginEventRequest& request, const QueryLoginEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryLoginEvent(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::QueryLoginEventOutcomeCallable AegisClient::queryLoginEventCallable(const QueryLoginEventRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryLoginEventOutcome()>>(
+			[this, request]()
+			{
+			return this->queryLoginEvent(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::GetAccountStatisticsOutcome AegisClient::getAccountStatistics(const GetAccountStatisticsRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccountStatisticsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccountStatisticsOutcome(GetAccountStatisticsResult(outcome.result()));
+	else
+		return GetAccountStatisticsOutcome(outcome.error());
+}
+
+void AegisClient::getAccountStatisticsAsync(const GetAccountStatisticsRequest& request, const GetAccountStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccountStatistics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::GetAccountStatisticsOutcomeCallable AegisClient::getAccountStatisticsCallable(const GetAccountStatisticsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccountStatisticsOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccountStatistics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::ModifyStrategyOutcome AegisClient::modifyStrategy(const ModifyStrategyRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyStrategyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyStrategyOutcome(ModifyStrategyResult(outcome.result()));
+	else
+		return ModifyStrategyOutcome(outcome.error());
+}
+
+void AegisClient::modifyStrategyAsync(const ModifyStrategyRequest& request, const ModifyStrategyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyStrategy(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::ModifyStrategyOutcomeCallable AegisClient::modifyStrategyCallable(const ModifyStrategyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyStrategyOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyStrategy(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::ModifyStrategyTargetOutcome AegisClient::modifyStrategyTarget(const ModifyStrategyTargetRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyStrategyTargetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyStrategyTargetOutcome(ModifyStrategyTargetResult(outcome.result()));
+	else
+		return ModifyStrategyTargetOutcome(outcome.error());
+}
+
+void AegisClient::modifyStrategyTargetAsync(const ModifyStrategyTargetRequest& request, const ModifyStrategyTargetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyStrategyTarget(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::ModifyStrategyTargetOutcomeCallable AegisClient::modifyStrategyTargetCallable(const ModifyStrategyTargetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyStrategyTargetOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyStrategyTarget(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::ModifyBatchIgnoreVulOutcome AegisClient::modifyBatchIgnoreVul(const ModifyBatchIgnoreVulRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyBatchIgnoreVulOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyBatchIgnoreVulOutcome(ModifyBatchIgnoreVulResult(outcome.result()));
+	else
+		return ModifyBatchIgnoreVulOutcome(outcome.error());
+}
+
+void AegisClient::modifyBatchIgnoreVulAsync(const ModifyBatchIgnoreVulRequest& request, const ModifyBatchIgnoreVulAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyBatchIgnoreVul(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::ModifyBatchIgnoreVulOutcomeCallable AegisClient::modifyBatchIgnoreVulCallable(const ModifyBatchIgnoreVulRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyBatchIgnoreVulOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyBatchIgnoreVul(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeWebshellOutcome AegisClient::describeWebshell(const DescribeWebshellRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeWebshellOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeWebshellOutcome(DescribeWebshellResult(outcome.result()));
+	else
+		return DescribeWebshellOutcome(outcome.error());
+}
+
+void AegisClient::describeWebshellAsync(const DescribeWebshellRequest& request, const DescribeWebshellAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeWebshell(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeWebshellOutcomeCallable AegisClient::describeWebshellCallable(const DescribeWebshellRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeWebshellOutcome()>>(
+			[this, request]()
+			{
+			return this->describeWebshell(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeStratetyDetailOutcome AegisClient::describeStratetyDetail(const DescribeStratetyDetailRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeStratetyDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeStratetyDetailOutcome(DescribeStratetyDetailResult(outcome.result()));
+	else
+		return DescribeStratetyDetailOutcome(outcome.error());
+}
+
+void AegisClient::describeStratetyDetailAsync(const DescribeStratetyDetailRequest& request, const DescribeStratetyDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeStratetyDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeStratetyDetailOutcomeCallable AegisClient::describeStratetyDetailCallable(const DescribeStratetyDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeStratetyDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeStratetyDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeStratetyOutcome AegisClient::describeStratety(const DescribeStratetyRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeStratetyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeStratetyOutcome(DescribeStratetyResult(outcome.result()));
+	else
+		return DescribeStratetyOutcome(outcome.error());
+}
+
+void AegisClient::describeStratetyAsync(const DescribeStratetyRequest& request, const DescribeStratetyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeStratety(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeStratetyOutcomeCallable AegisClient::describeStratetyCallable(const DescribeStratetyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeStratetyOutcome()>>(
+			[this, request]()
+			{
+			return this->describeStratety(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::DescribeLoginLogsOutcome AegisClient::describeLoginLogs(const DescribeLoginLogsRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLoginLogsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLoginLogsOutcome(DescribeLoginLogsResult(outcome.result()));
+	else
+		return DescribeLoginLogsOutcome(outcome.error());
+}
+
+void AegisClient::describeLoginLogsAsync(const DescribeLoginLogsRequest& request, const DescribeLoginLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLoginLogs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::DescribeLoginLogsOutcomeCallable AegisClient::describeLoginLogsCallable(const DescribeLoginLogsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLoginLogsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLoginLogs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+AegisClient::QueryCrackEventOutcome AegisClient::queryCrackEvent(const QueryCrackEventRequest &request) const
+{
+	auto endpointOutcome = endpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryCrackEventOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryCrackEventOutcome(QueryCrackEventResult(outcome.result()));
+	else
+		return QueryCrackEventOutcome(outcome.error());
+}
+
+void AegisClient::queryCrackEventAsync(const QueryCrackEventRequest& request, const QueryCrackEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryCrackEvent(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AegisClient::QueryCrackEventOutcomeCallable AegisClient::queryCrackEventCallable(const QueryCrackEventRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryCrackEventOutcome()>>(
+			[this, request]()
+			{
+			return this->queryCrackEvent(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 115 - 0
aegis/src/model/CreateInstanceRequest.cc

@@ -0,0 +1,115 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/CreateInstanceRequest.h>
+
+using AlibabaCloud::Aegis::Model::CreateInstanceRequest;
+
+CreateInstanceRequest::CreateInstanceRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "CreateInstance")
+{}
+
+CreateInstanceRequest::~CreateInstanceRequest()
+{}
+
+int CreateInstanceRequest::getDuration()const
+{
+	return duration_;
+}
+
+void CreateInstanceRequest::setDuration(int duration)
+{
+	duration_ = duration;
+	setParameter("Duration", std::to_string(duration));
+}
+
+bool CreateInstanceRequest::getIsAutoRenew()const
+{
+	return isAutoRenew_;
+}
+
+void CreateInstanceRequest::setIsAutoRenew(bool isAutoRenew)
+{
+	isAutoRenew_ = isAutoRenew;
+	setParameter("IsAutoRenew", std::to_string(isAutoRenew));
+}
+
+std::string CreateInstanceRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateInstanceRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+int CreateInstanceRequest::getVmNumber()const
+{
+	return vmNumber_;
+}
+
+void CreateInstanceRequest::setVmNumber(int vmNumber)
+{
+	vmNumber_ = vmNumber;
+	setParameter("VmNumber", std::to_string(vmNumber));
+}
+
+long CreateInstanceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateInstanceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+int CreateInstanceRequest::getVersionCode()const
+{
+	return versionCode_;
+}
+
+void CreateInstanceRequest::setVersionCode(int versionCode)
+{
+	versionCode_ = versionCode;
+	setParameter("VersionCode", std::to_string(versionCode));
+}
+
+std::string CreateInstanceRequest::getPricingCycle()const
+{
+	return pricingCycle_;
+}
+
+void CreateInstanceRequest::setPricingCycle(const std::string& pricingCycle)
+{
+	pricingCycle_ = pricingCycle;
+	setParameter("PricingCycle", pricingCycle);
+}
+
+int CreateInstanceRequest::getAutoRenewDuration()const
+{
+	return autoRenewDuration_;
+}
+
+void CreateInstanceRequest::setAutoRenewDuration(int autoRenewDuration)
+{
+	autoRenewDuration_ = autoRenewDuration;
+	setParameter("AutoRenewDuration", std::to_string(autoRenewDuration));
+}
+

+ 59 - 0
aegis/src/model/CreateInstanceResult.cc

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/CreateInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+CreateInstanceResult::CreateInstanceResult() :
+	ServiceResult()
+{}
+
+CreateInstanceResult::CreateInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateInstanceResult::~CreateInstanceResult()
+{}
+
+void CreateInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
+	if(!value["InstanceId"].isNull())
+		instanceId_ = value["InstanceId"].asString();
+
+}
+
+std::string CreateInstanceResult::getInstanceId()const
+{
+	return instanceId_;
+}
+
+std::string CreateInstanceResult::getOrderId()const
+{
+	return orderId_;
+}
+

+ 60 - 0
aegis/src/model/DeleteStrategyRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DeleteStrategyRequest.h>
+
+using AlibabaCloud::Aegis::Model::DeleteStrategyRequest;
+
+DeleteStrategyRequest::DeleteStrategyRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DeleteStrategy")
+{}
+
+DeleteStrategyRequest::~DeleteStrategyRequest()
+{}
+
+long DeleteStrategyRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteStrategyRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DeleteStrategyRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DeleteStrategyRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DeleteStrategyRequest::getId()const
+{
+	return id_;
+}
+
+void DeleteStrategyRequest::setId(const std::string& id)
+{
+	id_ = id;
+	setParameter("Id", id);
+}
+

+ 45 - 0
aegis/src/model/DeleteStrategyResult.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DeleteStrategyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DeleteStrategyResult::DeleteStrategyResult() :
+	ServiceResult()
+{}
+
+DeleteStrategyResult::DeleteStrategyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteStrategyResult::~DeleteStrategyResult()
+{}
+
+void DeleteStrategyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 71 - 0
aegis/src/model/DescribeLoginLogsRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeLoginLogsRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeLoginLogsRequest;
+
+DescribeLoginLogsRequest::DescribeLoginLogsRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeLoginLogs")
+{}
+
+DescribeLoginLogsRequest::~DescribeLoginLogsRequest()
+{}
+
+long DescribeLoginLogsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeLoginLogsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeLoginLogsRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeLoginLogsRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int DescribeLoginLogsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeLoginLogsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int DescribeLoginLogsRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeLoginLogsRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+

+ 81 - 0
aegis/src/model/DescribeLoginLogsResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeLoginLogsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeLoginLogsResult::DescribeLoginLogsResult() :
+	ServiceResult()
+{}
+
+DescribeLoginLogsResult::DescribeLoginLogsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLoginLogsResult::~DescribeLoginLogsResult()
+{}
+
+void DescribeLoginLogsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allLoginLogs = value["LoginLogs"]["StringItem"];
+	for (const auto &item : allLoginLogs)
+		loginLogs_.push_back(item.asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["CurrentPage"].isNull())
+		currentPage_ = std::stoi(value["CurrentPage"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+int DescribeLoginLogsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeLoginLogsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeLoginLogsResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+int DescribeLoginLogsResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::vector<std::string> DescribeLoginLogsResult::getLoginLogs()const
+{
+	return loginLogs_;
+}
+

+ 82 - 0
aegis/src/model/DescribeStrategyTargetRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeStrategyTargetRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeStrategyTargetRequest;
+
+DescribeStrategyTargetRequest::DescribeStrategyTargetRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeStrategyTarget")
+{}
+
+DescribeStrategyTargetRequest::~DescribeStrategyTargetRequest()
+{}
+
+long DescribeStrategyTargetRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeStrategyTargetRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeStrategyTargetRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeStrategyTargetRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeStrategyTargetRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeStrategyTargetRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribeStrategyTargetRequest::getConfig()const
+{
+	return config_;
+}
+
+void DescribeStrategyTargetRequest::setConfig(const std::string& config)
+{
+	config_ = config;
+	setParameter("Config", config);
+}
+
+std::string DescribeStrategyTargetRequest::getTarget()const
+{
+	return target_;
+}
+
+void DescribeStrategyTargetRequest::setTarget(const std::string& target)
+{
+	target_ = target;
+	setParameter("Target", target);
+}
+

+ 69 - 0
aegis/src/model/DescribeStrategyTargetResult.cc

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeStrategyTargetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeStrategyTargetResult::DescribeStrategyTargetResult() :
+	ServiceResult()
+{}
+
+DescribeStrategyTargetResult::DescribeStrategyTargetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeStrategyTargetResult::~DescribeStrategyTargetResult()
+{}
+
+void DescribeStrategyTargetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allStrategyTargets = value["StrategyTargets"]["StringItem"];
+	for (auto value : allStrategyTargets)
+	{
+		StringItem strategyTargetsObject;
+		if(!value["Flag"].isNull())
+			strategyTargetsObject.flag = value["Flag"].asString();
+		if(!value["Target"].isNull())
+			strategyTargetsObject.target = value["Target"].asString();
+		if(!value["TargetType"].isNull())
+			strategyTargetsObject.targetType = value["TargetType"].asString();
+		strategyTargets_.push_back(strategyTargetsObject);
+	}
+	if(!value["Count"].isNull())
+		count_ = std::stoi(value["Count"].asString());
+
+}
+
+std::vector<DescribeStrategyTargetResult::StringItem> DescribeStrategyTargetResult::getStrategyTargets()const
+{
+	return strategyTargets_;
+}
+
+int DescribeStrategyTargetResult::getCount()const
+{
+	return count_;
+}
+

+ 60 - 0
aegis/src/model/DescribeStratetyDetailRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeStratetyDetailRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeStratetyDetailRequest;
+
+DescribeStratetyDetailRequest::DescribeStratetyDetailRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeStratetyDetail")
+{}
+
+DescribeStratetyDetailRequest::~DescribeStratetyDetailRequest()
+{}
+
+long DescribeStratetyDetailRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeStratetyDetailRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeStratetyDetailRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeStratetyDetailRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeStratetyDetailRequest::getId()const
+{
+	return id_;
+}
+
+void DescribeStratetyDetailRequest::setId(const std::string& id)
+{
+	id_ = id;
+	setParameter("Id", id);
+}
+

+ 90 - 0
aegis/src/model/DescribeStratetyDetailResult.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeStratetyDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeStratetyDetailResult::DescribeStratetyDetailResult() :
+	ServiceResult()
+{}
+
+DescribeStratetyDetailResult::DescribeStratetyDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeStratetyDetailResult::~DescribeStratetyDetailResult()
+{}
+
+void DescribeStratetyDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allStrategy = value["Strategy"];
+	for (auto value : allStrategy)
+	{
+		Strategy strategyObject;
+		if(!value["CycleDays"].isNull())
+			strategyObject.cycleDays = std::stoi(value["CycleDays"].asString());
+		if(!value["Name"].isNull())
+			strategyObject.name = value["Name"].asString();
+		if(!value["Id"].isNull())
+			strategyObject.id = std::stoi(value["Id"].asString());
+		if(!value["CycleStartTime"].isNull())
+			strategyObject.cycleStartTime = std::stoi(value["CycleStartTime"].asString());
+		if(!value["Type"].isNull())
+			strategyObject.type = std::stoi(value["Type"].asString());
+		auto allRiskTypeWhiteListQueryResultList = value["RiskTypeWhiteListQueryResultList"]["RiskTypeWhiteListQueryResult"];
+		for (auto value : allRiskTypeWhiteListQueryResultList)
+		{
+			Strategy::RiskTypeWhiteListQueryResult riskTypeWhiteListQueryResultObject;
+			if(!value["TypeName"].isNull())
+				riskTypeWhiteListQueryResultObject.typeName = value["TypeName"].asString();
+			if(!value["Alias"].isNull())
+				riskTypeWhiteListQueryResultObject.alias = value["Alias"].asString();
+			if(!value["On"].isNull())
+				riskTypeWhiteListQueryResultObject.on = value["On"].asString() == "true";
+			auto allSubTypes = value["SubTypes"]["SubTyp"];
+			for (auto value : allSubTypes)
+			{
+				Strategy::RiskTypeWhiteListQueryResult::SubTyp subTypesObject;
+				if(!value["TypeName"].isNull())
+					subTypesObject.typeName = value["TypeName"].asString();
+				if(!value["Alias"].isNull())
+					subTypesObject.alias = value["Alias"].asString();
+				if(!value["On"].isNull())
+					subTypesObject.on = value["On"].asString() == "true";
+				riskTypeWhiteListQueryResultObject.subTypes.push_back(subTypesObject);
+			}
+			strategyObject.riskTypeWhiteListQueryResultList.push_back(riskTypeWhiteListQueryResultObject);
+		}
+		strategy_.push_back(strategyObject);
+	}
+
+}
+
+std::vector<DescribeStratetyDetailResult::Strategy> DescribeStratetyDetailResult::getStrategy()const
+{
+	return strategy_;
+}
+

+ 49 - 0
aegis/src/model/DescribeStratetyRequest.cc

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeStratetyRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeStratetyRequest;
+
+DescribeStratetyRequest::DescribeStratetyRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeStratety")
+{}
+
+DescribeStratetyRequest::~DescribeStratetyRequest()
+{}
+
+long DescribeStratetyRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeStratetyRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeStratetyRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeStratetyRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+

+ 89 - 0
aegis/src/model/DescribeStratetyResult.cc

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeStratetyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeStratetyResult::DescribeStratetyResult() :
+	ServiceResult()
+{}
+
+DescribeStratetyResult::DescribeStratetyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeStratetyResult::~DescribeStratetyResult()
+{}
+
+void DescribeStratetyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allStrategies = value["Strategies"]["Data"];
+	for (auto value : allStrategies)
+	{
+		Data strategiesObject;
+		if(!value["CycleDays"].isNull())
+			strategiesObject.cycleDays = std::stoi(value["CycleDays"].asString());
+		if(!value["Id"].isNull())
+			strategiesObject.id = std::stoi(value["Id"].asString());
+		if(!value["CycleStartTime"].isNull())
+			strategiesObject.cycleStartTime = std::stoi(value["CycleStartTime"].asString());
+		if(!value["Type"].isNull())
+			strategiesObject.type = std::stoi(value["Type"].asString());
+		if(!value["Name"].isNull())
+			strategiesObject.name = value["Name"].asString();
+		if(!value["RiskCount"].isNull())
+			strategiesObject.riskCount = std::stoi(value["RiskCount"].asString());
+		if(!value["EcsCount"].isNull())
+			strategiesObject.ecsCount = std::stoi(value["EcsCount"].asString());
+		auto allConfigTargets = value["ConfigTargets"]["ConfigTarget"];
+		for (auto value : allConfigTargets)
+		{
+			Data::ConfigTarget configTargetsObject;
+			if(!value["Flag"].isNull())
+				configTargetsObject.flag = value["Flag"].asString();
+			if(!value["TargetType"].isNull())
+				configTargetsObject.targetType = value["TargetType"].asString();
+			if(!value["Target"].isNull())
+				configTargetsObject.target = value["Target"].asString();
+			strategiesObject.configTargets.push_back(configTargetsObject);
+		}
+		strategies_.push_back(strategiesObject);
+	}
+	if(!value["Count"].isNull())
+		count_ = std::stoi(value["Count"].asString());
+
+}
+
+std::vector<DescribeStratetyResult::Data> DescribeStratetyResult::getStrategies()const
+{
+	return strategies_;
+}
+
+int DescribeStratetyResult::getCount()const
+{
+	return count_;
+}
+

+ 49 - 0
aegis/src/model/DescribeSuspiciousEventsRequest.cc

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeSuspiciousEventsRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeSuspiciousEventsRequest;
+
+DescribeSuspiciousEventsRequest::DescribeSuspiciousEventsRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeSuspiciousEvents")
+{}
+
+DescribeSuspiciousEventsRequest::~DescribeSuspiciousEventsRequest()
+{}
+
+long DescribeSuspiciousEventsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeSuspiciousEventsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeSuspiciousEventsRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeSuspiciousEventsRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+

+ 81 - 0
aegis/src/model/DescribeSuspiciousEventsResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeSuspiciousEventsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeSuspiciousEventsResult::DescribeSuspiciousEventsResult() :
+	ServiceResult()
+{}
+
+DescribeSuspiciousEventsResult::DescribeSuspiciousEventsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeSuspiciousEventsResult::~DescribeSuspiciousEventsResult()
+{}
+
+void DescribeSuspiciousEventsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allSuspiciousEvents = value["SuspiciousEvents"]["StringItem"];
+	for (const auto &item : allSuspiciousEvents)
+		suspiciousEvents_.push_back(item.asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["CurrentPage"].isNull())
+		currentPage_ = std::stoi(value["CurrentPage"].asString());
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+int DescribeSuspiciousEventsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeSuspiciousEventsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::vector<std::string> DescribeSuspiciousEventsResult::getSuspiciousEvents()const
+{
+	return suspiciousEvents_;
+}
+
+int DescribeSuspiciousEventsResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+int DescribeSuspiciousEventsResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+

+ 258 - 0
aegis/src/model/DescribeVulDetailsRequest.cc

@@ -0,0 +1,258 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeVulDetailsRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeVulDetailsRequest;
+
+DescribeVulDetailsRequest::DescribeVulDetailsRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeVulDetails")
+{}
+
+DescribeVulDetailsRequest::~DescribeVulDetailsRequest()
+{}
+
+long DescribeVulDetailsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeVulDetailsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeVulDetailsRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeVulDetailsRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeVulDetailsRequest::getStatusList()const
+{
+	return statusList_;
+}
+
+void DescribeVulDetailsRequest::setStatusList(const std::string& statusList)
+{
+	statusList_ = statusList;
+	setParameter("StatusList", statusList);
+}
+
+std::string DescribeVulDetailsRequest::getLevel()const
+{
+	return level_;
+}
+
+void DescribeVulDetailsRequest::setLevel(const std::string& level)
+{
+	level_ = level;
+	setParameter("Level", level);
+}
+
+std::string DescribeVulDetailsRequest::getResource()const
+{
+	return resource_;
+}
+
+void DescribeVulDetailsRequest::setResource(const std::string& resource)
+{
+	resource_ = resource;
+	setParameter("Resource", resource);
+}
+
+std::string DescribeVulDetailsRequest::getOrderBy()const
+{
+	return orderBy_;
+}
+
+void DescribeVulDetailsRequest::setOrderBy(const std::string& orderBy)
+{
+	orderBy_ = orderBy;
+	setParameter("OrderBy", orderBy);
+}
+
+std::string DescribeVulDetailsRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeVulDetailsRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setParameter("Dealed", dealed);
+}
+
+int DescribeVulDetailsRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeVulDetailsRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeVulDetailsRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeVulDetailsRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+long DescribeVulDetailsRequest::getLastTsEnd()const
+{
+	return lastTsEnd_;
+}
+
+void DescribeVulDetailsRequest::setLastTsEnd(long lastTsEnd)
+{
+	lastTsEnd_ = lastTsEnd;
+	setParameter("LastTsEnd", std::to_string(lastTsEnd));
+}
+
+std::string DescribeVulDetailsRequest::getBatchName()const
+{
+	return batchName_;
+}
+
+void DescribeVulDetailsRequest::setBatchName(const std::string& batchName)
+{
+	batchName_ = batchName;
+	setParameter("BatchName", batchName);
+}
+
+long DescribeVulDetailsRequest::getPatchId()const
+{
+	return patchId_;
+}
+
+void DescribeVulDetailsRequest::setPatchId(long patchId)
+{
+	patchId_ = patchId;
+	setParameter("PatchId", std::to_string(patchId));
+}
+
+std::string DescribeVulDetailsRequest::getAliasName()const
+{
+	return aliasName_;
+}
+
+void DescribeVulDetailsRequest::setAliasName(const std::string& aliasName)
+{
+	aliasName_ = aliasName;
+	setParameter("AliasName", aliasName);
+}
+
+std::string DescribeVulDetailsRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeVulDetailsRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeVulDetailsRequest::getName()const
+{
+	return name_;
+}
+
+void DescribeVulDetailsRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+int DescribeVulDetailsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeVulDetailsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeVulDetailsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeVulDetailsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+long DescribeVulDetailsRequest::getLastTsStart()const
+{
+	return lastTsStart_;
+}
+
+void DescribeVulDetailsRequest::setLastTsStart(long lastTsStart)
+{
+	lastTsStart_ = lastTsStart;
+	setParameter("LastTsStart", std::to_string(lastTsStart));
+}
+
+std::string DescribeVulDetailsRequest::getNecessity()const
+{
+	return necessity_;
+}
+
+void DescribeVulDetailsRequest::setNecessity(const std::string& necessity)
+{
+	necessity_ = necessity;
+	setParameter("Necessity", necessity);
+}
+
+std::string DescribeVulDetailsRequest::getUuids()const
+{
+	return uuids_;
+}
+
+void DescribeVulDetailsRequest::setUuids(const std::string& uuids)
+{
+	uuids_ = uuids;
+	setParameter("Uuids", uuids);
+}
+
+std::string DescribeVulDetailsRequest::getDirection()const
+{
+	return direction_;
+}
+
+void DescribeVulDetailsRequest::setDirection(const std::string& direction)
+{
+	direction_ = direction;
+	setParameter("Direction", direction);
+}
+

+ 158 - 0
aegis/src/model/DescribeVulDetailsResult.cc

@@ -0,0 +1,158 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeVulDetailsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeVulDetailsResult::DescribeVulDetailsResult() :
+	ServiceResult()
+{}
+
+DescribeVulDetailsResult::DescribeVulDetailsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVulDetailsResult::~DescribeVulDetailsResult()
+{}
+
+void DescribeVulDetailsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allCveLists = value["CveLists"]["cve"];
+	for (const auto &item : allCveLists)
+		cveLists_.push_back(item.asString());
+	if(!value["Name"].isNull())
+		name_ = value["Name"].asString();
+	if(!value["AliasName"].isNull())
+		aliasName_ = value["AliasName"].asString();
+	if(!value["Level"].isNull())
+		level_ = value["Level"].asString();
+	if(!value["VulPublishTs"].isNull())
+		vulPublishTs_ = std::stol(value["VulPublishTs"].asString());
+	if(!value["Type"].isNull())
+		type_ = value["Type"].asString();
+	if(!value["Product"].isNull())
+		product_ = value["Product"].asString();
+	if(!value["HasPatch"].isNull())
+		hasPatch_ = value["HasPatch"].asString() == "true";
+	if(!value["PatchPublishTs"].isNull())
+		patchPublishTs_ = std::stol(value["PatchPublishTs"].asString());
+	if(!value["PatchSource"].isNull())
+		patchSource_ = value["PatchSource"].asString();
+	if(!value["Cvss"].isNull())
+		cvss_ = value["Cvss"].asString();
+	if(!value["CveIds"].isNull())
+		cveIds_ = value["CveIds"].asString();
+	if(!value["Advice"].isNull())
+		advice_ = value["Advice"].asString();
+	if(!value["Description"].isNull())
+		description_ = value["Description"].asString();
+	if(!value["PendingCount"].isNull())
+		pendingCount_ = std::stoi(value["PendingCount"].asString());
+	if(!value["HandledCount"].isNull())
+		handledCount_ = std::stoi(value["HandledCount"].asString());
+
+}
+
+int DescribeVulDetailsResult::getPendingCount()const
+{
+	return pendingCount_;
+}
+
+std::string DescribeVulDetailsResult::getDescription()const
+{
+	return description_;
+}
+
+std::vector<std::string> DescribeVulDetailsResult::getCveLists()const
+{
+	return cveLists_;
+}
+
+std::string DescribeVulDetailsResult::getCveIds()const
+{
+	return cveIds_;
+}
+
+long DescribeVulDetailsResult::getVulPublishTs()const
+{
+	return vulPublishTs_;
+}
+
+std::string DescribeVulDetailsResult::getProduct()const
+{
+	return product_;
+}
+
+bool DescribeVulDetailsResult::getHasPatch()const
+{
+	return hasPatch_;
+}
+
+std::string DescribeVulDetailsResult::getName()const
+{
+	return name_;
+}
+
+std::string DescribeVulDetailsResult::getType()const
+{
+	return type_;
+}
+
+std::string DescribeVulDetailsResult::getCvss()const
+{
+	return cvss_;
+}
+
+long DescribeVulDetailsResult::getPatchPublishTs()const
+{
+	return patchPublishTs_;
+}
+
+int DescribeVulDetailsResult::getHandledCount()const
+{
+	return handledCount_;
+}
+
+std::string DescribeVulDetailsResult::getAliasName()const
+{
+	return aliasName_;
+}
+
+std::string DescribeVulDetailsResult::getLevel()const
+{
+	return level_;
+}
+
+std::string DescribeVulDetailsResult::getAdvice()const
+{
+	return advice_;
+}
+
+std::string DescribeVulDetailsResult::getPatchSource()const
+{
+	return patchSource_;
+}
+

+ 258 - 0
aegis/src/model/DescribeVulListRequest.cc

@@ -0,0 +1,258 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeVulListRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeVulListRequest;
+
+DescribeVulListRequest::DescribeVulListRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeVulList")
+{}
+
+DescribeVulListRequest::~DescribeVulListRequest()
+{}
+
+long DescribeVulListRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeVulListRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeVulListRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeVulListRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeVulListRequest::getStatusList()const
+{
+	return statusList_;
+}
+
+void DescribeVulListRequest::setStatusList(const std::string& statusList)
+{
+	statusList_ = statusList;
+	setParameter("StatusList", statusList);
+}
+
+std::string DescribeVulListRequest::getLevel()const
+{
+	return level_;
+}
+
+void DescribeVulListRequest::setLevel(const std::string& level)
+{
+	level_ = level;
+	setParameter("Level", level);
+}
+
+std::string DescribeVulListRequest::getResource()const
+{
+	return resource_;
+}
+
+void DescribeVulListRequest::setResource(const std::string& resource)
+{
+	resource_ = resource;
+	setParameter("Resource", resource);
+}
+
+std::string DescribeVulListRequest::getOrderBy()const
+{
+	return orderBy_;
+}
+
+void DescribeVulListRequest::setOrderBy(const std::string& orderBy)
+{
+	orderBy_ = orderBy;
+	setParameter("OrderBy", orderBy);
+}
+
+std::string DescribeVulListRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeVulListRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setParameter("Dealed", dealed);
+}
+
+int DescribeVulListRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeVulListRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeVulListRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeVulListRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+long DescribeVulListRequest::getLastTsEnd()const
+{
+	return lastTsEnd_;
+}
+
+void DescribeVulListRequest::setLastTsEnd(long lastTsEnd)
+{
+	lastTsEnd_ = lastTsEnd;
+	setParameter("LastTsEnd", std::to_string(lastTsEnd));
+}
+
+std::string DescribeVulListRequest::getBatchName()const
+{
+	return batchName_;
+}
+
+void DescribeVulListRequest::setBatchName(const std::string& batchName)
+{
+	batchName_ = batchName;
+	setParameter("BatchName", batchName);
+}
+
+long DescribeVulListRequest::getPatchId()const
+{
+	return patchId_;
+}
+
+void DescribeVulListRequest::setPatchId(long patchId)
+{
+	patchId_ = patchId;
+	setParameter("PatchId", std::to_string(patchId));
+}
+
+std::string DescribeVulListRequest::getAliasName()const
+{
+	return aliasName_;
+}
+
+void DescribeVulListRequest::setAliasName(const std::string& aliasName)
+{
+	aliasName_ = aliasName;
+	setParameter("AliasName", aliasName);
+}
+
+std::string DescribeVulListRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeVulListRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeVulListRequest::getName()const
+{
+	return name_;
+}
+
+void DescribeVulListRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+int DescribeVulListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeVulListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeVulListRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeVulListRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+long DescribeVulListRequest::getLastTsStart()const
+{
+	return lastTsStart_;
+}
+
+void DescribeVulListRequest::setLastTsStart(long lastTsStart)
+{
+	lastTsStart_ = lastTsStart;
+	setParameter("LastTsStart", std::to_string(lastTsStart));
+}
+
+std::string DescribeVulListRequest::getNecessity()const
+{
+	return necessity_;
+}
+
+void DescribeVulListRequest::setNecessity(const std::string& necessity)
+{
+	necessity_ = necessity;
+	setParameter("Necessity", necessity);
+}
+
+std::string DescribeVulListRequest::getUuids()const
+{
+	return uuids_;
+}
+
+void DescribeVulListRequest::setUuids(const std::string& uuids)
+{
+	uuids_ = uuids;
+	setParameter("Uuids", uuids);
+}
+
+std::string DescribeVulListRequest::getDirection()const
+{
+	return direction_;
+}
+
+void DescribeVulListRequest::setDirection(const std::string& direction)
+{
+	direction_ = direction;
+	setParameter("Direction", direction);
+}
+

+ 81 - 0
aegis/src/model/DescribeVulListResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeVulListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeVulListResult::DescribeVulListResult() :
+	ServiceResult()
+{}
+
+DescribeVulListResult::DescribeVulListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVulListResult::~DescribeVulListResult()
+{}
+
+void DescribeVulListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allVulRecords = value["VulRecords"]["vulRecord"];
+	for (const auto &item : allVulRecords)
+		vulRecords_.push_back(item.asString());
+	if(!value["Count"].isNull())
+		count_ = std::stoi(value["Count"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["CurrentPage"].isNull())
+		currentPage_ = std::stoi(value["CurrentPage"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeVulListResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<std::string> DescribeVulListResult::getVulRecords()const
+{
+	return vulRecords_;
+}
+
+int DescribeVulListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeVulListResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+int DescribeVulListResult::getCount()const
+{
+	return count_;
+}
+

+ 148 - 0
aegis/src/model/DescribeWarningRequest.cc

@@ -0,0 +1,148 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeWarningRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeWarningRequest;
+
+DescribeWarningRequest::DescribeWarningRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeWarning")
+{}
+
+DescribeWarningRequest::~DescribeWarningRequest()
+{}
+
+std::string DescribeWarningRequest::getTypeNames()const
+{
+	return typeNames_;
+}
+
+void DescribeWarningRequest::setTypeNames(const std::string& typeNames)
+{
+	typeNames_ = typeNames;
+	setParameter("TypeNames", typeNames);
+}
+
+long DescribeWarningRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeWarningRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeWarningRequest::getRiskName()const
+{
+	return riskName_;
+}
+
+void DescribeWarningRequest::setRiskName(const std::string& riskName)
+{
+	riskName_ = riskName;
+	setParameter("RiskName", riskName);
+}
+
+std::string DescribeWarningRequest::getStatusList()const
+{
+	return statusList_;
+}
+
+void DescribeWarningRequest::setStatusList(const std::string& statusList)
+{
+	statusList_ = statusList;
+	setParameter("StatusList", statusList);
+}
+
+std::string DescribeWarningRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeWarningRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeWarningRequest::getRiskLevels()const
+{
+	return riskLevels_;
+}
+
+void DescribeWarningRequest::setRiskLevels(const std::string& riskLevels)
+{
+	riskLevels_ = riskLevels;
+	setParameter("RiskLevels", riskLevels);
+}
+
+int DescribeWarningRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeWarningRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int DescribeWarningRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeWarningRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeWarningRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeWarningRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setParameter("Dealed", dealed);
+}
+
+std::string DescribeWarningRequest::getSubTypeNames()const
+{
+	return subTypeNames_;
+}
+
+void DescribeWarningRequest::setSubTypeNames(const std::string& subTypeNames)
+{
+	subTypeNames_ = subTypeNames;
+	setParameter("SubTypeNames", subTypeNames);
+}
+
+std::string DescribeWarningRequest::getUuids()const
+{
+	return uuids_;
+}
+
+void DescribeWarningRequest::setUuids(const std::string& uuids)
+{
+	uuids_ = uuids;
+	setParameter("Uuids", uuids);
+}
+

+ 81 - 0
aegis/src/model/DescribeWarningResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeWarningResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeWarningResult::DescribeWarningResult() :
+	ServiceResult()
+{}
+
+DescribeWarningResult::DescribeWarningResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeWarningResult::~DescribeWarningResult()
+{}
+
+void DescribeWarningResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allWarnings = value["Warnings"]["warning"];
+	for (const auto &item : allWarnings)
+		warnings_.push_back(item.asString());
+	if(!value["Count"].isNull())
+		count_ = std::stoi(value["Count"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["CurrentPage"].isNull())
+		currentPage_ = std::stoi(value["CurrentPage"].asString());
+
+}
+
+int DescribeWarningResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeWarningResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeWarningResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+int DescribeWarningResult::getCount()const
+{
+	return count_;
+}
+
+std::vector<std::string> DescribeWarningResult::getWarnings()const
+{
+	return warnings_;
+}
+

+ 71 - 0
aegis/src/model/DescribeWebshellRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeWebshellRequest.h>
+
+using AlibabaCloud::Aegis::Model::DescribeWebshellRequest;
+
+DescribeWebshellRequest::DescribeWebshellRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "DescribeWebshell")
+{}
+
+DescribeWebshellRequest::~DescribeWebshellRequest()
+{}
+
+long DescribeWebshellRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeWebshellRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeWebshellRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeWebshellRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+int DescribeWebshellRequest::getGroupId()const
+{
+	return groupId_;
+}
+
+void DescribeWebshellRequest::setGroupId(int groupId)
+{
+	groupId_ = groupId;
+	setParameter("GroupId", std::to_string(groupId));
+}
+
+std::string DescribeWebshellRequest::getRemark()const
+{
+	return remark_;
+}
+
+void DescribeWebshellRequest::setRemark(const std::string& remark)
+{
+	remark_ = remark;
+	setParameter("Remark", remark);
+}
+

+ 66 - 0
aegis/src/model/DescribeWebshellResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/DescribeWebshellResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+DescribeWebshellResult::DescribeWebshellResult() :
+	ServiceResult()
+{}
+
+DescribeWebshellResult::DescribeWebshellResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeWebshellResult::~DescribeWebshellResult()
+{}
+
+void DescribeWebshellResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["CurrentPage"].isNull())
+		currentPage_ = std::stoi(value["CurrentPage"].asString());
+
+}
+
+int DescribeWebshellResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeWebshellResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeWebshellResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+

+ 49 - 0
aegis/src/model/GetAccountStatisticsRequest.cc

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetAccountStatisticsRequest.h>
+
+using AlibabaCloud::Aegis::Model::GetAccountStatisticsRequest;
+
+GetAccountStatisticsRequest::GetAccountStatisticsRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "GetAccountStatistics")
+{}
+
+GetAccountStatisticsRequest::~GetAccountStatisticsRequest()
+{}
+
+std::string GetAccountStatisticsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void GetAccountStatisticsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string GetAccountStatisticsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void GetAccountStatisticsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+

+ 88 - 0
aegis/src/model/GetAccountStatisticsResult.cc

@@ -0,0 +1,88 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetAccountStatisticsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+GetAccountStatisticsResult::GetAccountStatisticsResult() :
+	ServiceResult()
+{}
+
+GetAccountStatisticsResult::GetAccountStatisticsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccountStatisticsResult::~GetAccountStatisticsResult()
+{}
+
+void GetAccountStatisticsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"];
+	for (auto value : allData)
+	{
+		Data dataObject;
+		if(!value["RemoteLogin"].isNull())
+			dataObject.remoteLogin = std::stoi(value["RemoteLogin"].asString());
+		if(!value["CrackSuccess"].isNull())
+			dataObject.crackSuccess = std::stoi(value["CrackSuccess"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetAccountStatisticsResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string GetAccountStatisticsResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetAccountStatisticsResult::Data> GetAccountStatisticsResult::getData()const
+{
+	return data_;
+}
+
+std::string GetAccountStatisticsResult::getCode()const
+{
+	return code_;
+}
+
+bool GetAccountStatisticsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
aegis/src/model/GetCrackStatisticsRequest.cc

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetCrackStatisticsRequest.h>
+
+using AlibabaCloud::Aegis::Model::GetCrackStatisticsRequest;
+
+GetCrackStatisticsRequest::GetCrackStatisticsRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "GetCrackStatistics")
+{}
+
+GetCrackStatisticsRequest::~GetCrackStatisticsRequest()
+{}
+
+std::string GetCrackStatisticsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void GetCrackStatisticsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string GetCrackStatisticsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void GetCrackStatisticsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+

+ 86 - 0
aegis/src/model/GetCrackStatisticsResult.cc

@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetCrackStatisticsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+GetCrackStatisticsResult::GetCrackStatisticsResult() :
+	ServiceResult()
+{}
+
+GetCrackStatisticsResult::GetCrackStatisticsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetCrackStatisticsResult::~GetCrackStatisticsResult()
+{}
+
+void GetCrackStatisticsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"];
+	for (auto value : allData)
+	{
+		Data dataObject;
+		if(!value["Intercepted"].isNull())
+			dataObject.intercepted = std::stoi(value["Intercepted"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetCrackStatisticsResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string GetCrackStatisticsResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetCrackStatisticsResult::Data> GetCrackStatisticsResult::getData()const
+{
+	return data_;
+}
+
+std::string GetCrackStatisticsResult::getCode()const
+{
+	return code_;
+}
+
+bool GetCrackStatisticsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 93 - 0
aegis/src/model/GetEntityListRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetEntityListRequest.h>
+
+using AlibabaCloud::Aegis::Model::GetEntityListRequest;
+
+GetEntityListRequest::GetEntityListRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "GetEntityList")
+{}
+
+GetEntityListRequest::~GetEntityListRequest()
+{}
+
+long GetEntityListRequest::getGroupId()const
+{
+	return groupId_;
+}
+
+void GetEntityListRequest::setGroupId(long groupId)
+{
+	groupId_ = groupId;
+	setParameter("GroupId", std::to_string(groupId));
+}
+
+int GetEntityListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void GetEntityListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string GetEntityListRequest::getRemark()const
+{
+	return remark_;
+}
+
+void GetEntityListRequest::setRemark(const std::string& remark)
+{
+	remark_ = remark;
+	setParameter("Remark", remark);
+}
+
+std::string GetEntityListRequest::getEventType()const
+{
+	return eventType_;
+}
+
+void GetEntityListRequest::setEventType(const std::string& eventType)
+{
+	eventType_ = eventType;
+	setParameter("EventType", eventType);
+}
+
+int GetEntityListRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void GetEntityListRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string GetEntityListRequest::getRegionNo()const
+{
+	return regionNo_;
+}
+
+void GetEntityListRequest::setRegionNo(const std::string& regionNo)
+{
+	regionNo_ = regionNo;
+	setParameter("RegionNo", regionNo);
+}
+

+ 126 - 0
aegis/src/model/GetEntityListResult.cc

@@ -0,0 +1,126 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetEntityListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+GetEntityListResult::GetEntityListResult() :
+	ServiceResult()
+{}
+
+GetEntityListResult::GetEntityListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetEntityListResult::~GetEntityListResult()
+{}
+
+void GetEntityListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"];
+	for (auto value : allData)
+	{
+		Data dataObject;
+		auto allList = value["List"]["Entity"];
+		for (auto value : allList)
+		{
+			Data::Entity entityObject;
+			if(!value["Uuid"].isNull())
+				entityObject.uuid = value["Uuid"].asString();
+			if(!value["GroupId"].isNull())
+				entityObject.groupId = std::stol(value["GroupId"].asString());
+			if(!value["Ip"].isNull())
+				entityObject.ip = value["Ip"].asString();
+			if(!value["InstanceName"].isNull())
+				entityObject.instanceName = value["InstanceName"].asString();
+			if(!value["InstanceId"].isNull())
+				entityObject.instanceId = value["InstanceId"].asString();
+			if(!value["Region"].isNull())
+				entityObject.region = value["Region"].asString();
+			if(!value["Os"].isNull())
+				entityObject.os = value["Os"].asString();
+			if(!value["Flag"].isNull())
+				entityObject.flag = value["Flag"].asString();
+			if(!value["BuyVersion"].isNull())
+				entityObject.buyVersion = value["BuyVersion"].asString();
+			if(!value["AegisOnline"].isNull())
+				entityObject.aegisOnline = value["AegisOnline"].asString() == "true";
+			if(!value["aegisVersion"].isNull())
+				entityObject.aegisVersion = value["aegisVersion"].asString();
+			dataObject.list.push_back(entityObject);
+		}
+		auto allPageInfo = value["PageInfo"];
+		for (auto value : allPageInfo)
+		{
+			Data::PageInfo pageInfoObject;
+			if(!value["CurrentPage"].isNull())
+				pageInfoObject.currentPage = std::stoi(value["CurrentPage"].asString());
+			if(!value["PageSize"].isNull())
+				pageInfoObject.pageSize = std::stoi(value["PageSize"].asString());
+			if(!value["TotalCount"].isNull())
+				pageInfoObject.totalCount = std::stoi(value["TotalCount"].asString());
+			if(!value["Count"].isNull())
+				pageInfoObject.count = std::stoi(value["Count"].asString());
+			dataObject.pageInfo.push_back(pageInfoObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetEntityListResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string GetEntityListResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetEntityListResult::Data> GetEntityListResult::getData()const
+{
+	return data_;
+}
+
+std::string GetEntityListResult::getCode()const
+{
+	return code_;
+}
+
+bool GetEntityListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 38 - 0
aegis/src/model/GetStatisticsByUuidRequest.cc

@@ -0,0 +1,38 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetStatisticsByUuidRequest.h>
+
+using AlibabaCloud::Aegis::Model::GetStatisticsByUuidRequest;
+
+GetStatisticsByUuidRequest::GetStatisticsByUuidRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "GetStatisticsByUuid")
+{}
+
+GetStatisticsByUuidRequest::~GetStatisticsByUuidRequest()
+{}
+
+std::string GetStatisticsByUuidRequest::getUuid()const
+{
+	return uuid_;
+}
+
+void GetStatisticsByUuidRequest::setUuid(const std::string& uuid)
+{
+	uuid_ = uuid;
+	setParameter("Uuid", uuid);
+}
+

+ 96 - 0
aegis/src/model/GetStatisticsByUuidResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetStatisticsByUuidResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+GetStatisticsByUuidResult::GetStatisticsByUuidResult() :
+	ServiceResult()
+{}
+
+GetStatisticsByUuidResult::GetStatisticsByUuidResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetStatisticsByUuidResult::~GetStatisticsByUuidResult()
+{}
+
+void GetStatisticsByUuidResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["Entity"];
+	for (auto value : allData)
+	{
+		Entity dataObject;
+		if(!value["Uuid"].isNull())
+			dataObject.uuid = value["Uuid"].asString();
+		if(!value["Account"].isNull())
+			dataObject.account = std::stoi(value["Account"].asString());
+		if(!value["Health"].isNull())
+			dataObject.health = std::stoi(value["Health"].asString());
+		if(!value["Patch"].isNull())
+			dataObject.patch = std::stoi(value["Patch"].asString());
+		if(!value["Trojan"].isNull())
+			dataObject.trojan = std::stoi(value["Trojan"].asString());
+		if(!value["Online"].isNull())
+			dataObject.online = value["Online"].asString() == "true";
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetStatisticsByUuidResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string GetStatisticsByUuidResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetStatisticsByUuidResult::Entity> GetStatisticsByUuidResult::getData()const
+{
+	return data_;
+}
+
+std::string GetStatisticsByUuidResult::getCode()const
+{
+	return code_;
+}
+
+bool GetStatisticsByUuidResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
aegis/src/model/GetStatisticsRequest.cc

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetStatisticsRequest.h>
+
+using AlibabaCloud::Aegis::Model::GetStatisticsRequest;
+
+GetStatisticsRequest::GetStatisticsRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "GetStatistics")
+{}
+
+GetStatisticsRequest::~GetStatisticsRequest()
+{}
+
+std::string GetStatisticsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void GetStatisticsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string GetStatisticsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void GetStatisticsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+

+ 92 - 0
aegis/src/model/GetStatisticsResult.cc

@@ -0,0 +1,92 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/GetStatisticsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+GetStatisticsResult::GetStatisticsResult() :
+	ServiceResult()
+{}
+
+GetStatisticsResult::GetStatisticsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetStatisticsResult::~GetStatisticsResult()
+{}
+
+void GetStatisticsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"];
+	for (auto value : allData)
+	{
+		Data dataObject;
+		if(!value["Account"].isNull())
+			dataObject.account = std::stoi(value["Account"].asString());
+		if(!value["Health"].isNull())
+			dataObject.health = std::stoi(value["Health"].asString());
+		if(!value["Patch"].isNull())
+			dataObject.patch = std::stoi(value["Patch"].asString());
+		if(!value["Trojan"].isNull())
+			dataObject.trojan = std::stoi(value["Trojan"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetStatisticsResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string GetStatisticsResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetStatisticsResult::Data> GetStatisticsResult::getData()const
+{
+	return data_;
+}
+
+std::string GetStatisticsResult::getCode()const
+{
+	return code_;
+}
+
+bool GetStatisticsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 71 - 0
aegis/src/model/ModifyBatchIgnoreVulRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ModifyBatchIgnoreVulRequest.h>
+
+using AlibabaCloud::Aegis::Model::ModifyBatchIgnoreVulRequest;
+
+ModifyBatchIgnoreVulRequest::ModifyBatchIgnoreVulRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "ModifyBatchIgnoreVul")
+{}
+
+ModifyBatchIgnoreVulRequest::~ModifyBatchIgnoreVulRequest()
+{}
+
+std::string ModifyBatchIgnoreVulRequest::getReason()const
+{
+	return reason_;
+}
+
+void ModifyBatchIgnoreVulRequest::setReason(const std::string& reason)
+{
+	reason_ = reason;
+	setParameter("Reason", reason);
+}
+
+long ModifyBatchIgnoreVulRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyBatchIgnoreVulRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyBatchIgnoreVulRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyBatchIgnoreVulRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyBatchIgnoreVulRequest::getInfo()const
+{
+	return info_;
+}
+
+void ModifyBatchIgnoreVulRequest::setInfo(const std::string& info)
+{
+	info_ = info;
+	setParameter("Info", info);
+}
+

+ 59 - 0
aegis/src/model/ModifyBatchIgnoreVulResult.cc

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ModifyBatchIgnoreVulResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+ModifyBatchIgnoreVulResult::ModifyBatchIgnoreVulResult() :
+	ServiceResult()
+{}
+
+ModifyBatchIgnoreVulResult::ModifyBatchIgnoreVulResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyBatchIgnoreVulResult::~ModifyBatchIgnoreVulResult()
+{}
+
+void ModifyBatchIgnoreVulResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+int ModifyBatchIgnoreVulResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+bool ModifyBatchIgnoreVulResult::getSuccess()const
+{
+	return success_;
+}
+

+ 104 - 0
aegis/src/model/ModifyStrategyRequest.cc

@@ -0,0 +1,104 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ModifyStrategyRequest.h>
+
+using AlibabaCloud::Aegis::Model::ModifyStrategyRequest;
+
+ModifyStrategyRequest::ModifyStrategyRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "ModifyStrategy")
+{}
+
+ModifyStrategyRequest::~ModifyStrategyRequest()
+{}
+
+long ModifyStrategyRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyStrategyRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyStrategyRequest::getRiskSubTypeName()const
+{
+	return riskSubTypeName_;
+}
+
+void ModifyStrategyRequest::setRiskSubTypeName(const std::string& riskSubTypeName)
+{
+	riskSubTypeName_ = riskSubTypeName;
+	setParameter("RiskSubTypeName", riskSubTypeName);
+}
+
+std::string ModifyStrategyRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyStrategyRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyStrategyRequest::getCycleStartTime()const
+{
+	return cycleStartTime_;
+}
+
+void ModifyStrategyRequest::setCycleStartTime(const std::string& cycleStartTime)
+{
+	cycleStartTime_ = cycleStartTime;
+	setParameter("CycleStartTime", cycleStartTime);
+}
+
+std::string ModifyStrategyRequest::getName()const
+{
+	return name_;
+}
+
+void ModifyStrategyRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string ModifyStrategyRequest::getCycleDays()const
+{
+	return cycleDays_;
+}
+
+void ModifyStrategyRequest::setCycleDays(const std::string& cycleDays)
+{
+	cycleDays_ = cycleDays;
+	setParameter("CycleDays", cycleDays);
+}
+
+std::string ModifyStrategyRequest::getId()const
+{
+	return id_;
+}
+
+void ModifyStrategyRequest::setId(const std::string& id)
+{
+	id_ = id;
+	setParameter("Id", id);
+}
+

+ 79 - 0
aegis/src/model/ModifyStrategyResult.cc

@@ -0,0 +1,79 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ModifyStrategyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+ModifyStrategyResult::ModifyStrategyResult() :
+	ServiceResult()
+{}
+
+ModifyStrategyResult::ModifyStrategyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyStrategyResult::~ModifyStrategyResult()
+{}
+
+void ModifyStrategyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allResult = value["Result"];
+	for (auto value : allResult)
+	{
+		Result resultObject;
+		if(!value["StrategyId"].isNull())
+			resultObject.strategyId = std::stoi(value["StrategyId"].asString());
+		result_.push_back(resultObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+
+}
+
+int ModifyStrategyResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ModifyStrategyResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+bool ModifyStrategyResult::getSuccess()const
+{
+	return success_;
+}
+
+std::vector<ModifyStrategyResult::Result> ModifyStrategyResult::getResult()const
+{
+	return result_;
+}
+

+ 82 - 0
aegis/src/model/ModifyStrategyTargetRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ModifyStrategyTargetRequest.h>
+
+using AlibabaCloud::Aegis::Model::ModifyStrategyTargetRequest;
+
+ModifyStrategyTargetRequest::ModifyStrategyTargetRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "ModifyStrategyTarget")
+{}
+
+ModifyStrategyTargetRequest::~ModifyStrategyTargetRequest()
+{}
+
+long ModifyStrategyTargetRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyStrategyTargetRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyStrategyTargetRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyStrategyTargetRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyStrategyTargetRequest::getType()const
+{
+	return type_;
+}
+
+void ModifyStrategyTargetRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string ModifyStrategyTargetRequest::getConfig()const
+{
+	return config_;
+}
+
+void ModifyStrategyTargetRequest::setConfig(const std::string& config)
+{
+	config_ = config;
+	setParameter("Config", config);
+}
+
+std::string ModifyStrategyTargetRequest::getTarget()const
+{
+	return target_;
+}
+
+void ModifyStrategyTargetRequest::setTarget(const std::string& target)
+{
+	target_ = target;
+	setParameter("Target", target);
+}
+

+ 45 - 0
aegis/src/model/ModifyStrategyTargetResult.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ModifyStrategyTargetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+ModifyStrategyTargetResult::ModifyStrategyTargetResult() :
+	ServiceResult()
+{}
+
+ModifyStrategyTargetResult::ModifyStrategyTargetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyStrategyTargetResult::~ModifyStrategyTargetResult()
+{}
+
+void ModifyStrategyTargetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 82 - 0
aegis/src/model/QueryCrackEventRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/QueryCrackEventRequest.h>
+
+using AlibabaCloud::Aegis::Model::QueryCrackEventRequest;
+
+QueryCrackEventRequest::QueryCrackEventRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "QueryCrackEvent")
+{}
+
+QueryCrackEventRequest::~QueryCrackEventRequest()
+{}
+
+std::string QueryCrackEventRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void QueryCrackEventRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+int QueryCrackEventRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void QueryCrackEventRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string QueryCrackEventRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void QueryCrackEventRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string QueryCrackEventRequest::getUuid()const
+{
+	return uuid_;
+}
+
+void QueryCrackEventRequest::setUuid(const std::string& uuid)
+{
+	uuid_ = uuid;
+	setParameter("Uuid", uuid);
+}
+
+int QueryCrackEventRequest::getStatus()const
+{
+	return status_;
+}
+
+void QueryCrackEventRequest::setStatus(int status)
+{
+	status_ = status;
+	setParameter("Status", std::to_string(status));
+}
+

+ 138 - 0
aegis/src/model/QueryCrackEventResult.cc

@@ -0,0 +1,138 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/QueryCrackEventResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+QueryCrackEventResult::QueryCrackEventResult() :
+	ServiceResult()
+{}
+
+QueryCrackEventResult::QueryCrackEventResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryCrackEventResult::~QueryCrackEventResult()
+{}
+
+void QueryCrackEventResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"];
+	for (auto value : allData)
+	{
+		Data dataObject;
+		auto allList = value["List"]["Entity"];
+		for (auto value : allList)
+		{
+			Data::Entity entityObject;
+			if(!value["Uuid"].isNull())
+				entityObject.uuid = value["Uuid"].asString();
+			if(!value["AttackTime"].isNull())
+				entityObject.attackTime = value["AttackTime"].asString();
+			if(!value["AttackType"].isNull())
+				entityObject.attackType = std::stoi(value["AttackType"].asString());
+			if(!value["AttackTypeName"].isNull())
+				entityObject.attackTypeName = value["AttackTypeName"].asString();
+			if(!value["BuyVersion"].isNull())
+				entityObject.buyVersion = value["BuyVersion"].asString();
+			if(!value["CrackSourceIp"].isNull())
+				entityObject.crackSourceIp = value["CrackSourceIp"].asString();
+			if(!value["CrackTimes"].isNull())
+				entityObject.crackTimes = std::stoi(value["CrackTimes"].asString());
+			if(!value["GroupId"].isNull())
+				entityObject.groupId = std::stoi(value["GroupId"].asString());
+			if(!value["InstanceName"].isNull())
+				entityObject.instanceName = value["InstanceName"].asString();
+			if(!value["InstanceId"].isNull())
+				entityObject.instanceId = value["InstanceId"].asString();
+			if(!value["Ip"].isNull())
+				entityObject.ip = value["Ip"].asString();
+			if(!value["Region"].isNull())
+				entityObject.region = value["Region"].asString();
+			if(!value["Status"].isNull())
+				entityObject.status = std::stoi(value["Status"].asString());
+			if(!value["StatusName"].isNull())
+				entityObject.statusName = value["StatusName"].asString();
+			if(!value["Location"].isNull())
+				entityObject.location = value["Location"].asString();
+			if(!value["InWhite"].isNull())
+				entityObject.inWhite = std::stoi(value["InWhite"].asString());
+			if(!value["UserName"].isNull())
+				entityObject.userName = value["UserName"].asString();
+			dataObject.list.push_back(entityObject);
+		}
+		auto allPageInfo = value["PageInfo"];
+		for (auto value : allPageInfo)
+		{
+			Data::PageInfo pageInfoObject;
+			if(!value["CurrentPage"].isNull())
+				pageInfoObject.currentPage = std::stoi(value["CurrentPage"].asString());
+			if(!value["PageSize"].isNull())
+				pageInfoObject.pageSize = std::stoi(value["PageSize"].asString());
+			if(!value["TotalCount"].isNull())
+				pageInfoObject.totalCount = std::stoi(value["TotalCount"].asString());
+			if(!value["Count"].isNull())
+				pageInfoObject.count = std::stoi(value["Count"].asString());
+			dataObject.pageInfo.push_back(pageInfoObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string QueryCrackEventResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string QueryCrackEventResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<QueryCrackEventResult::Data> QueryCrackEventResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryCrackEventResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryCrackEventResult::getSuccess()const
+{
+	return success_;
+}
+

+ 82 - 0
aegis/src/model/QueryLoginEventRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/QueryLoginEventRequest.h>
+
+using AlibabaCloud::Aegis::Model::QueryLoginEventRequest;
+
+QueryLoginEventRequest::QueryLoginEventRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "QueryLoginEvent")
+{}
+
+QueryLoginEventRequest::~QueryLoginEventRequest()
+{}
+
+std::string QueryLoginEventRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void QueryLoginEventRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+int QueryLoginEventRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void QueryLoginEventRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string QueryLoginEventRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void QueryLoginEventRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string QueryLoginEventRequest::getUuid()const
+{
+	return uuid_;
+}
+
+void QueryLoginEventRequest::setUuid(const std::string& uuid)
+{
+	uuid_ = uuid;
+	setParameter("Uuid", uuid);
+}
+
+int QueryLoginEventRequest::getStatus()const
+{
+	return status_;
+}
+
+void QueryLoginEventRequest::setStatus(int status)
+{
+	status_ = status;
+	setParameter("Status", std::to_string(status));
+}
+

+ 134 - 0
aegis/src/model/QueryLoginEventResult.cc

@@ -0,0 +1,134 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/QueryLoginEventResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+QueryLoginEventResult::QueryLoginEventResult() :
+	ServiceResult()
+{}
+
+QueryLoginEventResult::QueryLoginEventResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryLoginEventResult::~QueryLoginEventResult()
+{}
+
+void QueryLoginEventResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"];
+	for (auto value : allData)
+	{
+		Data dataObject;
+		auto allList = value["List"]["Entity"];
+		for (auto value : allList)
+		{
+			Data::Entity entityObject;
+			if(!value["Uuid"].isNull())
+				entityObject.uuid = value["Uuid"].asString();
+			if(!value["LoginTime"].isNull())
+				entityObject.loginTime = value["LoginTime"].asString();
+			if(!value["LoginType"].isNull())
+				entityObject.loginType = std::stoi(value["LoginType"].asString());
+			if(!value["LoginTypeName"].isNull())
+				entityObject.loginTypeName = value["LoginTypeName"].asString();
+			if(!value["BuyVersion"].isNull())
+				entityObject.buyVersion = value["BuyVersion"].asString();
+			if(!value["LoginSourceIp"].isNull())
+				entityObject.loginSourceIp = value["LoginSourceIp"].asString();
+			if(!value["GroupId"].isNull())
+				entityObject.groupId = std::stoi(value["GroupId"].asString());
+			if(!value["InstanceName"].isNull())
+				entityObject.instanceName = value["InstanceName"].asString();
+			if(!value["InstanceId"].isNull())
+				entityObject.instanceId = value["InstanceId"].asString();
+			if(!value["Ip"].isNull())
+				entityObject.ip = value["Ip"].asString();
+			if(!value["Region"].isNull())
+				entityObject.region = value["Region"].asString();
+			if(!value["Status"].isNull())
+				entityObject.status = std::stoi(value["Status"].asString());
+			if(!value["StatusName"].isNull())
+				entityObject.statusName = value["StatusName"].asString();
+			if(!value["Location"].isNull())
+				entityObject.location = value["Location"].asString();
+			if(!value["UserName"].isNull())
+				entityObject.userName = value["UserName"].asString();
+			dataObject.list.push_back(entityObject);
+		}
+		auto allPageInfo = value["PageInfo"];
+		for (auto value : allPageInfo)
+		{
+			Data::PageInfo pageInfoObject;
+			if(!value["CurrentPage"].isNull())
+				pageInfoObject.currentPage = std::stoi(value["CurrentPage"].asString());
+			if(!value["PageSize"].isNull())
+				pageInfoObject.pageSize = std::stoi(value["PageSize"].asString());
+			if(!value["TotalCount"].isNull())
+				pageInfoObject.totalCount = std::stoi(value["TotalCount"].asString());
+			if(!value["Count"].isNull())
+				pageInfoObject.count = std::stoi(value["Count"].asString());
+			dataObject.pageInfo.push_back(pageInfoObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["requestId"].isNull())
+		requestId_ = value["requestId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string QueryLoginEventResult::getRequestId()const
+{
+	return requestId_;
+}
+
+std::string QueryLoginEventResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<QueryLoginEventResult::Data> QueryLoginEventResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryLoginEventResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryLoginEventResult::getSuccess()const
+{
+	return success_;
+}
+

+ 49 - 0
aegis/src/model/ReleaseInstanceRequest.cc

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ReleaseInstanceRequest.h>
+
+using AlibabaCloud::Aegis::Model::ReleaseInstanceRequest;
+
+ReleaseInstanceRequest::ReleaseInstanceRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "ReleaseInstance")
+{}
+
+ReleaseInstanceRequest::~ReleaseInstanceRequest()
+{}
+
+std::string ReleaseInstanceRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ReleaseInstanceRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+long ReleaseInstanceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ReleaseInstanceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 45 - 0
aegis/src/model/ReleaseInstanceResult.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/ReleaseInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Aegis;
+using namespace AlibabaCloud::Aegis::Model;
+
+ReleaseInstanceResult::ReleaseInstanceResult() :
+	ServiceResult()
+{}
+
+ReleaseInstanceResult::ReleaseInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ReleaseInstanceResult::~ReleaseInstanceResult()
+{}
+
+void ReleaseInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 93 - 0
aegis/src/model/RenewInstanceRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/aegis/model/RenewInstanceRequest.h>
+
+using AlibabaCloud::Aegis::Model::RenewInstanceRequest;
+
+RenewInstanceRequest::RenewInstanceRequest() :
+	RpcServiceRequest("aegis", "2016-11-11", "RenewInstance")
+{}
+
+RenewInstanceRequest::~RenewInstanceRequest()
+{}
+
+int RenewInstanceRequest::getDuration()const
+{
+	return duration_;
+}
+
+void RenewInstanceRequest::setDuration(int duration)
+{
+	duration_ = duration;
+	setParameter("Duration", std::to_string(duration));
+}
+
+std::string RenewInstanceRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void RenewInstanceRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string RenewInstanceRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void RenewInstanceRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string RenewInstanceRequest::getVmNumber()const
+{
+	return vmNumber_;
+}
+
+void RenewInstanceRequest::setVmNumber(const std::string& vmNumber)
+{
+	vmNumber_ = vmNumber;
+	setParameter("VmNumber", vmNumber);
+}
+
+long RenewInstanceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void RenewInstanceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string RenewInstanceRequest::getPricingCycle()const
+{
+	return pricingCycle_;
+}
+
+void RenewInstanceRequest::setPricingCycle(const std::string& pricingCycle)
+{
+	pricingCycle_ = pricingCycle;
+	setParameter("PricingCycle", pricingCycle);
+}
+

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است