Procházet zdrojové kódy

Automatically generate sdk tasks.

sdk-team před 4 roky
rodič
revize
e915fe10cd
58 změnil soubory, kde provedl 4380 přidání a 1 odebrání
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 134 0
      antiddos-public/CMakeLists.txt
  4. 150 0
      antiddos-public/include/alibabacloud/antiddos-public/Antiddos_publicClient.h
  5. 32 0
      antiddos-public/include/alibabacloud/antiddos-public/Antiddos_publicExport.h
  6. 51 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeBgpPackByIpRequest.h
  7. 63 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeBgpPackByIpResult.h
  8. 60 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeCapRequest.h
  9. 55 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeCapResult.h
  10. 51 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCountRequest.h
  11. 57 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCountResult.h
  12. 48 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCreditRequest.h
  13. 59 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCreditResult.h
  14. 63 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosEventListRequest.h
  15. 62 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosEventListResult.h
  16. 57 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosThresholdRequest.h
  17. 63 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosThresholdResult.h
  18. 78 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceIpAddressRequest.h
  19. 73 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceIpAddressResult.h
  20. 78 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceRequest.h
  21. 67 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceResult.h
  22. 60 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpDdosThresholdRequest.h
  23. 63 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpDdosThresholdResult.h
  24. 57 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpLocationServiceRequest.h
  25. 59 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpLocationServiceResult.h
  26. 45 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeRegionsRequest.h
  27. 58 0
      antiddos-public/include/alibabacloud/antiddos-public/model/DescribeRegionsResult.h
  28. 57 0
      antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDdosStatusRequest.h
  29. 49 0
      antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDdosStatusResult.h
  30. 66 0
      antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDefenseThresholdRequest.h
  31. 49 0
      antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDefenseThresholdResult.h
  32. 521 0
      antiddos-public/src/Antiddos-publicClient.cc
  33. 63 0
      antiddos-public/src/model/DescribeBgpPackByIpRequest.cc
  34. 74 0
      antiddos-public/src/model/DescribeBgpPackByIpResult.cc
  35. 90 0
      antiddos-public/src/model/DescribeCapRequest.cc
  36. 52 0
      antiddos-public/src/model/DescribeCapResult.cc
  37. 63 0
      antiddos-public/src/model/DescribeDdosCountRequest.cc
  38. 56 0
      antiddos-public/src/model/DescribeDdosCountResult.cc
  39. 54 0
      antiddos-public/src/model/DescribeDdosCreditRequest.cc
  40. 63 0
      antiddos-public/src/model/DescribeDdosCreditResult.cc
  41. 99 0
      antiddos-public/src/model/DescribeDdosEventListRequest.cc
  42. 74 0
      antiddos-public/src/model/DescribeDdosEventListResult.cc
  43. 80 0
      antiddos-public/src/model/DescribeDdosThresholdRequest.cc
  44. 73 0
      antiddos-public/src/model/DescribeDdosThresholdResult.cc
  45. 144 0
      antiddos-public/src/model/DescribeInstanceIpAddressRequest.cc
  46. 94 0
      antiddos-public/src/model/DescribeInstanceIpAddressResult.cc
  47. 144 0
      antiddos-public/src/model/DescribeInstanceRequest.cc
  48. 84 0
      antiddos-public/src/model/DescribeInstanceResult.cc
  49. 90 0
      antiddos-public/src/model/DescribeIpDdosThresholdRequest.cc
  50. 68 0
      antiddos-public/src/model/DescribeIpDdosThresholdResult.cc
  51. 81 0
      antiddos-public/src/model/DescribeIpLocationServiceRequest.cc
  52. 60 0
      antiddos-public/src/model/DescribeIpLocationServiceResult.cc
  53. 45 0
      antiddos-public/src/model/DescribeRegionsRequest.cc
  54. 63 0
      antiddos-public/src/model/DescribeRegionsResult.cc
  55. 81 0
      antiddos-public/src/model/ModifyDdosStatusRequest.cc
  56. 44 0
      antiddos-public/src/model/ModifyDdosStatusResult.cc
  57. 108 0
      antiddos-public/src/model/ModifyDefenseThresholdRequest.cc
  58. 44 0
      antiddos-public/src/model/ModifyDefenseThresholdResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2022-07-12 Version: 1.36.1177
+- Automatically generate sdk tasks.
+
 2022-07-11 Version: 1.36.1176
 - Support Storage And Network Features For LaunchTemplate.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1176
+1.36.1177

+ 134 - 0
antiddos-public/CMakeLists.txt

@@ -0,0 +1,134 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(antiddos-public_public_header 
+	include/alibabacloud/antiddos-public/Antiddos_publicClient.h
+	include/alibabacloud/antiddos-public/Antiddos_publicExport.h )
+
+set(antiddos-public_public_header_model 
+	include/alibabacloud/antiddos-public/model/DescribeBgpPackByIpRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeBgpPackByIpResult.h
+	include/alibabacloud/antiddos-public/model/DescribeCapRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeCapResult.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosCountRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosCountResult.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosCreditRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosCreditResult.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosEventListRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosEventListResult.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosThresholdRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeDdosThresholdResult.h
+	include/alibabacloud/antiddos-public/model/DescribeInstanceRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeInstanceResult.h
+	include/alibabacloud/antiddos-public/model/DescribeInstanceIpAddressRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeInstanceIpAddressResult.h
+	include/alibabacloud/antiddos-public/model/DescribeIpDdosThresholdRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeIpDdosThresholdResult.h
+	include/alibabacloud/antiddos-public/model/DescribeIpLocationServiceRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeIpLocationServiceResult.h
+	include/alibabacloud/antiddos-public/model/DescribeRegionsRequest.h
+	include/alibabacloud/antiddos-public/model/DescribeRegionsResult.h
+	include/alibabacloud/antiddos-public/model/ModifyDdosStatusRequest.h
+	include/alibabacloud/antiddos-public/model/ModifyDdosStatusResult.h
+	include/alibabacloud/antiddos-public/model/ModifyDefenseThresholdRequest.h
+	include/alibabacloud/antiddos-public/model/ModifyDefenseThresholdResult.h )
+
+set(antiddos-public_src 
+	src/Antiddos-publicClient.cc
+	src/model/DescribeBgpPackByIpRequest.cc
+	src/model/DescribeBgpPackByIpResult.cc
+	src/model/DescribeCapRequest.cc
+	src/model/DescribeCapResult.cc
+	src/model/DescribeDdosCountRequest.cc
+	src/model/DescribeDdosCountResult.cc
+	src/model/DescribeDdosCreditRequest.cc
+	src/model/DescribeDdosCreditResult.cc
+	src/model/DescribeDdosEventListRequest.cc
+	src/model/DescribeDdosEventListResult.cc
+	src/model/DescribeDdosThresholdRequest.cc
+	src/model/DescribeDdosThresholdResult.cc
+	src/model/DescribeInstanceRequest.cc
+	src/model/DescribeInstanceResult.cc
+	src/model/DescribeInstanceIpAddressRequest.cc
+	src/model/DescribeInstanceIpAddressResult.cc
+	src/model/DescribeIpDdosThresholdRequest.cc
+	src/model/DescribeIpDdosThresholdResult.cc
+	src/model/DescribeIpLocationServiceRequest.cc
+	src/model/DescribeIpLocationServiceResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/ModifyDdosStatusRequest.cc
+	src/model/ModifyDdosStatusResult.cc
+	src/model/ModifyDefenseThresholdRequest.cc
+	src/model/ModifyDefenseThresholdResult.cc )
+
+add_library(antiddos-public ${LIB_TYPE}
+	${antiddos-public_public_header}
+	${antiddos-public_public_header_model}
+	${antiddos-public_src})
+
+set_target_properties(antiddos-public
+	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}antiddos-public
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(antiddos-public
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_ANTIDDOS_PUBLIC_LIBRARY)
+endif()
+
+target_include_directories(antiddos-public
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(antiddos-public
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(antiddos-public
+		jsoncpp)
+	target_include_directories(antiddos-public
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(antiddos-public
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(antiddos-public
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(antiddos-public
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(antiddos-public
+		jsoncpp)
+endif()
+
+install(FILES ${antiddos-public_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/antiddos-public)
+install(FILES ${antiddos-public_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/antiddos-public/model)
+install(TARGETS antiddos-public
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 150 - 0
antiddos-public/include/alibabacloud/antiddos-public/Antiddos_publicClient.h

@@ -0,0 +1,150 @@
+/*
+ * 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_ANTIDDOS_PUBLIC_ANTIDDOS_PUBLICCLIENT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_ANTIDDOS_PUBLICCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "Antiddos_publicExport.h"
+#include "model/DescribeBgpPackByIpRequest.h"
+#include "model/DescribeBgpPackByIpResult.h"
+#include "model/DescribeCapRequest.h"
+#include "model/DescribeCapResult.h"
+#include "model/DescribeDdosCountRequest.h"
+#include "model/DescribeDdosCountResult.h"
+#include "model/DescribeDdosCreditRequest.h"
+#include "model/DescribeDdosCreditResult.h"
+#include "model/DescribeDdosEventListRequest.h"
+#include "model/DescribeDdosEventListResult.h"
+#include "model/DescribeDdosThresholdRequest.h"
+#include "model/DescribeDdosThresholdResult.h"
+#include "model/DescribeInstanceRequest.h"
+#include "model/DescribeInstanceResult.h"
+#include "model/DescribeInstanceIpAddressRequest.h"
+#include "model/DescribeInstanceIpAddressResult.h"
+#include "model/DescribeIpDdosThresholdRequest.h"
+#include "model/DescribeIpDdosThresholdResult.h"
+#include "model/DescribeIpLocationServiceRequest.h"
+#include "model/DescribeIpLocationServiceResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/ModifyDdosStatusRequest.h"
+#include "model/ModifyDdosStatusResult.h"
+#include "model/ModifyDefenseThresholdRequest.h"
+#include "model/ModifyDefenseThresholdResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT Antiddos_publicClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::DescribeBgpPackByIpResult> DescribeBgpPackByIpOutcome;
+			typedef std::future<DescribeBgpPackByIpOutcome> DescribeBgpPackByIpOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeBgpPackByIpRequest&, const DescribeBgpPackByIpOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBgpPackByIpAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCapResult> DescribeCapOutcome;
+			typedef std::future<DescribeCapOutcome> DescribeCapOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeCapRequest&, const DescribeCapOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCapAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDdosCountResult> DescribeDdosCountOutcome;
+			typedef std::future<DescribeDdosCountOutcome> DescribeDdosCountOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeDdosCountRequest&, const DescribeDdosCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDdosCountAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDdosCreditResult> DescribeDdosCreditOutcome;
+			typedef std::future<DescribeDdosCreditOutcome> DescribeDdosCreditOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeDdosCreditRequest&, const DescribeDdosCreditOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDdosCreditAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDdosEventListResult> DescribeDdosEventListOutcome;
+			typedef std::future<DescribeDdosEventListOutcome> DescribeDdosEventListOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeDdosEventListRequest&, const DescribeDdosEventListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDdosEventListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDdosThresholdResult> DescribeDdosThresholdOutcome;
+			typedef std::future<DescribeDdosThresholdOutcome> DescribeDdosThresholdOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeDdosThresholdRequest&, const DescribeDdosThresholdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDdosThresholdAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceResult> DescribeInstanceOutcome;
+			typedef std::future<DescribeInstanceOutcome> DescribeInstanceOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeInstanceRequest&, const DescribeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceIpAddressResult> DescribeInstanceIpAddressOutcome;
+			typedef std::future<DescribeInstanceIpAddressOutcome> DescribeInstanceIpAddressOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeInstanceIpAddressRequest&, const DescribeInstanceIpAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceIpAddressAsyncHandler;
+			typedef Outcome<Error, Model::DescribeIpDdosThresholdResult> DescribeIpDdosThresholdOutcome;
+			typedef std::future<DescribeIpDdosThresholdOutcome> DescribeIpDdosThresholdOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeIpDdosThresholdRequest&, const DescribeIpDdosThresholdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIpDdosThresholdAsyncHandler;
+			typedef Outcome<Error, Model::DescribeIpLocationServiceResult> DescribeIpLocationServiceOutcome;
+			typedef std::future<DescribeIpLocationServiceOutcome> DescribeIpLocationServiceOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeIpLocationServiceRequest&, const DescribeIpLocationServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIpLocationServiceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDdosStatusResult> ModifyDdosStatusOutcome;
+			typedef std::future<ModifyDdosStatusOutcome> ModifyDdosStatusOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::ModifyDdosStatusRequest&, const ModifyDdosStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDdosStatusAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDefenseThresholdResult> ModifyDefenseThresholdOutcome;
+			typedef std::future<ModifyDefenseThresholdOutcome> ModifyDefenseThresholdOutcomeCallable;
+			typedef std::function<void(const Antiddos_publicClient*, const Model::ModifyDefenseThresholdRequest&, const ModifyDefenseThresholdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDefenseThresholdAsyncHandler;
+
+			Antiddos_publicClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			Antiddos_publicClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			Antiddos_publicClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~Antiddos_publicClient();
+			DescribeBgpPackByIpOutcome describeBgpPackByIp(const Model::DescribeBgpPackByIpRequest &request)const;
+			void describeBgpPackByIpAsync(const Model::DescribeBgpPackByIpRequest& request, const DescribeBgpPackByIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBgpPackByIpOutcomeCallable describeBgpPackByIpCallable(const Model::DescribeBgpPackByIpRequest& request) const;
+			DescribeCapOutcome describeCap(const Model::DescribeCapRequest &request)const;
+			void describeCapAsync(const Model::DescribeCapRequest& request, const DescribeCapAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCapOutcomeCallable describeCapCallable(const Model::DescribeCapRequest& request) const;
+			DescribeDdosCountOutcome describeDdosCount(const Model::DescribeDdosCountRequest &request)const;
+			void describeDdosCountAsync(const Model::DescribeDdosCountRequest& request, const DescribeDdosCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDdosCountOutcomeCallable describeDdosCountCallable(const Model::DescribeDdosCountRequest& request) const;
+			DescribeDdosCreditOutcome describeDdosCredit(const Model::DescribeDdosCreditRequest &request)const;
+			void describeDdosCreditAsync(const Model::DescribeDdosCreditRequest& request, const DescribeDdosCreditAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDdosCreditOutcomeCallable describeDdosCreditCallable(const Model::DescribeDdosCreditRequest& request) const;
+			DescribeDdosEventListOutcome describeDdosEventList(const Model::DescribeDdosEventListRequest &request)const;
+			void describeDdosEventListAsync(const Model::DescribeDdosEventListRequest& request, const DescribeDdosEventListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDdosEventListOutcomeCallable describeDdosEventListCallable(const Model::DescribeDdosEventListRequest& request) const;
+			DescribeDdosThresholdOutcome describeDdosThreshold(const Model::DescribeDdosThresholdRequest &request)const;
+			void describeDdosThresholdAsync(const Model::DescribeDdosThresholdRequest& request, const DescribeDdosThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDdosThresholdOutcomeCallable describeDdosThresholdCallable(const Model::DescribeDdosThresholdRequest& request) const;
+			DescribeInstanceOutcome describeInstance(const Model::DescribeInstanceRequest &request)const;
+			void describeInstanceAsync(const Model::DescribeInstanceRequest& request, const DescribeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceOutcomeCallable describeInstanceCallable(const Model::DescribeInstanceRequest& request) const;
+			DescribeInstanceIpAddressOutcome describeInstanceIpAddress(const Model::DescribeInstanceIpAddressRequest &request)const;
+			void describeInstanceIpAddressAsync(const Model::DescribeInstanceIpAddressRequest& request, const DescribeInstanceIpAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceIpAddressOutcomeCallable describeInstanceIpAddressCallable(const Model::DescribeInstanceIpAddressRequest& request) const;
+			DescribeIpDdosThresholdOutcome describeIpDdosThreshold(const Model::DescribeIpDdosThresholdRequest &request)const;
+			void describeIpDdosThresholdAsync(const Model::DescribeIpDdosThresholdRequest& request, const DescribeIpDdosThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeIpDdosThresholdOutcomeCallable describeIpDdosThresholdCallable(const Model::DescribeIpDdosThresholdRequest& request) const;
+			DescribeIpLocationServiceOutcome describeIpLocationService(const Model::DescribeIpLocationServiceRequest &request)const;
+			void describeIpLocationServiceAsync(const Model::DescribeIpLocationServiceRequest& request, const DescribeIpLocationServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeIpLocationServiceOutcomeCallable describeIpLocationServiceCallable(const Model::DescribeIpLocationServiceRequest& request) const;
+			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
+			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
+			ModifyDdosStatusOutcome modifyDdosStatus(const Model::ModifyDdosStatusRequest &request)const;
+			void modifyDdosStatusAsync(const Model::ModifyDdosStatusRequest& request, const ModifyDdosStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDdosStatusOutcomeCallable modifyDdosStatusCallable(const Model::ModifyDdosStatusRequest& request) const;
+			ModifyDefenseThresholdOutcome modifyDefenseThreshold(const Model::ModifyDefenseThresholdRequest &request)const;
+			void modifyDefenseThresholdAsync(const Model::ModifyDefenseThresholdRequest& request, const ModifyDefenseThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDefenseThresholdOutcomeCallable modifyDefenseThresholdCallable(const Model::ModifyDefenseThresholdRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_ANTIDDOS_PUBLICCLIENT_H_

+ 32 - 0
antiddos-public/include/alibabacloud/antiddos-public/Antiddos_publicExport.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_ANTIDDOS_PUBLIC_ANTIDDOS_PUBLICEXPORT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_ANTIDDOS_PUBLICEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_ANTIDDOS_PUBLIC_LIBRARY)
+#		define ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_ANTIDDOS_PUBLICEXPORT_H_

+ 51 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeBgpPackByIpRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEBGPPACKBYIPREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEBGPPACKBYIPREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeBgpPackByIpRequest : public RpcServiceRequest {
+public:
+	DescribeBgpPackByIpRequest();
+	~DescribeBgpPackByIpRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+
+private:
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string lang_;
+	std::string ip_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEBGPPACKBYIPREQUEST_H_

+ 63 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeBgpPackByIpResult.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEBGPPACKBYIPRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEBGPPACKBYIPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeBgpPackByIpResult : public ServiceResult
+			{
+			public:
+				struct DdosbgpInfo
+				{
+					std::string ddosbgpInstanceId;
+					std::string ip;
+					int elasticThreshold;
+					int baseThreshold;
+					long expireTime;
+				};
+
+
+				DescribeBgpPackByIpResult();
+				explicit DescribeBgpPackByIpResult(const std::string &payload);
+				~DescribeBgpPackByIpResult();
+				DdosbgpInfo getDdosbgpInfo()const;
+				int getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				DdosbgpInfo ddosbgpInfo_;
+				int code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEBGPPACKBYIPRESULT_H_

+ 60 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeCapRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBECAPREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBECAPREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeCapRequest : public RpcServiceRequest {
+public:
+	DescribeCapRequest();
+	~DescribeCapRequest();
+	std::string getInternetIp() const;
+	void setInternetIp(const std::string &internetIp);
+	long getBegTime() const;
+	void setBegTime(long begTime);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+
+private:
+	std::string internetIp_;
+	long begTime_;
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	std::string instanceId_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBECAPREQUEST_H_

+ 55 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeCapResult.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBECAPRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBECAPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeCapResult : public ServiceResult
+			{
+			public:
+				struct CapUrl
+				{
+					std::string url;
+				};
+
+
+				DescribeCapResult();
+				explicit DescribeCapResult(const std::string &payload);
+				~DescribeCapResult();
+				CapUrl getCapUrl()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				CapUrl capUrl_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBECAPRESULT_H_

+ 51 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCountRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCOUNTREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCOUNTREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosCountRequest : public RpcServiceRequest {
+public:
+	DescribeDdosCountRequest();
+	~DescribeDdosCountRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+
+private:
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCOUNTREQUEST_H_

+ 57 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCountResult.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCOUNTRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosCountResult : public ServiceResult
+			{
+			public:
+				struct DdosCount
+				{
+					int blackholeCount;
+					int defenseCount;
+					int instacenCount;
+				};
+
+
+				DescribeDdosCountResult();
+				explicit DescribeDdosCountResult(const std::string &payload);
+				~DescribeDdosCountResult();
+				DdosCount getDdosCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				DdosCount ddosCount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCOUNTRESULT_H_

+ 48 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCreditRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCREDITREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCREDITREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosCreditRequest : public RpcServiceRequest {
+public:
+	DescribeDdosCreditRequest();
+	~DescribeDdosCreditRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+
+private:
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string lang_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSCREDITREQUEST_H_

+ 59 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosCreditResult.h

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

+ 63 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosEventListRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSEVENTLISTREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSEVENTLISTREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosEventListRequest : public RpcServiceRequest {
+public:
+	DescribeDdosEventListRequest();
+	~DescribeDdosEventListRequest();
+	std::string getInternetIp() const;
+	void setInternetIp(const std::string &internetIp);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+
+private:
+	std::string internetIp_;
+	std::string sourceIp_;
+	int pageSize_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	int currentPage_;
+	std::string instanceId_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSEVENTLISTREQUEST_H_

+ 62 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosEventListResult.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSEVENTLISTRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSEVENTLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosEventListResult : public ServiceResult
+			{
+			public:
+				struct DdosEvent
+				{
+					long endTime;
+					long startTime;
+					std::string ddosStatus;
+					long unBlackholeTime;
+					std::string ddosType;
+					long delayTime;
+				};
+
+
+				DescribeDdosEventListResult();
+				explicit DescribeDdosEventListResult(const std::string &payload);
+				~DescribeDdosEventListResult();
+				std::vector<DdosEvent> getDdosEventList()const;
+				int getTotal()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DdosEvent> ddosEventList_;
+				int total_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSEVENTLISTRESULT_H_

+ 57 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosThresholdRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSTHRESHOLDREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSTHRESHOLDREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosThresholdRequest : public RpcServiceRequest {
+public:
+	DescribeDdosThresholdRequest();
+	~DescribeDdosThresholdRequest();
+	std::string getDdosType() const;
+	void setDdosType(const std::string &ddosType);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::vector<std::string> getInstanceIds() const;
+	void setInstanceIds(const std::vector<std::string> &instanceIds);
+
+private:
+	std::string ddosType_;
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	std::vector<std::string> instanceIds_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSTHRESHOLDREQUEST_H_

+ 63 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeDdosThresholdResult.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSTHRESHOLDRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSTHRESHOLDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeDdosThresholdResult : public ServiceResult
+			{
+			public:
+				struct Threshold
+				{
+					int elasticBps;
+					int maxBps;
+					int pps;
+					int bps;
+					std::string internetIp;
+					std::string instanceId;
+					std::string ddosType;
+					bool isAuto;
+					int maxPps;
+				};
+
+
+				DescribeDdosThresholdResult();
+				explicit DescribeDdosThresholdResult(const std::string &payload);
+				~DescribeDdosThresholdResult();
+				std::vector<Threshold> getThresholds()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Threshold> thresholds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEDDOSTHRESHOLDRESULT_H_

+ 78 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceIpAddressRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEIPADDRESSREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEIPADDRESSREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeInstanceIpAddressRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceIpAddressRequest();
+	~DescribeInstanceIpAddressRequest();
+	std::string getEagleEyeRpcId() const;
+	void setEagleEyeRpcId(const std::string &eagleEyeRpcId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getEagleEyeTraceId() const;
+	void setEagleEyeTraceId(const std::string &eagleEyeTraceId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getDdosStatus() const;
+	void setDdosStatus(const std::string &ddosStatus);
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getInstanceName() const;
+	void setInstanceName(const std::string &instanceName);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getEagleEyeUserData() const;
+	void setEagleEyeUserData(const std::string &eagleEyeUserData);
+	std::string getInstanceIp() const;
+	void setInstanceIp(const std::string &instanceIp);
+
+private:
+	std::string eagleEyeRpcId_;
+	std::string sourceIp_;
+	std::string eagleEyeTraceId_;
+	int pageSize_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	std::string ddosStatus_;
+	int currentPage_;
+	std::string instanceName_;
+	std::string instanceId_;
+	std::string eagleEyeUserData_;
+	std::string instanceIp_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEIPADDRESSREQUEST_H_

+ 73 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceIpAddressResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEIPADDRESSRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEIPADDRESSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeInstanceIpAddressResult : public ServiceResult
+			{
+			public:
+				struct Instance
+				{
+					struct IpAddressConfigItem
+					{
+						int defensePpsThreshold;
+						int defenseBpsThreshold;
+						std::string ipVersion;
+						std::string instanceIp;
+						std::string ipStatus;
+						std::string regionId;
+						int elasticThreshold;
+						bool isBgppack;
+						int blackholeThreshold;
+					};
+					std::string instanceName;
+					std::string instanceId;
+					std::string instanceStatus;
+					std::vector<Instance::IpAddressConfigItem> ipAddressConfig;
+					std::string instanceType;
+				};
+
+
+				DescribeInstanceIpAddressResult();
+				explicit DescribeInstanceIpAddressResult(const std::string &payload);
+				~DescribeInstanceIpAddressResult();
+				int getTotal()const;
+				std::vector<Instance> getInstanceList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int total_;
+				std::vector<Instance> instanceList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEIPADDRESSRESULT_H_

+ 78 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeInstanceRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceRequest();
+	~DescribeInstanceRequest();
+	std::string getEagleEyeRpcId() const;
+	void setEagleEyeRpcId(const std::string &eagleEyeRpcId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getEagleEyeTraceId() const;
+	void setEagleEyeTraceId(const std::string &eagleEyeTraceId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getDdosStatus() const;
+	void setDdosStatus(const std::string &ddosStatus);
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getInstanceName() const;
+	void setInstanceName(const std::string &instanceName);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getEagleEyeUserData() const;
+	void setEagleEyeUserData(const std::string &eagleEyeUserData);
+	std::string getInstanceIp() const;
+	void setInstanceIp(const std::string &instanceIp);
+
+private:
+	std::string eagleEyeRpcId_;
+	std::string sourceIp_;
+	std::string eagleEyeTraceId_;
+	int pageSize_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	std::string ddosStatus_;
+	int currentPage_;
+	std::string instanceName_;
+	std::string instanceId_;
+	std::string eagleEyeUserData_;
+	std::string instanceIp_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCEREQUEST_H_

+ 67 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeInstanceResult.h

@@ -0,0 +1,67 @@
+/*
+ * 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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCERESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeInstanceResult : public ServiceResult
+			{
+			public:
+				struct Instance
+				{
+					std::string instanceName;
+					int defensePpsThreshold;
+					int defenseBpsThreshold;
+					std::string ipVersion;
+					std::string instanceId;
+					std::string instanceStatus;
+					std::string instanceIp;
+					int elasticThreshold;
+					std::string instanceType;
+					bool isBgppack;
+					int blackholeThreshold;
+				};
+
+
+				DescribeInstanceResult();
+				explicit DescribeInstanceResult(const std::string &payload);
+				~DescribeInstanceResult();
+				int getTotal()const;
+				std::vector<Instance> getInstanceList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int total_;
+				std::vector<Instance> instanceList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEINSTANCERESULT_H_

+ 60 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpDdosThresholdRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPDDOSTHRESHOLDREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPDDOSTHRESHOLDREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeIpDdosThresholdRequest : public RpcServiceRequest {
+public:
+	DescribeIpDdosThresholdRequest();
+	~DescribeIpDdosThresholdRequest();
+	std::string getInternetIp() const;
+	void setInternetIp(const std::string &internetIp);
+	std::string getDdosType() const;
+	void setDdosType(const std::string &ddosType);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+
+private:
+	std::string internetIp_;
+	std::string ddosType_;
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	std::string instanceId_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPDDOSTHRESHOLDREQUEST_H_

+ 63 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpDdosThresholdResult.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPDDOSTHRESHOLDRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPDDOSTHRESHOLDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeIpDdosThresholdResult : public ServiceResult
+			{
+			public:
+				struct Threshold
+				{
+					int elasticBps;
+					int maxBps;
+					int pps;
+					int bps;
+					std::string internetIp;
+					std::string instanceId;
+					std::string ddosType;
+					bool isAuto;
+					int maxPps;
+				};
+
+
+				DescribeIpDdosThresholdResult();
+				explicit DescribeIpDdosThresholdResult(const std::string &payload);
+				~DescribeIpDdosThresholdResult();
+				Threshold getThreshold()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Threshold threshold_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPDDOSTHRESHOLDRESULT_H_

+ 57 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpLocationServiceRequest.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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPLOCATIONSERVICEREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPLOCATIONSERVICEREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeIpLocationServiceRequest : public RpcServiceRequest {
+public:
+	DescribeIpLocationServiceRequest();
+	~DescribeIpLocationServiceRequest();
+	std::string getInternetIp() const;
+	void setInternetIp(const std::string &internetIp);
+	std::string getEagleEyeRpcId() const;
+	void setEagleEyeRpcId(const std::string &eagleEyeRpcId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getEagleEyeTraceId() const;
+	void setEagleEyeTraceId(const std::string &eagleEyeTraceId);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getEagleEyeUserData() const;
+	void setEagleEyeUserData(const std::string &eagleEyeUserData);
+
+private:
+	std::string internetIp_;
+	std::string eagleEyeRpcId_;
+	std::string sourceIp_;
+	std::string eagleEyeTraceId_;
+	std::string lang_;
+	std::string eagleEyeUserData_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEIPLOCATIONSERVICEREQUEST_H_

+ 59 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeIpLocationServiceResult.h

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

+ 45 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeRegionsRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeRegionsRequest : public RpcServiceRequest {
+public:
+	DescribeRegionsRequest();
+	~DescribeRegionsRequest();
+	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_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 58 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/DescribeRegionsResult.h

@@ -0,0 +1,58 @@
+/*
+ * 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_ANTIDDOS_PUBLIC_MODEL_DESCRIBEREGIONSRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEREGIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT DescribeRegionsResult : public ServiceResult
+			{
+			public:
+				struct Region
+				{
+					std::string regionNo;
+					std::string regionName;
+					std::string regionEnName;
+					std::string regionNoAlias;
+				};
+
+
+				DescribeRegionsResult();
+				explicit DescribeRegionsResult(const std::string &payload);
+				~DescribeRegionsResult();
+				std::vector<Region> getRegions()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Region> regions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_DESCRIBEREGIONSRESULT_H_

+ 57 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDdosStatusRequest.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_ANTIDDOS_PUBLIC_MODEL_MODIFYDDOSSTATUSREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDDOSSTATUSREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT ModifyDdosStatusRequest : public RpcServiceRequest {
+public:
+	ModifyDdosStatusRequest();
+	~ModifyDdosStatusRequest();
+	std::string getInternetIp() const;
+	void setInternetIp(const std::string &internetIp);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+
+private:
+	std::string internetIp_;
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	std::string instanceId_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDDOSSTATUSREQUEST_H_

+ 49 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDdosStatusResult.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_ANTIDDOS_PUBLIC_MODEL_MODIFYDDOSSTATUSRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDDOSSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT ModifyDdosStatusResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDdosStatusResult();
+				explicit ModifyDdosStatusResult(const std::string &payload);
+				~ModifyDdosStatusResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDDOSSTATUSRESULT_H_

+ 66 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDefenseThresholdRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDEFENSETHRESHOLDREQUEST_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDEFENSETHRESHOLDREQUEST_H_
+
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Antiddos_public {
+namespace Model {
+class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT ModifyDefenseThresholdRequest : public RpcServiceRequest {
+public:
+	ModifyDefenseThresholdRequest();
+	~ModifyDefenseThresholdRequest();
+	std::string getInternetIp() const;
+	void setInternetIp(const std::string &internetIp);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getDdosRegionId() const;
+	void setDdosRegionId(const std::string &ddosRegionId);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	int getBps() const;
+	void setBps(int bps);
+	int getPps() const;
+	void setPps(int pps);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	bool getIsAuto() const;
+	void setIsAuto(bool isAuto);
+
+private:
+	std::string internetIp_;
+	std::string sourceIp_;
+	std::string ddosRegionId_;
+	std::string instanceType_;
+	std::string lang_;
+	int bps_;
+	int pps_;
+	std::string instanceId_;
+	bool isAuto_;
+};
+} // namespace Model
+} // namespace Antiddos_public
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDEFENSETHRESHOLDREQUEST_H_

+ 49 - 0
antiddos-public/include/alibabacloud/antiddos-public/model/ModifyDefenseThresholdResult.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_ANTIDDOS_PUBLIC_MODEL_MODIFYDEFENSETHRESHOLDRESULT_H_
+#define ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDEFENSETHRESHOLDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/antiddos-public/Antiddos_publicExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Antiddos_public
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ANTIDDOS_PUBLIC_EXPORT ModifyDefenseThresholdResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDefenseThresholdResult();
+				explicit ModifyDefenseThresholdResult(const std::string &payload);
+				~ModifyDefenseThresholdResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ANTIDDOS_PUBLIC_MODEL_MODIFYDEFENSETHRESHOLDRESULT_H_

+ 521 - 0
antiddos-public/src/Antiddos-publicClient.cc

@@ -0,0 +1,521 @@
+/*
+ * 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/antiddos-public/Antiddos_publicClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "antiddos-public";
+}
+
+Antiddos_publicClient::Antiddos_publicClient(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, "");
+}
+
+Antiddos_publicClient::Antiddos_publicClient(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, "");
+}
+
+Antiddos_publicClient::Antiddos_publicClient(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, "");
+}
+
+Antiddos_publicClient::~Antiddos_publicClient()
+{}
+
+Antiddos_publicClient::DescribeBgpPackByIpOutcome Antiddos_publicClient::describeBgpPackByIp(const DescribeBgpPackByIpRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBgpPackByIpOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBgpPackByIpOutcome(DescribeBgpPackByIpResult(outcome.result()));
+	else
+		return DescribeBgpPackByIpOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeBgpPackByIpAsync(const DescribeBgpPackByIpRequest& request, const DescribeBgpPackByIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBgpPackByIp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeBgpPackByIpOutcomeCallable Antiddos_publicClient::describeBgpPackByIpCallable(const DescribeBgpPackByIpRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBgpPackByIpOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBgpPackByIp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeCapOutcome Antiddos_publicClient::describeCap(const DescribeCapRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCapOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCapOutcome(DescribeCapResult(outcome.result()));
+	else
+		return DescribeCapOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeCapAsync(const DescribeCapRequest& request, const DescribeCapAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCap(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeCapOutcomeCallable Antiddos_publicClient::describeCapCallable(const DescribeCapRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCapOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCap(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeDdosCountOutcome Antiddos_publicClient::describeDdosCount(const DescribeDdosCountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDdosCountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDdosCountOutcome(DescribeDdosCountResult(outcome.result()));
+	else
+		return DescribeDdosCountOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeDdosCountAsync(const DescribeDdosCountRequest& request, const DescribeDdosCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDdosCount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeDdosCountOutcomeCallable Antiddos_publicClient::describeDdosCountCallable(const DescribeDdosCountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDdosCountOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDdosCount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeDdosCreditOutcome Antiddos_publicClient::describeDdosCredit(const DescribeDdosCreditRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDdosCreditOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDdosCreditOutcome(DescribeDdosCreditResult(outcome.result()));
+	else
+		return DescribeDdosCreditOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeDdosCreditAsync(const DescribeDdosCreditRequest& request, const DescribeDdosCreditAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDdosCredit(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeDdosCreditOutcomeCallable Antiddos_publicClient::describeDdosCreditCallable(const DescribeDdosCreditRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDdosCreditOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDdosCredit(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeDdosEventListOutcome Antiddos_publicClient::describeDdosEventList(const DescribeDdosEventListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDdosEventListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDdosEventListOutcome(DescribeDdosEventListResult(outcome.result()));
+	else
+		return DescribeDdosEventListOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeDdosEventListAsync(const DescribeDdosEventListRequest& request, const DescribeDdosEventListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDdosEventList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeDdosEventListOutcomeCallable Antiddos_publicClient::describeDdosEventListCallable(const DescribeDdosEventListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDdosEventListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDdosEventList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeDdosThresholdOutcome Antiddos_publicClient::describeDdosThreshold(const DescribeDdosThresholdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDdosThresholdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDdosThresholdOutcome(DescribeDdosThresholdResult(outcome.result()));
+	else
+		return DescribeDdosThresholdOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeDdosThresholdAsync(const DescribeDdosThresholdRequest& request, const DescribeDdosThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDdosThreshold(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeDdosThresholdOutcomeCallable Antiddos_publicClient::describeDdosThresholdCallable(const DescribeDdosThresholdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDdosThresholdOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDdosThreshold(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeInstanceOutcome Antiddos_publicClient::describeInstance(const DescribeInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceOutcome(DescribeInstanceResult(outcome.result()));
+	else
+		return DescribeInstanceOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeInstanceAsync(const DescribeInstanceRequest& request, const DescribeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeInstanceOutcomeCallable Antiddos_publicClient::describeInstanceCallable(const DescribeInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeInstanceIpAddressOutcome Antiddos_publicClient::describeInstanceIpAddress(const DescribeInstanceIpAddressRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceIpAddressOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceIpAddressOutcome(DescribeInstanceIpAddressResult(outcome.result()));
+	else
+		return DescribeInstanceIpAddressOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeInstanceIpAddressAsync(const DescribeInstanceIpAddressRequest& request, const DescribeInstanceIpAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceIpAddress(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeInstanceIpAddressOutcomeCallable Antiddos_publicClient::describeInstanceIpAddressCallable(const DescribeInstanceIpAddressRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceIpAddressOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceIpAddress(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeIpDdosThresholdOutcome Antiddos_publicClient::describeIpDdosThreshold(const DescribeIpDdosThresholdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeIpDdosThresholdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeIpDdosThresholdOutcome(DescribeIpDdosThresholdResult(outcome.result()));
+	else
+		return DescribeIpDdosThresholdOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeIpDdosThresholdAsync(const DescribeIpDdosThresholdRequest& request, const DescribeIpDdosThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeIpDdosThreshold(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeIpDdosThresholdOutcomeCallable Antiddos_publicClient::describeIpDdosThresholdCallable(const DescribeIpDdosThresholdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeIpDdosThresholdOutcome()>>(
+			[this, request]()
+			{
+			return this->describeIpDdosThreshold(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeIpLocationServiceOutcome Antiddos_publicClient::describeIpLocationService(const DescribeIpLocationServiceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeIpLocationServiceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeIpLocationServiceOutcome(DescribeIpLocationServiceResult(outcome.result()));
+	else
+		return DescribeIpLocationServiceOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeIpLocationServiceAsync(const DescribeIpLocationServiceRequest& request, const DescribeIpLocationServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeIpLocationService(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeIpLocationServiceOutcomeCallable Antiddos_publicClient::describeIpLocationServiceCallable(const DescribeIpLocationServiceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeIpLocationServiceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeIpLocationService(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::DescribeRegionsOutcome Antiddos_publicClient::describeRegions(const DescribeRegionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRegionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
+	else
+		return DescribeRegionsOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRegions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::DescribeRegionsOutcomeCallable Antiddos_publicClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRegions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::ModifyDdosStatusOutcome Antiddos_publicClient::modifyDdosStatus(const ModifyDdosStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDdosStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDdosStatusOutcome(ModifyDdosStatusResult(outcome.result()));
+	else
+		return ModifyDdosStatusOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::modifyDdosStatusAsync(const ModifyDdosStatusRequest& request, const ModifyDdosStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDdosStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::ModifyDdosStatusOutcomeCallable Antiddos_publicClient::modifyDdosStatusCallable(const ModifyDdosStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDdosStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDdosStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+Antiddos_publicClient::ModifyDefenseThresholdOutcome Antiddos_publicClient::modifyDefenseThreshold(const ModifyDefenseThresholdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDefenseThresholdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDefenseThresholdOutcome(ModifyDefenseThresholdResult(outcome.result()));
+	else
+		return ModifyDefenseThresholdOutcome(outcome.error());
+}
+
+void Antiddos_publicClient::modifyDefenseThresholdAsync(const ModifyDefenseThresholdRequest& request, const ModifyDefenseThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDefenseThreshold(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Antiddos_publicClient::ModifyDefenseThresholdOutcomeCallable Antiddos_publicClient::modifyDefenseThresholdCallable(const ModifyDefenseThresholdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDefenseThresholdOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDefenseThreshold(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 63 - 0
antiddos-public/src/model/DescribeBgpPackByIpRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeBgpPackByIpRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeBgpPackByIpRequest;
+
+DescribeBgpPackByIpRequest::DescribeBgpPackByIpRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeBgpPackByIp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeBgpPackByIpRequest::~DescribeBgpPackByIpRequest() {}
+
+std::string DescribeBgpPackByIpRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeBgpPackByIpRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeBgpPackByIpRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeBgpPackByIpRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeBgpPackByIpRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeBgpPackByIpRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string DescribeBgpPackByIpRequest::getIp() const {
+  return ip_;
+}
+
+void DescribeBgpPackByIpRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+

+ 74 - 0
antiddos-public/src/model/DescribeBgpPackByIpResult.cc

@@ -0,0 +1,74 @@
+/*
+ * 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/antiddos-public/model/DescribeBgpPackByIpResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeBgpPackByIpResult::DescribeBgpPackByIpResult() :
+	ServiceResult()
+{}
+
+DescribeBgpPackByIpResult::DescribeBgpPackByIpResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeBgpPackByIpResult::~DescribeBgpPackByIpResult()
+{}
+
+void DescribeBgpPackByIpResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto ddosbgpInfoNode = value["DdosbgpInfo"];
+	if(!ddosbgpInfoNode["Ip"].isNull())
+		ddosbgpInfo_.ip = ddosbgpInfoNode["Ip"].asString();
+	if(!ddosbgpInfoNode["ExpireTime"].isNull())
+		ddosbgpInfo_.expireTime = std::stol(ddosbgpInfoNode["ExpireTime"].asString());
+	if(!ddosbgpInfoNode["ElasticThreshold"].isNull())
+		ddosbgpInfo_.elasticThreshold = std::stoi(ddosbgpInfoNode["ElasticThreshold"].asString());
+	if(!ddosbgpInfoNode["BaseThreshold"].isNull())
+		ddosbgpInfo_.baseThreshold = std::stoi(ddosbgpInfoNode["BaseThreshold"].asString());
+	if(!ddosbgpInfoNode["DdosbgpInstanceId"].isNull())
+		ddosbgpInfo_.ddosbgpInstanceId = ddosbgpInfoNode["DdosbgpInstanceId"].asString();
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeBgpPackByIpResult::DdosbgpInfo DescribeBgpPackByIpResult::getDdosbgpInfo()const
+{
+	return ddosbgpInfo_;
+}
+
+int DescribeBgpPackByIpResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeBgpPackByIpResult::getSuccess()const
+{
+	return success_;
+}
+

+ 90 - 0
antiddos-public/src/model/DescribeCapRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeCapRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeCapRequest;
+
+DescribeCapRequest::DescribeCapRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeCap") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCapRequest::~DescribeCapRequest() {}
+
+std::string DescribeCapRequest::getInternetIp() const {
+  return internetIp_;
+}
+
+void DescribeCapRequest::setInternetIp(const std::string &internetIp) {
+  internetIp_ = internetIp;
+  setParameter(std::string("InternetIp"), internetIp);
+}
+
+long DescribeCapRequest::getBegTime() const {
+  return begTime_;
+}
+
+void DescribeCapRequest::setBegTime(long begTime) {
+  begTime_ = begTime;
+  setParameter(std::string("BegTime"), std::to_string(begTime));
+}
+
+std::string DescribeCapRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeCapRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeCapRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeCapRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeCapRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeCapRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeCapRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeCapRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string DescribeCapRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeCapRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+

+ 52 - 0
antiddos-public/src/model/DescribeCapResult.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/antiddos-public/model/DescribeCapResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeCapResult::DescribeCapResult() :
+	ServiceResult()
+{}
+
+DescribeCapResult::DescribeCapResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCapResult::~DescribeCapResult()
+{}
+
+void DescribeCapResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto capUrlNode = value["CapUrl"];
+	if(!capUrlNode["Url"].isNull())
+		capUrl_.url = capUrlNode["Url"].asString();
+
+}
+
+DescribeCapResult::CapUrl DescribeCapResult::getCapUrl()const
+{
+	return capUrl_;
+}
+

+ 63 - 0
antiddos-public/src/model/DescribeDdosCountRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeDdosCountRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeDdosCountRequest;
+
+DescribeDdosCountRequest::DescribeDdosCountRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeDdosCount") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDdosCountRequest::~DescribeDdosCountRequest() {}
+
+std::string DescribeDdosCountRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeDdosCountRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeDdosCountRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeDdosCountRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeDdosCountRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeDdosCountRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeDdosCountRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeDdosCountRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+

+ 56 - 0
antiddos-public/src/model/DescribeDdosCountResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeDdosCountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeDdosCountResult::DescribeDdosCountResult() :
+	ServiceResult()
+{}
+
+DescribeDdosCountResult::DescribeDdosCountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDdosCountResult::~DescribeDdosCountResult()
+{}
+
+void DescribeDdosCountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto ddosCountNode = value["DdosCount"];
+	if(!ddosCountNode["BlackholeCount"].isNull())
+		ddosCount_.blackholeCount = std::stoi(ddosCountNode["BlackholeCount"].asString());
+	if(!ddosCountNode["InstacenCount"].isNull())
+		ddosCount_.instacenCount = std::stoi(ddosCountNode["InstacenCount"].asString());
+	if(!ddosCountNode["DefenseCount"].isNull())
+		ddosCount_.defenseCount = std::stoi(ddosCountNode["DefenseCount"].asString());
+
+}
+
+DescribeDdosCountResult::DdosCount DescribeDdosCountResult::getDdosCount()const
+{
+	return ddosCount_;
+}
+

+ 54 - 0
antiddos-public/src/model/DescribeDdosCreditRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeDdosCreditRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeDdosCreditRequest;
+
+DescribeDdosCreditRequest::DescribeDdosCreditRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeDdosCredit") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDdosCreditRequest::~DescribeDdosCreditRequest() {}
+
+std::string DescribeDdosCreditRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeDdosCreditRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeDdosCreditRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeDdosCreditRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeDdosCreditRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeDdosCreditRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+

+ 63 - 0
antiddos-public/src/model/DescribeDdosCreditResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeDdosCreditResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeDdosCreditResult::DescribeDdosCreditResult() :
+	ServiceResult()
+{}
+
+DescribeDdosCreditResult::DescribeDdosCreditResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDdosCreditResult::~DescribeDdosCreditResult()
+{}
+
+void DescribeDdosCreditResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto ddosCreditNode = value["DdosCredit"];
+	if(!ddosCreditNode["Score"].isNull())
+		ddosCredit_.score = std::stoi(ddosCreditNode["Score"].asString());
+	if(!ddosCreditNode["ScoreLevel"].isNull())
+		ddosCredit_.scoreLevel = ddosCreditNode["ScoreLevel"].asString();
+	if(!ddosCreditNode["BlackholeTime"].isNull())
+		ddosCredit_.blackholeTime = std::stoi(ddosCreditNode["BlackholeTime"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+DescribeDdosCreditResult::DdosCredit DescribeDdosCreditResult::getDdosCredit()const
+{
+	return ddosCredit_;
+}
+
+bool DescribeDdosCreditResult::getSuccess()const
+{
+	return success_;
+}
+

+ 99 - 0
antiddos-public/src/model/DescribeDdosEventListRequest.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/antiddos-public/model/DescribeDdosEventListRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeDdosEventListRequest;
+
+DescribeDdosEventListRequest::DescribeDdosEventListRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeDdosEventList") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDdosEventListRequest::~DescribeDdosEventListRequest() {}
+
+std::string DescribeDdosEventListRequest::getInternetIp() const {
+  return internetIp_;
+}
+
+void DescribeDdosEventListRequest::setInternetIp(const std::string &internetIp) {
+  internetIp_ = internetIp;
+  setParameter(std::string("InternetIp"), internetIp);
+}
+
+std::string DescribeDdosEventListRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeDdosEventListRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+int DescribeDdosEventListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeDdosEventListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeDdosEventListRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeDdosEventListRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeDdosEventListRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeDdosEventListRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeDdosEventListRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeDdosEventListRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+int DescribeDdosEventListRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void DescribeDdosEventListRequest::setCurrentPage(int currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string DescribeDdosEventListRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeDdosEventListRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+

+ 74 - 0
antiddos-public/src/model/DescribeDdosEventListResult.cc

@@ -0,0 +1,74 @@
+/*
+ * 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/antiddos-public/model/DescribeDdosEventListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeDdosEventListResult::DescribeDdosEventListResult() :
+	ServiceResult()
+{}
+
+DescribeDdosEventListResult::DescribeDdosEventListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDdosEventListResult::~DescribeDdosEventListResult()
+{}
+
+void DescribeDdosEventListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDdosEventListNode = value["DdosEventList"]["DdosEvent"];
+	for (auto valueDdosEventListDdosEvent : allDdosEventListNode)
+	{
+		DdosEvent ddosEventListObject;
+		if(!valueDdosEventListDdosEvent["DdosType"].isNull())
+			ddosEventListObject.ddosType = valueDdosEventListDdosEvent["DdosType"].asString();
+		if(!valueDdosEventListDdosEvent["EndTime"].isNull())
+			ddosEventListObject.endTime = std::stol(valueDdosEventListDdosEvent["EndTime"].asString());
+		if(!valueDdosEventListDdosEvent["StartTime"].isNull())
+			ddosEventListObject.startTime = std::stol(valueDdosEventListDdosEvent["StartTime"].asString());
+		if(!valueDdosEventListDdosEvent["DelayTime"].isNull())
+			ddosEventListObject.delayTime = std::stol(valueDdosEventListDdosEvent["DelayTime"].asString());
+		if(!valueDdosEventListDdosEvent["DdosStatus"].isNull())
+			ddosEventListObject.ddosStatus = valueDdosEventListDdosEvent["DdosStatus"].asString();
+		if(!valueDdosEventListDdosEvent["UnBlackholeTime"].isNull())
+			ddosEventListObject.unBlackholeTime = std::stol(valueDdosEventListDdosEvent["UnBlackholeTime"].asString());
+		ddosEventList_.push_back(ddosEventListObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
+
+}
+
+std::vector<DescribeDdosEventListResult::DdosEvent> DescribeDdosEventListResult::getDdosEventList()const
+{
+	return ddosEventList_;
+}
+
+int DescribeDdosEventListResult::getTotal()const
+{
+	return total_;
+}
+

+ 80 - 0
antiddos-public/src/model/DescribeDdosThresholdRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeDdosThresholdRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeDdosThresholdRequest;
+
+DescribeDdosThresholdRequest::DescribeDdosThresholdRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeDdosThreshold") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDdosThresholdRequest::~DescribeDdosThresholdRequest() {}
+
+std::string DescribeDdosThresholdRequest::getDdosType() const {
+  return ddosType_;
+}
+
+void DescribeDdosThresholdRequest::setDdosType(const std::string &ddosType) {
+  ddosType_ = ddosType;
+  setParameter(std::string("DdosType"), ddosType);
+}
+
+std::string DescribeDdosThresholdRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeDdosThresholdRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeDdosThresholdRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeDdosThresholdRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeDdosThresholdRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeDdosThresholdRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeDdosThresholdRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeDdosThresholdRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::vector<std::string> DescribeDdosThresholdRequest::getInstanceIds() const {
+  return instanceIds_;
+}
+
+void DescribeDdosThresholdRequest::setInstanceIds(const std::vector<std::string> &instanceIds) {
+  instanceIds_ = instanceIds;
+}
+

+ 73 - 0
antiddos-public/src/model/DescribeDdosThresholdResult.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeDdosThresholdResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeDdosThresholdResult::DescribeDdosThresholdResult() :
+	ServiceResult()
+{}
+
+DescribeDdosThresholdResult::DescribeDdosThresholdResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDdosThresholdResult::~DescribeDdosThresholdResult()
+{}
+
+void DescribeDdosThresholdResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allThresholdsNode = value["Thresholds"]["Threshold"];
+	for (auto valueThresholdsThreshold : allThresholdsNode)
+	{
+		Threshold thresholdsObject;
+		if(!valueThresholdsThreshold["DdosType"].isNull())
+			thresholdsObject.ddosType = valueThresholdsThreshold["DdosType"].asString();
+		if(!valueThresholdsThreshold["IsAuto"].isNull())
+			thresholdsObject.isAuto = valueThresholdsThreshold["IsAuto"].asString() == "true";
+		if(!valueThresholdsThreshold["MaxBps"].isNull())
+			thresholdsObject.maxBps = std::stoi(valueThresholdsThreshold["MaxBps"].asString());
+		if(!valueThresholdsThreshold["ElasticBps"].isNull())
+			thresholdsObject.elasticBps = std::stoi(valueThresholdsThreshold["ElasticBps"].asString());
+		if(!valueThresholdsThreshold["InstanceId"].isNull())
+			thresholdsObject.instanceId = valueThresholdsThreshold["InstanceId"].asString();
+		if(!valueThresholdsThreshold["Bps"].isNull())
+			thresholdsObject.bps = std::stoi(valueThresholdsThreshold["Bps"].asString());
+		if(!valueThresholdsThreshold["Pps"].isNull())
+			thresholdsObject.pps = std::stoi(valueThresholdsThreshold["Pps"].asString());
+		if(!valueThresholdsThreshold["MaxPps"].isNull())
+			thresholdsObject.maxPps = std::stoi(valueThresholdsThreshold["MaxPps"].asString());
+		if(!valueThresholdsThreshold["InternetIp"].isNull())
+			thresholdsObject.internetIp = valueThresholdsThreshold["InternetIp"].asString();
+		thresholds_.push_back(thresholdsObject);
+	}
+
+}
+
+std::vector<DescribeDdosThresholdResult::Threshold> DescribeDdosThresholdResult::getThresholds()const
+{
+	return thresholds_;
+}
+

+ 144 - 0
antiddos-public/src/model/DescribeInstanceIpAddressRequest.cc

@@ -0,0 +1,144 @@
+/*
+ * 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/antiddos-public/model/DescribeInstanceIpAddressRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeInstanceIpAddressRequest;
+
+DescribeInstanceIpAddressRequest::DescribeInstanceIpAddressRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeInstanceIpAddress") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceIpAddressRequest::~DescribeInstanceIpAddressRequest() {}
+
+std::string DescribeInstanceIpAddressRequest::getEagleEyeRpcId() const {
+  return eagleEyeRpcId_;
+}
+
+void DescribeInstanceIpAddressRequest::setEagleEyeRpcId(const std::string &eagleEyeRpcId) {
+  eagleEyeRpcId_ = eagleEyeRpcId;
+  setBodyParameter(std::string("EagleEyeRpcId"), eagleEyeRpcId);
+}
+
+std::string DescribeInstanceIpAddressRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeInstanceIpAddressRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeInstanceIpAddressRequest::getEagleEyeTraceId() const {
+  return eagleEyeTraceId_;
+}
+
+void DescribeInstanceIpAddressRequest::setEagleEyeTraceId(const std::string &eagleEyeTraceId) {
+  eagleEyeTraceId_ = eagleEyeTraceId;
+  setBodyParameter(std::string("EagleEyeTraceId"), eagleEyeTraceId);
+}
+
+int DescribeInstanceIpAddressRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeInstanceIpAddressRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeInstanceIpAddressRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeInstanceIpAddressRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeInstanceIpAddressRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeInstanceIpAddressRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeInstanceIpAddressRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeInstanceIpAddressRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string DescribeInstanceIpAddressRequest::getDdosStatus() const {
+  return ddosStatus_;
+}
+
+void DescribeInstanceIpAddressRequest::setDdosStatus(const std::string &ddosStatus) {
+  ddosStatus_ = ddosStatus;
+  setParameter(std::string("DdosStatus"), ddosStatus);
+}
+
+int DescribeInstanceIpAddressRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void DescribeInstanceIpAddressRequest::setCurrentPage(int currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string DescribeInstanceIpAddressRequest::getInstanceName() const {
+  return instanceName_;
+}
+
+void DescribeInstanceIpAddressRequest::setInstanceName(const std::string &instanceName) {
+  instanceName_ = instanceName;
+  setParameter(std::string("InstanceName"), instanceName);
+}
+
+std::string DescribeInstanceIpAddressRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeInstanceIpAddressRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DescribeInstanceIpAddressRequest::getEagleEyeUserData() const {
+  return eagleEyeUserData_;
+}
+
+void DescribeInstanceIpAddressRequest::setEagleEyeUserData(const std::string &eagleEyeUserData) {
+  eagleEyeUserData_ = eagleEyeUserData;
+  setBodyParameter(std::string("EagleEyeUserData"), eagleEyeUserData);
+}
+
+std::string DescribeInstanceIpAddressRequest::getInstanceIp() const {
+  return instanceIp_;
+}
+
+void DescribeInstanceIpAddressRequest::setInstanceIp(const std::string &instanceIp) {
+  instanceIp_ = instanceIp;
+  setParameter(std::string("InstanceIp"), instanceIp);
+}
+

+ 94 - 0
antiddos-public/src/model/DescribeInstanceIpAddressResult.cc

@@ -0,0 +1,94 @@
+/*
+ * 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/antiddos-public/model/DescribeInstanceIpAddressResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeInstanceIpAddressResult::DescribeInstanceIpAddressResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceIpAddressResult::DescribeInstanceIpAddressResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceIpAddressResult::~DescribeInstanceIpAddressResult()
+{}
+
+void DescribeInstanceIpAddressResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInstanceListNode = value["InstanceList"]["Instance"];
+	for (auto valueInstanceListInstance : allInstanceListNode)
+	{
+		Instance instanceListObject;
+		if(!valueInstanceListInstance["InstanceId"].isNull())
+			instanceListObject.instanceId = valueInstanceListInstance["InstanceId"].asString();
+		if(!valueInstanceListInstance["InstanceType"].isNull())
+			instanceListObject.instanceType = valueInstanceListInstance["InstanceType"].asString();
+		if(!valueInstanceListInstance["InstanceName"].isNull())
+			instanceListObject.instanceName = valueInstanceListInstance["InstanceName"].asString();
+		if(!valueInstanceListInstance["InstanceStatus"].isNull())
+			instanceListObject.instanceStatus = valueInstanceListInstance["InstanceStatus"].asString();
+		auto allIpAddressConfigNode = valueInstanceListInstance["IpAddressConfig"]["IpAddressConfigItem"];
+		for (auto valueInstanceListInstanceIpAddressConfigIpAddressConfigItem : allIpAddressConfigNode)
+		{
+			Instance::IpAddressConfigItem ipAddressConfigObject;
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["InstanceIp"].isNull())
+				ipAddressConfigObject.instanceIp = valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["InstanceIp"].asString();
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["IsBgppack"].isNull())
+				ipAddressConfigObject.isBgppack = valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["IsBgppack"].asString() == "true";
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["IpVersion"].isNull())
+				ipAddressConfigObject.ipVersion = valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["IpVersion"].asString();
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["IpStatus"].isNull())
+				ipAddressConfigObject.ipStatus = valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["IpStatus"].asString();
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["RegionId"].isNull())
+				ipAddressConfigObject.regionId = valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["RegionId"].asString();
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["ElasticThreshold"].isNull())
+				ipAddressConfigObject.elasticThreshold = std::stoi(valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["ElasticThreshold"].asString());
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["BlackholeThreshold"].isNull())
+				ipAddressConfigObject.blackholeThreshold = std::stoi(valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["BlackholeThreshold"].asString());
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["DefenseBpsThreshold"].isNull())
+				ipAddressConfigObject.defenseBpsThreshold = std::stoi(valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["DefenseBpsThreshold"].asString());
+			if(!valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["DefensePpsThreshold"].isNull())
+				ipAddressConfigObject.defensePpsThreshold = std::stoi(valueInstanceListInstanceIpAddressConfigIpAddressConfigItem["DefensePpsThreshold"].asString());
+			instanceListObject.ipAddressConfig.push_back(ipAddressConfigObject);
+		}
+		instanceList_.push_back(instanceListObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
+
+}
+
+int DescribeInstanceIpAddressResult::getTotal()const
+{
+	return total_;
+}
+
+std::vector<DescribeInstanceIpAddressResult::Instance> DescribeInstanceIpAddressResult::getInstanceList()const
+{
+	return instanceList_;
+}
+

+ 144 - 0
antiddos-public/src/model/DescribeInstanceRequest.cc

@@ -0,0 +1,144 @@
+/*
+ * 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/antiddos-public/model/DescribeInstanceRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeInstanceRequest;
+
+DescribeInstanceRequest::DescribeInstanceRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeInstance") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceRequest::~DescribeInstanceRequest() {}
+
+std::string DescribeInstanceRequest::getEagleEyeRpcId() const {
+  return eagleEyeRpcId_;
+}
+
+void DescribeInstanceRequest::setEagleEyeRpcId(const std::string &eagleEyeRpcId) {
+  eagleEyeRpcId_ = eagleEyeRpcId;
+  setBodyParameter(std::string("eagleEyeRpcId"), eagleEyeRpcId);
+}
+
+std::string DescribeInstanceRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeInstanceRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeInstanceRequest::getEagleEyeTraceId() const {
+  return eagleEyeTraceId_;
+}
+
+void DescribeInstanceRequest::setEagleEyeTraceId(const std::string &eagleEyeTraceId) {
+  eagleEyeTraceId_ = eagleEyeTraceId;
+  setBodyParameter(std::string("eagleEyeTraceId"), eagleEyeTraceId);
+}
+
+int DescribeInstanceRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeInstanceRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeInstanceRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeInstanceRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeInstanceRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeInstanceRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeInstanceRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeInstanceRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string DescribeInstanceRequest::getDdosStatus() const {
+  return ddosStatus_;
+}
+
+void DescribeInstanceRequest::setDdosStatus(const std::string &ddosStatus) {
+  ddosStatus_ = ddosStatus;
+  setParameter(std::string("DdosStatus"), ddosStatus);
+}
+
+int DescribeInstanceRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void DescribeInstanceRequest::setCurrentPage(int currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string DescribeInstanceRequest::getInstanceName() const {
+  return instanceName_;
+}
+
+void DescribeInstanceRequest::setInstanceName(const std::string &instanceName) {
+  instanceName_ = instanceName;
+  setParameter(std::string("InstanceName"), instanceName);
+}
+
+std::string DescribeInstanceRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeInstanceRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DescribeInstanceRequest::getEagleEyeUserData() const {
+  return eagleEyeUserData_;
+}
+
+void DescribeInstanceRequest::setEagleEyeUserData(const std::string &eagleEyeUserData) {
+  eagleEyeUserData_ = eagleEyeUserData;
+  setBodyParameter(std::string("eagleEyeUserData"), eagleEyeUserData);
+}
+
+std::string DescribeInstanceRequest::getInstanceIp() const {
+  return instanceIp_;
+}
+
+void DescribeInstanceRequest::setInstanceIp(const std::string &instanceIp) {
+  instanceIp_ = instanceIp;
+  setParameter(std::string("InstanceIp"), instanceIp);
+}
+

+ 84 - 0
antiddos-public/src/model/DescribeInstanceResult.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/antiddos-public/model/DescribeInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeInstanceResult::DescribeInstanceResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceResult::DescribeInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceResult::~DescribeInstanceResult()
+{}
+
+void DescribeInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInstanceListNode = value["InstanceList"]["Instance"];
+	for (auto valueInstanceListInstance : allInstanceListNode)
+	{
+		Instance instanceListObject;
+		if(!valueInstanceListInstance["InstanceIp"].isNull())
+			instanceListObject.instanceIp = valueInstanceListInstance["InstanceIp"].asString();
+		if(!valueInstanceListInstance["IsBgppack"].isNull())
+			instanceListObject.isBgppack = valueInstanceListInstance["IsBgppack"].asString() == "true";
+		if(!valueInstanceListInstance["IpVersion"].isNull())
+			instanceListObject.ipVersion = valueInstanceListInstance["IpVersion"].asString();
+		if(!valueInstanceListInstance["ElasticThreshold"].isNull())
+			instanceListObject.elasticThreshold = std::stoi(valueInstanceListInstance["ElasticThreshold"].asString());
+		if(!valueInstanceListInstance["BlackholeThreshold"].isNull())
+			instanceListObject.blackholeThreshold = std::stoi(valueInstanceListInstance["BlackholeThreshold"].asString());
+		if(!valueInstanceListInstance["DefenseBpsThreshold"].isNull())
+			instanceListObject.defenseBpsThreshold = std::stoi(valueInstanceListInstance["DefenseBpsThreshold"].asString());
+		if(!valueInstanceListInstance["InstanceName"].isNull())
+			instanceListObject.instanceName = valueInstanceListInstance["InstanceName"].asString();
+		if(!valueInstanceListInstance["InstanceStatus"].isNull())
+			instanceListObject.instanceStatus = valueInstanceListInstance["InstanceStatus"].asString();
+		if(!valueInstanceListInstance["DefensePpsThreshold"].isNull())
+			instanceListObject.defensePpsThreshold = std::stoi(valueInstanceListInstance["DefensePpsThreshold"].asString());
+		if(!valueInstanceListInstance["InstanceId"].isNull())
+			instanceListObject.instanceId = valueInstanceListInstance["InstanceId"].asString();
+		if(!valueInstanceListInstance["InstanceType"].isNull())
+			instanceListObject.instanceType = valueInstanceListInstance["InstanceType"].asString();
+		instanceList_.push_back(instanceListObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
+
+}
+
+int DescribeInstanceResult::getTotal()const
+{
+	return total_;
+}
+
+std::vector<DescribeInstanceResult::Instance> DescribeInstanceResult::getInstanceList()const
+{
+	return instanceList_;
+}
+

+ 90 - 0
antiddos-public/src/model/DescribeIpDdosThresholdRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeIpDdosThresholdRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeIpDdosThresholdRequest;
+
+DescribeIpDdosThresholdRequest::DescribeIpDdosThresholdRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeIpDdosThreshold") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeIpDdosThresholdRequest::~DescribeIpDdosThresholdRequest() {}
+
+std::string DescribeIpDdosThresholdRequest::getInternetIp() const {
+  return internetIp_;
+}
+
+void DescribeIpDdosThresholdRequest::setInternetIp(const std::string &internetIp) {
+  internetIp_ = internetIp;
+  setParameter(std::string("InternetIp"), internetIp);
+}
+
+std::string DescribeIpDdosThresholdRequest::getDdosType() const {
+  return ddosType_;
+}
+
+void DescribeIpDdosThresholdRequest::setDdosType(const std::string &ddosType) {
+  ddosType_ = ddosType;
+  setParameter(std::string("DdosType"), ddosType);
+}
+
+std::string DescribeIpDdosThresholdRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeIpDdosThresholdRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeIpDdosThresholdRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void DescribeIpDdosThresholdRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string DescribeIpDdosThresholdRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeIpDdosThresholdRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeIpDdosThresholdRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeIpDdosThresholdRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string DescribeIpDdosThresholdRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeIpDdosThresholdRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+

+ 68 - 0
antiddos-public/src/model/DescribeIpDdosThresholdResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeIpDdosThresholdResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeIpDdosThresholdResult::DescribeIpDdosThresholdResult() :
+	ServiceResult()
+{}
+
+DescribeIpDdosThresholdResult::DescribeIpDdosThresholdResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeIpDdosThresholdResult::~DescribeIpDdosThresholdResult()
+{}
+
+void DescribeIpDdosThresholdResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto thresholdNode = value["Threshold"];
+	if(!thresholdNode["DdosType"].isNull())
+		threshold_.ddosType = thresholdNode["DdosType"].asString();
+	if(!thresholdNode["IsAuto"].isNull())
+		threshold_.isAuto = thresholdNode["IsAuto"].asString() == "true";
+	if(!thresholdNode["MaxBps"].isNull())
+		threshold_.maxBps = std::stoi(thresholdNode["MaxBps"].asString());
+	if(!thresholdNode["ElasticBps"].isNull())
+		threshold_.elasticBps = std::stoi(thresholdNode["ElasticBps"].asString());
+	if(!thresholdNode["InstanceId"].isNull())
+		threshold_.instanceId = thresholdNode["InstanceId"].asString();
+	if(!thresholdNode["Bps"].isNull())
+		threshold_.bps = std::stoi(thresholdNode["Bps"].asString());
+	if(!thresholdNode["Pps"].isNull())
+		threshold_.pps = std::stoi(thresholdNode["Pps"].asString());
+	if(!thresholdNode["MaxPps"].isNull())
+		threshold_.maxPps = std::stoi(thresholdNode["MaxPps"].asString());
+	if(!thresholdNode["InternetIp"].isNull())
+		threshold_.internetIp = thresholdNode["InternetIp"].asString();
+
+}
+
+DescribeIpDdosThresholdResult::Threshold DescribeIpDdosThresholdResult::getThreshold()const
+{
+	return threshold_;
+}
+

+ 81 - 0
antiddos-public/src/model/DescribeIpLocationServiceRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeIpLocationServiceRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeIpLocationServiceRequest;
+
+DescribeIpLocationServiceRequest::DescribeIpLocationServiceRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeIpLocationService") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeIpLocationServiceRequest::~DescribeIpLocationServiceRequest() {}
+
+std::string DescribeIpLocationServiceRequest::getInternetIp() const {
+  return internetIp_;
+}
+
+void DescribeIpLocationServiceRequest::setInternetIp(const std::string &internetIp) {
+  internetIp_ = internetIp;
+  setParameter(std::string("InternetIp"), internetIp);
+}
+
+std::string DescribeIpLocationServiceRequest::getEagleEyeRpcId() const {
+  return eagleEyeRpcId_;
+}
+
+void DescribeIpLocationServiceRequest::setEagleEyeRpcId(const std::string &eagleEyeRpcId) {
+  eagleEyeRpcId_ = eagleEyeRpcId;
+  setBodyParameter(std::string("EagleEyeRpcId"), eagleEyeRpcId);
+}
+
+std::string DescribeIpLocationServiceRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeIpLocationServiceRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeIpLocationServiceRequest::getEagleEyeTraceId() const {
+  return eagleEyeTraceId_;
+}
+
+void DescribeIpLocationServiceRequest::setEagleEyeTraceId(const std::string &eagleEyeTraceId) {
+  eagleEyeTraceId_ = eagleEyeTraceId;
+  setBodyParameter(std::string("EagleEyeTraceId"), eagleEyeTraceId);
+}
+
+std::string DescribeIpLocationServiceRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeIpLocationServiceRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string DescribeIpLocationServiceRequest::getEagleEyeUserData() const {
+  return eagleEyeUserData_;
+}
+
+void DescribeIpLocationServiceRequest::setEagleEyeUserData(const std::string &eagleEyeUserData) {
+  eagleEyeUserData_ = eagleEyeUserData;
+  setBodyParameter(std::string("EagleEyeUserData"), eagleEyeUserData);
+}
+

+ 60 - 0
antiddos-public/src/model/DescribeIpLocationServiceResult.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/antiddos-public/model/DescribeIpLocationServiceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeIpLocationServiceResult::DescribeIpLocationServiceResult() :
+	ServiceResult()
+{}
+
+DescribeIpLocationServiceResult::DescribeIpLocationServiceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeIpLocationServiceResult::~DescribeIpLocationServiceResult()
+{}
+
+void DescribeIpLocationServiceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto instanceNode = value["Instance"];
+	if(!instanceNode["InstanceId"].isNull())
+		instance_.instanceId = instanceNode["InstanceId"].asString();
+	if(!instanceNode["InstanceName"].isNull())
+		instance_.instanceName = instanceNode["InstanceName"].asString();
+	if(!instanceNode["InternetIp"].isNull())
+		instance_.internetIp = instanceNode["InternetIp"].asString();
+	if(!instanceNode["InstanceType"].isNull())
+		instance_.instanceType = instanceNode["InstanceType"].asString();
+	if(!instanceNode["Region"].isNull())
+		instance_.region = instanceNode["Region"].asString();
+
+}
+
+DescribeIpLocationServiceResult::Instance DescribeIpLocationServiceResult::getInstance()const
+{
+	return instance_;
+}
+

+ 45 - 0
antiddos-public/src/model/DescribeRegionsRequest.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/antiddos-public/model/DescribeRegionsRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::DescribeRegionsRequest;
+
+DescribeRegionsRequest::DescribeRegionsRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "DescribeRegions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRegionsRequest::~DescribeRegionsRequest() {}
+
+std::string DescribeRegionsRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeRegionsRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeRegionsRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeRegionsRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+

+ 63 - 0
antiddos-public/src/model/DescribeRegionsResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/antiddos-public/model/DescribeRegionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+DescribeRegionsResult::DescribeRegionsResult() :
+	ServiceResult()
+{}
+
+DescribeRegionsResult::DescribeRegionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRegionsResult::~DescribeRegionsResult()
+{}
+
+void DescribeRegionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allRegionsNode = value["Regions"]["Region"];
+	for (auto valueRegionsRegion : allRegionsNode)
+	{
+		Region regionsObject;
+		if(!valueRegionsRegion["RegionEnName"].isNull())
+			regionsObject.regionEnName = valueRegionsRegion["RegionEnName"].asString();
+		if(!valueRegionsRegion["RegionName"].isNull())
+			regionsObject.regionName = valueRegionsRegion["RegionName"].asString();
+		if(!valueRegionsRegion["RegionNoAlias"].isNull())
+			regionsObject.regionNoAlias = valueRegionsRegion["RegionNoAlias"].asString();
+		if(!valueRegionsRegion["RegionNo"].isNull())
+			regionsObject.regionNo = valueRegionsRegion["RegionNo"].asString();
+		regions_.push_back(regionsObject);
+	}
+
+}
+
+std::vector<DescribeRegionsResult::Region> DescribeRegionsResult::getRegions()const
+{
+	return regions_;
+}
+

+ 81 - 0
antiddos-public/src/model/ModifyDdosStatusRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/antiddos-public/model/ModifyDdosStatusRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::ModifyDdosStatusRequest;
+
+ModifyDdosStatusRequest::ModifyDdosStatusRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "ModifyDdosStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyDdosStatusRequest::~ModifyDdosStatusRequest() {}
+
+std::string ModifyDdosStatusRequest::getInternetIp() const {
+  return internetIp_;
+}
+
+void ModifyDdosStatusRequest::setInternetIp(const std::string &internetIp) {
+  internetIp_ = internetIp;
+  setParameter(std::string("InternetIp"), internetIp);
+}
+
+std::string ModifyDdosStatusRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ModifyDdosStatusRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ModifyDdosStatusRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void ModifyDdosStatusRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string ModifyDdosStatusRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void ModifyDdosStatusRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string ModifyDdosStatusRequest::getLang() const {
+  return lang_;
+}
+
+void ModifyDdosStatusRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+std::string ModifyDdosStatusRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void ModifyDdosStatusRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+

+ 44 - 0
antiddos-public/src/model/ModifyDdosStatusResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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/antiddos-public/model/ModifyDdosStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+ModifyDdosStatusResult::ModifyDdosStatusResult() :
+	ServiceResult()
+{}
+
+ModifyDdosStatusResult::ModifyDdosStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyDdosStatusResult::~ModifyDdosStatusResult()
+{}
+
+void ModifyDdosStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 108 - 0
antiddos-public/src/model/ModifyDefenseThresholdRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/antiddos-public/model/ModifyDefenseThresholdRequest.h>
+
+using AlibabaCloud::Antiddos_public::Model::ModifyDefenseThresholdRequest;
+
+ModifyDefenseThresholdRequest::ModifyDefenseThresholdRequest()
+    : RpcServiceRequest("antiddos-public", "2017-05-18", "ModifyDefenseThreshold") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyDefenseThresholdRequest::~ModifyDefenseThresholdRequest() {}
+
+std::string ModifyDefenseThresholdRequest::getInternetIp() const {
+  return internetIp_;
+}
+
+void ModifyDefenseThresholdRequest::setInternetIp(const std::string &internetIp) {
+  internetIp_ = internetIp;
+  setParameter(std::string("InternetIp"), internetIp);
+}
+
+std::string ModifyDefenseThresholdRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ModifyDefenseThresholdRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ModifyDefenseThresholdRequest::getDdosRegionId() const {
+  return ddosRegionId_;
+}
+
+void ModifyDefenseThresholdRequest::setDdosRegionId(const std::string &ddosRegionId) {
+  ddosRegionId_ = ddosRegionId;
+  setParameter(std::string("DdosRegionId"), ddosRegionId);
+}
+
+std::string ModifyDefenseThresholdRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void ModifyDefenseThresholdRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string ModifyDefenseThresholdRequest::getLang() const {
+  return lang_;
+}
+
+void ModifyDefenseThresholdRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+int ModifyDefenseThresholdRequest::getBps() const {
+  return bps_;
+}
+
+void ModifyDefenseThresholdRequest::setBps(int bps) {
+  bps_ = bps;
+  setParameter(std::string("Bps"), std::to_string(bps));
+}
+
+int ModifyDefenseThresholdRequest::getPps() const {
+  return pps_;
+}
+
+void ModifyDefenseThresholdRequest::setPps(int pps) {
+  pps_ = pps;
+  setParameter(std::string("Pps"), std::to_string(pps));
+}
+
+std::string ModifyDefenseThresholdRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void ModifyDefenseThresholdRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+bool ModifyDefenseThresholdRequest::getIsAuto() const {
+  return isAuto_;
+}
+
+void ModifyDefenseThresholdRequest::setIsAuto(bool isAuto) {
+  isAuto_ = isAuto;
+  setParameter(std::string("IsAuto"), isAuto ? "true" : "false");
+}
+

+ 44 - 0
antiddos-public/src/model/ModifyDefenseThresholdResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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/antiddos-public/model/ModifyDefenseThresholdResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Antiddos_public;
+using namespace AlibabaCloud::Antiddos_public::Model;
+
+ModifyDefenseThresholdResult::ModifyDefenseThresholdResult() :
+	ServiceResult()
+{}
+
+ModifyDefenseThresholdResult::ModifyDefenseThresholdResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyDefenseThresholdResult::~ModifyDefenseThresholdResult()
+{}
+
+void ModifyDefenseThresholdResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+