Jelajahi Sumber

SAS SDK Auto Released By lai.zhoulai,Version:1.35.4

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 tahun lalu
induk
melakukan
6010788ba3
100 mengubah file dengan 7990 tambahan dan 1 penghapusan
  1. 6 0
      CHANGELOG
  2. 2 0
      CMakeLists.txt
  3. 1 1
      VERSION
  4. 186 0
      sas/CMakeLists.txt
  5. 254 0
      sas/include/alibabacloud/sas/SasClient.h
  6. 32 0
      sas/include/alibabacloud/sas/SasExport.h
  7. 57 0
      sas/include/alibabacloud/sas/model/DescribeAlarmEventDetailRequest.h
  8. 81 0
      sas/include/alibabacloud/sas/model/DescribeAlarmEventDetailResult.h
  9. 75 0
      sas/include/alibabacloud/sas/model/DescribeAlarmEventListRequest.h
  10. 80 0
      sas/include/alibabacloud/sas/model/DescribeAlarmEventListResult.h
  11. 48 0
      sas/include/alibabacloud/sas/model/DescribeAutoDelConfigRequest.h
  12. 51 0
      sas/include/alibabacloud/sas/model/DescribeAutoDelConfigResult.h
  13. 51 0
      sas/include/alibabacloud/sas/model/DescribeConcernNecessityRequest.h
  14. 51 0
      sas/include/alibabacloud/sas/model/DescribeConcernNecessityResult.h
  15. 51 0
      sas/include/alibabacloud/sas/model/DescribeEmgVulGroupRequest.h
  16. 62 0
      sas/include/alibabacloud/sas/model/DescribeEmgVulGroupResult.h
  17. 72 0
      sas/include/alibabacloud/sas/model/DescribeGroupedVulRequest.h
  18. 68 0
      sas/include/alibabacloud/sas/model/DescribeGroupedVulResult.h
  19. 69 0
      sas/include/alibabacloud/sas/model/DescribeRiskCheckResultRequest.h
  20. 80 0
      sas/include/alibabacloud/sas/model/DescribeRiskCheckResultResult.h
  21. 54 0
      sas/include/alibabacloud/sas/model/DescribeRiskCheckSummaryRequest.h
  22. 81 0
      sas/include/alibabacloud/sas/model/DescribeRiskCheckSummaryResult.h
  23. 54 0
      sas/include/alibabacloud/sas/model/DescribeRiskItemTypeRequest.h
  24. 56 0
      sas/include/alibabacloud/sas/model/DescribeRiskItemTypeResult.h
  25. 54 0
      sas/include/alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigRequest.h
  26. 57 0
      sas/include/alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigResult.h
  27. 57 0
      sas/include/alibabacloud/sas/model/DescribeSuspEventDetailRequest.h
  28. 92 0
      sas/include/alibabacloud/sas/model/DescribeSuspEventDetailResult.h
  29. 78 0
      sas/include/alibabacloud/sas/model/DescribeSuspEventsRequest.h
  30. 81 0
      sas/include/alibabacloud/sas/model/DescribeSuspEventsResult.h
  31. 54 0
      sas/include/alibabacloud/sas/model/DescribeUserBaselineAuthorizationRequest.h
  32. 55 0
      sas/include/alibabacloud/sas/model/DescribeUserBaselineAuthorizationResult.h
  33. 60 0
      sas/include/alibabacloud/sas/model/DescribeVulDetailsRequest.h
  34. 79 0
      sas/include/alibabacloud/sas/model/DescribeVulDetailsResult.h
  35. 75 0
      sas/include/alibabacloud/sas/model/DescribeVulListRequest.h
  36. 118 0
      sas/include/alibabacloud/sas/model/DescribeVulListResult.h
  37. 54 0
      sas/include/alibabacloud/sas/model/DescribeVulWhitelistRequest.h
  38. 64 0
      sas/include/alibabacloud/sas/model/DescribeVulWhitelistResult.h
  39. 51 0
      sas/include/alibabacloud/sas/model/ModifyAutoDelConfigRequest.h
  40. 49 0
      sas/include/alibabacloud/sas/model/ModifyAutoDelConfigResult.h
  41. 54 0
      sas/include/alibabacloud/sas/model/ModifyConcernNecessityRequest.h
  42. 49 0
      sas/include/alibabacloud/sas/model/ModifyConcernNecessityResult.h
  43. 54 0
      sas/include/alibabacloud/sas/model/ModifyCreateVulWhitelistRequest.h
  44. 49 0
      sas/include/alibabacloud/sas/model/ModifyCreateVulWhitelistResult.h
  45. 51 0
      sas/include/alibabacloud/sas/model/ModifyDeleteVulWhitelistRequest.h
  46. 49 0
      sas/include/alibabacloud/sas/model/ModifyDeleteVulWhitelistResult.h
  47. 57 0
      sas/include/alibabacloud/sas/model/ModifyEmgVulSubmitRequest.h
  48. 49 0
      sas/include/alibabacloud/sas/model/ModifyEmgVulSubmitResult.h
  49. 60 0
      sas/include/alibabacloud/sas/model/ModifyOperateVulRequest.h
  50. 49 0
      sas/include/alibabacloud/sas/model/ModifyOperateVulResult.h
  51. 63 0
      sas/include/alibabacloud/sas/model/ModifyRiskCheckStatusRequest.h
  52. 49 0
      sas/include/alibabacloud/sas/model/ModifyRiskCheckStatusResult.h
  53. 63 0
      sas/include/alibabacloud/sas/model/ModifyRiskSingleResultStatusRequest.h
  54. 49 0
      sas/include/alibabacloud/sas/model/ModifyRiskSingleResultStatusResult.h
  55. 63 0
      sas/include/alibabacloud/sas/model/ModifySecurityCheckScheduleConfigRequest.h
  56. 49 0
      sas/include/alibabacloud/sas/model/ModifySecurityCheckScheduleConfigResult.h
  57. 63 0
      sas/include/alibabacloud/sas/model/StartBaselineSecurityCheckRequest.h
  58. 49 0
      sas/include/alibabacloud/sas/model/StartBaselineSecurityCheckResult.h
  59. 989 0
      sas/src/SasClient.cc
  60. 71 0
      sas/src/model/DescribeAlarmEventDetailRequest.cc
  61. 101 0
      sas/src/model/DescribeAlarmEventDetailResult.cc
  62. 137 0
      sas/src/model/DescribeAlarmEventListRequest.cc
  63. 104 0
      sas/src/model/DescribeAlarmEventListResult.cc
  64. 38 0
      sas/src/model/DescribeAutoDelConfigRequest.cc
  65. 52 0
      sas/src/model/DescribeAutoDelConfigResult.cc
  66. 49 0
      sas/src/model/DescribeConcernNecessityRequest.cc
  67. 53 0
      sas/src/model/DescribeConcernNecessityResult.cc
  68. 49 0
      sas/src/model/DescribeEmgVulGroupRequest.cc
  69. 75 0
      sas/src/model/DescribeEmgVulGroupResult.cc
  70. 126 0
      sas/src/model/DescribeGroupedVulRequest.cc
  71. 93 0
      sas/src/model/DescribeGroupedVulResult.cc
  72. 115 0
      sas/src/model/DescribeRiskCheckResultRequest.cc
  73. 121 0
      sas/src/model/DescribeRiskCheckResultResult.cc
  74. 60 0
      sas/src/model/DescribeRiskCheckSummaryRequest.cc
  75. 99 0
      sas/src/model/DescribeRiskCheckSummaryResult.cc
  76. 60 0
      sas/src/model/DescribeRiskItemTypeRequest.cc
  77. 60 0
      sas/src/model/DescribeRiskItemTypeResult.cc
  78. 60 0
      sas/src/model/DescribeSecurityCheckScheduleConfigRequest.cc
  79. 57 0
      sas/src/model/DescribeSecurityCheckScheduleConfigResult.cc
  80. 71 0
      sas/src/model/DescribeSuspEventDetailRequest.cc
  81. 183 0
      sas/src/model/DescribeSuspEventDetailResult.cc
  82. 148 0
      sas/src/model/DescribeSuspEventsRequest.cc
  83. 122 0
      sas/src/model/DescribeSuspEventsResult.cc
  84. 60 0
      sas/src/model/DescribeUserBaselineAuthorizationRequest.cc
  85. 53 0
      sas/src/model/DescribeUserBaselineAuthorizationResult.cc
  86. 82 0
      sas/src/model/DescribeVulDetailsRequest.cc
  87. 104 0
      sas/src/model/DescribeVulDetailsResult.cc
  88. 137 0
      sas/src/model/DescribeVulListRequest.cc
  89. 178 0
      sas/src/model/DescribeVulListResult.cc
  90. 60 0
      sas/src/model/DescribeVulWhitelistRequest.cc
  91. 85 0
      sas/src/model/DescribeVulWhitelistResult.cc
  92. 49 0
      sas/src/model/ModifyAutoDelConfigRequest.cc
  93. 45 0
      sas/src/model/ModifyAutoDelConfigResult.cc
  94. 60 0
      sas/src/model/ModifyConcernNecessityRequest.cc
  95. 45 0
      sas/src/model/ModifyConcernNecessityResult.cc
  96. 60 0
      sas/src/model/ModifyCreateVulWhitelistRequest.cc
  97. 45 0
      sas/src/model/ModifyCreateVulWhitelistResult.cc
  98. 49 0
      sas/src/model/ModifyDeleteVulWhitelistRequest.cc
  99. 45 0
      sas/src/model/ModifyDeleteVulWhitelistResult.cc
  100. 71 0
      sas/src/model/ModifyEmgVulSubmitRequest.cc

+ 6 - 0
CHANGELOG

@@ -1,3 +1,9 @@
+2019-04-03 Version: 1.35.4
+1, Add interfaces related to vulnerability whitelist
+2, Add interfaces related to vulnerability auto-del configuration
+3, Add interfaces related to vulnerability fix advise
+4, Add interfaces searching and operating vulnerability
+
 2019-03-29 Version: 1.35.3
 1, Add DLQ message openAPI.
 2, Add Query the subscription relational openAPI.

+ 2 - 0
CMakeLists.txt

@@ -117,3 +117,5 @@ add_subdirectory(ons)
 add_subdirectory(ivision)
 add_subdirectory(imm)
 add_subdirectory(bssopenapi)
+
+add_subdirectory(sas)

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.35.3
+1.35.4

+ 186 - 0
sas/CMakeLists.txt

@@ -0,0 +1,186 @@
+#
+# 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(sas_public_header 
+	include/alibabacloud/sas/SasClient.h
+	include/alibabacloud/sas/SasExport.h )
+
+set(sas_public_header_model 
+	include/alibabacloud/sas/model/DescribeAlarmEventDetailRequest.h
+	include/alibabacloud/sas/model/DescribeAlarmEventDetailResult.h
+	include/alibabacloud/sas/model/DescribeAlarmEventListRequest.h
+	include/alibabacloud/sas/model/DescribeAlarmEventListResult.h
+	include/alibabacloud/sas/model/DescribeSuspEventsRequest.h
+	include/alibabacloud/sas/model/DescribeSuspEventsResult.h
+	include/alibabacloud/sas/model/DescribeConcernNecessityRequest.h
+	include/alibabacloud/sas/model/DescribeConcernNecessityResult.h
+	include/alibabacloud/sas/model/ModifySecurityCheckScheduleConfigRequest.h
+	include/alibabacloud/sas/model/ModifySecurityCheckScheduleConfigResult.h
+	include/alibabacloud/sas/model/DescribeEmgVulGroupRequest.h
+	include/alibabacloud/sas/model/DescribeEmgVulGroupResult.h
+	include/alibabacloud/sas/model/DescribeAutoDelConfigRequest.h
+	include/alibabacloud/sas/model/DescribeAutoDelConfigResult.h
+	include/alibabacloud/sas/model/DescribeVulListRequest.h
+	include/alibabacloud/sas/model/DescribeVulListResult.h
+	include/alibabacloud/sas/model/DescribeVulWhitelistRequest.h
+	include/alibabacloud/sas/model/DescribeVulWhitelistResult.h
+	include/alibabacloud/sas/model/ModifyRiskCheckStatusRequest.h
+	include/alibabacloud/sas/model/ModifyRiskCheckStatusResult.h
+	include/alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigRequest.h
+	include/alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigResult.h
+	include/alibabacloud/sas/model/StartBaselineSecurityCheckRequest.h
+	include/alibabacloud/sas/model/StartBaselineSecurityCheckResult.h
+	include/alibabacloud/sas/model/DescribeRiskCheckResultRequest.h
+	include/alibabacloud/sas/model/DescribeRiskCheckResultResult.h
+	include/alibabacloud/sas/model/DescribeSuspEventDetailRequest.h
+	include/alibabacloud/sas/model/DescribeSuspEventDetailResult.h
+	include/alibabacloud/sas/model/ModifyRiskSingleResultStatusRequest.h
+	include/alibabacloud/sas/model/ModifyRiskSingleResultStatusResult.h
+	include/alibabacloud/sas/model/ModifyAutoDelConfigRequest.h
+	include/alibabacloud/sas/model/ModifyAutoDelConfigResult.h
+	include/alibabacloud/sas/model/ModifyEmgVulSubmitRequest.h
+	include/alibabacloud/sas/model/ModifyEmgVulSubmitResult.h
+	include/alibabacloud/sas/model/DescribeVulDetailsRequest.h
+	include/alibabacloud/sas/model/DescribeVulDetailsResult.h
+	include/alibabacloud/sas/model/ModifyCreateVulWhitelistRequest.h
+	include/alibabacloud/sas/model/ModifyCreateVulWhitelistResult.h
+	include/alibabacloud/sas/model/DescribeGroupedVulRequest.h
+	include/alibabacloud/sas/model/DescribeGroupedVulResult.h
+	include/alibabacloud/sas/model/ModifyDeleteVulWhitelistRequest.h
+	include/alibabacloud/sas/model/ModifyDeleteVulWhitelistResult.h
+	include/alibabacloud/sas/model/DescribeRiskCheckSummaryRequest.h
+	include/alibabacloud/sas/model/DescribeRiskCheckSummaryResult.h
+	include/alibabacloud/sas/model/ModifyOperateVulRequest.h
+	include/alibabacloud/sas/model/ModifyOperateVulResult.h
+	include/alibabacloud/sas/model/DescribeRiskItemTypeRequest.h
+	include/alibabacloud/sas/model/DescribeRiskItemTypeResult.h
+	include/alibabacloud/sas/model/DescribeUserBaselineAuthorizationRequest.h
+	include/alibabacloud/sas/model/DescribeUserBaselineAuthorizationResult.h
+	include/alibabacloud/sas/model/ModifyConcernNecessityRequest.h
+	include/alibabacloud/sas/model/ModifyConcernNecessityResult.h )
+
+set(sas_src 
+	src/SasClient.cc
+	src/model/DescribeAlarmEventDetailRequest.cc
+	src/model/DescribeAlarmEventDetailResult.cc
+	src/model/DescribeAlarmEventListRequest.cc
+	src/model/DescribeAlarmEventListResult.cc
+	src/model/DescribeSuspEventsRequest.cc
+	src/model/DescribeSuspEventsResult.cc
+	src/model/DescribeConcernNecessityRequest.cc
+	src/model/DescribeConcernNecessityResult.cc
+	src/model/ModifySecurityCheckScheduleConfigRequest.cc
+	src/model/ModifySecurityCheckScheduleConfigResult.cc
+	src/model/DescribeEmgVulGroupRequest.cc
+	src/model/DescribeEmgVulGroupResult.cc
+	src/model/DescribeAutoDelConfigRequest.cc
+	src/model/DescribeAutoDelConfigResult.cc
+	src/model/DescribeVulListRequest.cc
+	src/model/DescribeVulListResult.cc
+	src/model/DescribeVulWhitelistRequest.cc
+	src/model/DescribeVulWhitelistResult.cc
+	src/model/ModifyRiskCheckStatusRequest.cc
+	src/model/ModifyRiskCheckStatusResult.cc
+	src/model/DescribeSecurityCheckScheduleConfigRequest.cc
+	src/model/DescribeSecurityCheckScheduleConfigResult.cc
+	src/model/StartBaselineSecurityCheckRequest.cc
+	src/model/StartBaselineSecurityCheckResult.cc
+	src/model/DescribeRiskCheckResultRequest.cc
+	src/model/DescribeRiskCheckResultResult.cc
+	src/model/DescribeSuspEventDetailRequest.cc
+	src/model/DescribeSuspEventDetailResult.cc
+	src/model/ModifyRiskSingleResultStatusRequest.cc
+	src/model/ModifyRiskSingleResultStatusResult.cc
+	src/model/ModifyAutoDelConfigRequest.cc
+	src/model/ModifyAutoDelConfigResult.cc
+	src/model/ModifyEmgVulSubmitRequest.cc
+	src/model/ModifyEmgVulSubmitResult.cc
+	src/model/DescribeVulDetailsRequest.cc
+	src/model/DescribeVulDetailsResult.cc
+	src/model/ModifyCreateVulWhitelistRequest.cc
+	src/model/ModifyCreateVulWhitelistResult.cc
+	src/model/DescribeGroupedVulRequest.cc
+	src/model/DescribeGroupedVulResult.cc
+	src/model/ModifyDeleteVulWhitelistRequest.cc
+	src/model/ModifyDeleteVulWhitelistResult.cc
+	src/model/DescribeRiskCheckSummaryRequest.cc
+	src/model/DescribeRiskCheckSummaryResult.cc
+	src/model/ModifyOperateVulRequest.cc
+	src/model/ModifyOperateVulResult.cc
+	src/model/DescribeRiskItemTypeRequest.cc
+	src/model/DescribeRiskItemTypeResult.cc
+	src/model/DescribeUserBaselineAuthorizationRequest.cc
+	src/model/DescribeUserBaselineAuthorizationResult.cc
+	src/model/ModifyConcernNecessityRequest.cc
+	src/model/ModifyConcernNecessityResult.cc )
+
+add_library(sas ${LIB_TYPE}
+	${sas_public_header}
+	${sas_public_header_model}
+	${sas_src})
+
+set_target_properties(sas
+	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}sas
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(sas
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_SAS_LIBRARY)
+endif()
+
+target_include_directories(sas
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(sas
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(sas
+		jsoncpp)
+	target_include_directories(sas
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(sas
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(sas
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(sas
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(sas
+		jsoncpp)
+endif()
+
+install(FILES ${sas_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/sas)
+install(FILES ${sas_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/sas/model)
+install(TARGETS sas
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 254 - 0
sas/include/alibabacloud/sas/SasClient.h

@@ -0,0 +1,254 @@
+/*
+ * 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_SAS_SASCLIENT_H_
+#define ALIBABACLOUD_SAS_SASCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "SasExport.h"
+#include "model/DescribeAlarmEventDetailRequest.h"
+#include "model/DescribeAlarmEventDetailResult.h"
+#include "model/DescribeAlarmEventListRequest.h"
+#include "model/DescribeAlarmEventListResult.h"
+#include "model/DescribeSuspEventsRequest.h"
+#include "model/DescribeSuspEventsResult.h"
+#include "model/DescribeConcernNecessityRequest.h"
+#include "model/DescribeConcernNecessityResult.h"
+#include "model/ModifySecurityCheckScheduleConfigRequest.h"
+#include "model/ModifySecurityCheckScheduleConfigResult.h"
+#include "model/DescribeEmgVulGroupRequest.h"
+#include "model/DescribeEmgVulGroupResult.h"
+#include "model/DescribeAutoDelConfigRequest.h"
+#include "model/DescribeAutoDelConfigResult.h"
+#include "model/DescribeVulListRequest.h"
+#include "model/DescribeVulListResult.h"
+#include "model/DescribeVulWhitelistRequest.h"
+#include "model/DescribeVulWhitelistResult.h"
+#include "model/ModifyRiskCheckStatusRequest.h"
+#include "model/ModifyRiskCheckStatusResult.h"
+#include "model/DescribeSecurityCheckScheduleConfigRequest.h"
+#include "model/DescribeSecurityCheckScheduleConfigResult.h"
+#include "model/StartBaselineSecurityCheckRequest.h"
+#include "model/StartBaselineSecurityCheckResult.h"
+#include "model/DescribeRiskCheckResultRequest.h"
+#include "model/DescribeRiskCheckResultResult.h"
+#include "model/DescribeSuspEventDetailRequest.h"
+#include "model/DescribeSuspEventDetailResult.h"
+#include "model/ModifyRiskSingleResultStatusRequest.h"
+#include "model/ModifyRiskSingleResultStatusResult.h"
+#include "model/ModifyAutoDelConfigRequest.h"
+#include "model/ModifyAutoDelConfigResult.h"
+#include "model/ModifyEmgVulSubmitRequest.h"
+#include "model/ModifyEmgVulSubmitResult.h"
+#include "model/DescribeVulDetailsRequest.h"
+#include "model/DescribeVulDetailsResult.h"
+#include "model/ModifyCreateVulWhitelistRequest.h"
+#include "model/ModifyCreateVulWhitelistResult.h"
+#include "model/DescribeGroupedVulRequest.h"
+#include "model/DescribeGroupedVulResult.h"
+#include "model/ModifyDeleteVulWhitelistRequest.h"
+#include "model/ModifyDeleteVulWhitelistResult.h"
+#include "model/DescribeRiskCheckSummaryRequest.h"
+#include "model/DescribeRiskCheckSummaryResult.h"
+#include "model/ModifyOperateVulRequest.h"
+#include "model/ModifyOperateVulResult.h"
+#include "model/DescribeRiskItemTypeRequest.h"
+#include "model/DescribeRiskItemTypeResult.h"
+#include "model/DescribeUserBaselineAuthorizationRequest.h"
+#include "model/DescribeUserBaselineAuthorizationResult.h"
+#include "model/ModifyConcernNecessityRequest.h"
+#include "model/ModifyConcernNecessityResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		class ALIBABACLOUD_SAS_EXPORT SasClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::DescribeAlarmEventDetailResult> DescribeAlarmEventDetailOutcome;
+			typedef std::future<DescribeAlarmEventDetailOutcome> DescribeAlarmEventDetailOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeAlarmEventDetailRequest&, const DescribeAlarmEventDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAlarmEventDetailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAlarmEventListResult> DescribeAlarmEventListOutcome;
+			typedef std::future<DescribeAlarmEventListOutcome> DescribeAlarmEventListOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeAlarmEventListRequest&, const DescribeAlarmEventListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAlarmEventListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSuspEventsResult> DescribeSuspEventsOutcome;
+			typedef std::future<DescribeSuspEventsOutcome> DescribeSuspEventsOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeSuspEventsRequest&, const DescribeSuspEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSuspEventsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeConcernNecessityResult> DescribeConcernNecessityOutcome;
+			typedef std::future<DescribeConcernNecessityOutcome> DescribeConcernNecessityOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeConcernNecessityRequest&, const DescribeConcernNecessityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeConcernNecessityAsyncHandler;
+			typedef Outcome<Error, Model::ModifySecurityCheckScheduleConfigResult> ModifySecurityCheckScheduleConfigOutcome;
+			typedef std::future<ModifySecurityCheckScheduleConfigOutcome> ModifySecurityCheckScheduleConfigOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifySecurityCheckScheduleConfigRequest&, const ModifySecurityCheckScheduleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifySecurityCheckScheduleConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeEmgVulGroupResult> DescribeEmgVulGroupOutcome;
+			typedef std::future<DescribeEmgVulGroupOutcome> DescribeEmgVulGroupOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeEmgVulGroupRequest&, const DescribeEmgVulGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEmgVulGroupAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAutoDelConfigResult> DescribeAutoDelConfigOutcome;
+			typedef std::future<DescribeAutoDelConfigOutcome> DescribeAutoDelConfigOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeAutoDelConfigRequest&, const DescribeAutoDelConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAutoDelConfigAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVulListResult> DescribeVulListOutcome;
+			typedef std::future<DescribeVulListOutcome> DescribeVulListOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeVulListRequest&, const DescribeVulListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVulListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVulWhitelistResult> DescribeVulWhitelistOutcome;
+			typedef std::future<DescribeVulWhitelistOutcome> DescribeVulWhitelistOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeVulWhitelistRequest&, const DescribeVulWhitelistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVulWhitelistAsyncHandler;
+			typedef Outcome<Error, Model::ModifyRiskCheckStatusResult> ModifyRiskCheckStatusOutcome;
+			typedef std::future<ModifyRiskCheckStatusOutcome> ModifyRiskCheckStatusOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyRiskCheckStatusRequest&, const ModifyRiskCheckStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyRiskCheckStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSecurityCheckScheduleConfigResult> DescribeSecurityCheckScheduleConfigOutcome;
+			typedef std::future<DescribeSecurityCheckScheduleConfigOutcome> DescribeSecurityCheckScheduleConfigOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeSecurityCheckScheduleConfigRequest&, const DescribeSecurityCheckScheduleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSecurityCheckScheduleConfigAsyncHandler;
+			typedef Outcome<Error, Model::StartBaselineSecurityCheckResult> StartBaselineSecurityCheckOutcome;
+			typedef std::future<StartBaselineSecurityCheckOutcome> StartBaselineSecurityCheckOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::StartBaselineSecurityCheckRequest&, const StartBaselineSecurityCheckOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartBaselineSecurityCheckAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRiskCheckResultResult> DescribeRiskCheckResultOutcome;
+			typedef std::future<DescribeRiskCheckResultOutcome> DescribeRiskCheckResultOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeRiskCheckResultRequest&, const DescribeRiskCheckResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRiskCheckResultAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSuspEventDetailResult> DescribeSuspEventDetailOutcome;
+			typedef std::future<DescribeSuspEventDetailOutcome> DescribeSuspEventDetailOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeSuspEventDetailRequest&, const DescribeSuspEventDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSuspEventDetailAsyncHandler;
+			typedef Outcome<Error, Model::ModifyRiskSingleResultStatusResult> ModifyRiskSingleResultStatusOutcome;
+			typedef std::future<ModifyRiskSingleResultStatusOutcome> ModifyRiskSingleResultStatusOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyRiskSingleResultStatusRequest&, const ModifyRiskSingleResultStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyRiskSingleResultStatusAsyncHandler;
+			typedef Outcome<Error, Model::ModifyAutoDelConfigResult> ModifyAutoDelConfigOutcome;
+			typedef std::future<ModifyAutoDelConfigOutcome> ModifyAutoDelConfigOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyAutoDelConfigRequest&, const ModifyAutoDelConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyAutoDelConfigAsyncHandler;
+			typedef Outcome<Error, Model::ModifyEmgVulSubmitResult> ModifyEmgVulSubmitOutcome;
+			typedef std::future<ModifyEmgVulSubmitOutcome> ModifyEmgVulSubmitOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyEmgVulSubmitRequest&, const ModifyEmgVulSubmitOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyEmgVulSubmitAsyncHandler;
+			typedef Outcome<Error, Model::DescribeVulDetailsResult> DescribeVulDetailsOutcome;
+			typedef std::future<DescribeVulDetailsOutcome> DescribeVulDetailsOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeVulDetailsRequest&, const DescribeVulDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVulDetailsAsyncHandler;
+			typedef Outcome<Error, Model::ModifyCreateVulWhitelistResult> ModifyCreateVulWhitelistOutcome;
+			typedef std::future<ModifyCreateVulWhitelistOutcome> ModifyCreateVulWhitelistOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyCreateVulWhitelistRequest&, const ModifyCreateVulWhitelistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCreateVulWhitelistAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGroupedVulResult> DescribeGroupedVulOutcome;
+			typedef std::future<DescribeGroupedVulOutcome> DescribeGroupedVulOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeGroupedVulRequest&, const DescribeGroupedVulOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGroupedVulAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDeleteVulWhitelistResult> ModifyDeleteVulWhitelistOutcome;
+			typedef std::future<ModifyDeleteVulWhitelistOutcome> ModifyDeleteVulWhitelistOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyDeleteVulWhitelistRequest&, const ModifyDeleteVulWhitelistOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDeleteVulWhitelistAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRiskCheckSummaryResult> DescribeRiskCheckSummaryOutcome;
+			typedef std::future<DescribeRiskCheckSummaryOutcome> DescribeRiskCheckSummaryOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeRiskCheckSummaryRequest&, const DescribeRiskCheckSummaryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRiskCheckSummaryAsyncHandler;
+			typedef Outcome<Error, Model::ModifyOperateVulResult> ModifyOperateVulOutcome;
+			typedef std::future<ModifyOperateVulOutcome> ModifyOperateVulOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyOperateVulRequest&, const ModifyOperateVulOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyOperateVulAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRiskItemTypeResult> DescribeRiskItemTypeOutcome;
+			typedef std::future<DescribeRiskItemTypeOutcome> DescribeRiskItemTypeOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeRiskItemTypeRequest&, const DescribeRiskItemTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRiskItemTypeAsyncHandler;
+			typedef Outcome<Error, Model::DescribeUserBaselineAuthorizationResult> DescribeUserBaselineAuthorizationOutcome;
+			typedef std::future<DescribeUserBaselineAuthorizationOutcome> DescribeUserBaselineAuthorizationOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::DescribeUserBaselineAuthorizationRequest&, const DescribeUserBaselineAuthorizationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUserBaselineAuthorizationAsyncHandler;
+			typedef Outcome<Error, Model::ModifyConcernNecessityResult> ModifyConcernNecessityOutcome;
+			typedef std::future<ModifyConcernNecessityOutcome> ModifyConcernNecessityOutcomeCallable;
+			typedef std::function<void(const SasClient*, const Model::ModifyConcernNecessityRequest&, const ModifyConcernNecessityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyConcernNecessityAsyncHandler;
+
+			SasClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			SasClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			SasClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~SasClient();
+			DescribeAlarmEventDetailOutcome describeAlarmEventDetail(const Model::DescribeAlarmEventDetailRequest &request)const;
+			void describeAlarmEventDetailAsync(const Model::DescribeAlarmEventDetailRequest& request, const DescribeAlarmEventDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAlarmEventDetailOutcomeCallable describeAlarmEventDetailCallable(const Model::DescribeAlarmEventDetailRequest& request) const;
+			DescribeAlarmEventListOutcome describeAlarmEventList(const Model::DescribeAlarmEventListRequest &request)const;
+			void describeAlarmEventListAsync(const Model::DescribeAlarmEventListRequest& request, const DescribeAlarmEventListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAlarmEventListOutcomeCallable describeAlarmEventListCallable(const Model::DescribeAlarmEventListRequest& request) const;
+			DescribeSuspEventsOutcome describeSuspEvents(const Model::DescribeSuspEventsRequest &request)const;
+			void describeSuspEventsAsync(const Model::DescribeSuspEventsRequest& request, const DescribeSuspEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSuspEventsOutcomeCallable describeSuspEventsCallable(const Model::DescribeSuspEventsRequest& request) const;
+			DescribeConcernNecessityOutcome describeConcernNecessity(const Model::DescribeConcernNecessityRequest &request)const;
+			void describeConcernNecessityAsync(const Model::DescribeConcernNecessityRequest& request, const DescribeConcernNecessityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeConcernNecessityOutcomeCallable describeConcernNecessityCallable(const Model::DescribeConcernNecessityRequest& request) const;
+			ModifySecurityCheckScheduleConfigOutcome modifySecurityCheckScheduleConfig(const Model::ModifySecurityCheckScheduleConfigRequest &request)const;
+			void modifySecurityCheckScheduleConfigAsync(const Model::ModifySecurityCheckScheduleConfigRequest& request, const ModifySecurityCheckScheduleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifySecurityCheckScheduleConfigOutcomeCallable modifySecurityCheckScheduleConfigCallable(const Model::ModifySecurityCheckScheduleConfigRequest& request) const;
+			DescribeEmgVulGroupOutcome describeEmgVulGroup(const Model::DescribeEmgVulGroupRequest &request)const;
+			void describeEmgVulGroupAsync(const Model::DescribeEmgVulGroupRequest& request, const DescribeEmgVulGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeEmgVulGroupOutcomeCallable describeEmgVulGroupCallable(const Model::DescribeEmgVulGroupRequest& request) const;
+			DescribeAutoDelConfigOutcome describeAutoDelConfig(const Model::DescribeAutoDelConfigRequest &request)const;
+			void describeAutoDelConfigAsync(const Model::DescribeAutoDelConfigRequest& request, const DescribeAutoDelConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAutoDelConfigOutcomeCallable describeAutoDelConfigCallable(const Model::DescribeAutoDelConfigRequest& 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;
+			DescribeVulWhitelistOutcome describeVulWhitelist(const Model::DescribeVulWhitelistRequest &request)const;
+			void describeVulWhitelistAsync(const Model::DescribeVulWhitelistRequest& request, const DescribeVulWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeVulWhitelistOutcomeCallable describeVulWhitelistCallable(const Model::DescribeVulWhitelistRequest& request) const;
+			ModifyRiskCheckStatusOutcome modifyRiskCheckStatus(const Model::ModifyRiskCheckStatusRequest &request)const;
+			void modifyRiskCheckStatusAsync(const Model::ModifyRiskCheckStatusRequest& request, const ModifyRiskCheckStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyRiskCheckStatusOutcomeCallable modifyRiskCheckStatusCallable(const Model::ModifyRiskCheckStatusRequest& request) const;
+			DescribeSecurityCheckScheduleConfigOutcome describeSecurityCheckScheduleConfig(const Model::DescribeSecurityCheckScheduleConfigRequest &request)const;
+			void describeSecurityCheckScheduleConfigAsync(const Model::DescribeSecurityCheckScheduleConfigRequest& request, const DescribeSecurityCheckScheduleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSecurityCheckScheduleConfigOutcomeCallable describeSecurityCheckScheduleConfigCallable(const Model::DescribeSecurityCheckScheduleConfigRequest& request) const;
+			StartBaselineSecurityCheckOutcome startBaselineSecurityCheck(const Model::StartBaselineSecurityCheckRequest &request)const;
+			void startBaselineSecurityCheckAsync(const Model::StartBaselineSecurityCheckRequest& request, const StartBaselineSecurityCheckAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartBaselineSecurityCheckOutcomeCallable startBaselineSecurityCheckCallable(const Model::StartBaselineSecurityCheckRequest& request) const;
+			DescribeRiskCheckResultOutcome describeRiskCheckResult(const Model::DescribeRiskCheckResultRequest &request)const;
+			void describeRiskCheckResultAsync(const Model::DescribeRiskCheckResultRequest& request, const DescribeRiskCheckResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRiskCheckResultOutcomeCallable describeRiskCheckResultCallable(const Model::DescribeRiskCheckResultRequest& request) const;
+			DescribeSuspEventDetailOutcome describeSuspEventDetail(const Model::DescribeSuspEventDetailRequest &request)const;
+			void describeSuspEventDetailAsync(const Model::DescribeSuspEventDetailRequest& request, const DescribeSuspEventDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSuspEventDetailOutcomeCallable describeSuspEventDetailCallable(const Model::DescribeSuspEventDetailRequest& request) const;
+			ModifyRiskSingleResultStatusOutcome modifyRiskSingleResultStatus(const Model::ModifyRiskSingleResultStatusRequest &request)const;
+			void modifyRiskSingleResultStatusAsync(const Model::ModifyRiskSingleResultStatusRequest& request, const ModifyRiskSingleResultStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyRiskSingleResultStatusOutcomeCallable modifyRiskSingleResultStatusCallable(const Model::ModifyRiskSingleResultStatusRequest& request) const;
+			ModifyAutoDelConfigOutcome modifyAutoDelConfig(const Model::ModifyAutoDelConfigRequest &request)const;
+			void modifyAutoDelConfigAsync(const Model::ModifyAutoDelConfigRequest& request, const ModifyAutoDelConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyAutoDelConfigOutcomeCallable modifyAutoDelConfigCallable(const Model::ModifyAutoDelConfigRequest& request) const;
+			ModifyEmgVulSubmitOutcome modifyEmgVulSubmit(const Model::ModifyEmgVulSubmitRequest &request)const;
+			void modifyEmgVulSubmitAsync(const Model::ModifyEmgVulSubmitRequest& request, const ModifyEmgVulSubmitAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyEmgVulSubmitOutcomeCallable modifyEmgVulSubmitCallable(const Model::ModifyEmgVulSubmitRequest& 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;
+			ModifyCreateVulWhitelistOutcome modifyCreateVulWhitelist(const Model::ModifyCreateVulWhitelistRequest &request)const;
+			void modifyCreateVulWhitelistAsync(const Model::ModifyCreateVulWhitelistRequest& request, const ModifyCreateVulWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyCreateVulWhitelistOutcomeCallable modifyCreateVulWhitelistCallable(const Model::ModifyCreateVulWhitelistRequest& request) const;
+			DescribeGroupedVulOutcome describeGroupedVul(const Model::DescribeGroupedVulRequest &request)const;
+			void describeGroupedVulAsync(const Model::DescribeGroupedVulRequest& request, const DescribeGroupedVulAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGroupedVulOutcomeCallable describeGroupedVulCallable(const Model::DescribeGroupedVulRequest& request) const;
+			ModifyDeleteVulWhitelistOutcome modifyDeleteVulWhitelist(const Model::ModifyDeleteVulWhitelistRequest &request)const;
+			void modifyDeleteVulWhitelistAsync(const Model::ModifyDeleteVulWhitelistRequest& request, const ModifyDeleteVulWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDeleteVulWhitelistOutcomeCallable modifyDeleteVulWhitelistCallable(const Model::ModifyDeleteVulWhitelistRequest& request) const;
+			DescribeRiskCheckSummaryOutcome describeRiskCheckSummary(const Model::DescribeRiskCheckSummaryRequest &request)const;
+			void describeRiskCheckSummaryAsync(const Model::DescribeRiskCheckSummaryRequest& request, const DescribeRiskCheckSummaryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRiskCheckSummaryOutcomeCallable describeRiskCheckSummaryCallable(const Model::DescribeRiskCheckSummaryRequest& request) const;
+			ModifyOperateVulOutcome modifyOperateVul(const Model::ModifyOperateVulRequest &request)const;
+			void modifyOperateVulAsync(const Model::ModifyOperateVulRequest& request, const ModifyOperateVulAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyOperateVulOutcomeCallable modifyOperateVulCallable(const Model::ModifyOperateVulRequest& request) const;
+			DescribeRiskItemTypeOutcome describeRiskItemType(const Model::DescribeRiskItemTypeRequest &request)const;
+			void describeRiskItemTypeAsync(const Model::DescribeRiskItemTypeRequest& request, const DescribeRiskItemTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRiskItemTypeOutcomeCallable describeRiskItemTypeCallable(const Model::DescribeRiskItemTypeRequest& request) const;
+			DescribeUserBaselineAuthorizationOutcome describeUserBaselineAuthorization(const Model::DescribeUserBaselineAuthorizationRequest &request)const;
+			void describeUserBaselineAuthorizationAsync(const Model::DescribeUserBaselineAuthorizationRequest& request, const DescribeUserBaselineAuthorizationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeUserBaselineAuthorizationOutcomeCallable describeUserBaselineAuthorizationCallable(const Model::DescribeUserBaselineAuthorizationRequest& request) const;
+			ModifyConcernNecessityOutcome modifyConcernNecessity(const Model::ModifyConcernNecessityRequest &request)const;
+			void modifyConcernNecessityAsync(const Model::ModifyConcernNecessityRequest& request, const ModifyConcernNecessityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyConcernNecessityOutcomeCallable modifyConcernNecessityCallable(const Model::ModifyConcernNecessityRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_SAS_SASCLIENT_H_

+ 32 - 0
sas/include/alibabacloud/sas/SasExport.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_SAS_SASEXPORT_H_
+#define ALIBABACLOUD_SAS_SASEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_SAS_LIBRARY)
+#		define ALIBABACLOUD_SAS_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_SAS_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_SAS_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_SAS_SASEXPORT_H_

+ 57 - 0
sas/include/alibabacloud/sas/model/DescribeAlarmEventDetailRequest.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_SAS_MODEL_DESCRIBEALARMEVENTDETAILREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeAlarmEventDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAlarmEventDetailRequest();
+				~DescribeAlarmEventDetailRequest();
+
+				std::string getAlarmUniqueInfo()const;
+				void setAlarmUniqueInfo(const std::string& alarmUniqueInfo);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getFrom()const;
+				void setFrom(const std::string& from);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string alarmUniqueInfo_;
+				std::string sourceIp_;
+				std::string from_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTDETAILREQUEST_H_

+ 81 - 0
sas/include/alibabacloud/sas/model/DescribeAlarmEventDetailResult.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_SAS_MODEL_DESCRIBEALARMEVENTDETAILRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeAlarmEventDetailResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct CauseDetail
+					{
+						struct ValueItem
+						{
+							std::string type;
+							std::string value;
+							std::string name;
+						};
+						std::vector<CauseDetail::ValueItem> value;
+						std::string key;
+					};
+					bool canCancelFault;
+					long endTime;
+					std::vector<CauseDetail> causeDetails;
+					long startTime;
+					std::string intranetIp;
+					std::string dataSource;
+					std::string instanceName;
+					std::string type;
+					bool canBeDealOnLine;
+					std::string uuid;
+					std::string internetIp;
+					std::string alarmEventDesc;
+					std::string alarmUniqueInfo;
+					std::string level;
+					std::string alarmEventAliasName;
+					std::string solution;
+				};
+
+
+				DescribeAlarmEventDetailResult();
+				explicit DescribeAlarmEventDetailResult(const std::string &payload);
+				~DescribeAlarmEventDetailResult();
+				Data getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTDETAILRESULT_H_

+ 75 - 0
sas/include/alibabacloud/sas/model/DescribeAlarmEventListRequest.h

@@ -0,0 +1,75 @@
+/*
+ * 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_SAS_MODEL_DESCRIBEALARMEVENTLISTREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeAlarmEventListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAlarmEventListRequest();
+				~DescribeAlarmEventListRequest();
+
+				std::string getAlarmEventName()const;
+				void setAlarmEventName(const std::string& alarmEventName);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+				std::string getAlarmEventType()const;
+				void setAlarmEventType(const std::string& alarmEventType);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				std::string getFrom()const;
+				void setFrom(const std::string& from);
+				std::string getRemark()const;
+				void setRemark(const std::string& remark);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getLevels()const;
+				void setLevels(const std::string& levels);
+
+            private:
+				std::string alarmEventName_;
+				std::string sourceIp_;
+				std::string pageSize_;
+				std::string alarmEventType_;
+				std::string dealed_;
+				std::string from_;
+				std::string remark_;
+				int currentPage_;
+				std::string lang_;
+				std::string levels_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTLISTREQUEST_H_

+ 80 - 0
sas/include/alibabacloud/sas/model/DescribeAlarmEventListResult.h

@@ -0,0 +1,80 @@
+/*
+ * 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_SAS_MODEL_DESCRIBEALARMEVENTLISTRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeAlarmEventListResult : public ServiceResult
+			{
+			public:
+				struct PageInfo
+				{
+					int totalCount;
+					int pageSize;
+					int currentPage;
+					int count;
+				};
+				struct SuspEventsItem
+				{
+					bool canCancelFault;
+					std::string description;
+					long endTime;
+					std::string alarmEventName;
+					long startTime;
+					std::string saleVersion;
+					std::string intranetIp;
+					std::string dataSource;
+					std::string instanceName;
+					bool canBeDealOnLine;
+					std::string uuid;
+					std::string internetIp;
+					std::string alarmEventType;
+					int suspiciousEventCount;
+					std::string alarmUniqueInfo;
+					std::string level;
+					std::string solution;
+				};
+
+
+				DescribeAlarmEventListResult();
+				explicit DescribeAlarmEventListResult(const std::string &payload);
+				~DescribeAlarmEventListResult();
+				PageInfo getPageInfo()const;
+				std::vector<SuspEventsItem> getSuspEvents()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				PageInfo pageInfo_;
+				std::vector<SuspEventsItem> suspEvents_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEALARMEVENTLISTRESULT_H_

+ 48 - 0
sas/include/alibabacloud/sas/model/DescribeAutoDelConfigRequest.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_SAS_MODEL_DESCRIBEAUTODELCONFIGREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEAUTODELCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeAutoDelConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAutoDelConfigRequest();
+				~DescribeAutoDelConfigRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+
+            private:
+				std::string sourceIp_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEAUTODELCONFIGREQUEST_H_

+ 51 - 0
sas/include/alibabacloud/sas/model/DescribeAutoDelConfigResult.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_SAS_MODEL_DESCRIBEAUTODELCONFIGRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEAUTODELCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeAutoDelConfigResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeAutoDelConfigResult();
+				explicit DescribeAutoDelConfigResult(const std::string &payload);
+				~DescribeAutoDelConfigResult();
+				int getDays()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int days_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEAUTODELCONFIGRESULT_H_

+ 51 - 0
sas/include/alibabacloud/sas/model/DescribeConcernNecessityRequest.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_SAS_MODEL_DESCRIBECONCERNNECESSITYREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBECONCERNNECESSITYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeConcernNecessityRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeConcernNecessityRequest();
+				~DescribeConcernNecessityRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBECONCERNNECESSITYREQUEST_H_

+ 51 - 0
sas/include/alibabacloud/sas/model/DescribeConcernNecessityResult.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_SAS_MODEL_DESCRIBECONCERNNECESSITYRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBECONCERNNECESSITYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeConcernNecessityResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeConcernNecessityResult();
+				explicit DescribeConcernNecessityResult(const std::string &payload);
+				~DescribeConcernNecessityResult();
+				std::vector<std::string> getConcernNecessity()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> concernNecessity_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBECONCERNNECESSITYRESULT_H_

+ 51 - 0
sas/include/alibabacloud/sas/model/DescribeEmgVulGroupRequest.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_SAS_MODEL_DESCRIBEEMGVULGROUPREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEEMGVULGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeEmgVulGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeEmgVulGroupRequest();
+				~DescribeEmgVulGroupRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEEMGVULGROUPREQUEST_H_

+ 62 - 0
sas/include/alibabacloud/sas/model/DescribeEmgVulGroupResult.h

@@ -0,0 +1,62 @@
+/*
+ * 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_SAS_MODEL_DESCRIBEEMGVULGROUPRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEEMGVULGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeEmgVulGroupResult : public ServiceResult
+			{
+			public:
+				struct EmgVulGroup
+				{
+					int pendingCount;
+					std::string type;
+					std::string description;
+					std::string aliasName;
+					long gmtPublish;
+					std::string name;
+				};
+
+
+				DescribeEmgVulGroupResult();
+				explicit DescribeEmgVulGroupResult(const std::string &payload);
+				~DescribeEmgVulGroupResult();
+				int getTotalCount()const;
+				std::vector<EmgVulGroup> getEmgVulGroupList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<EmgVulGroup> emgVulGroupList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEEMGVULGROUPRESULT_H_

+ 72 - 0
sas/include/alibabacloud/sas/model/DescribeGroupedVulRequest.h

@@ -0,0 +1,72 @@
+/*
+ * 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_SAS_MODEL_DESCRIBEGROUPEDVULREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEGROUPEDVULREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeGroupedVulRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeGroupedVulRequest();
+				~DescribeGroupedVulRequest();
+
+				std::string getAliasName()const;
+				void setAliasName(const std::string& aliasName);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getNecessity()const;
+				void setNecessity(const std::string& necessity);
+				std::string getUuids()const;
+				void setUuids(const std::string& uuids);
+
+            private:
+				std::string aliasName_;
+				std::string sourceIp_;
+				int pageSize_;
+				std::string dealed_;
+				int currentPage_;
+				std::string lang_;
+				std::string type_;
+				std::string necessity_;
+				std::string uuids_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEGROUPEDVULREQUEST_H_

+ 68 - 0
sas/include/alibabacloud/sas/model/DescribeGroupedVulResult.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_SAS_MODEL_DESCRIBEGROUPEDVULRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEGROUPEDVULRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeGroupedVulResult : public ServiceResult
+			{
+			public:
+				struct GroupedVulItem
+				{
+					std::string type;
+					long gmtLast;
+					int laterCount;
+					int handledCount;
+					std::string aliasName;
+					int asapCount;
+					int nntfCount;
+					std::string tags;
+				};
+
+
+				DescribeGroupedVulResult();
+				explicit DescribeGroupedVulResult(const std::string &payload);
+				~DescribeGroupedVulResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				std::vector<GroupedVulItem> getGroupedVulItems()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int currentPage_;
+				std::vector<GroupedVulItem> groupedVulItems_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEGROUPEDVULRESULT_H_

+ 69 - 0
sas/include/alibabacloud/sas/model/DescribeRiskCheckResultRequest.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_SAS_MODEL_DESCRIBERISKCHECKRESULTREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKRESULTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeRiskCheckResultRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRiskCheckResultRequest();
+				~DescribeRiskCheckResultRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				long getGroupId()const;
+				void setGroupId(long groupId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getRiskLevel()const;
+				void setRiskLevel(const std::string& riskLevel);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				long groupId_;
+				std::string name_;
+				int pageSize_;
+				int currentPage_;
+				std::string lang_;
+				std::string riskLevel_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKRESULTREQUEST_H_

+ 80 - 0
sas/include/alibabacloud/sas/model/DescribeRiskCheckResultResult.h

@@ -0,0 +1,80 @@
+/*
+ * 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_SAS_MODEL_DESCRIBERISKCHECKRESULTRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKRESULTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeRiskCheckResultResult : public ServiceResult
+			{
+			public:
+				struct RiskCheckResultForDisplay
+				{
+					struct RiskItemResource
+					{
+						std::string contentResource;
+						std::string resourceName;
+					};
+					std::string status;
+					long checkTime;
+					std::string type;
+					long taskId;
+					std::vector<RiskCheckResultForDisplay::RiskItemResource> riskItemResources;
+					int affectedCount;
+					int remainingTime;
+					std::string title;
+					int sort;
+					long itemId;
+					std::string riskLevel;
+				};
+
+
+				DescribeRiskCheckResultResult();
+				explicit DescribeRiskCheckResultResult(const std::string &payload);
+				~DescribeRiskCheckResultResult();
+				int getTotalCount()const;
+				int getPageCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				std::vector<RiskCheckResultForDisplay> getList()const;
+				int getCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageCount_;
+				int pageSize_;
+				int currentPage_;
+				std::vector<RiskCheckResultForDisplay> list_;
+				int count_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKRESULTRESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/DescribeRiskCheckSummaryRequest.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_SAS_MODEL_DESCRIBERISKCHECKSUMMARYREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKSUMMARYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeRiskCheckSummaryRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRiskCheckSummaryRequest();
+				~DescribeRiskCheckSummaryRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKSUMMARYREQUEST_H_

+ 81 - 0
sas/include/alibabacloud/sas/model/DescribeRiskCheckSummaryResult.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_SAS_MODEL_DESCRIBERISKCHECKSUMMARYRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKSUMMARYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeRiskCheckSummaryResult : public ServiceResult
+			{
+			public:
+				struct RiskCheckSummary
+				{
+					struct LevelCount
+					{
+						int count;
+						std::string key;
+					};
+					struct Group
+					{
+						struct StatusCount
+						{
+							std::string status;
+							int count;
+						};
+						std::string status;
+						std::vector<Group::StatusCount> countByStatus;
+						int remainingTime;
+						std::string title;
+						int sort;
+						long id;
+					};
+					std::vector<LevelCount> riskLevelCount;
+					std::vector<Group> groups;
+					long previousTime;
+					int previousCount;
+					int itemCount;
+					float riskRate;
+					int affectedAssetCount;
+					int riskCount;
+				};
+
+
+				DescribeRiskCheckSummaryResult();
+				explicit DescribeRiskCheckSummaryResult(const std::string &payload);
+				~DescribeRiskCheckSummaryResult();
+				RiskCheckSummary getRiskCheckSummary()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				RiskCheckSummary riskCheckSummary_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBERISKCHECKSUMMARYRESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/DescribeRiskItemTypeRequest.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_SAS_MODEL_DESCRIBERISKITEMTYPEREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBERISKITEMTYPEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeRiskItemTypeRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRiskItemTypeRequest();
+				~DescribeRiskItemTypeRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBERISKITEMTYPEREQUEST_H_

+ 56 - 0
sas/include/alibabacloud/sas/model/DescribeRiskItemTypeResult.h

@@ -0,0 +1,56 @@
+/*
+ * 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_SAS_MODEL_DESCRIBERISKITEMTYPERESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBERISKITEMTYPERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeRiskItemTypeResult : public ServiceResult
+			{
+			public:
+				struct ItemType
+				{
+					std::string title;
+					long id;
+				};
+
+
+				DescribeRiskItemTypeResult();
+				explicit DescribeRiskItemTypeResult(const std::string &payload);
+				~DescribeRiskItemTypeResult();
+				std::vector<ItemType> getList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ItemType> list_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBERISKITEMTYPERESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigRequest.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_SAS_MODEL_DESCRIBESECURITYCHECKSCHEDULECONFIGREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBESECURITYCHECKSCHEDULECONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeSecurityCheckScheduleConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSecurityCheckScheduleConfigRequest();
+				~DescribeSecurityCheckScheduleConfigRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBESECURITYCHECKSCHEDULECONFIGREQUEST_H_

+ 57 - 0
sas/include/alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigResult.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_SAS_MODEL_DESCRIBESECURITYCHECKSCHEDULECONFIGRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBESECURITYCHECKSCHEDULECONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeSecurityCheckScheduleConfigResult : public ServiceResult
+			{
+			public:
+				struct RiskCheckJobConfig
+				{
+					std::string daysOfWeek;
+					int endTime;
+					int startTime;
+				};
+
+
+				DescribeSecurityCheckScheduleConfigResult();
+				explicit DescribeSecurityCheckScheduleConfigResult(const std::string &payload);
+				~DescribeSecurityCheckScheduleConfigResult();
+				RiskCheckJobConfig getRiskCheckJobConfig()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				RiskCheckJobConfig riskCheckJobConfig_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBESECURITYCHECKSCHEDULECONFIGRESULT_H_

+ 57 - 0
sas/include/alibabacloud/sas/model/DescribeSuspEventDetailRequest.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_SAS_MODEL_DESCRIBESUSPEVENTDETAILREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeSuspEventDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSuspEventDetailRequest();
+				~DescribeSuspEventDetailRequest();
+
+				int getSuspiciousEventId()const;
+				void setSuspiciousEventId(int suspiciousEventId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getFrom()const;
+				void setFrom(const std::string& from);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				int suspiciousEventId_;
+				std::string sourceIp_;
+				std::string from_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTDETAILREQUEST_H_

+ 92 - 0
sas/include/alibabacloud/sas/model/DescribeSuspEventDetailResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTDETAILRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeSuspEventDetailResult : public ServiceResult
+			{
+			public:
+				struct QuaraFile
+				{
+					std::string type;
+					std::string value;
+					std::string infoType;
+					std::string name;
+				};
+
+
+				DescribeSuspEventDetailResult();
+				explicit DescribeSuspEventDetailResult(const std::string &payload);
+				~DescribeSuspEventDetailResult();
+				std::string getEventDesc()const;
+				std::string getEventTypeDesc()const;
+				std::string getEventStatus()const;
+				std::string getEventName()const;
+				std::string getSaleVersion()const;
+				std::string getIntranetIp()const;
+				std::string getDataSource()const;
+				std::string getInstanceName()const;
+				std::string getType()const;
+				std::string getOperateMsg()const;
+				bool getCanBeDealOnLine()const;
+				std::vector<QuaraFile> getDetails()const;
+				std::string getUuid()const;
+				std::string getInternetIp()const;
+				std::string getLevel()const;
+				int getId()const;
+				std::string getLastTime()const;
+				std::string getSasId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string eventDesc_;
+				std::string eventTypeDesc_;
+				std::string eventStatus_;
+				std::string eventName_;
+				std::string saleVersion_;
+				std::string intranetIp_;
+				std::string dataSource_;
+				std::string instanceName_;
+				std::string type_;
+				std::string operateMsg_;
+				bool canBeDealOnLine_;
+				std::vector<QuaraFile> details_;
+				std::string uuid_;
+				std::string internetIp_;
+				std::string level_;
+				int id_;
+				std::string lastTime_;
+				std::string sasId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTDETAILRESULT_H_

+ 78 - 0
sas/include/alibabacloud/sas/model/DescribeSuspEventsRequest.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_SAS_MODEL_DESCRIBESUSPEVENTSREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeSuspEventsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSuspEventsRequest();
+				~DescribeSuspEventsRequest();
+
+				std::string getAlarmUniqueInfo()const;
+				void setAlarmUniqueInfo(const std::string& alarmUniqueInfo);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				std::string getRemark()const;
+				void setRemark(const std::string& remark);
+				std::string getCurrentPage()const;
+				void setCurrentPage(const std::string& currentPage);
+				std::string getFrom()const;
+				void setFrom(const std::string& from);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getLevels()const;
+				void setLevels(const std::string& levels);
+				std::string getParentEventTypes()const;
+				void setParentEventTypes(const std::string& parentEventTypes);
+
+            private:
+				std::string alarmUniqueInfo_;
+				std::string sourceIp_;
+				std::string name_;
+				std::string pageSize_;
+				std::string dealed_;
+				std::string remark_;
+				std::string currentPage_;
+				std::string from_;
+				std::string lang_;
+				std::string levels_;
+				std::string parentEventTypes_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTSREQUEST_H_

+ 81 - 0
sas/include/alibabacloud/sas/model/DescribeSuspEventsResult.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_SAS_MODEL_DESCRIBESUSPEVENTSRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeSuspEventsResult : public ServiceResult
+			{
+			public:
+				struct WarningSummary
+				{
+					std::string alarmEventName;
+					int eventStatus;
+					std::string saleVersion;
+					std::string intranetIp;
+					std::string eventSubType;
+					std::string name;
+					std::string dataSource;
+					std::string occurrenceTime;
+					std::string instanceName;
+					std::string desc;
+					std::string operateMsg;
+					bool canBeDealOnLine;
+					std::string uuid;
+					std::string internetIp;
+					std::string alarmEventType;
+					std::string alarmUniqueInfo;
+					std::string level;
+					long id;
+					std::string lastTime;
+				};
+
+
+				DescribeSuspEventsResult();
+				explicit DescribeSuspEventsResult(const std::string &payload);
+				~DescribeSuspEventsResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				int getCount()const;
+				std::vector<WarningSummary> getSuspEvents()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int currentPage_;
+				int count_;
+				std::vector<WarningSummary> suspEvents_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBESUSPEVENTSRESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/DescribeUserBaselineAuthorizationRequest.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_SAS_MODEL_DESCRIBEUSERBASELINEAUTHORIZATIONREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEUSERBASELINEAUTHORIZATIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeUserBaselineAuthorizationRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeUserBaselineAuthorizationRequest();
+				~DescribeUserBaselineAuthorizationRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEUSERBASELINEAUTHORIZATIONREQUEST_H_

+ 55 - 0
sas/include/alibabacloud/sas/model/DescribeUserBaselineAuthorizationResult.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_SAS_MODEL_DESCRIBEUSERBASELINEAUTHORIZATIONRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEUSERBASELINEAUTHORIZATIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeUserBaselineAuthorizationResult : public ServiceResult
+			{
+			public:
+				struct UserBaselineAuthorization
+				{
+					int status;
+				};
+
+
+				DescribeUserBaselineAuthorizationResult();
+				explicit DescribeUserBaselineAuthorizationResult(const std::string &payload);
+				~DescribeUserBaselineAuthorizationResult();
+				UserBaselineAuthorization getUserBaselineAuthorization()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				UserBaselineAuthorization userBaselineAuthorization_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEUSERBASELINEAUTHORIZATIONRESULT_H_

+ 60 - 0
sas/include/alibabacloud/sas/model/DescribeVulDetailsRequest.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_SAS_MODEL_DESCRIBEVULDETAILSREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEVULDETAILSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeVulDetailsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVulDetailsRequest();
+				~DescribeVulDetailsRequest();
+
+				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);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+
+            private:
+				std::string aliasName_;
+				std::string sourceIp_;
+				std::string name_;
+				std::string lang_;
+				std::string type_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEVULDETAILSREQUEST_H_

+ 79 - 0
sas/include/alibabacloud/sas/model/DescribeVulDetailsResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_SAS_MODEL_DESCRIBEVULDETAILSRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEVULDETAILSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeVulDetailsResult : public ServiceResult
+			{
+			public:
+				struct Cve
+				{
+					struct Classify
+					{
+						std::string demoVideoUrl;
+						std::string description;
+						std::string classify;
+					};
+					std::string cvssVector;
+					std::string cvssScore;
+					std::string classify;
+					std::string poc;
+					long pocDisclosureTime;
+					std::string reference;
+					std::vector<Cve::Classify> classifys;
+					std::string title;
+					std::string product;
+					std::string cveId;
+					std::string vendor;
+					std::string cnvdId;
+					std::string complexity;
+					long releaseTime;
+					long pocCreateTime;
+					std::string content;
+					std::string summary;
+					std::string solution;
+					std::string vulLevel;
+				};
+
+
+				DescribeVulDetailsResult();
+				explicit DescribeVulDetailsResult(const std::string &payload);
+				~DescribeVulDetailsResult();
+				std::vector<Cve> getCves()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Cve> cves_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEVULDETAILSRESULT_H_

+ 75 - 0
sas/include/alibabacloud/sas/model/DescribeVulListRequest.h

@@ -0,0 +1,75 @@
+/*
+ * 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_SAS_MODEL_DESCRIBEVULLISTREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEVULLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeVulListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVulListRequest();
+				~DescribeVulListRequest();
+
+				std::string getAliasName()const;
+				void setAliasName(const std::string& aliasName);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getRemark()const;
+				void setRemark(const std::string& remark);
+				std::string getDealed()const;
+				void setDealed(const std::string& dealed);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getNecessity()const;
+				void setNecessity(const std::string& necessity);
+				std::string getUuids()const;
+				void setUuids(const std::string& uuids);
+
+            private:
+				std::string aliasName_;
+				std::string sourceIp_;
+				int pageSize_;
+				std::string remark_;
+				std::string dealed_;
+				int currentPage_;
+				std::string lang_;
+				std::string type_;
+				std::string necessity_;
+				std::string uuids_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEVULLISTREQUEST_H_

+ 118 - 0
sas/include/alibabacloud/sas/model/DescribeVulListResult.h

@@ -0,0 +1,118 @@
+/*
+ * 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_SAS_MODEL_DESCRIBEVULLISTRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEVULLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeVulListResult : public ServiceResult
+			{
+			public:
+				struct VulRecord
+				{
+					struct ExtendContentJson
+					{
+						struct Necessity
+						{
+							std::string status;
+							std::string total_score;
+							std::string gmt_create;
+							std::string cvss_factor;
+							std::string time_factor;
+							std::string is_calc;
+							std::string enviroment_factor;
+							std::string assets_factor;
+						};
+						struct RpmEntityListItem
+						{
+							std::string path;
+							std::string updateCmd;
+							std::string version;
+							std::string fullVersion;
+							std::string matchDetail;
+							std::string name;
+						};
+						int status;
+						std::vector<std::string> cveList;
+						std::string os;
+						std::string aliasName;
+						Necessity necessity;
+						long lastTs;
+						std::vector<RpmEntityListItem> rpmEntityList;
+						std::string tag;
+						std::string osRelease;
+						std::string absolutePath;
+						long primaryId;
+					};
+					int status;
+					std::string instanceId;
+					std::string ip;
+					std::string osVersion;
+					long lastTs;
+					std::string necessity;
+					std::string needReboot;
+					std::string resultMessage;
+					std::string intranetIp;
+					std::string name;
+					int groupId;
+					long repairTs;
+					std::string instanceName;
+					std::string type;
+					long firstTs;
+					std::string uuid;
+					std::string related;
+					long modifyTs;
+					std::string internetIp;
+					std::string aliasName;
+					std::string tag;
+					ExtendContentJson extendContentJson;
+					long primaryId;
+					std::string resultCode;
+				};
+
+
+				DescribeVulListResult();
+				explicit DescribeVulListResult(const std::string &payload);
+				~DescribeVulListResult();
+				int getTotalCount()const;
+				std::vector<VulRecord> getVulRecords()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<VulRecord> vulRecords_;
+				int pageSize_;
+				int currentPage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEVULLISTRESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/DescribeVulWhitelistRequest.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_SAS_MODEL_DESCRIBEVULWHITELISTREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEVULWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeVulWhitelistRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeVulWhitelistRequest();
+				~DescribeVulWhitelistRequest();
+
+				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:
+				std::string sourceIp_;
+				int pageSize_;
+				int currentPage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEVULWHITELISTREQUEST_H_

+ 64 - 0
sas/include/alibabacloud/sas/model/DescribeVulWhitelistResult.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_SAS_MODEL_DESCRIBEVULWHITELISTRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_DESCRIBEVULWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT DescribeVulWhitelistResult : public ServiceResult
+			{
+			public:
+				struct VulWhitelist
+				{
+					std::string type;
+					std::string aliasName;
+					std::string reason;
+					std::string name;
+				};
+
+
+				DescribeVulWhitelistResult();
+				explicit DescribeVulWhitelistResult(const std::string &payload);
+				~DescribeVulWhitelistResult();
+				int getTotalCount()const;
+				std::vector<VulWhitelist> getVulWhitelists()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<VulWhitelist> vulWhitelists_;
+				int pageSize_;
+				int currentPage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_DESCRIBEVULWHITELISTRESULT_H_

+ 51 - 0
sas/include/alibabacloud/sas/model/ModifyAutoDelConfigRequest.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_SAS_MODEL_MODIFYAUTODELCONFIGREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYAUTODELCONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyAutoDelConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyAutoDelConfigRequest();
+				~ModifyAutoDelConfigRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				int getDays()const;
+				void setDays(int days);
+
+            private:
+				std::string sourceIp_;
+				int days_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYAUTODELCONFIGREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyAutoDelConfigResult.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_SAS_MODEL_MODIFYAUTODELCONFIGRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYAUTODELCONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyAutoDelConfigResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyAutoDelConfigResult();
+				explicit ModifyAutoDelConfigResult(const std::string &payload);
+				~ModifyAutoDelConfigResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYAUTODELCONFIGRESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/ModifyConcernNecessityRequest.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_SAS_MODEL_MODIFYCONCERNNECESSITYREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYCONCERNNECESSITYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyConcernNecessityRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyConcernNecessityRequest();
+				~ModifyConcernNecessityRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getConcernNecessity()const;
+				void setConcernNecessity(const std::string& concernNecessity);
+
+            private:
+				std::string sourceIp_;
+				std::string lang_;
+				std::string concernNecessity_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYCONCERNNECESSITYREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyConcernNecessityResult.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_SAS_MODEL_MODIFYCONCERNNECESSITYRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYCONCERNNECESSITYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyConcernNecessityResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyConcernNecessityResult();
+				explicit ModifyConcernNecessityResult(const std::string &payload);
+				~ModifyConcernNecessityResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYCONCERNNECESSITYRESULT_H_

+ 54 - 0
sas/include/alibabacloud/sas/model/ModifyCreateVulWhitelistRequest.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_SAS_MODEL_MODIFYCREATEVULWHITELISTREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYCREATEVULWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyCreateVulWhitelistRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyCreateVulWhitelistRequest();
+				~ModifyCreateVulWhitelistRequest();
+
+				std::string getReason()const;
+				void setReason(const std::string& reason);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getWhitelist()const;
+				void setWhitelist(const std::string& whitelist);
+
+            private:
+				std::string reason_;
+				std::string sourceIp_;
+				std::string whitelist_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYCREATEVULWHITELISTREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyCreateVulWhitelistResult.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_SAS_MODEL_MODIFYCREATEVULWHITELISTRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYCREATEVULWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyCreateVulWhitelistResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyCreateVulWhitelistResult();
+				explicit ModifyCreateVulWhitelistResult(const std::string &payload);
+				~ModifyCreateVulWhitelistResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYCREATEVULWHITELISTRESULT_H_

+ 51 - 0
sas/include/alibabacloud/sas/model/ModifyDeleteVulWhitelistRequest.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_SAS_MODEL_MODIFYDELETEVULWHITELISTREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYDELETEVULWHITELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyDeleteVulWhitelistRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDeleteVulWhitelistRequest();
+				~ModifyDeleteVulWhitelistRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getWhitelist()const;
+				void setWhitelist(const std::string& whitelist);
+
+            private:
+				std::string sourceIp_;
+				std::string whitelist_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYDELETEVULWHITELISTREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyDeleteVulWhitelistResult.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_SAS_MODEL_MODIFYDELETEVULWHITELISTRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYDELETEVULWHITELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyDeleteVulWhitelistResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDeleteVulWhitelistResult();
+				explicit ModifyDeleteVulWhitelistResult(const std::string &payload);
+				~ModifyDeleteVulWhitelistResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYDELETEVULWHITELISTRESULT_H_

+ 57 - 0
sas/include/alibabacloud/sas/model/ModifyEmgVulSubmitRequest.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_SAS_MODEL_MODIFYEMGVULSUBMITREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYEMGVULSUBMITREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyEmgVulSubmitRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyEmgVulSubmitRequest();
+				~ModifyEmgVulSubmitRequest();
+
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getUserAgreement()const;
+				void setUserAgreement(const std::string& userAgreement);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string sourceIp_;
+				std::string name_;
+				std::string userAgreement_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYEMGVULSUBMITREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyEmgVulSubmitResult.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_SAS_MODEL_MODIFYEMGVULSUBMITRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYEMGVULSUBMITRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyEmgVulSubmitResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyEmgVulSubmitResult();
+				explicit ModifyEmgVulSubmitResult(const std::string &payload);
+				~ModifyEmgVulSubmitResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYEMGVULSUBMITRESULT_H_

+ 60 - 0
sas/include/alibabacloud/sas/model/ModifyOperateVulRequest.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_SAS_MODEL_MODIFYOPERATEVULREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYOPERATEVULREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyOperateVulRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyOperateVulRequest();
+				~ModifyOperateVulRequest();
+
+				std::string getReason()const;
+				void setReason(const std::string& reason);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getOperateType()const;
+				void setOperateType(const std::string& operateType);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getInfo()const;
+				void setInfo(const std::string& info);
+
+            private:
+				std::string reason_;
+				std::string sourceIp_;
+				std::string operateType_;
+				std::string type_;
+				std::string info_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYOPERATEVULREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyOperateVulResult.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_SAS_MODEL_MODIFYOPERATEVULRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYOPERATEVULRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyOperateVulResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyOperateVulResult();
+				explicit ModifyOperateVulResult(const std::string &payload);
+				~ModifyOperateVulResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYOPERATEVULRESULT_H_

+ 63 - 0
sas/include/alibabacloud/sas/model/ModifyRiskCheckStatusRequest.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_SAS_MODEL_MODIFYRISKCHECKSTATUSREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYRISKCHECKSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyRiskCheckStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyRiskCheckStatusRequest();
+				~ModifyRiskCheckStatusRequest();
+
+				long getItemId()const;
+				void setItemId(long itemId);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getTaskId()const;
+				void setTaskId(long taskId);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+
+            private:
+				long itemId_;
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string lang_;
+				long taskId_;
+				std::string status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYRISKCHECKSTATUSREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyRiskCheckStatusResult.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_SAS_MODEL_MODIFYRISKCHECKSTATUSRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYRISKCHECKSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyRiskCheckStatusResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyRiskCheckStatusResult();
+				explicit ModifyRiskCheckStatusResult(const std::string &payload);
+				~ModifyRiskCheckStatusResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYRISKCHECKSTATUSRESULT_H_

+ 63 - 0
sas/include/alibabacloud/sas/model/ModifyRiskSingleResultStatusRequest.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_SAS_MODEL_MODIFYRISKSINGLERESULTSTATUSREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYRISKSINGLERESULTSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyRiskSingleResultStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyRiskSingleResultStatusRequest();
+				~ModifyRiskSingleResultStatusRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::vector<std::string> getIds()const;
+				void setIds(const std::vector<std::string>& ids);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getTaskId()const;
+				void setTaskId(long taskId);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::vector<std::string> ids_;
+				std::string lang_;
+				long taskId_;
+				std::string status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYRISKSINGLERESULTSTATUSREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifyRiskSingleResultStatusResult.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_SAS_MODEL_MODIFYRISKSINGLERESULTSTATUSRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYRISKSINGLERESULTSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifyRiskSingleResultStatusResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyRiskSingleResultStatusResult();
+				explicit ModifyRiskSingleResultStatusResult(const std::string &payload);
+				~ModifyRiskSingleResultStatusResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYRISKSINGLERESULTSTATUSRESULT_H_

+ 63 - 0
sas/include/alibabacloud/sas/model/ModifySecurityCheckScheduleConfigRequest.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_SAS_MODEL_MODIFYSECURITYCHECKSCHEDULECONFIGREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYSECURITYCHECKSCHEDULECONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifySecurityCheckScheduleConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifySecurityCheckScheduleConfigRequest();
+				~ModifySecurityCheckScheduleConfigRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::string getDaysOfWeek()const;
+				void setDaysOfWeek(const std::string& daysOfWeek);
+				int getEndTime()const;
+				void setEndTime(int endTime);
+				int getStartTime()const;
+				void setStartTime(int startTime);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				long resourceOwnerId_;
+				std::string sourceIp_;
+				std::string daysOfWeek_;
+				int endTime_;
+				int startTime_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYSECURITYCHECKSCHEDULECONFIGREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/ModifySecurityCheckScheduleConfigResult.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_SAS_MODEL_MODIFYSECURITYCHECKSCHEDULECONFIGRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_MODIFYSECURITYCHECKSCHEDULECONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT ModifySecurityCheckScheduleConfigResult : public ServiceResult
+			{
+			public:
+
+
+				ModifySecurityCheckScheduleConfigResult();
+				explicit ModifySecurityCheckScheduleConfigResult(const std::string &payload);
+				~ModifySecurityCheckScheduleConfigResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_MODIFYSECURITYCHECKSCHEDULECONFIGRESULT_H_

+ 63 - 0
sas/include/alibabacloud/sas/model/StartBaselineSecurityCheckRequest.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_SAS_MODEL_STARTBASELINESECURITYCHECKREQUEST_H_
+#define ALIBABACLOUD_SAS_MODEL_STARTBASELINESECURITYCHECKREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT StartBaselineSecurityCheckRequest : public RpcServiceRequest
+			{
+
+			public:
+				StartBaselineSecurityCheckRequest();
+				~StartBaselineSecurityCheckRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::vector<std::string> getAssets()const;
+				void setAssets(const std::vector<std::string>& assets);
+				std::string getSourceIp()const;
+				void setSourceIp(const std::string& sourceIp);
+				std::vector<long> getItemIds()const;
+				void setItemIds(const std::vector<long>& itemIds);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::string getType()const;
+				void setType(const std::string& type);
+
+            private:
+				long resourceOwnerId_;
+				std::vector<std::string> assets_;
+				std::string sourceIp_;
+				std::vector<long> itemIds_;
+				std::string lang_;
+				std::string type_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_STARTBASELINESECURITYCHECKREQUEST_H_

+ 49 - 0
sas/include/alibabacloud/sas/model/StartBaselineSecurityCheckResult.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_SAS_MODEL_STARTBASELINESECURITYCHECKRESULT_H_
+#define ALIBABACLOUD_SAS_MODEL_STARTBASELINESECURITYCHECKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sas/SasExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sas
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAS_EXPORT StartBaselineSecurityCheckResult : public ServiceResult
+			{
+			public:
+
+
+				StartBaselineSecurityCheckResult();
+				explicit StartBaselineSecurityCheckResult(const std::string &payload);
+				~StartBaselineSecurityCheckResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAS_MODEL_STARTBASELINESECURITYCHECKRESULT_H_

+ 989 - 0
sas/src/SasClient.cc

@@ -0,0 +1,989 @@
+/*
+ * 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/sas/SasClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "Sas";
+}
+
+SasClient::SasClient(const Credentials &credentials, const ClientConfiguration &configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "sas");
+}
+
+SasClient::SasClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "sas");
+}
+
+SasClient::SasClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "sas");
+}
+
+SasClient::~SasClient()
+{}
+
+SasClient::DescribeAlarmEventDetailOutcome SasClient::describeAlarmEventDetail(const DescribeAlarmEventDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAlarmEventDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAlarmEventDetailOutcome(DescribeAlarmEventDetailResult(outcome.result()));
+	else
+		return DescribeAlarmEventDetailOutcome(outcome.error());
+}
+
+void SasClient::describeAlarmEventDetailAsync(const DescribeAlarmEventDetailRequest& request, const DescribeAlarmEventDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAlarmEventDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeAlarmEventDetailOutcomeCallable SasClient::describeAlarmEventDetailCallable(const DescribeAlarmEventDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAlarmEventDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAlarmEventDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeAlarmEventListOutcome SasClient::describeAlarmEventList(const DescribeAlarmEventListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAlarmEventListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAlarmEventListOutcome(DescribeAlarmEventListResult(outcome.result()));
+	else
+		return DescribeAlarmEventListOutcome(outcome.error());
+}
+
+void SasClient::describeAlarmEventListAsync(const DescribeAlarmEventListRequest& request, const DescribeAlarmEventListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAlarmEventList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeAlarmEventListOutcomeCallable SasClient::describeAlarmEventListCallable(const DescribeAlarmEventListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAlarmEventListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAlarmEventList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeSuspEventsOutcome SasClient::describeSuspEvents(const DescribeSuspEventsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSuspEventsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSuspEventsOutcome(DescribeSuspEventsResult(outcome.result()));
+	else
+		return DescribeSuspEventsOutcome(outcome.error());
+}
+
+void SasClient::describeSuspEventsAsync(const DescribeSuspEventsRequest& request, const DescribeSuspEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSuspEvents(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeSuspEventsOutcomeCallable SasClient::describeSuspEventsCallable(const DescribeSuspEventsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSuspEventsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSuspEvents(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeConcernNecessityOutcome SasClient::describeConcernNecessity(const DescribeConcernNecessityRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeConcernNecessityOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeConcernNecessityOutcome(DescribeConcernNecessityResult(outcome.result()));
+	else
+		return DescribeConcernNecessityOutcome(outcome.error());
+}
+
+void SasClient::describeConcernNecessityAsync(const DescribeConcernNecessityRequest& request, const DescribeConcernNecessityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeConcernNecessity(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeConcernNecessityOutcomeCallable SasClient::describeConcernNecessityCallable(const DescribeConcernNecessityRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeConcernNecessityOutcome()>>(
+			[this, request]()
+			{
+			return this->describeConcernNecessity(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifySecurityCheckScheduleConfigOutcome SasClient::modifySecurityCheckScheduleConfig(const ModifySecurityCheckScheduleConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifySecurityCheckScheduleConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifySecurityCheckScheduleConfigOutcome(ModifySecurityCheckScheduleConfigResult(outcome.result()));
+	else
+		return ModifySecurityCheckScheduleConfigOutcome(outcome.error());
+}
+
+void SasClient::modifySecurityCheckScheduleConfigAsync(const ModifySecurityCheckScheduleConfigRequest& request, const ModifySecurityCheckScheduleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifySecurityCheckScheduleConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifySecurityCheckScheduleConfigOutcomeCallable SasClient::modifySecurityCheckScheduleConfigCallable(const ModifySecurityCheckScheduleConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifySecurityCheckScheduleConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->modifySecurityCheckScheduleConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeEmgVulGroupOutcome SasClient::describeEmgVulGroup(const DescribeEmgVulGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeEmgVulGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeEmgVulGroupOutcome(DescribeEmgVulGroupResult(outcome.result()));
+	else
+		return DescribeEmgVulGroupOutcome(outcome.error());
+}
+
+void SasClient::describeEmgVulGroupAsync(const DescribeEmgVulGroupRequest& request, const DescribeEmgVulGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeEmgVulGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeEmgVulGroupOutcomeCallable SasClient::describeEmgVulGroupCallable(const DescribeEmgVulGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeEmgVulGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->describeEmgVulGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeAutoDelConfigOutcome SasClient::describeAutoDelConfig(const DescribeAutoDelConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAutoDelConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAutoDelConfigOutcome(DescribeAutoDelConfigResult(outcome.result()));
+	else
+		return DescribeAutoDelConfigOutcome(outcome.error());
+}
+
+void SasClient::describeAutoDelConfigAsync(const DescribeAutoDelConfigRequest& request, const DescribeAutoDelConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAutoDelConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeAutoDelConfigOutcomeCallable SasClient::describeAutoDelConfigCallable(const DescribeAutoDelConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAutoDelConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAutoDelConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeVulListOutcome SasClient::describeVulList(const DescribeVulListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	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 SasClient::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));
+}
+
+SasClient::DescribeVulListOutcomeCallable SasClient::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();
+}
+
+SasClient::DescribeVulWhitelistOutcome SasClient::describeVulWhitelist(const DescribeVulWhitelistRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeVulWhitelistOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeVulWhitelistOutcome(DescribeVulWhitelistResult(outcome.result()));
+	else
+		return DescribeVulWhitelistOutcome(outcome.error());
+}
+
+void SasClient::describeVulWhitelistAsync(const DescribeVulWhitelistRequest& request, const DescribeVulWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeVulWhitelist(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeVulWhitelistOutcomeCallable SasClient::describeVulWhitelistCallable(const DescribeVulWhitelistRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeVulWhitelistOutcome()>>(
+			[this, request]()
+			{
+			return this->describeVulWhitelist(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyRiskCheckStatusOutcome SasClient::modifyRiskCheckStatus(const ModifyRiskCheckStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyRiskCheckStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyRiskCheckStatusOutcome(ModifyRiskCheckStatusResult(outcome.result()));
+	else
+		return ModifyRiskCheckStatusOutcome(outcome.error());
+}
+
+void SasClient::modifyRiskCheckStatusAsync(const ModifyRiskCheckStatusRequest& request, const ModifyRiskCheckStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyRiskCheckStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyRiskCheckStatusOutcomeCallable SasClient::modifyRiskCheckStatusCallable(const ModifyRiskCheckStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyRiskCheckStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyRiskCheckStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeSecurityCheckScheduleConfigOutcome SasClient::describeSecurityCheckScheduleConfig(const DescribeSecurityCheckScheduleConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSecurityCheckScheduleConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSecurityCheckScheduleConfigOutcome(DescribeSecurityCheckScheduleConfigResult(outcome.result()));
+	else
+		return DescribeSecurityCheckScheduleConfigOutcome(outcome.error());
+}
+
+void SasClient::describeSecurityCheckScheduleConfigAsync(const DescribeSecurityCheckScheduleConfigRequest& request, const DescribeSecurityCheckScheduleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSecurityCheckScheduleConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeSecurityCheckScheduleConfigOutcomeCallable SasClient::describeSecurityCheckScheduleConfigCallable(const DescribeSecurityCheckScheduleConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSecurityCheckScheduleConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSecurityCheckScheduleConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::StartBaselineSecurityCheckOutcome SasClient::startBaselineSecurityCheck(const StartBaselineSecurityCheckRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartBaselineSecurityCheckOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartBaselineSecurityCheckOutcome(StartBaselineSecurityCheckResult(outcome.result()));
+	else
+		return StartBaselineSecurityCheckOutcome(outcome.error());
+}
+
+void SasClient::startBaselineSecurityCheckAsync(const StartBaselineSecurityCheckRequest& request, const StartBaselineSecurityCheckAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startBaselineSecurityCheck(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::StartBaselineSecurityCheckOutcomeCallable SasClient::startBaselineSecurityCheckCallable(const StartBaselineSecurityCheckRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartBaselineSecurityCheckOutcome()>>(
+			[this, request]()
+			{
+			return this->startBaselineSecurityCheck(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeRiskCheckResultOutcome SasClient::describeRiskCheckResult(const DescribeRiskCheckResultRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRiskCheckResultOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRiskCheckResultOutcome(DescribeRiskCheckResultResult(outcome.result()));
+	else
+		return DescribeRiskCheckResultOutcome(outcome.error());
+}
+
+void SasClient::describeRiskCheckResultAsync(const DescribeRiskCheckResultRequest& request, const DescribeRiskCheckResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRiskCheckResult(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeRiskCheckResultOutcomeCallable SasClient::describeRiskCheckResultCallable(const DescribeRiskCheckResultRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRiskCheckResultOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRiskCheckResult(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeSuspEventDetailOutcome SasClient::describeSuspEventDetail(const DescribeSuspEventDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSuspEventDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSuspEventDetailOutcome(DescribeSuspEventDetailResult(outcome.result()));
+	else
+		return DescribeSuspEventDetailOutcome(outcome.error());
+}
+
+void SasClient::describeSuspEventDetailAsync(const DescribeSuspEventDetailRequest& request, const DescribeSuspEventDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSuspEventDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeSuspEventDetailOutcomeCallable SasClient::describeSuspEventDetailCallable(const DescribeSuspEventDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSuspEventDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSuspEventDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyRiskSingleResultStatusOutcome SasClient::modifyRiskSingleResultStatus(const ModifyRiskSingleResultStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyRiskSingleResultStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyRiskSingleResultStatusOutcome(ModifyRiskSingleResultStatusResult(outcome.result()));
+	else
+		return ModifyRiskSingleResultStatusOutcome(outcome.error());
+}
+
+void SasClient::modifyRiskSingleResultStatusAsync(const ModifyRiskSingleResultStatusRequest& request, const ModifyRiskSingleResultStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyRiskSingleResultStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyRiskSingleResultStatusOutcomeCallable SasClient::modifyRiskSingleResultStatusCallable(const ModifyRiskSingleResultStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyRiskSingleResultStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyRiskSingleResultStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyAutoDelConfigOutcome SasClient::modifyAutoDelConfig(const ModifyAutoDelConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyAutoDelConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyAutoDelConfigOutcome(ModifyAutoDelConfigResult(outcome.result()));
+	else
+		return ModifyAutoDelConfigOutcome(outcome.error());
+}
+
+void SasClient::modifyAutoDelConfigAsync(const ModifyAutoDelConfigRequest& request, const ModifyAutoDelConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyAutoDelConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyAutoDelConfigOutcomeCallable SasClient::modifyAutoDelConfigCallable(const ModifyAutoDelConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyAutoDelConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyAutoDelConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyEmgVulSubmitOutcome SasClient::modifyEmgVulSubmit(const ModifyEmgVulSubmitRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyEmgVulSubmitOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyEmgVulSubmitOutcome(ModifyEmgVulSubmitResult(outcome.result()));
+	else
+		return ModifyEmgVulSubmitOutcome(outcome.error());
+}
+
+void SasClient::modifyEmgVulSubmitAsync(const ModifyEmgVulSubmitRequest& request, const ModifyEmgVulSubmitAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyEmgVulSubmit(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyEmgVulSubmitOutcomeCallable SasClient::modifyEmgVulSubmitCallable(const ModifyEmgVulSubmitRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyEmgVulSubmitOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyEmgVulSubmit(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeVulDetailsOutcome SasClient::describeVulDetails(const DescribeVulDetailsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	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 SasClient::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));
+}
+
+SasClient::DescribeVulDetailsOutcomeCallable SasClient::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();
+}
+
+SasClient::ModifyCreateVulWhitelistOutcome SasClient::modifyCreateVulWhitelist(const ModifyCreateVulWhitelistRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyCreateVulWhitelistOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyCreateVulWhitelistOutcome(ModifyCreateVulWhitelistResult(outcome.result()));
+	else
+		return ModifyCreateVulWhitelistOutcome(outcome.error());
+}
+
+void SasClient::modifyCreateVulWhitelistAsync(const ModifyCreateVulWhitelistRequest& request, const ModifyCreateVulWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyCreateVulWhitelist(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyCreateVulWhitelistOutcomeCallable SasClient::modifyCreateVulWhitelistCallable(const ModifyCreateVulWhitelistRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyCreateVulWhitelistOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyCreateVulWhitelist(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeGroupedVulOutcome SasClient::describeGroupedVul(const DescribeGroupedVulRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeGroupedVulOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeGroupedVulOutcome(DescribeGroupedVulResult(outcome.result()));
+	else
+		return DescribeGroupedVulOutcome(outcome.error());
+}
+
+void SasClient::describeGroupedVulAsync(const DescribeGroupedVulRequest& request, const DescribeGroupedVulAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeGroupedVul(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeGroupedVulOutcomeCallable SasClient::describeGroupedVulCallable(const DescribeGroupedVulRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeGroupedVulOutcome()>>(
+			[this, request]()
+			{
+			return this->describeGroupedVul(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyDeleteVulWhitelistOutcome SasClient::modifyDeleteVulWhitelist(const ModifyDeleteVulWhitelistRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDeleteVulWhitelistOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDeleteVulWhitelistOutcome(ModifyDeleteVulWhitelistResult(outcome.result()));
+	else
+		return ModifyDeleteVulWhitelistOutcome(outcome.error());
+}
+
+void SasClient::modifyDeleteVulWhitelistAsync(const ModifyDeleteVulWhitelistRequest& request, const ModifyDeleteVulWhitelistAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDeleteVulWhitelist(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyDeleteVulWhitelistOutcomeCallable SasClient::modifyDeleteVulWhitelistCallable(const ModifyDeleteVulWhitelistRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDeleteVulWhitelistOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDeleteVulWhitelist(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeRiskCheckSummaryOutcome SasClient::describeRiskCheckSummary(const DescribeRiskCheckSummaryRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRiskCheckSummaryOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRiskCheckSummaryOutcome(DescribeRiskCheckSummaryResult(outcome.result()));
+	else
+		return DescribeRiskCheckSummaryOutcome(outcome.error());
+}
+
+void SasClient::describeRiskCheckSummaryAsync(const DescribeRiskCheckSummaryRequest& request, const DescribeRiskCheckSummaryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRiskCheckSummary(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeRiskCheckSummaryOutcomeCallable SasClient::describeRiskCheckSummaryCallable(const DescribeRiskCheckSummaryRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRiskCheckSummaryOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRiskCheckSummary(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyOperateVulOutcome SasClient::modifyOperateVul(const ModifyOperateVulRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyOperateVulOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyOperateVulOutcome(ModifyOperateVulResult(outcome.result()));
+	else
+		return ModifyOperateVulOutcome(outcome.error());
+}
+
+void SasClient::modifyOperateVulAsync(const ModifyOperateVulRequest& request, const ModifyOperateVulAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyOperateVul(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyOperateVulOutcomeCallable SasClient::modifyOperateVulCallable(const ModifyOperateVulRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyOperateVulOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyOperateVul(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeRiskItemTypeOutcome SasClient::describeRiskItemType(const DescribeRiskItemTypeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRiskItemTypeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRiskItemTypeOutcome(DescribeRiskItemTypeResult(outcome.result()));
+	else
+		return DescribeRiskItemTypeOutcome(outcome.error());
+}
+
+void SasClient::describeRiskItemTypeAsync(const DescribeRiskItemTypeRequest& request, const DescribeRiskItemTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRiskItemType(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeRiskItemTypeOutcomeCallable SasClient::describeRiskItemTypeCallable(const DescribeRiskItemTypeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRiskItemTypeOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRiskItemType(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::DescribeUserBaselineAuthorizationOutcome SasClient::describeUserBaselineAuthorization(const DescribeUserBaselineAuthorizationRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeUserBaselineAuthorizationOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeUserBaselineAuthorizationOutcome(DescribeUserBaselineAuthorizationResult(outcome.result()));
+	else
+		return DescribeUserBaselineAuthorizationOutcome(outcome.error());
+}
+
+void SasClient::describeUserBaselineAuthorizationAsync(const DescribeUserBaselineAuthorizationRequest& request, const DescribeUserBaselineAuthorizationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeUserBaselineAuthorization(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::DescribeUserBaselineAuthorizationOutcomeCallable SasClient::describeUserBaselineAuthorizationCallable(const DescribeUserBaselineAuthorizationRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeUserBaselineAuthorizationOutcome()>>(
+			[this, request]()
+			{
+			return this->describeUserBaselineAuthorization(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+SasClient::ModifyConcernNecessityOutcome SasClient::modifyConcernNecessity(const ModifyConcernNecessityRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyConcernNecessityOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyConcernNecessityOutcome(ModifyConcernNecessityResult(outcome.result()));
+	else
+		return ModifyConcernNecessityOutcome(outcome.error());
+}
+
+void SasClient::modifyConcernNecessityAsync(const ModifyConcernNecessityRequest& request, const ModifyConcernNecessityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyConcernNecessity(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SasClient::ModifyConcernNecessityOutcomeCallable SasClient::modifyConcernNecessityCallable(const ModifyConcernNecessityRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyConcernNecessityOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyConcernNecessity(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 71 - 0
sas/src/model/DescribeAlarmEventDetailRequest.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/sas/model/DescribeAlarmEventDetailRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeAlarmEventDetailRequest;
+
+DescribeAlarmEventDetailRequest::DescribeAlarmEventDetailRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeAlarmEventDetail")
+{}
+
+DescribeAlarmEventDetailRequest::~DescribeAlarmEventDetailRequest()
+{}
+
+std::string DescribeAlarmEventDetailRequest::getAlarmUniqueInfo()const
+{
+	return alarmUniqueInfo_;
+}
+
+void DescribeAlarmEventDetailRequest::setAlarmUniqueInfo(const std::string& alarmUniqueInfo)
+{
+	alarmUniqueInfo_ = alarmUniqueInfo;
+	setCoreParameter("AlarmUniqueInfo", alarmUniqueInfo);
+}
+
+std::string DescribeAlarmEventDetailRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeAlarmEventDetailRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeAlarmEventDetailRequest::getFrom()const
+{
+	return from_;
+}
+
+void DescribeAlarmEventDetailRequest::setFrom(const std::string& from)
+{
+	from_ = from;
+	setCoreParameter("From", from);
+}
+
+std::string DescribeAlarmEventDetailRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeAlarmEventDetailRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 101 - 0
sas/src/model/DescribeAlarmEventDetailResult.cc

@@ -0,0 +1,101 @@
+/*
+ * 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/sas/model/DescribeAlarmEventDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeAlarmEventDetailResult::DescribeAlarmEventDetailResult() :
+	ServiceResult()
+{}
+
+DescribeAlarmEventDetailResult::DescribeAlarmEventDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAlarmEventDetailResult::~DescribeAlarmEventDetailResult()
+{}
+
+void DescribeAlarmEventDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["InternetIp"].isNull())
+		data_.internetIp = dataNode["InternetIp"].asString();
+	if(!dataNode["Level"].isNull())
+		data_.level = dataNode["Level"].asString();
+	if(!dataNode["InstanceName"].isNull())
+		data_.instanceName = dataNode["InstanceName"].asString();
+	if(!dataNode["AlarmEventAliasName"].isNull())
+		data_.alarmEventAliasName = dataNode["AlarmEventAliasName"].asString();
+	if(!dataNode["Type"].isNull())
+		data_.type = dataNode["Type"].asString();
+	if(!dataNode["Uuid"].isNull())
+		data_.uuid = dataNode["Uuid"].asString();
+	if(!dataNode["Solution"].isNull())
+		data_.solution = dataNode["Solution"].asString();
+	if(!dataNode["StartTime"].isNull())
+		data_.startTime = std::stol(dataNode["StartTime"].asString());
+	if(!dataNode["EndTime"].isNull())
+		data_.endTime = std::stol(dataNode["EndTime"].asString());
+	if(!dataNode["AlarmEventDesc"].isNull())
+		data_.alarmEventDesc = dataNode["AlarmEventDesc"].asString();
+	if(!dataNode["IntranetIp"].isNull())
+		data_.intranetIp = dataNode["IntranetIp"].asString();
+	if(!dataNode["CanBeDealOnLine"].isNull())
+		data_.canBeDealOnLine = dataNode["CanBeDealOnLine"].asString() == "true";
+	if(!dataNode["AlarmUniqueInfo"].isNull())
+		data_.alarmUniqueInfo = dataNode["AlarmUniqueInfo"].asString();
+	if(!dataNode["DataSource"].isNull())
+		data_.dataSource = dataNode["DataSource"].asString();
+	if(!dataNode["CanCancelFault"].isNull())
+		data_.canCancelFault = dataNode["CanCancelFault"].asString() == "true";
+	auto allCauseDetails = value["CauseDetails"]["CauseDetail"];
+	for (auto value : allCauseDetails)
+	{
+		Data::CauseDetail causeDetailObject;
+		if(!value["Key"].isNull())
+			causeDetailObject.key = value["Key"].asString();
+		auto allValue = value["Value"]["ValueItem"];
+		for (auto value : allValue)
+		{
+			Data::CauseDetail::ValueItem valueObject;
+			if(!value["Name"].isNull())
+				valueObject.name = value["Name"].asString();
+			if(!value["Type"].isNull())
+				valueObject.type = value["Type"].asString();
+			if(!value["Value"].isNull())
+				valueObject.value = value["Value"].asString();
+			causeDetailObject.value.push_back(valueObject);
+		}
+		data_.causeDetails.push_back(causeDetailObject);
+	}
+
+}
+
+DescribeAlarmEventDetailResult::Data DescribeAlarmEventDetailResult::getData()const
+{
+	return data_;
+}
+

+ 137 - 0
sas/src/model/DescribeAlarmEventListRequest.cc

@@ -0,0 +1,137 @@
+/*
+ * 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/sas/model/DescribeAlarmEventListRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeAlarmEventListRequest;
+
+DescribeAlarmEventListRequest::DescribeAlarmEventListRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeAlarmEventList")
+{}
+
+DescribeAlarmEventListRequest::~DescribeAlarmEventListRequest()
+{}
+
+std::string DescribeAlarmEventListRequest::getAlarmEventName()const
+{
+	return alarmEventName_;
+}
+
+void DescribeAlarmEventListRequest::setAlarmEventName(const std::string& alarmEventName)
+{
+	alarmEventName_ = alarmEventName;
+	setCoreParameter("AlarmEventName", alarmEventName);
+}
+
+std::string DescribeAlarmEventListRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeAlarmEventListRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeAlarmEventListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeAlarmEventListRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", pageSize);
+}
+
+std::string DescribeAlarmEventListRequest::getAlarmEventType()const
+{
+	return alarmEventType_;
+}
+
+void DescribeAlarmEventListRequest::setAlarmEventType(const std::string& alarmEventType)
+{
+	alarmEventType_ = alarmEventType;
+	setCoreParameter("AlarmEventType", alarmEventType);
+}
+
+std::string DescribeAlarmEventListRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeAlarmEventListRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setCoreParameter("Dealed", dealed);
+}
+
+std::string DescribeAlarmEventListRequest::getFrom()const
+{
+	return from_;
+}
+
+void DescribeAlarmEventListRequest::setFrom(const std::string& from)
+{
+	from_ = from;
+	setCoreParameter("From", from);
+}
+
+std::string DescribeAlarmEventListRequest::getRemark()const
+{
+	return remark_;
+}
+
+void DescribeAlarmEventListRequest::setRemark(const std::string& remark)
+{
+	remark_ = remark;
+	setCoreParameter("Remark", remark);
+}
+
+int DescribeAlarmEventListRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeAlarmEventListRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setCoreParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeAlarmEventListRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeAlarmEventListRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string DescribeAlarmEventListRequest::getLevels()const
+{
+	return levels_;
+}
+
+void DescribeAlarmEventListRequest::setLevels(const std::string& levels)
+{
+	levels_ = levels;
+	setCoreParameter("Levels", levels);
+}
+

+ 104 - 0
sas/src/model/DescribeAlarmEventListResult.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/sas/model/DescribeAlarmEventListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeAlarmEventListResult::DescribeAlarmEventListResult() :
+	ServiceResult()
+{}
+
+DescribeAlarmEventListResult::DescribeAlarmEventListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAlarmEventListResult::~DescribeAlarmEventListResult()
+{}
+
+void DescribeAlarmEventListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allSuspEvents = value["SuspEvents"]["SuspEventsItem"];
+	for (auto value : allSuspEvents)
+	{
+		SuspEventsItem suspEventsObject;
+		if(!value["AlarmUniqueInfo"].isNull())
+			suspEventsObject.alarmUniqueInfo = value["AlarmUniqueInfo"].asString();
+		if(!value["Solution"].isNull())
+			suspEventsObject.solution = value["Solution"].asString();
+		if(!value["Level"].isNull())
+			suspEventsObject.level = value["Level"].asString();
+		if(!value["CanBeDealOnLine"].isNull())
+			suspEventsObject.canBeDealOnLine = value["CanBeDealOnLine"].asString() == "true";
+		if(!value["Description"].isNull())
+			suspEventsObject.description = value["Description"].asString();
+		if(!value["StartTime"].isNull())
+			suspEventsObject.startTime = std::stol(value["StartTime"].asString());
+		if(!value["EndTime"].isNull())
+			suspEventsObject.endTime = std::stol(value["EndTime"].asString());
+		if(!value["AlarmEventType"].isNull())
+			suspEventsObject.alarmEventType = value["AlarmEventType"].asString();
+		if(!value["SuspiciousEventCount"].isNull())
+			suspEventsObject.suspiciousEventCount = std::stoi(value["SuspiciousEventCount"].asString());
+		if(!value["Uuid"].isNull())
+			suspEventsObject.uuid = value["Uuid"].asString();
+		if(!value["InstanceName"].isNull())
+			suspEventsObject.instanceName = value["InstanceName"].asString();
+		if(!value["InternetIp"].isNull())
+			suspEventsObject.internetIp = value["InternetIp"].asString();
+		if(!value["IntranetIp"].isNull())
+			suspEventsObject.intranetIp = value["IntranetIp"].asString();
+		if(!value["AlarmEventName"].isNull())
+			suspEventsObject.alarmEventName = value["AlarmEventName"].asString();
+		if(!value["SaleVersion"].isNull())
+			suspEventsObject.saleVersion = value["SaleVersion"].asString();
+		if(!value["DataSource"].isNull())
+			suspEventsObject.dataSource = value["DataSource"].asString();
+		if(!value["CanCancelFault"].isNull())
+			suspEventsObject.canCancelFault = value["CanCancelFault"].asString() == "true";
+		suspEvents_.push_back(suspEventsObject);
+	}
+	auto pageInfoNode = value["PageInfo"];
+	if(!pageInfoNode["Count"].isNull())
+		pageInfo_.count = std::stoi(pageInfoNode["Count"].asString());
+	if(!pageInfoNode["PageSize"].isNull())
+		pageInfo_.pageSize = std::stoi(pageInfoNode["PageSize"].asString());
+	if(!pageInfoNode["TotalCount"].isNull())
+		pageInfo_.totalCount = std::stoi(pageInfoNode["TotalCount"].asString());
+	if(!pageInfoNode["CurrentPage"].isNull())
+		pageInfo_.currentPage = std::stoi(pageInfoNode["CurrentPage"].asString());
+
+}
+
+DescribeAlarmEventListResult::PageInfo DescribeAlarmEventListResult::getPageInfo()const
+{
+	return pageInfo_;
+}
+
+std::vector<DescribeAlarmEventListResult::SuspEventsItem> DescribeAlarmEventListResult::getSuspEvents()const
+{
+	return suspEvents_;
+}
+

+ 38 - 0
sas/src/model/DescribeAutoDelConfigRequest.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/sas/model/DescribeAutoDelConfigRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeAutoDelConfigRequest;
+
+DescribeAutoDelConfigRequest::DescribeAutoDelConfigRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeAutoDelConfig")
+{}
+
+DescribeAutoDelConfigRequest::~DescribeAutoDelConfigRequest()
+{}
+
+std::string DescribeAutoDelConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeAutoDelConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+

+ 52 - 0
sas/src/model/DescribeAutoDelConfigResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/sas/model/DescribeAutoDelConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeAutoDelConfigResult::DescribeAutoDelConfigResult() :
+	ServiceResult()
+{}
+
+DescribeAutoDelConfigResult::DescribeAutoDelConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAutoDelConfigResult::~DescribeAutoDelConfigResult()
+{}
+
+void DescribeAutoDelConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["Days"].isNull())
+		days_ = std::stoi(value["Days"].asString());
+
+}
+
+int DescribeAutoDelConfigResult::getDays()const
+{
+	return days_;
+}
+

+ 49 - 0
sas/src/model/DescribeConcernNecessityRequest.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/sas/model/DescribeConcernNecessityRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeConcernNecessityRequest;
+
+DescribeConcernNecessityRequest::DescribeConcernNecessityRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeConcernNecessity")
+{}
+
+DescribeConcernNecessityRequest::~DescribeConcernNecessityRequest()
+{}
+
+std::string DescribeConcernNecessityRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeConcernNecessityRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeConcernNecessityRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeConcernNecessityRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 53 - 0
sas/src/model/DescribeConcernNecessityResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/sas/model/DescribeConcernNecessityResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeConcernNecessityResult::DescribeConcernNecessityResult() :
+	ServiceResult()
+{}
+
+DescribeConcernNecessityResult::DescribeConcernNecessityResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeConcernNecessityResult::~DescribeConcernNecessityResult()
+{}
+
+void DescribeConcernNecessityResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allConcernNecessity = value["ConcernNecessity"]["Necessity"];
+	for (const auto &item : allConcernNecessity)
+		concernNecessity_.push_back(item.asString());
+
+}
+
+std::vector<std::string> DescribeConcernNecessityResult::getConcernNecessity()const
+{
+	return concernNecessity_;
+}
+

+ 49 - 0
sas/src/model/DescribeEmgVulGroupRequest.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/sas/model/DescribeEmgVulGroupRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeEmgVulGroupRequest;
+
+DescribeEmgVulGroupRequest::DescribeEmgVulGroupRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeEmgVulGroup")
+{}
+
+DescribeEmgVulGroupRequest::~DescribeEmgVulGroupRequest()
+{}
+
+std::string DescribeEmgVulGroupRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeEmgVulGroupRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeEmgVulGroupRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeEmgVulGroupRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 75 - 0
sas/src/model/DescribeEmgVulGroupResult.cc

@@ -0,0 +1,75 @@
+/*
+ * 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/sas/model/DescribeEmgVulGroupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeEmgVulGroupResult::DescribeEmgVulGroupResult() :
+	ServiceResult()
+{}
+
+DescribeEmgVulGroupResult::DescribeEmgVulGroupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeEmgVulGroupResult::~DescribeEmgVulGroupResult()
+{}
+
+void DescribeEmgVulGroupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allEmgVulGroupList = value["EmgVulGroupList"]["EmgVulGroup"];
+	for (auto value : allEmgVulGroupList)
+	{
+		EmgVulGroup emgVulGroupListObject;
+		if(!value["AliasName"].isNull())
+			emgVulGroupListObject.aliasName = value["AliasName"].asString();
+		if(!value["PendingCount"].isNull())
+			emgVulGroupListObject.pendingCount = std::stoi(value["PendingCount"].asString());
+		if(!value["Name"].isNull())
+			emgVulGroupListObject.name = value["Name"].asString();
+		if(!value["GmtPublish"].isNull())
+			emgVulGroupListObject.gmtPublish = std::stol(value["GmtPublish"].asString());
+		if(!value["Description"].isNull())
+			emgVulGroupListObject.description = value["Description"].asString();
+		if(!value["Type"].isNull())
+			emgVulGroupListObject.type = value["Type"].asString();
+		emgVulGroupList_.push_back(emgVulGroupListObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeEmgVulGroupResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeEmgVulGroupResult::EmgVulGroup> DescribeEmgVulGroupResult::getEmgVulGroupList()const
+{
+	return emgVulGroupList_;
+}
+

+ 126 - 0
sas/src/model/DescribeGroupedVulRequest.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/sas/model/DescribeGroupedVulRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeGroupedVulRequest;
+
+DescribeGroupedVulRequest::DescribeGroupedVulRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeGroupedVul")
+{}
+
+DescribeGroupedVulRequest::~DescribeGroupedVulRequest()
+{}
+
+std::string DescribeGroupedVulRequest::getAliasName()const
+{
+	return aliasName_;
+}
+
+void DescribeGroupedVulRequest::setAliasName(const std::string& aliasName)
+{
+	aliasName_ = aliasName;
+	setCoreParameter("AliasName", aliasName);
+}
+
+std::string DescribeGroupedVulRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeGroupedVulRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+int DescribeGroupedVulRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeGroupedVulRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeGroupedVulRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeGroupedVulRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setCoreParameter("Dealed", dealed);
+}
+
+int DescribeGroupedVulRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeGroupedVulRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setCoreParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeGroupedVulRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeGroupedVulRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string DescribeGroupedVulRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeGroupedVulRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setCoreParameter("Type", type);
+}
+
+std::string DescribeGroupedVulRequest::getNecessity()const
+{
+	return necessity_;
+}
+
+void DescribeGroupedVulRequest::setNecessity(const std::string& necessity)
+{
+	necessity_ = necessity;
+	setCoreParameter("Necessity", necessity);
+}
+
+std::string DescribeGroupedVulRequest::getUuids()const
+{
+	return uuids_;
+}
+
+void DescribeGroupedVulRequest::setUuids(const std::string& uuids)
+{
+	uuids_ = uuids;
+	setCoreParameter("Uuids", uuids);
+}
+

+ 93 - 0
sas/src/model/DescribeGroupedVulResult.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/sas/model/DescribeGroupedVulResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeGroupedVulResult::DescribeGroupedVulResult() :
+	ServiceResult()
+{}
+
+DescribeGroupedVulResult::DescribeGroupedVulResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeGroupedVulResult::~DescribeGroupedVulResult()
+{}
+
+void DescribeGroupedVulResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allGroupedVulItems = value["GroupedVulItems"]["GroupedVulItem"];
+	for (auto value : allGroupedVulItems)
+	{
+		GroupedVulItem groupedVulItemsObject;
+		if(!value["AliasName"].isNull())
+			groupedVulItemsObject.aliasName = value["AliasName"].asString();
+		if(!value["Type"].isNull())
+			groupedVulItemsObject.type = value["Type"].asString();
+		if(!value["GmtLast"].isNull())
+			groupedVulItemsObject.gmtLast = std::stol(value["GmtLast"].asString());
+		if(!value["AsapCount"].isNull())
+			groupedVulItemsObject.asapCount = std::stoi(value["AsapCount"].asString());
+		if(!value["LaterCount"].isNull())
+			groupedVulItemsObject.laterCount = std::stoi(value["LaterCount"].asString());
+		if(!value["NntfCount"].isNull())
+			groupedVulItemsObject.nntfCount = std::stoi(value["NntfCount"].asString());
+		if(!value["HandledCount"].isNull())
+			groupedVulItemsObject.handledCount = std::stoi(value["HandledCount"].asString());
+		if(!value["Tags"].isNull())
+			groupedVulItemsObject.tags = value["Tags"].asString();
+		groupedVulItems_.push_back(groupedVulItemsObject);
+	}
+	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 DescribeGroupedVulResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeGroupedVulResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeGroupedVulResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+std::vector<DescribeGroupedVulResult::GroupedVulItem> DescribeGroupedVulResult::getGroupedVulItems()const
+{
+	return groupedVulItems_;
+}
+

+ 115 - 0
sas/src/model/DescribeRiskCheckResultRequest.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/sas/model/DescribeRiskCheckResultRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeRiskCheckResultRequest;
+
+DescribeRiskCheckResultRequest::DescribeRiskCheckResultRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeRiskCheckResult")
+{}
+
+DescribeRiskCheckResultRequest::~DescribeRiskCheckResultRequest()
+{}
+
+long DescribeRiskCheckResultRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeRiskCheckResultRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeRiskCheckResultRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeRiskCheckResultRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+long DescribeRiskCheckResultRequest::getGroupId()const
+{
+	return groupId_;
+}
+
+void DescribeRiskCheckResultRequest::setGroupId(long groupId)
+{
+	groupId_ = groupId;
+	setCoreParameter("GroupId", std::to_string(groupId));
+}
+
+std::string DescribeRiskCheckResultRequest::getName()const
+{
+	return name_;
+}
+
+void DescribeRiskCheckResultRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setCoreParameter("Name", name);
+}
+
+int DescribeRiskCheckResultRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeRiskCheckResultRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+int DescribeRiskCheckResultRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeRiskCheckResultRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setCoreParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeRiskCheckResultRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeRiskCheckResultRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string DescribeRiskCheckResultRequest::getRiskLevel()const
+{
+	return riskLevel_;
+}
+
+void DescribeRiskCheckResultRequest::setRiskLevel(const std::string& riskLevel)
+{
+	riskLevel_ = riskLevel;
+	setCoreParameter("RiskLevel", riskLevel);
+}
+

+ 121 - 0
sas/src/model/DescribeRiskCheckResultResult.cc

@@ -0,0 +1,121 @@
+/*
+ * 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/sas/model/DescribeRiskCheckResultResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeRiskCheckResultResult::DescribeRiskCheckResultResult() :
+	ServiceResult()
+{}
+
+DescribeRiskCheckResultResult::DescribeRiskCheckResultResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRiskCheckResultResult::~DescribeRiskCheckResultResult()
+{}
+
+void DescribeRiskCheckResultResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allList = value["List"]["RiskCheckResultForDisplay"];
+	for (auto value : allList)
+	{
+		RiskCheckResultForDisplay listObject;
+		if(!value["ItemId"].isNull())
+			listObject.itemId = std::stol(value["ItemId"].asString());
+		if(!value["TaskId"].isNull())
+			listObject.taskId = std::stol(value["TaskId"].asString());
+		if(!value["Title"].isNull())
+			listObject.title = value["Title"].asString();
+		if(!value["RiskLevel"].isNull())
+			listObject.riskLevel = value["RiskLevel"].asString();
+		if(!value["Status"].isNull())
+			listObject.status = value["Status"].asString();
+		if(!value["AffectedCount"].isNull())
+			listObject.affectedCount = std::stoi(value["AffectedCount"].asString());
+		if(!value["CheckTime"].isNull())
+			listObject.checkTime = std::stol(value["CheckTime"].asString());
+		if(!value["RemainingTime"].isNull())
+			listObject.remainingTime = std::stoi(value["RemainingTime"].asString());
+		if(!value["Sort"].isNull())
+			listObject.sort = std::stoi(value["Sort"].asString());
+		if(!value["Type"].isNull())
+			listObject.type = value["Type"].asString();
+		auto allRiskItemResources = value["RiskItemResources"]["RiskItemResource"];
+		for (auto value : allRiskItemResources)
+		{
+			RiskCheckResultForDisplay::RiskItemResource riskItemResourcesObject;
+			if(!value["ResourceName"].isNull())
+				riskItemResourcesObject.resourceName = value["ResourceName"].asString();
+			if(!value["ContentResource"].isNull())
+				riskItemResourcesObject.contentResource = value["ContentResource"].asString();
+			listObject.riskItemResources.push_back(riskItemResourcesObject);
+		}
+		list_.push_back(listObject);
+	}
+	if(!value["PageCount"].isNull())
+		pageCount_ = std::stoi(value["PageCount"].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 DescribeRiskCheckResultResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeRiskCheckResultResult::getPageCount()const
+{
+	return pageCount_;
+}
+
+int DescribeRiskCheckResultResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeRiskCheckResultResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+std::vector<DescribeRiskCheckResultResult::RiskCheckResultForDisplay> DescribeRiskCheckResultResult::getList()const
+{
+	return list_;
+}
+
+int DescribeRiskCheckResultResult::getCount()const
+{
+	return count_;
+}
+

+ 60 - 0
sas/src/model/DescribeRiskCheckSummaryRequest.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/sas/model/DescribeRiskCheckSummaryRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeRiskCheckSummaryRequest;
+
+DescribeRiskCheckSummaryRequest::DescribeRiskCheckSummaryRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeRiskCheckSummary")
+{}
+
+DescribeRiskCheckSummaryRequest::~DescribeRiskCheckSummaryRequest()
+{}
+
+long DescribeRiskCheckSummaryRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeRiskCheckSummaryRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeRiskCheckSummaryRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeRiskCheckSummaryRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeRiskCheckSummaryRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeRiskCheckSummaryRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 99 - 0
sas/src/model/DescribeRiskCheckSummaryResult.cc

@@ -0,0 +1,99 @@
+/*
+ * 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/sas/model/DescribeRiskCheckSummaryResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeRiskCheckSummaryResult::DescribeRiskCheckSummaryResult() :
+	ServiceResult()
+{}
+
+DescribeRiskCheckSummaryResult::DescribeRiskCheckSummaryResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRiskCheckSummaryResult::~DescribeRiskCheckSummaryResult()
+{}
+
+void DescribeRiskCheckSummaryResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto riskCheckSummaryNode = value["RiskCheckSummary"];
+	if(!riskCheckSummaryNode["RiskCount"].isNull())
+		riskCheckSummary_.riskCount = std::stoi(riskCheckSummaryNode["RiskCount"].asString());
+	if(!riskCheckSummaryNode["PreviousCount"].isNull())
+		riskCheckSummary_.previousCount = std::stoi(riskCheckSummaryNode["PreviousCount"].asString());
+	if(!riskCheckSummaryNode["ItemCount"].isNull())
+		riskCheckSummary_.itemCount = std::stoi(riskCheckSummaryNode["ItemCount"].asString());
+	if(!riskCheckSummaryNode["RiskRate"].isNull())
+		riskCheckSummary_.riskRate = std::stof(riskCheckSummaryNode["RiskRate"].asString());
+	if(!riskCheckSummaryNode["AffectedAssetCount"].isNull())
+		riskCheckSummary_.affectedAssetCount = std::stoi(riskCheckSummaryNode["AffectedAssetCount"].asString());
+	if(!riskCheckSummaryNode["PreviousTime"].isNull())
+		riskCheckSummary_.previousTime = std::stol(riskCheckSummaryNode["PreviousTime"].asString());
+	auto allRiskLevelCount = value["RiskLevelCount"]["levelCount"];
+	for (auto value : allRiskLevelCount)
+	{
+		RiskCheckSummary::LevelCount levelCountObject;
+		if(!value["Key"].isNull())
+			levelCountObject.key = value["Key"].asString();
+		if(!value["Count"].isNull())
+			levelCountObject.count = std::stoi(value["Count"].asString());
+		riskCheckSummary_.riskLevelCount.push_back(levelCountObject);
+	}
+	auto allGroups = value["Groups"]["group"];
+	for (auto value : allGroups)
+	{
+		RiskCheckSummary::Group groupObject;
+		if(!value["Id"].isNull())
+			groupObject.id = std::stol(value["Id"].asString());
+		if(!value["Title"].isNull())
+			groupObject.title = value["Title"].asString();
+		if(!value["Status"].isNull())
+			groupObject.status = value["Status"].asString();
+		if(!value["RemainingTime"].isNull())
+			groupObject.remainingTime = std::stoi(value["RemainingTime"].asString());
+		if(!value["Sort"].isNull())
+			groupObject.sort = std::stoi(value["Sort"].asString());
+		auto allCountByStatus = value["CountByStatus"]["statusCount"];
+		for (auto value : allCountByStatus)
+		{
+			RiskCheckSummary::Group::StatusCount countByStatusObject;
+			if(!value["Status"].isNull())
+				countByStatusObject.status = value["Status"].asString();
+			if(!value["Count"].isNull())
+				countByStatusObject.count = std::stoi(value["Count"].asString());
+			groupObject.countByStatus.push_back(countByStatusObject);
+		}
+		riskCheckSummary_.groups.push_back(groupObject);
+	}
+
+}
+
+DescribeRiskCheckSummaryResult::RiskCheckSummary DescribeRiskCheckSummaryResult::getRiskCheckSummary()const
+{
+	return riskCheckSummary_;
+}
+

+ 60 - 0
sas/src/model/DescribeRiskItemTypeRequest.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/sas/model/DescribeRiskItemTypeRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeRiskItemTypeRequest;
+
+DescribeRiskItemTypeRequest::DescribeRiskItemTypeRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeRiskItemType")
+{}
+
+DescribeRiskItemTypeRequest::~DescribeRiskItemTypeRequest()
+{}
+
+long DescribeRiskItemTypeRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeRiskItemTypeRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeRiskItemTypeRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeRiskItemTypeRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeRiskItemTypeRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeRiskItemTypeRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 60 - 0
sas/src/model/DescribeRiskItemTypeResult.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/sas/model/DescribeRiskItemTypeResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeRiskItemTypeResult::DescribeRiskItemTypeResult() :
+	ServiceResult()
+{}
+
+DescribeRiskItemTypeResult::DescribeRiskItemTypeResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRiskItemTypeResult::~DescribeRiskItemTypeResult()
+{}
+
+void DescribeRiskItemTypeResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allList = value["List"]["ItemType"];
+	for (auto value : allList)
+	{
+		ItemType listObject;
+		if(!value["Id"].isNull())
+			listObject.id = std::stol(value["Id"].asString());
+		if(!value["Title"].isNull())
+			listObject.title = value["Title"].asString();
+		list_.push_back(listObject);
+	}
+
+}
+
+std::vector<DescribeRiskItemTypeResult::ItemType> DescribeRiskItemTypeResult::getList()const
+{
+	return list_;
+}
+

+ 60 - 0
sas/src/model/DescribeSecurityCheckScheduleConfigRequest.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/sas/model/DescribeSecurityCheckScheduleConfigRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeSecurityCheckScheduleConfigRequest;
+
+DescribeSecurityCheckScheduleConfigRequest::DescribeSecurityCheckScheduleConfigRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeSecurityCheckScheduleConfig")
+{}
+
+DescribeSecurityCheckScheduleConfigRequest::~DescribeSecurityCheckScheduleConfigRequest()
+{}
+
+long DescribeSecurityCheckScheduleConfigRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeSecurityCheckScheduleConfigRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeSecurityCheckScheduleConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeSecurityCheckScheduleConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeSecurityCheckScheduleConfigRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeSecurityCheckScheduleConfigRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 57 - 0
sas/src/model/DescribeSecurityCheckScheduleConfigResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/sas/model/DescribeSecurityCheckScheduleConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeSecurityCheckScheduleConfigResult::DescribeSecurityCheckScheduleConfigResult() :
+	ServiceResult()
+{}
+
+DescribeSecurityCheckScheduleConfigResult::DescribeSecurityCheckScheduleConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeSecurityCheckScheduleConfigResult::~DescribeSecurityCheckScheduleConfigResult()
+{}
+
+void DescribeSecurityCheckScheduleConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto riskCheckJobConfigNode = value["RiskCheckJobConfig"];
+	if(!riskCheckJobConfigNode["StartTime"].isNull())
+		riskCheckJobConfig_.startTime = std::stoi(riskCheckJobConfigNode["StartTime"].asString());
+	if(!riskCheckJobConfigNode["EndTime"].isNull())
+		riskCheckJobConfig_.endTime = std::stoi(riskCheckJobConfigNode["EndTime"].asString());
+	if(!riskCheckJobConfigNode["DaysOfWeek"].isNull())
+		riskCheckJobConfig_.daysOfWeek = riskCheckJobConfigNode["DaysOfWeek"].asString();
+
+}
+
+DescribeSecurityCheckScheduleConfigResult::RiskCheckJobConfig DescribeSecurityCheckScheduleConfigResult::getRiskCheckJobConfig()const
+{
+	return riskCheckJobConfig_;
+}
+

+ 71 - 0
sas/src/model/DescribeSuspEventDetailRequest.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/sas/model/DescribeSuspEventDetailRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeSuspEventDetailRequest;
+
+DescribeSuspEventDetailRequest::DescribeSuspEventDetailRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeSuspEventDetail")
+{}
+
+DescribeSuspEventDetailRequest::~DescribeSuspEventDetailRequest()
+{}
+
+int DescribeSuspEventDetailRequest::getSuspiciousEventId()const
+{
+	return suspiciousEventId_;
+}
+
+void DescribeSuspEventDetailRequest::setSuspiciousEventId(int suspiciousEventId)
+{
+	suspiciousEventId_ = suspiciousEventId;
+	setCoreParameter("SuspiciousEventId", std::to_string(suspiciousEventId));
+}
+
+std::string DescribeSuspEventDetailRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeSuspEventDetailRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeSuspEventDetailRequest::getFrom()const
+{
+	return from_;
+}
+
+void DescribeSuspEventDetailRequest::setFrom(const std::string& from)
+{
+	from_ = from;
+	setCoreParameter("From", from);
+}
+
+std::string DescribeSuspEventDetailRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeSuspEventDetailRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 183 - 0
sas/src/model/DescribeSuspEventDetailResult.cc

@@ -0,0 +1,183 @@
+/*
+ * 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/sas/model/DescribeSuspEventDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeSuspEventDetailResult::DescribeSuspEventDetailResult() :
+	ServiceResult()
+{}
+
+DescribeSuspEventDetailResult::DescribeSuspEventDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeSuspEventDetailResult::~DescribeSuspEventDetailResult()
+{}
+
+void DescribeSuspEventDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDetails = value["Details"]["QuaraFile"];
+	for (auto value : allDetails)
+	{
+		QuaraFile detailsObject;
+		if(!value["Name"].isNull())
+			detailsObject.name = value["Name"].asString();
+		if(!value["Type"].isNull())
+			detailsObject.type = value["Type"].asString();
+		if(!value["InfoType"].isNull())
+			detailsObject.infoType = value["InfoType"].asString();
+		if(!value["Value"].isNull())
+			detailsObject.value = value["Value"].asString();
+		details_.push_back(detailsObject);
+	}
+	if(!value["LastTime"].isNull())
+		lastTime_ = value["LastTime"].asString();
+	if(!value["Id"].isNull())
+		id_ = std::stoi(value["Id"].asString());
+	if(!value["InstanceName"].isNull())
+		instanceName_ = value["InstanceName"].asString();
+	if(!value["InternetIp"].isNull())
+		internetIp_ = value["InternetIp"].asString();
+	if(!value["IntranetIp"].isNull())
+		intranetIp_ = value["IntranetIp"].asString();
+	if(!value["Uuid"].isNull())
+		uuid_ = value["Uuid"].asString();
+	if(!value["EventDesc"].isNull())
+		eventDesc_ = value["EventDesc"].asString();
+	if(!value["EventTypeDesc"].isNull())
+		eventTypeDesc_ = value["EventTypeDesc"].asString();
+	if(!value["Level"].isNull())
+		level_ = value["Level"].asString();
+	if(!value["EventStatus"].isNull())
+		eventStatus_ = value["EventStatus"].asString();
+	if(!value["SaleVersion"].isNull())
+		saleVersion_ = value["SaleVersion"].asString();
+	if(!value["DataSource"].isNull())
+		dataSource_ = value["DataSource"].asString();
+	if(!value["Type"].isNull())
+		type_ = value["Type"].asString();
+	if(!value["OperateMsg"].isNull())
+		operateMsg_ = value["OperateMsg"].asString();
+	if(!value["SasId"].isNull())
+		sasId_ = value["SasId"].asString();
+	if(!value["EventName"].isNull())
+		eventName_ = value["EventName"].asString();
+	if(!value["CanBeDealOnLine"].isNull())
+		canBeDealOnLine_ = value["CanBeDealOnLine"].asString() == "true";
+
+}
+
+std::string DescribeSuspEventDetailResult::getEventDesc()const
+{
+	return eventDesc_;
+}
+
+std::string DescribeSuspEventDetailResult::getEventTypeDesc()const
+{
+	return eventTypeDesc_;
+}
+
+std::string DescribeSuspEventDetailResult::getEventStatus()const
+{
+	return eventStatus_;
+}
+
+std::string DescribeSuspEventDetailResult::getEventName()const
+{
+	return eventName_;
+}
+
+std::string DescribeSuspEventDetailResult::getSaleVersion()const
+{
+	return saleVersion_;
+}
+
+std::string DescribeSuspEventDetailResult::getIntranetIp()const
+{
+	return intranetIp_;
+}
+
+std::string DescribeSuspEventDetailResult::getDataSource()const
+{
+	return dataSource_;
+}
+
+std::string DescribeSuspEventDetailResult::getInstanceName()const
+{
+	return instanceName_;
+}
+
+std::string DescribeSuspEventDetailResult::getType()const
+{
+	return type_;
+}
+
+std::string DescribeSuspEventDetailResult::getOperateMsg()const
+{
+	return operateMsg_;
+}
+
+bool DescribeSuspEventDetailResult::getCanBeDealOnLine()const
+{
+	return canBeDealOnLine_;
+}
+
+std::vector<DescribeSuspEventDetailResult::QuaraFile> DescribeSuspEventDetailResult::getDetails()const
+{
+	return details_;
+}
+
+std::string DescribeSuspEventDetailResult::getUuid()const
+{
+	return uuid_;
+}
+
+std::string DescribeSuspEventDetailResult::getInternetIp()const
+{
+	return internetIp_;
+}
+
+std::string DescribeSuspEventDetailResult::getLevel()const
+{
+	return level_;
+}
+
+int DescribeSuspEventDetailResult::getId()const
+{
+	return id_;
+}
+
+std::string DescribeSuspEventDetailResult::getLastTime()const
+{
+	return lastTime_;
+}
+
+std::string DescribeSuspEventDetailResult::getSasId()const
+{
+	return sasId_;
+}
+

+ 148 - 0
sas/src/model/DescribeSuspEventsRequest.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/sas/model/DescribeSuspEventsRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeSuspEventsRequest;
+
+DescribeSuspEventsRequest::DescribeSuspEventsRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeSuspEvents")
+{}
+
+DescribeSuspEventsRequest::~DescribeSuspEventsRequest()
+{}
+
+std::string DescribeSuspEventsRequest::getAlarmUniqueInfo()const
+{
+	return alarmUniqueInfo_;
+}
+
+void DescribeSuspEventsRequest::setAlarmUniqueInfo(const std::string& alarmUniqueInfo)
+{
+	alarmUniqueInfo_ = alarmUniqueInfo;
+	setCoreParameter("AlarmUniqueInfo", alarmUniqueInfo);
+}
+
+std::string DescribeSuspEventsRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeSuspEventsRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeSuspEventsRequest::getName()const
+{
+	return name_;
+}
+
+void DescribeSuspEventsRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setCoreParameter("Name", name);
+}
+
+std::string DescribeSuspEventsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeSuspEventsRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", pageSize);
+}
+
+std::string DescribeSuspEventsRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeSuspEventsRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setCoreParameter("Dealed", dealed);
+}
+
+std::string DescribeSuspEventsRequest::getRemark()const
+{
+	return remark_;
+}
+
+void DescribeSuspEventsRequest::setRemark(const std::string& remark)
+{
+	remark_ = remark;
+	setCoreParameter("Remark", remark);
+}
+
+std::string DescribeSuspEventsRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeSuspEventsRequest::setCurrentPage(const std::string& currentPage)
+{
+	currentPage_ = currentPage;
+	setCoreParameter("CurrentPage", currentPage);
+}
+
+std::string DescribeSuspEventsRequest::getFrom()const
+{
+	return from_;
+}
+
+void DescribeSuspEventsRequest::setFrom(const std::string& from)
+{
+	from_ = from;
+	setCoreParameter("From", from);
+}
+
+std::string DescribeSuspEventsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeSuspEventsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string DescribeSuspEventsRequest::getLevels()const
+{
+	return levels_;
+}
+
+void DescribeSuspEventsRequest::setLevels(const std::string& levels)
+{
+	levels_ = levels;
+	setCoreParameter("Levels", levels);
+}
+
+std::string DescribeSuspEventsRequest::getParentEventTypes()const
+{
+	return parentEventTypes_;
+}
+
+void DescribeSuspEventsRequest::setParentEventTypes(const std::string& parentEventTypes)
+{
+	parentEventTypes_ = parentEventTypes;
+	setCoreParameter("ParentEventTypes", parentEventTypes);
+}
+

+ 122 - 0
sas/src/model/DescribeSuspEventsResult.cc

@@ -0,0 +1,122 @@
+/*
+ * 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/sas/model/DescribeSuspEventsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeSuspEventsResult::DescribeSuspEventsResult() :
+	ServiceResult()
+{}
+
+DescribeSuspEventsResult::DescribeSuspEventsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeSuspEventsResult::~DescribeSuspEventsResult()
+{}
+
+void DescribeSuspEventsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allSuspEvents = value["SuspEvents"]["WarningSummary"];
+	for (auto value : allSuspEvents)
+	{
+		WarningSummary suspEventsObject;
+		if(!value["LastTime"].isNull())
+			suspEventsObject.lastTime = value["LastTime"].asString();
+		if(!value["OccurrenceTime"].isNull())
+			suspEventsObject.occurrenceTime = value["OccurrenceTime"].asString();
+		if(!value["Id"].isNull())
+			suspEventsObject.id = std::stol(value["Id"].asString());
+		if(!value["InstanceName"].isNull())
+			suspEventsObject.instanceName = value["InstanceName"].asString();
+		if(!value["InternetIp"].isNull())
+			suspEventsObject.internetIp = value["InternetIp"].asString();
+		if(!value["IntranetIp"].isNull())
+			suspEventsObject.intranetIp = value["IntranetIp"].asString();
+		if(!value["Uuid"].isNull())
+			suspEventsObject.uuid = value["Uuid"].asString();
+		if(!value["Name"].isNull())
+			suspEventsObject.name = value["Name"].asString();
+		if(!value["EventSubType"].isNull())
+			suspEventsObject.eventSubType = value["EventSubType"].asString();
+		if(!value["Level"].isNull())
+			suspEventsObject.level = value["Level"].asString();
+		if(!value["EventStatus"].isNull())
+			suspEventsObject.eventStatus = std::stoi(value["EventStatus"].asString());
+		if(!value["Desc"].isNull())
+			suspEventsObject.desc = value["Desc"].asString();
+		if(!value["OperateMsg"].isNull())
+			suspEventsObject.operateMsg = value["OperateMsg"].asString();
+		if(!value["DataSource"].isNull())
+			suspEventsObject.dataSource = value["DataSource"].asString();
+		if(!value["CanBeDealOnLine"].isNull())
+			suspEventsObject.canBeDealOnLine = value["CanBeDealOnLine"].asString() == "true";
+		if(!value["SaleVersion"].isNull())
+			suspEventsObject.saleVersion = value["SaleVersion"].asString();
+		if(!value["AlarmEventType"].isNull())
+			suspEventsObject.alarmEventType = value["AlarmEventType"].asString();
+		if(!value["AlarmEventName"].isNull())
+			suspEventsObject.alarmEventName = value["AlarmEventName"].asString();
+		if(!value["AlarmUniqueInfo"].isNull())
+			suspEventsObject.alarmUniqueInfo = value["AlarmUniqueInfo"].asString();
+		suspEvents_.push_back(suspEventsObject);
+	}
+	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 DescribeSuspEventsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeSuspEventsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeSuspEventsResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+int DescribeSuspEventsResult::getCount()const
+{
+	return count_;
+}
+
+std::vector<DescribeSuspEventsResult::WarningSummary> DescribeSuspEventsResult::getSuspEvents()const
+{
+	return suspEvents_;
+}
+

+ 60 - 0
sas/src/model/DescribeUserBaselineAuthorizationRequest.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/sas/model/DescribeUserBaselineAuthorizationRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeUserBaselineAuthorizationRequest;
+
+DescribeUserBaselineAuthorizationRequest::DescribeUserBaselineAuthorizationRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeUserBaselineAuthorization")
+{}
+
+DescribeUserBaselineAuthorizationRequest::~DescribeUserBaselineAuthorizationRequest()
+{}
+
+long DescribeUserBaselineAuthorizationRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeUserBaselineAuthorizationRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeUserBaselineAuthorizationRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeUserBaselineAuthorizationRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeUserBaselineAuthorizationRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeUserBaselineAuthorizationRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

+ 53 - 0
sas/src/model/DescribeUserBaselineAuthorizationResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/sas/model/DescribeUserBaselineAuthorizationResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeUserBaselineAuthorizationResult::DescribeUserBaselineAuthorizationResult() :
+	ServiceResult()
+{}
+
+DescribeUserBaselineAuthorizationResult::DescribeUserBaselineAuthorizationResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeUserBaselineAuthorizationResult::~DescribeUserBaselineAuthorizationResult()
+{}
+
+void DescribeUserBaselineAuthorizationResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto userBaselineAuthorizationNode = value["UserBaselineAuthorization"];
+	if(!userBaselineAuthorizationNode["Status"].isNull())
+		userBaselineAuthorization_.status = std::stoi(userBaselineAuthorizationNode["Status"].asString());
+
+}
+
+DescribeUserBaselineAuthorizationResult::UserBaselineAuthorization DescribeUserBaselineAuthorizationResult::getUserBaselineAuthorization()const
+{
+	return userBaselineAuthorization_;
+}
+

+ 82 - 0
sas/src/model/DescribeVulDetailsRequest.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/sas/model/DescribeVulDetailsRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeVulDetailsRequest;
+
+DescribeVulDetailsRequest::DescribeVulDetailsRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeVulDetails")
+{}
+
+DescribeVulDetailsRequest::~DescribeVulDetailsRequest()
+{}
+
+std::string DescribeVulDetailsRequest::getAliasName()const
+{
+	return aliasName_;
+}
+
+void DescribeVulDetailsRequest::setAliasName(const std::string& aliasName)
+{
+	aliasName_ = aliasName;
+	setCoreParameter("AliasName", aliasName);
+}
+
+std::string DescribeVulDetailsRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeVulDetailsRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string DescribeVulDetailsRequest::getName()const
+{
+	return name_;
+}
+
+void DescribeVulDetailsRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setCoreParameter("Name", name);
+}
+
+std::string DescribeVulDetailsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeVulDetailsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string DescribeVulDetailsRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeVulDetailsRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setCoreParameter("Type", type);
+}
+

+ 104 - 0
sas/src/model/DescribeVulDetailsResult.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/sas/model/DescribeVulDetailsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::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 allCves = value["Cves"]["Cve"];
+	for (auto value : allCves)
+	{
+		Cve cvesObject;
+		if(!value["CveId"].isNull())
+			cvesObject.cveId = value["CveId"].asString();
+		if(!value["CnvdId"].isNull())
+			cvesObject.cnvdId = value["CnvdId"].asString();
+		if(!value["Title"].isNull())
+			cvesObject.title = value["Title"].asString();
+		if(!value["CvssScore"].isNull())
+			cvesObject.cvssScore = value["CvssScore"].asString();
+		if(!value["CvssVector"].isNull())
+			cvesObject.cvssVector = value["CvssVector"].asString();
+		if(!value["ReleaseTime"].isNull())
+			cvesObject.releaseTime = std::stol(value["ReleaseTime"].asString());
+		if(!value["Complexity"].isNull())
+			cvesObject.complexity = value["Complexity"].asString();
+		if(!value["Poc"].isNull())
+			cvesObject.poc = value["Poc"].asString();
+		if(!value["PocCreateTime"].isNull())
+			cvesObject.pocCreateTime = std::stol(value["PocCreateTime"].asString());
+		if(!value["PocDisclosureTime"].isNull())
+			cvesObject.pocDisclosureTime = std::stol(value["PocDisclosureTime"].asString());
+		if(!value["Summary"].isNull())
+			cvesObject.summary = value["Summary"].asString();
+		if(!value["Solution"].isNull())
+			cvesObject.solution = value["Solution"].asString();
+		if(!value["Content"].isNull())
+			cvesObject.content = value["Content"].asString();
+		if(!value["Vendor"].isNull())
+			cvesObject.vendor = value["Vendor"].asString();
+		if(!value["Product"].isNull())
+			cvesObject.product = value["Product"].asString();
+		if(!value["VulLevel"].isNull())
+			cvesObject.vulLevel = value["VulLevel"].asString();
+		if(!value["Reference"].isNull())
+			cvesObject.reference = value["Reference"].asString();
+		if(!value["Classify"].isNull())
+			cvesObject.classify = value["Classify"].asString();
+		auto allClassifys = value["Classifys"]["Classify"];
+		for (auto value : allClassifys)
+		{
+			Cve::Classify classifysObject;
+			if(!value["Classify"].isNull())
+				classifysObject.classify = value["Classify"].asString();
+			if(!value["Description"].isNull())
+				classifysObject.description = value["Description"].asString();
+			if(!value["DemoVideoUrl"].isNull())
+				classifysObject.demoVideoUrl = value["DemoVideoUrl"].asString();
+			cvesObject.classifys.push_back(classifysObject);
+		}
+		cves_.push_back(cvesObject);
+	}
+
+}
+
+std::vector<DescribeVulDetailsResult::Cve> DescribeVulDetailsResult::getCves()const
+{
+	return cves_;
+}
+

+ 137 - 0
sas/src/model/DescribeVulListRequest.cc

@@ -0,0 +1,137 @@
+/*
+ * 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/sas/model/DescribeVulListRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeVulListRequest;
+
+DescribeVulListRequest::DescribeVulListRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeVulList")
+{}
+
+DescribeVulListRequest::~DescribeVulListRequest()
+{}
+
+std::string DescribeVulListRequest::getAliasName()const
+{
+	return aliasName_;
+}
+
+void DescribeVulListRequest::setAliasName(const std::string& aliasName)
+{
+	aliasName_ = aliasName;
+	setCoreParameter("AliasName", aliasName);
+}
+
+std::string DescribeVulListRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeVulListRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+int DescribeVulListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeVulListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeVulListRequest::getRemark()const
+{
+	return remark_;
+}
+
+void DescribeVulListRequest::setRemark(const std::string& remark)
+{
+	remark_ = remark;
+	setCoreParameter("Remark", remark);
+}
+
+std::string DescribeVulListRequest::getDealed()const
+{
+	return dealed_;
+}
+
+void DescribeVulListRequest::setDealed(const std::string& dealed)
+{
+	dealed_ = dealed;
+	setCoreParameter("Dealed", dealed);
+}
+
+int DescribeVulListRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeVulListRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setCoreParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string DescribeVulListRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeVulListRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string DescribeVulListRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeVulListRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setCoreParameter("Type", type);
+}
+
+std::string DescribeVulListRequest::getNecessity()const
+{
+	return necessity_;
+}
+
+void DescribeVulListRequest::setNecessity(const std::string& necessity)
+{
+	necessity_ = necessity;
+	setCoreParameter("Necessity", necessity);
+}
+
+std::string DescribeVulListRequest::getUuids()const
+{
+	return uuids_;
+}
+
+void DescribeVulListRequest::setUuids(const std::string& uuids)
+{
+	uuids_ = uuids;
+	setCoreParameter("Uuids", uuids);
+}
+

+ 178 - 0
sas/src/model/DescribeVulListResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/sas/model/DescribeVulListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::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 (auto value : allVulRecords)
+	{
+		VulRecord vulRecordsObject;
+		if(!value["PrimaryId"].isNull())
+			vulRecordsObject.primaryId = std::stol(value["PrimaryId"].asString());
+		if(!value["Uuid"].isNull())
+			vulRecordsObject.uuid = value["Uuid"].asString();
+		if(!value["Name"].isNull())
+			vulRecordsObject.name = value["Name"].asString();
+		if(!value["Tag"].isNull())
+			vulRecordsObject.tag = value["Tag"].asString();
+		if(!value["Type"].isNull())
+			vulRecordsObject.type = value["Type"].asString();
+		if(!value["AliasName"].isNull())
+			vulRecordsObject.aliasName = value["AliasName"].asString();
+		if(!value["FirstTs"].isNull())
+			vulRecordsObject.firstTs = std::stol(value["FirstTs"].asString());
+		if(!value["LastTs"].isNull())
+			vulRecordsObject.lastTs = std::stol(value["LastTs"].asString());
+		if(!value["RepairTs"].isNull())
+			vulRecordsObject.repairTs = std::stol(value["RepairTs"].asString());
+		if(!value["Status"].isNull())
+			vulRecordsObject.status = std::stoi(value["Status"].asString());
+		if(!value["Related"].isNull())
+			vulRecordsObject.related = value["Related"].asString();
+		if(!value["ResultCode"].isNull())
+			vulRecordsObject.resultCode = value["ResultCode"].asString();
+		if(!value["ResultMessage"].isNull())
+			vulRecordsObject.resultMessage = value["ResultMessage"].asString();
+		if(!value["ModifyTs"].isNull())
+			vulRecordsObject.modifyTs = std::stol(value["ModifyTs"].asString());
+		if(!value["Necessity"].isNull())
+			vulRecordsObject.necessity = value["Necessity"].asString();
+		if(!value["GroupId"].isNull())
+			vulRecordsObject.groupId = std::stoi(value["GroupId"].asString());
+		if(!value["InstanceId"].isNull())
+			vulRecordsObject.instanceId = value["InstanceId"].asString();
+		if(!value["InstanceName"].isNull())
+			vulRecordsObject.instanceName = value["InstanceName"].asString();
+		if(!value["InternetIp"].isNull())
+			vulRecordsObject.internetIp = value["InternetIp"].asString();
+		if(!value["IntranetIp"].isNull())
+			vulRecordsObject.intranetIp = value["IntranetIp"].asString();
+		if(!value["Ip"].isNull())
+			vulRecordsObject.ip = value["Ip"].asString();
+		if(!value["OsVersion"].isNull())
+			vulRecordsObject.osVersion = value["OsVersion"].asString();
+		if(!value["NeedReboot"].isNull())
+			vulRecordsObject.needReboot = value["NeedReboot"].asString();
+		auto extendContentJsonNode = value["ExtendContentJson"];
+		if(!extendContentJsonNode["Os"].isNull())
+			vulRecordsObject.extendContentJson.os = extendContentJsonNode["Os"].asString();
+		if(!extendContentJsonNode["OsRelease"].isNull())
+			vulRecordsObject.extendContentJson.osRelease = extendContentJsonNode["OsRelease"].asString();
+		if(!extendContentJsonNode["Status"].isNull())
+			vulRecordsObject.extendContentJson.status = std::stoi(extendContentJsonNode["Status"].asString());
+		if(!extendContentJsonNode["LastTs"].isNull())
+			vulRecordsObject.extendContentJson.lastTs = std::stol(extendContentJsonNode["LastTs"].asString());
+		if(!extendContentJsonNode["AliasName"].isNull())
+			vulRecordsObject.extendContentJson.aliasName = extendContentJsonNode["AliasName"].asString();
+		if(!extendContentJsonNode["Tag"].isNull())
+			vulRecordsObject.extendContentJson.tag = extendContentJsonNode["Tag"].asString();
+		if(!extendContentJsonNode["PrimaryId"].isNull())
+			vulRecordsObject.extendContentJson.primaryId = std::stol(extendContentJsonNode["PrimaryId"].asString());
+		if(!extendContentJsonNode["AbsolutePath"].isNull())
+			vulRecordsObject.extendContentJson.absolutePath = extendContentJsonNode["AbsolutePath"].asString();
+		auto allRpmEntityList = value["RpmEntityList"]["RpmEntityListItem"];
+		for (auto value : allRpmEntityList)
+		{
+			VulRecord::ExtendContentJson::RpmEntityListItem rpmEntityListItemObject;
+			if(!value["FullVersion"].isNull())
+				rpmEntityListItemObject.fullVersion = value["FullVersion"].asString();
+			if(!value["MatchDetail"].isNull())
+				rpmEntityListItemObject.matchDetail = value["MatchDetail"].asString();
+			if(!value["Name"].isNull())
+				rpmEntityListItemObject.name = value["Name"].asString();
+			if(!value["Path"].isNull())
+				rpmEntityListItemObject.path = value["Path"].asString();
+			if(!value["UpdateCmd"].isNull())
+				rpmEntityListItemObject.updateCmd = value["UpdateCmd"].asString();
+			if(!value["Version"].isNull())
+				rpmEntityListItemObject.version = value["Version"].asString();
+			vulRecordsObject.extendContentJson.rpmEntityList.push_back(rpmEntityListItemObject);
+		}
+		auto necessityNode = extendContentJsonNode["Necessity"];
+		if(!necessityNode["Cvss_factor"].isNull())
+			vulRecordsObject.extendContentJson.necessity.cvss_factor = necessityNode["Cvss_factor"].asString();
+		if(!necessityNode["Gmt_create"].isNull())
+			vulRecordsObject.extendContentJson.necessity.gmt_create = necessityNode["Gmt_create"].asString();
+		if(!necessityNode["Status"].isNull())
+			vulRecordsObject.extendContentJson.necessity.status = necessityNode["Status"].asString();
+		if(!necessityNode["Enviroment_factor"].isNull())
+			vulRecordsObject.extendContentJson.necessity.enviroment_factor = necessityNode["Enviroment_factor"].asString();
+		if(!necessityNode["Assets_factor"].isNull())
+			vulRecordsObject.extendContentJson.necessity.assets_factor = necessityNode["Assets_factor"].asString();
+		if(!necessityNode["Is_calc"].isNull())
+			vulRecordsObject.extendContentJson.necessity.is_calc = necessityNode["Is_calc"].asString();
+		if(!necessityNode["Total_score"].isNull())
+			vulRecordsObject.extendContentJson.necessity.total_score = necessityNode["Total_score"].asString();
+		if(!necessityNode["Time_factor"].isNull())
+			vulRecordsObject.extendContentJson.necessity.time_factor = necessityNode["Time_factor"].asString();
+			auto allCveList = extendContentJsonNode["cveList"]["CveList"];
+			for (auto value : allCveList)
+				vulRecordsObject.extendContentJson.cveList.push_back(value.asString());
+		vulRecords_.push_back(vulRecordsObject);
+	}
+	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<DescribeVulListResult::VulRecord> DescribeVulListResult::getVulRecords()const
+{
+	return vulRecords_;
+}
+
+int DescribeVulListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeVulListResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+

+ 60 - 0
sas/src/model/DescribeVulWhitelistRequest.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/sas/model/DescribeVulWhitelistRequest.h>
+
+using AlibabaCloud::Sas::Model::DescribeVulWhitelistRequest;
+
+DescribeVulWhitelistRequest::DescribeVulWhitelistRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "DescribeVulWhitelist")
+{}
+
+DescribeVulWhitelistRequest::~DescribeVulWhitelistRequest()
+{}
+
+std::string DescribeVulWhitelistRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void DescribeVulWhitelistRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+int DescribeVulWhitelistRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeVulWhitelistRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+int DescribeVulWhitelistRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void DescribeVulWhitelistRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setCoreParameter("CurrentPage", std::to_string(currentPage));
+}
+

+ 85 - 0
sas/src/model/DescribeVulWhitelistResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/sas/model/DescribeVulWhitelistResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+DescribeVulWhitelistResult::DescribeVulWhitelistResult() :
+	ServiceResult()
+{}
+
+DescribeVulWhitelistResult::DescribeVulWhitelistResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeVulWhitelistResult::~DescribeVulWhitelistResult()
+{}
+
+void DescribeVulWhitelistResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allVulWhitelists = value["VulWhitelists"]["VulWhitelist"];
+	for (auto value : allVulWhitelists)
+	{
+		VulWhitelist vulWhitelistsObject;
+		if(!value["Name"].isNull())
+			vulWhitelistsObject.name = value["Name"].asString();
+		if(!value["Type"].isNull())
+			vulWhitelistsObject.type = value["Type"].asString();
+		if(!value["AliasName"].isNull())
+			vulWhitelistsObject.aliasName = value["AliasName"].asString();
+		if(!value["Reason"].isNull())
+			vulWhitelistsObject.reason = value["Reason"].asString();
+		vulWhitelists_.push_back(vulWhitelistsObject);
+	}
+	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 DescribeVulWhitelistResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeVulWhitelistResult::VulWhitelist> DescribeVulWhitelistResult::getVulWhitelists()const
+{
+	return vulWhitelists_;
+}
+
+int DescribeVulWhitelistResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeVulWhitelistResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+

+ 49 - 0
sas/src/model/ModifyAutoDelConfigRequest.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/sas/model/ModifyAutoDelConfigRequest.h>
+
+using AlibabaCloud::Sas::Model::ModifyAutoDelConfigRequest;
+
+ModifyAutoDelConfigRequest::ModifyAutoDelConfigRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "ModifyAutoDelConfig")
+{}
+
+ModifyAutoDelConfigRequest::~ModifyAutoDelConfigRequest()
+{}
+
+std::string ModifyAutoDelConfigRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyAutoDelConfigRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+int ModifyAutoDelConfigRequest::getDays()const
+{
+	return days_;
+}
+
+void ModifyAutoDelConfigRequest::setDays(int days)
+{
+	days_ = days;
+	setCoreParameter("Days", std::to_string(days));
+}
+

+ 45 - 0
sas/src/model/ModifyAutoDelConfigResult.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/sas/model/ModifyAutoDelConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+ModifyAutoDelConfigResult::ModifyAutoDelConfigResult() :
+	ServiceResult()
+{}
+
+ModifyAutoDelConfigResult::ModifyAutoDelConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyAutoDelConfigResult::~ModifyAutoDelConfigResult()
+{}
+
+void ModifyAutoDelConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 60 - 0
sas/src/model/ModifyConcernNecessityRequest.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/sas/model/ModifyConcernNecessityRequest.h>
+
+using AlibabaCloud::Sas::Model::ModifyConcernNecessityRequest;
+
+ModifyConcernNecessityRequest::ModifyConcernNecessityRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "ModifyConcernNecessity")
+{}
+
+ModifyConcernNecessityRequest::~ModifyConcernNecessityRequest()
+{}
+
+std::string ModifyConcernNecessityRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyConcernNecessityRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyConcernNecessityRequest::getLang()const
+{
+	return lang_;
+}
+
+void ModifyConcernNecessityRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+
+std::string ModifyConcernNecessityRequest::getConcernNecessity()const
+{
+	return concernNecessity_;
+}
+
+void ModifyConcernNecessityRequest::setConcernNecessity(const std::string& concernNecessity)
+{
+	concernNecessity_ = concernNecessity;
+	setCoreParameter("ConcernNecessity", concernNecessity);
+}
+

+ 45 - 0
sas/src/model/ModifyConcernNecessityResult.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/sas/model/ModifyConcernNecessityResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+ModifyConcernNecessityResult::ModifyConcernNecessityResult() :
+	ServiceResult()
+{}
+
+ModifyConcernNecessityResult::ModifyConcernNecessityResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyConcernNecessityResult::~ModifyConcernNecessityResult()
+{}
+
+void ModifyConcernNecessityResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 60 - 0
sas/src/model/ModifyCreateVulWhitelistRequest.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/sas/model/ModifyCreateVulWhitelistRequest.h>
+
+using AlibabaCloud::Sas::Model::ModifyCreateVulWhitelistRequest;
+
+ModifyCreateVulWhitelistRequest::ModifyCreateVulWhitelistRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "ModifyCreateVulWhitelist")
+{}
+
+ModifyCreateVulWhitelistRequest::~ModifyCreateVulWhitelistRequest()
+{}
+
+std::string ModifyCreateVulWhitelistRequest::getReason()const
+{
+	return reason_;
+}
+
+void ModifyCreateVulWhitelistRequest::setReason(const std::string& reason)
+{
+	reason_ = reason;
+	setCoreParameter("Reason", reason);
+}
+
+std::string ModifyCreateVulWhitelistRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyCreateVulWhitelistRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyCreateVulWhitelistRequest::getWhitelist()const
+{
+	return whitelist_;
+}
+
+void ModifyCreateVulWhitelistRequest::setWhitelist(const std::string& whitelist)
+{
+	whitelist_ = whitelist;
+	setCoreParameter("Whitelist", whitelist);
+}
+

+ 45 - 0
sas/src/model/ModifyCreateVulWhitelistResult.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/sas/model/ModifyCreateVulWhitelistResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+ModifyCreateVulWhitelistResult::ModifyCreateVulWhitelistResult() :
+	ServiceResult()
+{}
+
+ModifyCreateVulWhitelistResult::ModifyCreateVulWhitelistResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyCreateVulWhitelistResult::~ModifyCreateVulWhitelistResult()
+{}
+
+void ModifyCreateVulWhitelistResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 49 - 0
sas/src/model/ModifyDeleteVulWhitelistRequest.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/sas/model/ModifyDeleteVulWhitelistRequest.h>
+
+using AlibabaCloud::Sas::Model::ModifyDeleteVulWhitelistRequest;
+
+ModifyDeleteVulWhitelistRequest::ModifyDeleteVulWhitelistRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "ModifyDeleteVulWhitelist")
+{}
+
+ModifyDeleteVulWhitelistRequest::~ModifyDeleteVulWhitelistRequest()
+{}
+
+std::string ModifyDeleteVulWhitelistRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyDeleteVulWhitelistRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyDeleteVulWhitelistRequest::getWhitelist()const
+{
+	return whitelist_;
+}
+
+void ModifyDeleteVulWhitelistRequest::setWhitelist(const std::string& whitelist)
+{
+	whitelist_ = whitelist;
+	setCoreParameter("Whitelist", whitelist);
+}
+

+ 45 - 0
sas/src/model/ModifyDeleteVulWhitelistResult.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/sas/model/ModifyDeleteVulWhitelistResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sas;
+using namespace AlibabaCloud::Sas::Model;
+
+ModifyDeleteVulWhitelistResult::ModifyDeleteVulWhitelistResult() :
+	ServiceResult()
+{}
+
+ModifyDeleteVulWhitelistResult::ModifyDeleteVulWhitelistResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyDeleteVulWhitelistResult::~ModifyDeleteVulWhitelistResult()
+{}
+
+void ModifyDeleteVulWhitelistResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 71 - 0
sas/src/model/ModifyEmgVulSubmitRequest.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/sas/model/ModifyEmgVulSubmitRequest.h>
+
+using AlibabaCloud::Sas::Model::ModifyEmgVulSubmitRequest;
+
+ModifyEmgVulSubmitRequest::ModifyEmgVulSubmitRequest() :
+	RpcServiceRequest("sas", "2018-12-03", "ModifyEmgVulSubmit")
+{}
+
+ModifyEmgVulSubmitRequest::~ModifyEmgVulSubmitRequest()
+{}
+
+std::string ModifyEmgVulSubmitRequest::getSourceIp()const
+{
+	return sourceIp_;
+}
+
+void ModifyEmgVulSubmitRequest::setSourceIp(const std::string& sourceIp)
+{
+	sourceIp_ = sourceIp;
+	setCoreParameter("SourceIp", sourceIp);
+}
+
+std::string ModifyEmgVulSubmitRequest::getName()const
+{
+	return name_;
+}
+
+void ModifyEmgVulSubmitRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setCoreParameter("Name", name);
+}
+
+std::string ModifyEmgVulSubmitRequest::getUserAgreement()const
+{
+	return userAgreement_;
+}
+
+void ModifyEmgVulSubmitRequest::setUserAgreement(const std::string& userAgreement)
+{
+	userAgreement_ = userAgreement;
+	setCoreParameter("UserAgreement", userAgreement);
+}
+
+std::string ModifyEmgVulSubmitRequest::getLang()const
+{
+	return lang_;
+}
+
+void ModifyEmgVulSubmitRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setCoreParameter("Lang", lang);
+}
+

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini