Browse Source

Update sdk.

sdk-team 3 years ago
parent
commit
e7391bcf60
100 changed files with 7729 additions and 1 deletions
  1. 1 1
      VERSION
  2. 190 0
      ddosbgp/CMakeLists.txt
  3. 262 0
      ddosbgp/include/alibabacloud/ddosbgp/DdosbgpClient.h
  4. 32 0
      ddosbgp/include/alibabacloud/ddosbgp/DdosbgpExport.h
  5. 54 0
      ddosbgp/include/alibabacloud/ddosbgp/model/AddIpRequest.h
  6. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/AddIpResult.h
  7. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/CheckAccessLogAuthRequest.h
  8. 51 0
      ddosbgp/include/alibabacloud/ddosbgp/model/CheckAccessLogAuthResult.h
  9. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/CheckGrantRequest.h
  10. 51 0
      ddosbgp/include/alibabacloud/ddosbgp/model/CheckGrantResult.h
  11. 78 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ConfigSchedruleOnDemandRequest.h
  12. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ConfigSchedruleOnDemandResult.h
  13. 78 0
      ddosbgp/include/alibabacloud/ddosbgp/model/CreateSchedruleOnDemandRequest.h
  14. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/CreateSchedruleOnDemandResult.h
  15. 54 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DeleteBlackholeRequest.h
  16. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DeleteBlackholeResult.h
  17. 54 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DeleteIpRequest.h
  18. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DeleteIpResult.h
  19. 51 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DeleteSchedruleOnDemandRequest.h
  20. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DeleteSchedruleOnDemandResult.h
  21. 66 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeDdosEventRequest.h
  22. 62 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeDdosEventResult.h
  23. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeExcpetionCountRequest.h
  24. 53 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeExcpetionCountResult.h
  25. 85 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceListRequest.h
  26. 67 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceListResult.h
  27. 54 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceSpecsRequest.h
  28. 72 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceSpecsResult.h
  29. 66 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandDdosEventRequest.h
  30. 62 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandDdosEventResult.h
  31. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusRequest.h
  32. 61 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusResult.h
  33. 72 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOpEntitiesRequest.h
  34. 62 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOpEntitiesResult.h
  35. 63 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribePackIpListRequest.h
  36. 65 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribePackIpListResult.h
  37. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeRegionsRequest.h
  38. 61 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeRegionsResult.h
  39. 69 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeTrafficRequest.h
  40. 61 0
      ddosbgp/include/alibabacloud/ddosbgp/model/DescribeTrafficResult.h
  41. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/GetSlsOpenStatusRequest.h
  42. 51 0
      ddosbgp/include/alibabacloud/ddosbgp/model/GetSlsOpenStatusResult.h
  43. 51 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ListOpenedAccessLogInstancesRequest.h
  44. 58 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ListOpenedAccessLogInstancesResult.h
  45. 66 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ListTagKeysRequest.h
  46. 62 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ListTagKeysResult.h
  47. 73 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ListTagResourcesRequest.h
  48. 60 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ListTagResourcesResult.h
  49. 57 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ModifyRemarkRequest.h
  50. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/ModifyRemarkResult.h
  51. 48 0
      ddosbgp/include/alibabacloud/ddosbgp/model/QuerySchedruleOnDemandRequest.h
  52. 75 0
      ddosbgp/include/alibabacloud/ddosbgp/model/QuerySchedruleOnDemandResult.h
  53. 51 0
      ddosbgp/include/alibabacloud/ddosbgp/model/SetInstanceModeOnDemandRequest.h
  54. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/SetInstanceModeOnDemandResult.h
  55. 70 0
      ddosbgp/include/alibabacloud/ddosbgp/model/TagResourcesRequest.h
  56. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/TagResourcesResult.h
  57. 66 0
      ddosbgp/include/alibabacloud/ddosbgp/model/UntagResourcesRequest.h
  58. 49 0
      ddosbgp/include/alibabacloud/ddosbgp/model/UntagResourcesResult.h
  59. 1025 0
      ddosbgp/src/DdosbgpClient.cc
  60. 72 0
      ddosbgp/src/model/AddIpRequest.cc
  61. 44 0
      ddosbgp/src/model/AddIpResult.cc
  62. 54 0
      ddosbgp/src/model/CheckAccessLogAuthRequest.cc
  63. 51 0
      ddosbgp/src/model/CheckAccessLogAuthResult.cc
  64. 54 0
      ddosbgp/src/model/CheckGrantRequest.cc
  65. 51 0
      ddosbgp/src/model/CheckGrantResult.cc
  66. 144 0
      ddosbgp/src/model/ConfigSchedruleOnDemandRequest.cc
  67. 44 0
      ddosbgp/src/model/ConfigSchedruleOnDemandResult.cc
  68. 144 0
      ddosbgp/src/model/CreateSchedruleOnDemandRequest.cc
  69. 44 0
      ddosbgp/src/model/CreateSchedruleOnDemandResult.cc
  70. 72 0
      ddosbgp/src/model/DeleteBlackholeRequest.cc
  71. 44 0
      ddosbgp/src/model/DeleteBlackholeResult.cc
  72. 72 0
      ddosbgp/src/model/DeleteIpRequest.cc
  73. 44 0
      ddosbgp/src/model/DeleteIpResult.cc
  74. 63 0
      ddosbgp/src/model/DeleteSchedruleOnDemandRequest.cc
  75. 44 0
      ddosbgp/src/model/DeleteSchedruleOnDemandResult.cc
  76. 108 0
      ddosbgp/src/model/DescribeDdosEventRequest.cc
  77. 74 0
      ddosbgp/src/model/DescribeDdosEventResult.cc
  78. 54 0
      ddosbgp/src/model/DescribeExcpetionCountRequest.cc
  79. 58 0
      ddosbgp/src/model/DescribeExcpetionCountResult.cc
  80. 160 0
      ddosbgp/src/model/DescribeInstanceListRequest.cc
  81. 84 0
      ddosbgp/src/model/DescribeInstanceListResult.cc
  82. 72 0
      ddosbgp/src/model/DescribeInstanceSpecsRequest.cc
  83. 84 0
      ddosbgp/src/model/DescribeInstanceSpecsResult.cc
  84. 108 0
      ddosbgp/src/model/DescribeOnDemandDdosEventRequest.cc
  85. 74 0
      ddosbgp/src/model/DescribeOnDemandDdosEventResult.cc
  86. 53 0
      ddosbgp/src/model/DescribeOnDemandInstanceStatusRequest.cc
  87. 69 0
      ddosbgp/src/model/DescribeOnDemandInstanceStatusResult.cc
  88. 126 0
      ddosbgp/src/model/DescribeOpEntitiesRequest.cc
  89. 74 0
      ddosbgp/src/model/DescribeOpEntitiesResult.cc
  90. 99 0
      ddosbgp/src/model/DescribePackIpListRequest.cc
  91. 86 0
      ddosbgp/src/model/DescribePackIpListResult.cc
  92. 54 0
      ddosbgp/src/model/DescribeRegionsRequest.cc
  93. 75 0
      ddosbgp/src/model/DescribeRegionsResult.cc
  94. 117 0
      ddosbgp/src/model/DescribeTrafficRequest.cc
  95. 69 0
      ddosbgp/src/model/DescribeTrafficResult.cc
  96. 54 0
      ddosbgp/src/model/GetSlsOpenStatusRequest.cc
  97. 51 0
      ddosbgp/src/model/GetSlsOpenStatusResult.cc
  98. 63 0
      ddosbgp/src/model/ListOpenedAccessLogInstancesRequest.cc
  99. 66 0
      ddosbgp/src/model/ListOpenedAccessLogInstancesResult.cc
  100. 108 0
      ddosbgp/src/model/ListTagKeysRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1613
+1.36.1614

+ 190 - 0
ddosbgp/CMakeLists.txt

@@ -0,0 +1,190 @@
+#
+# 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(ddosbgp_public_header 
+	include/alibabacloud/ddosbgp/DdosbgpClient.h
+	include/alibabacloud/ddosbgp/DdosbgpExport.h )
+
+set(ddosbgp_public_header_model 
+	include/alibabacloud/ddosbgp/model/AddIpRequest.h
+	include/alibabacloud/ddosbgp/model/AddIpResult.h
+	include/alibabacloud/ddosbgp/model/CheckAccessLogAuthRequest.h
+	include/alibabacloud/ddosbgp/model/CheckAccessLogAuthResult.h
+	include/alibabacloud/ddosbgp/model/CheckGrantRequest.h
+	include/alibabacloud/ddosbgp/model/CheckGrantResult.h
+	include/alibabacloud/ddosbgp/model/ConfigSchedruleOnDemandRequest.h
+	include/alibabacloud/ddosbgp/model/ConfigSchedruleOnDemandResult.h
+	include/alibabacloud/ddosbgp/model/CreateSchedruleOnDemandRequest.h
+	include/alibabacloud/ddosbgp/model/CreateSchedruleOnDemandResult.h
+	include/alibabacloud/ddosbgp/model/DeleteBlackholeRequest.h
+	include/alibabacloud/ddosbgp/model/DeleteBlackholeResult.h
+	include/alibabacloud/ddosbgp/model/DeleteIpRequest.h
+	include/alibabacloud/ddosbgp/model/DeleteIpResult.h
+	include/alibabacloud/ddosbgp/model/DeleteSchedruleOnDemandRequest.h
+	include/alibabacloud/ddosbgp/model/DeleteSchedruleOnDemandResult.h
+	include/alibabacloud/ddosbgp/model/DescribeDdosEventRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeDdosEventResult.h
+	include/alibabacloud/ddosbgp/model/DescribeExcpetionCountRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeExcpetionCountResult.h
+	include/alibabacloud/ddosbgp/model/DescribeInstanceListRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeInstanceListResult.h
+	include/alibabacloud/ddosbgp/model/DescribeInstanceSpecsRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeInstanceSpecsResult.h
+	include/alibabacloud/ddosbgp/model/DescribeOnDemandDdosEventRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeOnDemandDdosEventResult.h
+	include/alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusResult.h
+	include/alibabacloud/ddosbgp/model/DescribeOpEntitiesRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeOpEntitiesResult.h
+	include/alibabacloud/ddosbgp/model/DescribePackIpListRequest.h
+	include/alibabacloud/ddosbgp/model/DescribePackIpListResult.h
+	include/alibabacloud/ddosbgp/model/DescribeRegionsRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeRegionsResult.h
+	include/alibabacloud/ddosbgp/model/DescribeTrafficRequest.h
+	include/alibabacloud/ddosbgp/model/DescribeTrafficResult.h
+	include/alibabacloud/ddosbgp/model/GetSlsOpenStatusRequest.h
+	include/alibabacloud/ddosbgp/model/GetSlsOpenStatusResult.h
+	include/alibabacloud/ddosbgp/model/ListOpenedAccessLogInstancesRequest.h
+	include/alibabacloud/ddosbgp/model/ListOpenedAccessLogInstancesResult.h
+	include/alibabacloud/ddosbgp/model/ListTagKeysRequest.h
+	include/alibabacloud/ddosbgp/model/ListTagKeysResult.h
+	include/alibabacloud/ddosbgp/model/ListTagResourcesRequest.h
+	include/alibabacloud/ddosbgp/model/ListTagResourcesResult.h
+	include/alibabacloud/ddosbgp/model/ModifyRemarkRequest.h
+	include/alibabacloud/ddosbgp/model/ModifyRemarkResult.h
+	include/alibabacloud/ddosbgp/model/QuerySchedruleOnDemandRequest.h
+	include/alibabacloud/ddosbgp/model/QuerySchedruleOnDemandResult.h
+	include/alibabacloud/ddosbgp/model/SetInstanceModeOnDemandRequest.h
+	include/alibabacloud/ddosbgp/model/SetInstanceModeOnDemandResult.h
+	include/alibabacloud/ddosbgp/model/TagResourcesRequest.h
+	include/alibabacloud/ddosbgp/model/TagResourcesResult.h
+	include/alibabacloud/ddosbgp/model/UntagResourcesRequest.h
+	include/alibabacloud/ddosbgp/model/UntagResourcesResult.h )
+
+set(ddosbgp_src 
+	src/DdosbgpClient.cc
+	src/model/AddIpRequest.cc
+	src/model/AddIpResult.cc
+	src/model/CheckAccessLogAuthRequest.cc
+	src/model/CheckAccessLogAuthResult.cc
+	src/model/CheckGrantRequest.cc
+	src/model/CheckGrantResult.cc
+	src/model/ConfigSchedruleOnDemandRequest.cc
+	src/model/ConfigSchedruleOnDemandResult.cc
+	src/model/CreateSchedruleOnDemandRequest.cc
+	src/model/CreateSchedruleOnDemandResult.cc
+	src/model/DeleteBlackholeRequest.cc
+	src/model/DeleteBlackholeResult.cc
+	src/model/DeleteIpRequest.cc
+	src/model/DeleteIpResult.cc
+	src/model/DeleteSchedruleOnDemandRequest.cc
+	src/model/DeleteSchedruleOnDemandResult.cc
+	src/model/DescribeDdosEventRequest.cc
+	src/model/DescribeDdosEventResult.cc
+	src/model/DescribeExcpetionCountRequest.cc
+	src/model/DescribeExcpetionCountResult.cc
+	src/model/DescribeInstanceListRequest.cc
+	src/model/DescribeInstanceListResult.cc
+	src/model/DescribeInstanceSpecsRequest.cc
+	src/model/DescribeInstanceSpecsResult.cc
+	src/model/DescribeOnDemandDdosEventRequest.cc
+	src/model/DescribeOnDemandDdosEventResult.cc
+	src/model/DescribeOnDemandInstanceStatusRequest.cc
+	src/model/DescribeOnDemandInstanceStatusResult.cc
+	src/model/DescribeOpEntitiesRequest.cc
+	src/model/DescribeOpEntitiesResult.cc
+	src/model/DescribePackIpListRequest.cc
+	src/model/DescribePackIpListResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/DescribeTrafficRequest.cc
+	src/model/DescribeTrafficResult.cc
+	src/model/GetSlsOpenStatusRequest.cc
+	src/model/GetSlsOpenStatusResult.cc
+	src/model/ListOpenedAccessLogInstancesRequest.cc
+	src/model/ListOpenedAccessLogInstancesResult.cc
+	src/model/ListTagKeysRequest.cc
+	src/model/ListTagKeysResult.cc
+	src/model/ListTagResourcesRequest.cc
+	src/model/ListTagResourcesResult.cc
+	src/model/ModifyRemarkRequest.cc
+	src/model/ModifyRemarkResult.cc
+	src/model/QuerySchedruleOnDemandRequest.cc
+	src/model/QuerySchedruleOnDemandResult.cc
+	src/model/SetInstanceModeOnDemandRequest.cc
+	src/model/SetInstanceModeOnDemandResult.cc
+	src/model/TagResourcesRequest.cc
+	src/model/TagResourcesResult.cc
+	src/model/UntagResourcesRequest.cc
+	src/model/UntagResourcesResult.cc )
+
+add_library(ddosbgp ${LIB_TYPE}
+	${ddosbgp_public_header}
+	${ddosbgp_public_header_model}
+	${ddosbgp_src})
+
+set_target_properties(ddosbgp
+	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}ddosbgp
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(ddosbgp
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_DDOSBGP_LIBRARY)
+endif()
+
+target_include_directories(ddosbgp
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(ddosbgp
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(ddosbgp
+		jsoncpp)
+	target_include_directories(ddosbgp
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(ddosbgp
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(ddosbgp
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(ddosbgp
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(ddosbgp
+		jsoncpp)
+endif()
+
+install(FILES ${ddosbgp_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/ddosbgp)
+install(FILES ${ddosbgp_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/ddosbgp/model)
+install(TARGETS ddosbgp
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 262 - 0
ddosbgp/include/alibabacloud/ddosbgp/DdosbgpClient.h

@@ -0,0 +1,262 @@
+/*
+ * 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_DDOSBGP_DDOSBGPCLIENT_H_
+#define ALIBABACLOUD_DDOSBGP_DDOSBGPCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "DdosbgpExport.h"
+#include "model/AddIpRequest.h"
+#include "model/AddIpResult.h"
+#include "model/CheckAccessLogAuthRequest.h"
+#include "model/CheckAccessLogAuthResult.h"
+#include "model/CheckGrantRequest.h"
+#include "model/CheckGrantResult.h"
+#include "model/ConfigSchedruleOnDemandRequest.h"
+#include "model/ConfigSchedruleOnDemandResult.h"
+#include "model/CreateSchedruleOnDemandRequest.h"
+#include "model/CreateSchedruleOnDemandResult.h"
+#include "model/DeleteBlackholeRequest.h"
+#include "model/DeleteBlackholeResult.h"
+#include "model/DeleteIpRequest.h"
+#include "model/DeleteIpResult.h"
+#include "model/DeleteSchedruleOnDemandRequest.h"
+#include "model/DeleteSchedruleOnDemandResult.h"
+#include "model/DescribeDdosEventRequest.h"
+#include "model/DescribeDdosEventResult.h"
+#include "model/DescribeExcpetionCountRequest.h"
+#include "model/DescribeExcpetionCountResult.h"
+#include "model/DescribeInstanceListRequest.h"
+#include "model/DescribeInstanceListResult.h"
+#include "model/DescribeInstanceSpecsRequest.h"
+#include "model/DescribeInstanceSpecsResult.h"
+#include "model/DescribeOnDemandDdosEventRequest.h"
+#include "model/DescribeOnDemandDdosEventResult.h"
+#include "model/DescribeOnDemandInstanceStatusRequest.h"
+#include "model/DescribeOnDemandInstanceStatusResult.h"
+#include "model/DescribeOpEntitiesRequest.h"
+#include "model/DescribeOpEntitiesResult.h"
+#include "model/DescribePackIpListRequest.h"
+#include "model/DescribePackIpListResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/DescribeTrafficRequest.h"
+#include "model/DescribeTrafficResult.h"
+#include "model/GetSlsOpenStatusRequest.h"
+#include "model/GetSlsOpenStatusResult.h"
+#include "model/ListOpenedAccessLogInstancesRequest.h"
+#include "model/ListOpenedAccessLogInstancesResult.h"
+#include "model/ListTagKeysRequest.h"
+#include "model/ListTagKeysResult.h"
+#include "model/ListTagResourcesRequest.h"
+#include "model/ListTagResourcesResult.h"
+#include "model/ModifyRemarkRequest.h"
+#include "model/ModifyRemarkResult.h"
+#include "model/QuerySchedruleOnDemandRequest.h"
+#include "model/QuerySchedruleOnDemandResult.h"
+#include "model/SetInstanceModeOnDemandRequest.h"
+#include "model/SetInstanceModeOnDemandResult.h"
+#include "model/TagResourcesRequest.h"
+#include "model/TagResourcesResult.h"
+#include "model/UntagResourcesRequest.h"
+#include "model/UntagResourcesResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		class ALIBABACLOUD_DDOSBGP_EXPORT DdosbgpClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::AddIpResult> AddIpOutcome;
+			typedef std::future<AddIpOutcome> AddIpOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::AddIpRequest&, const AddIpOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddIpAsyncHandler;
+			typedef Outcome<Error, Model::CheckAccessLogAuthResult> CheckAccessLogAuthOutcome;
+			typedef std::future<CheckAccessLogAuthOutcome> CheckAccessLogAuthOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::CheckAccessLogAuthRequest&, const CheckAccessLogAuthOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckAccessLogAuthAsyncHandler;
+			typedef Outcome<Error, Model::CheckGrantResult> CheckGrantOutcome;
+			typedef std::future<CheckGrantOutcome> CheckGrantOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::CheckGrantRequest&, const CheckGrantOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckGrantAsyncHandler;
+			typedef Outcome<Error, Model::ConfigSchedruleOnDemandResult> ConfigSchedruleOnDemandOutcome;
+			typedef std::future<ConfigSchedruleOnDemandOutcome> ConfigSchedruleOnDemandOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::ConfigSchedruleOnDemandRequest&, const ConfigSchedruleOnDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigSchedruleOnDemandAsyncHandler;
+			typedef Outcome<Error, Model::CreateSchedruleOnDemandResult> CreateSchedruleOnDemandOutcome;
+			typedef std::future<CreateSchedruleOnDemandOutcome> CreateSchedruleOnDemandOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::CreateSchedruleOnDemandRequest&, const CreateSchedruleOnDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSchedruleOnDemandAsyncHandler;
+			typedef Outcome<Error, Model::DeleteBlackholeResult> DeleteBlackholeOutcome;
+			typedef std::future<DeleteBlackholeOutcome> DeleteBlackholeOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DeleteBlackholeRequest&, const DeleteBlackholeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteBlackholeAsyncHandler;
+			typedef Outcome<Error, Model::DeleteIpResult> DeleteIpOutcome;
+			typedef std::future<DeleteIpOutcome> DeleteIpOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DeleteIpRequest&, const DeleteIpOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteIpAsyncHandler;
+			typedef Outcome<Error, Model::DeleteSchedruleOnDemandResult> DeleteSchedruleOnDemandOutcome;
+			typedef std::future<DeleteSchedruleOnDemandOutcome> DeleteSchedruleOnDemandOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DeleteSchedruleOnDemandRequest&, const DeleteSchedruleOnDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSchedruleOnDemandAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDdosEventResult> DescribeDdosEventOutcome;
+			typedef std::future<DescribeDdosEventOutcome> DescribeDdosEventOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeDdosEventRequest&, const DescribeDdosEventOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDdosEventAsyncHandler;
+			typedef Outcome<Error, Model::DescribeExcpetionCountResult> DescribeExcpetionCountOutcome;
+			typedef std::future<DescribeExcpetionCountOutcome> DescribeExcpetionCountOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeExcpetionCountRequest&, const DescribeExcpetionCountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeExcpetionCountAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceListResult> DescribeInstanceListOutcome;
+			typedef std::future<DescribeInstanceListOutcome> DescribeInstanceListOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeInstanceListRequest&, const DescribeInstanceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceSpecsResult> DescribeInstanceSpecsOutcome;
+			typedef std::future<DescribeInstanceSpecsOutcome> DescribeInstanceSpecsOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeInstanceSpecsRequest&, const DescribeInstanceSpecsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceSpecsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeOnDemandDdosEventResult> DescribeOnDemandDdosEventOutcome;
+			typedef std::future<DescribeOnDemandDdosEventOutcome> DescribeOnDemandDdosEventOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeOnDemandDdosEventRequest&, const DescribeOnDemandDdosEventOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeOnDemandDdosEventAsyncHandler;
+			typedef Outcome<Error, Model::DescribeOnDemandInstanceStatusResult> DescribeOnDemandInstanceStatusOutcome;
+			typedef std::future<DescribeOnDemandInstanceStatusOutcome> DescribeOnDemandInstanceStatusOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeOnDemandInstanceStatusRequest&, const DescribeOnDemandInstanceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeOnDemandInstanceStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeOpEntitiesResult> DescribeOpEntitiesOutcome;
+			typedef std::future<DescribeOpEntitiesOutcome> DescribeOpEntitiesOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeOpEntitiesRequest&, const DescribeOpEntitiesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeOpEntitiesAsyncHandler;
+			typedef Outcome<Error, Model::DescribePackIpListResult> DescribePackIpListOutcome;
+			typedef std::future<DescribePackIpListOutcome> DescribePackIpListOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribePackIpListRequest&, const DescribePackIpListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePackIpListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeTrafficResult> DescribeTrafficOutcome;
+			typedef std::future<DescribeTrafficOutcome> DescribeTrafficOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::DescribeTrafficRequest&, const DescribeTrafficOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTrafficAsyncHandler;
+			typedef Outcome<Error, Model::GetSlsOpenStatusResult> GetSlsOpenStatusOutcome;
+			typedef std::future<GetSlsOpenStatusOutcome> GetSlsOpenStatusOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::GetSlsOpenStatusRequest&, const GetSlsOpenStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSlsOpenStatusAsyncHandler;
+			typedef Outcome<Error, Model::ListOpenedAccessLogInstancesResult> ListOpenedAccessLogInstancesOutcome;
+			typedef std::future<ListOpenedAccessLogInstancesOutcome> ListOpenedAccessLogInstancesOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::ListOpenedAccessLogInstancesRequest&, const ListOpenedAccessLogInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListOpenedAccessLogInstancesAsyncHandler;
+			typedef Outcome<Error, Model::ListTagKeysResult> ListTagKeysOutcome;
+			typedef std::future<ListTagKeysOutcome> ListTagKeysOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::ListTagKeysRequest&, const ListTagKeysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagKeysAsyncHandler;
+			typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
+			typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::ModifyRemarkResult> ModifyRemarkOutcome;
+			typedef std::future<ModifyRemarkOutcome> ModifyRemarkOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::ModifyRemarkRequest&, const ModifyRemarkOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyRemarkAsyncHandler;
+			typedef Outcome<Error, Model::QuerySchedruleOnDemandResult> QuerySchedruleOnDemandOutcome;
+			typedef std::future<QuerySchedruleOnDemandOutcome> QuerySchedruleOnDemandOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::QuerySchedruleOnDemandRequest&, const QuerySchedruleOnDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySchedruleOnDemandAsyncHandler;
+			typedef Outcome<Error, Model::SetInstanceModeOnDemandResult> SetInstanceModeOnDemandOutcome;
+			typedef std::future<SetInstanceModeOnDemandOutcome> SetInstanceModeOnDemandOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::SetInstanceModeOnDemandRequest&, const SetInstanceModeOnDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetInstanceModeOnDemandAsyncHandler;
+			typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
+			typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
+			typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
+			typedef std::function<void(const DdosbgpClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
+
+			DdosbgpClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			DdosbgpClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			DdosbgpClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~DdosbgpClient();
+			AddIpOutcome addIp(const Model::AddIpRequest &request)const;
+			void addIpAsync(const Model::AddIpRequest& request, const AddIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddIpOutcomeCallable addIpCallable(const Model::AddIpRequest& request) const;
+			CheckAccessLogAuthOutcome checkAccessLogAuth(const Model::CheckAccessLogAuthRequest &request)const;
+			void checkAccessLogAuthAsync(const Model::CheckAccessLogAuthRequest& request, const CheckAccessLogAuthAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CheckAccessLogAuthOutcomeCallable checkAccessLogAuthCallable(const Model::CheckAccessLogAuthRequest& request) const;
+			CheckGrantOutcome checkGrant(const Model::CheckGrantRequest &request)const;
+			void checkGrantAsync(const Model::CheckGrantRequest& request, const CheckGrantAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CheckGrantOutcomeCallable checkGrantCallable(const Model::CheckGrantRequest& request) const;
+			ConfigSchedruleOnDemandOutcome configSchedruleOnDemand(const Model::ConfigSchedruleOnDemandRequest &request)const;
+			void configSchedruleOnDemandAsync(const Model::ConfigSchedruleOnDemandRequest& request, const ConfigSchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ConfigSchedruleOnDemandOutcomeCallable configSchedruleOnDemandCallable(const Model::ConfigSchedruleOnDemandRequest& request) const;
+			CreateSchedruleOnDemandOutcome createSchedruleOnDemand(const Model::CreateSchedruleOnDemandRequest &request)const;
+			void createSchedruleOnDemandAsync(const Model::CreateSchedruleOnDemandRequest& request, const CreateSchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateSchedruleOnDemandOutcomeCallable createSchedruleOnDemandCallable(const Model::CreateSchedruleOnDemandRequest& request) const;
+			DeleteBlackholeOutcome deleteBlackhole(const Model::DeleteBlackholeRequest &request)const;
+			void deleteBlackholeAsync(const Model::DeleteBlackholeRequest& request, const DeleteBlackholeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteBlackholeOutcomeCallable deleteBlackholeCallable(const Model::DeleteBlackholeRequest& request) const;
+			DeleteIpOutcome deleteIp(const Model::DeleteIpRequest &request)const;
+			void deleteIpAsync(const Model::DeleteIpRequest& request, const DeleteIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteIpOutcomeCallable deleteIpCallable(const Model::DeleteIpRequest& request) const;
+			DeleteSchedruleOnDemandOutcome deleteSchedruleOnDemand(const Model::DeleteSchedruleOnDemandRequest &request)const;
+			void deleteSchedruleOnDemandAsync(const Model::DeleteSchedruleOnDemandRequest& request, const DeleteSchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteSchedruleOnDemandOutcomeCallable deleteSchedruleOnDemandCallable(const Model::DeleteSchedruleOnDemandRequest& request) const;
+			DescribeDdosEventOutcome describeDdosEvent(const Model::DescribeDdosEventRequest &request)const;
+			void describeDdosEventAsync(const Model::DescribeDdosEventRequest& request, const DescribeDdosEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDdosEventOutcomeCallable describeDdosEventCallable(const Model::DescribeDdosEventRequest& request) const;
+			DescribeExcpetionCountOutcome describeExcpetionCount(const Model::DescribeExcpetionCountRequest &request)const;
+			void describeExcpetionCountAsync(const Model::DescribeExcpetionCountRequest& request, const DescribeExcpetionCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeExcpetionCountOutcomeCallable describeExcpetionCountCallable(const Model::DescribeExcpetionCountRequest& request) const;
+			DescribeInstanceListOutcome describeInstanceList(const Model::DescribeInstanceListRequest &request)const;
+			void describeInstanceListAsync(const Model::DescribeInstanceListRequest& request, const DescribeInstanceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceListOutcomeCallable describeInstanceListCallable(const Model::DescribeInstanceListRequest& request) const;
+			DescribeInstanceSpecsOutcome describeInstanceSpecs(const Model::DescribeInstanceSpecsRequest &request)const;
+			void describeInstanceSpecsAsync(const Model::DescribeInstanceSpecsRequest& request, const DescribeInstanceSpecsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceSpecsOutcomeCallable describeInstanceSpecsCallable(const Model::DescribeInstanceSpecsRequest& request) const;
+			DescribeOnDemandDdosEventOutcome describeOnDemandDdosEvent(const Model::DescribeOnDemandDdosEventRequest &request)const;
+			void describeOnDemandDdosEventAsync(const Model::DescribeOnDemandDdosEventRequest& request, const DescribeOnDemandDdosEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeOnDemandDdosEventOutcomeCallable describeOnDemandDdosEventCallable(const Model::DescribeOnDemandDdosEventRequest& request) const;
+			DescribeOnDemandInstanceStatusOutcome describeOnDemandInstanceStatus(const Model::DescribeOnDemandInstanceStatusRequest &request)const;
+			void describeOnDemandInstanceStatusAsync(const Model::DescribeOnDemandInstanceStatusRequest& request, const DescribeOnDemandInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeOnDemandInstanceStatusOutcomeCallable describeOnDemandInstanceStatusCallable(const Model::DescribeOnDemandInstanceStatusRequest& request) const;
+			DescribeOpEntitiesOutcome describeOpEntities(const Model::DescribeOpEntitiesRequest &request)const;
+			void describeOpEntitiesAsync(const Model::DescribeOpEntitiesRequest& request, const DescribeOpEntitiesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeOpEntitiesOutcomeCallable describeOpEntitiesCallable(const Model::DescribeOpEntitiesRequest& request) const;
+			DescribePackIpListOutcome describePackIpList(const Model::DescribePackIpListRequest &request)const;
+			void describePackIpListAsync(const Model::DescribePackIpListRequest& request, const DescribePackIpListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePackIpListOutcomeCallable describePackIpListCallable(const Model::DescribePackIpListRequest& 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;
+			DescribeTrafficOutcome describeTraffic(const Model::DescribeTrafficRequest &request)const;
+			void describeTrafficAsync(const Model::DescribeTrafficRequest& request, const DescribeTrafficAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeTrafficOutcomeCallable describeTrafficCallable(const Model::DescribeTrafficRequest& request) const;
+			GetSlsOpenStatusOutcome getSlsOpenStatus(const Model::GetSlsOpenStatusRequest &request)const;
+			void getSlsOpenStatusAsync(const Model::GetSlsOpenStatusRequest& request, const GetSlsOpenStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetSlsOpenStatusOutcomeCallable getSlsOpenStatusCallable(const Model::GetSlsOpenStatusRequest& request) const;
+			ListOpenedAccessLogInstancesOutcome listOpenedAccessLogInstances(const Model::ListOpenedAccessLogInstancesRequest &request)const;
+			void listOpenedAccessLogInstancesAsync(const Model::ListOpenedAccessLogInstancesRequest& request, const ListOpenedAccessLogInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListOpenedAccessLogInstancesOutcomeCallable listOpenedAccessLogInstancesCallable(const Model::ListOpenedAccessLogInstancesRequest& request) const;
+			ListTagKeysOutcome listTagKeys(const Model::ListTagKeysRequest &request)const;
+			void listTagKeysAsync(const Model::ListTagKeysRequest& request, const ListTagKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagKeysOutcomeCallable listTagKeysCallable(const Model::ListTagKeysRequest& request) const;
+			ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
+			void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
+			ModifyRemarkOutcome modifyRemark(const Model::ModifyRemarkRequest &request)const;
+			void modifyRemarkAsync(const Model::ModifyRemarkRequest& request, const ModifyRemarkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyRemarkOutcomeCallable modifyRemarkCallable(const Model::ModifyRemarkRequest& request) const;
+			QuerySchedruleOnDemandOutcome querySchedruleOnDemand(const Model::QuerySchedruleOnDemandRequest &request)const;
+			void querySchedruleOnDemandAsync(const Model::QuerySchedruleOnDemandRequest& request, const QuerySchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QuerySchedruleOnDemandOutcomeCallable querySchedruleOnDemandCallable(const Model::QuerySchedruleOnDemandRequest& request) const;
+			SetInstanceModeOnDemandOutcome setInstanceModeOnDemand(const Model::SetInstanceModeOnDemandRequest &request)const;
+			void setInstanceModeOnDemandAsync(const Model::SetInstanceModeOnDemandRequest& request, const SetInstanceModeOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetInstanceModeOnDemandOutcomeCallable setInstanceModeOnDemandCallable(const Model::SetInstanceModeOnDemandRequest& request) const;
+			TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
+			void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
+			UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
+			void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_DDOSBGP_DDOSBGPCLIENT_H_

+ 32 - 0
ddosbgp/include/alibabacloud/ddosbgp/DdosbgpExport.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_DDOSBGP_DDOSBGPEXPORT_H_
+#define ALIBABACLOUD_DDOSBGP_DDOSBGPEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_DDOSBGP_LIBRARY)
+#		define ALIBABACLOUD_DDOSBGP_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_DDOSBGP_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_DDOSBGP_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_DDOSBGP_DDOSBGPEXPORT_H_

+ 54 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/AddIpRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_ADDIPREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_ADDIPREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT AddIpRequest : public RpcServiceRequest {
+public:
+	AddIpRequest();
+	~AddIpRequest();
+	std::string getIpList() const;
+	void setIpList(const std::string &ipList);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string ipList_;
+	std::string resourceGroupId_;
+	std::string instanceId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_ADDIPREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/AddIpResult.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_DDOSBGP_MODEL_ADDIPRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_ADDIPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT AddIpResult : public ServiceResult
+			{
+			public:
+
+
+				AddIpResult();
+				explicit AddIpResult(const std::string &payload);
+				~AddIpResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_ADDIPRESULT_H_

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/CheckAccessLogAuthRequest.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_DDOSBGP_MODEL_CHECKACCESSLOGAUTHREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CHECKACCESSLOGAUTHREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT CheckAccessLogAuthRequest : public RpcServiceRequest {
+public:
+	CheckAccessLogAuthRequest();
+	~CheckAccessLogAuthRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CHECKACCESSLOGAUTHREQUEST_H_

+ 51 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/CheckAccessLogAuthResult.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_DDOSBGP_MODEL_CHECKACCESSLOGAUTHRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CHECKACCESSLOGAUTHRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT CheckAccessLogAuthResult : public ServiceResult
+			{
+			public:
+
+
+				CheckAccessLogAuthResult();
+				explicit CheckAccessLogAuthResult(const std::string &payload);
+				~CheckAccessLogAuthResult();
+				bool getAccessLogAuth()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool accessLogAuth_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CHECKACCESSLOGAUTHRESULT_H_

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/CheckGrantRequest.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_DDOSBGP_MODEL_CHECKGRANTREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CHECKGRANTREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT CheckGrantRequest : public RpcServiceRequest {
+public:
+	CheckGrantRequest();
+	~CheckGrantRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CHECKGRANTREQUEST_H_

+ 51 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/CheckGrantResult.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_DDOSBGP_MODEL_CHECKGRANTRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CHECKGRANTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT CheckGrantResult : public ServiceResult
+			{
+			public:
+
+
+				CheckGrantResult();
+				explicit CheckGrantResult(const std::string &payload);
+				~CheckGrantResult();
+				int getStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CHECKGRANTRESULT_H_

+ 78 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ConfigSchedruleOnDemandRequest.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_DDOSBGP_MODEL_CONFIGSCHEDRULEONDEMANDREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CONFIGSCHEDRULEONDEMANDREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT ConfigSchedruleOnDemandRequest : public RpcServiceRequest {
+public:
+	ConfigSchedruleOnDemandRequest();
+	~ConfigSchedruleOnDemandRequest();
+	std::string getTimeZone() const;
+	void setTimeZone(const std::string &timeZone);
+	std::string getRuleName() const;
+	void setRuleName(const std::string &ruleName);
+	std::string getRuleConditionMbps() const;
+	void setRuleConditionMbps(const std::string &ruleConditionMbps);
+	std::string getRuleAction() const;
+	void setRuleAction(const std::string &ruleAction);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getRuleUndoMode() const;
+	void setRuleUndoMode(const std::string &ruleUndoMode);
+	std::string getRuleUndoEndTime() const;
+	void setRuleUndoEndTime(const std::string &ruleUndoEndTime);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRuleUndoBeginTime() const;
+	void setRuleUndoBeginTime(const std::string &ruleUndoBeginTime);
+	std::string getRuleConditionCnt() const;
+	void setRuleConditionCnt(const std::string &ruleConditionCnt);
+	std::string getRuleSwitch() const;
+	void setRuleSwitch(const std::string &ruleSwitch);
+	std::string getRuleConditionKpps() const;
+	void setRuleConditionKpps(const std::string &ruleConditionKpps);
+
+private:
+	std::string timeZone_;
+	std::string ruleName_;
+	std::string ruleConditionMbps_;
+	std::string ruleAction_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string ruleUndoMode_;
+	std::string ruleUndoEndTime_;
+	std::string instanceId_;
+	std::string ruleUndoBeginTime_;
+	std::string ruleConditionCnt_;
+	std::string ruleSwitch_;
+	std::string ruleConditionKpps_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CONFIGSCHEDRULEONDEMANDREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ConfigSchedruleOnDemandResult.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_DDOSBGP_MODEL_CONFIGSCHEDRULEONDEMANDRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CONFIGSCHEDRULEONDEMANDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT ConfigSchedruleOnDemandResult : public ServiceResult
+			{
+			public:
+
+
+				ConfigSchedruleOnDemandResult();
+				explicit ConfigSchedruleOnDemandResult(const std::string &payload);
+				~ConfigSchedruleOnDemandResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CONFIGSCHEDRULEONDEMANDRESULT_H_

+ 78 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/CreateSchedruleOnDemandRequest.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_DDOSBGP_MODEL_CREATESCHEDRULEONDEMANDREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CREATESCHEDRULEONDEMANDREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT CreateSchedruleOnDemandRequest : public RpcServiceRequest {
+public:
+	CreateSchedruleOnDemandRequest();
+	~CreateSchedruleOnDemandRequest();
+	std::string getTimeZone() const;
+	void setTimeZone(const std::string &timeZone);
+	std::string getRuleName() const;
+	void setRuleName(const std::string &ruleName);
+	std::string getRuleConditionMbps() const;
+	void setRuleConditionMbps(const std::string &ruleConditionMbps);
+	std::string getRuleAction() const;
+	void setRuleAction(const std::string &ruleAction);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getRuleUndoMode() const;
+	void setRuleUndoMode(const std::string &ruleUndoMode);
+	std::string getRuleUndoEndTime() const;
+	void setRuleUndoEndTime(const std::string &ruleUndoEndTime);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getRuleUndoBeginTime() const;
+	void setRuleUndoBeginTime(const std::string &ruleUndoBeginTime);
+	std::string getRuleConditionCnt() const;
+	void setRuleConditionCnt(const std::string &ruleConditionCnt);
+	std::string getRuleSwitch() const;
+	void setRuleSwitch(const std::string &ruleSwitch);
+	std::string getRuleConditionKpps() const;
+	void setRuleConditionKpps(const std::string &ruleConditionKpps);
+
+private:
+	std::string timeZone_;
+	std::string ruleName_;
+	std::string ruleConditionMbps_;
+	std::string ruleAction_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string ruleUndoMode_;
+	std::string ruleUndoEndTime_;
+	std::string instanceId_;
+	std::string ruleUndoBeginTime_;
+	std::string ruleConditionCnt_;
+	std::string ruleSwitch_;
+	std::string ruleConditionKpps_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CREATESCHEDRULEONDEMANDREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/CreateSchedruleOnDemandResult.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_DDOSBGP_MODEL_CREATESCHEDRULEONDEMANDRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_CREATESCHEDRULEONDEMANDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT CreateSchedruleOnDemandResult : public ServiceResult
+			{
+			public:
+
+
+				CreateSchedruleOnDemandResult();
+				explicit CreateSchedruleOnDemandResult(const std::string &payload);
+				~CreateSchedruleOnDemandResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_CREATESCHEDRULEONDEMANDRESULT_H_

+ 54 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DeleteBlackholeRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DELETEBLACKHOLEREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DELETEBLACKHOLEREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DeleteBlackholeRequest : public RpcServiceRequest {
+public:
+	DeleteBlackholeRequest();
+	~DeleteBlackholeRequest();
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string ip_;
+	std::string resourceGroupId_;
+	std::string instanceId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DELETEBLACKHOLEREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DeleteBlackholeResult.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_DDOSBGP_MODEL_DELETEBLACKHOLERESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DELETEBLACKHOLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DeleteBlackholeResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteBlackholeResult();
+				explicit DeleteBlackholeResult(const std::string &payload);
+				~DeleteBlackholeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DELETEBLACKHOLERESULT_H_

+ 54 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DeleteIpRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DELETEIPREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DELETEIPREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DeleteIpRequest : public RpcServiceRequest {
+public:
+	DeleteIpRequest();
+	~DeleteIpRequest();
+	std::string getIpList() const;
+	void setIpList(const std::string &ipList);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string ipList_;
+	std::string resourceGroupId_;
+	std::string instanceId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DELETEIPREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DeleteIpResult.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_DDOSBGP_MODEL_DELETEIPRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DELETEIPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DeleteIpResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteIpResult();
+				explicit DeleteIpResult(const std::string &payload);
+				~DeleteIpResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DELETEIPRESULT_H_

+ 51 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DeleteSchedruleOnDemandRequest.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_DDOSBGP_MODEL_DELETESCHEDRULEONDEMANDREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DELETESCHEDRULEONDEMANDREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DeleteSchedruleOnDemandRequest : public RpcServiceRequest {
+public:
+	DeleteSchedruleOnDemandRequest();
+	~DeleteSchedruleOnDemandRequest();
+	std::string getRuleName() const;
+	void setRuleName(const std::string &ruleName);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string ruleName_;
+	std::string instanceId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DELETESCHEDRULEONDEMANDREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DeleteSchedruleOnDemandResult.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_DDOSBGP_MODEL_DELETESCHEDRULEONDEMANDRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DELETESCHEDRULEONDEMANDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DeleteSchedruleOnDemandResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteSchedruleOnDemandResult();
+				explicit DeleteSchedruleOnDemandResult(const std::string &payload);
+				~DeleteSchedruleOnDemandResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DELETESCHEDRULEONDEMANDRESULT_H_

+ 66 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeDdosEventRequest.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_DDOSBGP_MODEL_DESCRIBEDDOSEVENTREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEDDOSEVENTREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeDdosEventRequest : public RpcServiceRequest {
+public:
+	DescribeDdosEventRequest();
+	~DescribeDdosEventRequest();
+	int getStartTime() const;
+	void setStartTime(int startTime);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+	int getEndTime() const;
+	void setEndTime(int endTime);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	int getPageNo() const;
+	void setPageNo(int pageNo);
+
+private:
+	int startTime_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	int pageSize_;
+	std::string ip_;
+	int endTime_;
+	std::string instanceId_;
+	int pageNo_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEDDOSEVENTREQUEST_H_

+ 62 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeDdosEventResult.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_DDOSBGP_MODEL_DESCRIBEDDOSEVENTRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEDDOSEVENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DescribeDdosEventResult : public ServiceResult
+			{
+			public:
+				struct Event
+				{
+					std::string status;
+					int pps;
+					int endTime;
+					std::string ip;
+					int startTime;
+					int mbps;
+				};
+
+
+				DescribeDdosEventResult();
+				explicit DescribeDdosEventResult(const std::string &payload);
+				~DescribeDdosEventResult();
+				std::vector<Event> getEvents()const;
+				long getTotal()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Event> events_;
+				long total_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEDDOSEVENTRESULT_H_

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeExcpetionCountRequest.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_DDOSBGP_MODEL_DESCRIBEEXCPETIONCOUNTREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEEXCPETIONCOUNTREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeExcpetionCountRequest : public RpcServiceRequest {
+public:
+	DescribeExcpetionCountRequest();
+	~DescribeExcpetionCountRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEEXCPETIONCOUNTREQUEST_H_

+ 53 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeExcpetionCountResult.h

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

+ 85 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceListRequest.h

@@ -0,0 +1,85 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCELISTREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCELISTREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeInstanceListRequest : public RpcServiceRequest {
+public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
+	DescribeInstanceListRequest();
+	~DescribeInstanceListRequest();
+	std::string getRemark() const;
+	void setRemark(const std::string &remark);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getInstanceType() const;
+	void setInstanceType(const std::string &instanceType);
+	std::string getIpVersion() const;
+	void setIpVersion(const std::string &ipVersion);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+	std::string getOrderby() const;
+	void setOrderby(const std::string &orderby);
+	std::string getInstanceIdList() const;
+	void setInstanceIdList(const std::string &instanceIdList);
+	int getPageNo() const;
+	void setPageNo(int pageNo);
+	std::string getOrderdire() const;
+	void setOrderdire(const std::string &orderdire);
+	std::vector<std::string> getInstanceTypeList() const;
+	void setInstanceTypeList(const std::vector<std::string> &instanceTypeList);
+
+private:
+	std::string remark_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	int pageSize_;
+	std::string instanceType_;
+	std::string ipVersion_;
+	std::vector<Tag> tag_;
+	std::string ip_;
+	std::string orderby_;
+	std::string instanceIdList_;
+	int pageNo_;
+	std::string orderdire_;
+	std::vector<std::string> instanceTypeList_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCELISTREQUEST_H_

+ 67 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceListResult.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_DDOSBGP_MODEL_DESCRIBEINSTANCELISTRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DescribeInstanceListResult : public ServiceResult
+			{
+			public:
+				struct Instance
+				{
+					std::string status;
+					long gmtCreate;
+					bool autoRenewal;
+					std::string ipType;
+					std::string instanceId;
+					std::string blackholdingCount;
+					std::string product;
+					long expireTime;
+					std::string instanceType;
+					int coverageType;
+					std::string remark;
+				};
+
+
+				DescribeInstanceListResult();
+				explicit DescribeInstanceListResult(const std::string &payload);
+				~DescribeInstanceListResult();
+				long getTotal()const;
+				std::vector<Instance> getInstanceList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long total_;
+				std::vector<Instance> instanceList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCELISTRESULT_H_

+ 54 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceSpecsRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCESPECSREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCESPECSREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeInstanceSpecsRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceSpecsRequest();
+	~DescribeInstanceSpecsRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getInstanceIdList() const;
+	void setInstanceIdList(const std::string &instanceIdList);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string instanceIdList_;
+	std::string lang_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCESPECSREQUEST_H_

+ 72 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeInstanceSpecsResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCESPECSRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCESPECSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DescribeInstanceSpecsResult : public ServiceResult
+			{
+			public:
+				struct InstanceSpec
+				{
+					struct PackConfig
+					{
+						int packAdvThre;
+						int normalBandwidth;
+						int ipSpec;
+						int bindIpCount;
+						long bandwidth;
+						int ipAdvanceThre;
+						int packBasicThre;
+						int ipBasicThre;
+					};
+					int isFullDefenseMode;
+					int totalDefenseTimes;
+					std::string instanceId;
+					int availableDefenseTimes;
+					std::string region;
+					std::string availableDeleteBlackholeCount;
+					PackConfig packConfig;
+				};
+
+
+				DescribeInstanceSpecsResult();
+				explicit DescribeInstanceSpecsResult(const std::string &payload);
+				~DescribeInstanceSpecsResult();
+				std::vector<InstanceSpec> getInstanceSpecs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<InstanceSpec> instanceSpecs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEINSTANCESPECSRESULT_H_

+ 66 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandDdosEventRequest.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_DDOSBGP_MODEL_DESCRIBEONDEMANDDDOSEVENTREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEONDEMANDDDOSEVENTREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeOnDemandDdosEventRequest : public RpcServiceRequest {
+public:
+	DescribeOnDemandDdosEventRequest();
+	~DescribeOnDemandDdosEventRequest();
+	int getStartTime() const;
+	void setStartTime(int startTime);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+	int getEndTime() const;
+	void setEndTime(int endTime);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	int getPageNo() const;
+	void setPageNo(int pageNo);
+
+private:
+	int startTime_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	int pageSize_;
+	std::string ip_;
+	int endTime_;
+	std::string instanceId_;
+	int pageNo_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEONDEMANDDDOSEVENTREQUEST_H_

+ 62 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandDdosEventResult.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_DDOSBGP_MODEL_DESCRIBEONDEMANDDDOSEVENTRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEONDEMANDDDOSEVENTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DescribeOnDemandDdosEventResult : public ServiceResult
+			{
+			public:
+				struct Event
+				{
+					std::string status;
+					int pps;
+					int endTime;
+					std::string ip;
+					int startTime;
+					int mbps;
+				};
+
+
+				DescribeOnDemandDdosEventResult();
+				explicit DescribeOnDemandDdosEventResult(const std::string &payload);
+				~DescribeOnDemandDdosEventResult();
+				std::vector<Event> getEvents()const;
+				long getTotal()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Event> events_;
+				long total_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEONDEMANDDDOSEVENTRESULT_H_

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusRequest.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_DDOSBGP_MODEL_DESCRIBEONDEMANDINSTANCESTATUSREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEONDEMANDINSTANCESTATUSREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeOnDemandInstanceStatusRequest : public RpcServiceRequest {
+public:
+	DescribeOnDemandInstanceStatusRequest();
+	~DescribeOnDemandInstanceStatusRequest();
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<std::string> getInstanceIdList() const;
+	void setInstanceIdList(const std::vector<std::string> &instanceIdList);
+
+private:
+	std::string sourceIp_;
+	std::string regionId_;
+	std::vector<std::string> instanceIdList_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEONDEMANDINSTANCESTATUSREQUEST_H_

+ 61 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusResult.h

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

+ 72 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOpEntitiesRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEOPENTITIESREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEOPENTITIESREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeOpEntitiesRequest : public RpcServiceRequest {
+public:
+	DescribeOpEntitiesRequest();
+	~DescribeOpEntitiesRequest();
+	long getStartTime() const;
+	void setStartTime(long startTime);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+	long getEndTime() const;
+	void setEndTime(long endTime);
+	std::string getOrderBy() const;
+	void setOrderBy(const std::string &orderBy);
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getOrderDir() const;
+	void setOrderDir(const std::string &orderDir);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+
+private:
+	long startTime_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	int pageSize_;
+	std::string lang_;
+	long endTime_;
+	std::string orderBy_;
+	int currentPage_;
+	std::string orderDir_;
+	std::string instanceId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEOPENTITIESREQUEST_H_

+ 62 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeOpEntitiesResult.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_DDOSBGP_MODEL_DESCRIBEOPENTITIESRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEOPENTITIESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DescribeOpEntitiesResult : public ServiceResult
+			{
+			public:
+				struct OpEntity
+				{
+					int entityType;
+					long gmtCreate;
+					std::string opAccount;
+					std::string opDesc;
+					int opAction;
+					std::string entityObject;
+				};
+
+
+				DescribeOpEntitiesResult();
+				explicit DescribeOpEntitiesResult(const std::string &payload);
+				~DescribeOpEntitiesResult();
+				int getTotalCount()const;
+				std::vector<OpEntity> getOpEntities()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<OpEntity> opEntities_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEOPENTITIESRESULT_H_

+ 63 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribePackIpListRequest.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_DDOSBGP_MODEL_DESCRIBEPACKIPLISTREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEPACKIPLISTREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribePackIpListRequest : public RpcServiceRequest {
+public:
+	DescribePackIpListRequest();
+	~DescribePackIpListRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getProductName() const;
+	void setProductName(const std::string &productName);
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	int getPageNo() const;
+	void setPageNo(int pageNo);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	int pageSize_;
+	std::string productName_;
+	std::string ip_;
+	std::string instanceId_;
+	int pageNo_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEPACKIPLISTREQUEST_H_

+ 65 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribePackIpListResult.h

@@ -0,0 +1,65 @@
+/*
+ * 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_DDOSBGP_MODEL_DESCRIBEPACKIPLISTRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEPACKIPLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT DescribePackIpListResult : public ServiceResult
+			{
+			public:
+				struct Ipitem
+				{
+					std::string status;
+					std::string ip;
+					std::string product;
+					std::string region;
+					std::string remark;
+				};
+
+
+				DescribePackIpListResult();
+				explicit DescribePackIpListResult(const std::string &payload);
+				~DescribePackIpListResult();
+				std::vector<Ipitem> getIpList()const;
+				int getTotal()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Ipitem> ipList_;
+				int total_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEPACKIPLISTRESULT_H_

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeRegionsRequest.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_DDOSBGP_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeRegionsRequest : public RpcServiceRequest {
+public:
+	DescribeRegionsRequest();
+	~DescribeRegionsRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 61 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeRegionsResult.h

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

+ 69 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeTrafficRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBETRAFFICREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBETRAFFICREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT DescribeTrafficRequest : public RpcServiceRequest {
+public:
+	DescribeTrafficRequest();
+	~DescribeTrafficRequest();
+	int getStartTime() const;
+	void setStartTime(int startTime);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getIp() const;
+	void setIp(const std::string &ip);
+	int getEndTime() const;
+	void setEndTime(int endTime);
+	std::string getIpnet() const;
+	void setIpnet(const std::string &ipnet);
+	std::string getFlowType() const;
+	void setFlowType(const std::string &flowType);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	int getInterval() const;
+	void setInterval(int interval);
+
+private:
+	int startTime_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string ip_;
+	int endTime_;
+	std::string ipnet_;
+	std::string flowType_;
+	std::string instanceId_;
+	int interval_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_DESCRIBETRAFFICREQUEST_H_

+ 61 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/DescribeTrafficResult.h

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

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/GetSlsOpenStatusRequest.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_DDOSBGP_MODEL_GETSLSOPENSTATUSREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_GETSLSOPENSTATUSREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT GetSlsOpenStatusRequest : public RpcServiceRequest {
+public:
+	GetSlsOpenStatusRequest();
+	~GetSlsOpenStatusRequest();
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_GETSLSOPENSTATUSREQUEST_H_

+ 51 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/GetSlsOpenStatusResult.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_DDOSBGP_MODEL_GETSLSOPENSTATUSRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_GETSLSOPENSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT GetSlsOpenStatusResult : public ServiceResult
+			{
+			public:
+
+
+				GetSlsOpenStatusResult();
+				explicit GetSlsOpenStatusResult(const std::string &payload);
+				~GetSlsOpenStatusResult();
+				bool getSlsOpenStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool slsOpenStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_GETSLSOPENSTATUSRESULT_H_

+ 51 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ListOpenedAccessLogInstancesRequest.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_DDOSBGP_MODEL_LISTOPENEDACCESSLOGINSTANCESREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_LISTOPENEDACCESSLOGINSTANCESREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT ListOpenedAccessLogInstancesRequest : public RpcServiceRequest {
+public:
+	ListOpenedAccessLogInstancesRequest();
+	~ListOpenedAccessLogInstancesRequest();
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	int pageNumber_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_LISTOPENEDACCESSLOGINSTANCESREQUEST_H_

+ 58 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ListOpenedAccessLogInstancesResult.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_DDOSBGP_MODEL_LISTOPENEDACCESSLOGINSTANCESRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_LISTOPENEDACCESSLOGINSTANCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT ListOpenedAccessLogInstancesResult : public ServiceResult
+			{
+			public:
+				struct OpenedInstance
+				{
+					std::string instanceId;
+					bool enable;
+				};
+
+
+				ListOpenedAccessLogInstancesResult();
+				explicit ListOpenedAccessLogInstancesResult(const std::string &payload);
+				~ListOpenedAccessLogInstancesResult();
+				int getTotalCount()const;
+				std::vector<OpenedInstance> getSlsConfigStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::vector<OpenedInstance> slsConfigStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_LISTOPENEDACCESSLOGINSTANCESRESULT_H_

+ 66 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ListTagKeysRequest.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_DDOSBGP_MODEL_LISTTAGKEYSREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGKEYSREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT ListTagKeysRequest : public RpcServiceRequest {
+public:
+	ListTagKeysRequest();
+	~ListTagKeysRequest();
+	std::string getTagOwnerUid() const;
+	void setTagOwnerUid(const std::string &tagOwnerUid);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getScope() const;
+	void setScope(const std::string &scope);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getTagOwnerBid() const;
+	void setTagOwnerBid(const std::string &tagOwnerBid);
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+
+private:
+	std::string tagOwnerUid_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string scope_;
+	int pageSize_;
+	std::string tagOwnerBid_;
+	int currentPage_;
+	std::string resourceType_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGKEYSREQUEST_H_

+ 62 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ListTagKeysResult.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_DDOSBGP_MODEL_LISTTAGKEYSRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGKEYSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT ListTagKeysResult : public ServiceResult
+			{
+			public:
+				struct TagKey
+				{
+					int tagCount;
+					std::string tagKey;
+				};
+
+
+				ListTagKeysResult();
+				explicit ListTagKeysResult(const std::string &payload);
+				~ListTagKeysResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
+				std::vector<TagKey> getTagKeys()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int currentPage_;
+				std::vector<TagKey> tagKeys_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGKEYSRESULT_H_

+ 73 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ListTagResourcesRequest.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_DDOSBGP_MODEL_LISTTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGRESOURCESREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT ListTagResourcesRequest : public RpcServiceRequest {
+public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
+	ListTagResourcesRequest();
+	~ListTagResourcesRequest();
+	std::string getTagOwnerUid() const;
+	void setTagOwnerUid(const std::string &tagOwnerUid);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::string getScope() const;
+	void setScope(const std::string &scope);
+	std::string getTagOwnerBid() const;
+	void setTagOwnerBid(const std::string &tagOwnerBid);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+
+private:
+	std::string tagOwnerUid_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string nextToken_;
+	std::string scope_;
+	std::string tagOwnerBid_;
+	std::vector<Tag> tag_;
+	std::vector<std::string> resourceId_;
+	std::string resourceType_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGRESOURCESREQUEST_H_

+ 60 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ListTagResourcesResult.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_DDOSBGP_MODEL_LISTTAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT ListTagResourcesResult : public ServiceResult
+			{
+			public:
+				struct TagResource
+				{
+					std::string resourceId;
+					std::string tagKey;
+					std::string resourceType;
+					std::string tagValue;
+				};
+
+
+				ListTagResourcesResult();
+				explicit ListTagResourcesResult(const std::string &payload);
+				~ListTagResourcesResult();
+				std::string getNextToken()const;
+				std::vector<TagResource> getTagResources()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<TagResource> tagResources_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_LISTTAGRESOURCESRESULT_H_

+ 57 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ModifyRemarkRequest.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_DDOSBGP_MODEL_MODIFYREMARKREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_MODIFYREMARKREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT ModifyRemarkRequest : public RpcServiceRequest {
+public:
+	ModifyRemarkRequest();
+	~ModifyRemarkRequest();
+	std::string getRemark() const;
+	void setRemark(const std::string &remark);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getLang() const;
+	void setLang(const std::string &lang);
+
+private:
+	std::string remark_;
+	std::string resourceGroupId_;
+	std::string instanceId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string lang_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_MODIFYREMARKREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/ModifyRemarkResult.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_DDOSBGP_MODEL_MODIFYREMARKRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_MODIFYREMARKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT ModifyRemarkResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyRemarkResult();
+				explicit ModifyRemarkResult(const std::string &payload);
+				~ModifyRemarkResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_MODIFYREMARKRESULT_H_

+ 48 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/QuerySchedruleOnDemandRequest.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_DDOSBGP_MODEL_QUERYSCHEDRULEONDEMANDREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_QUERYSCHEDRULEONDEMANDREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT QuerySchedruleOnDemandRequest : public RpcServiceRequest {
+public:
+	QuerySchedruleOnDemandRequest();
+	~QuerySchedruleOnDemandRequest();
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+
+private:
+	std::string instanceId_;
+	std::string sourceIp_;
+	std::string regionId_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_QUERYSCHEDRULEONDEMANDREQUEST_H_

+ 75 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/QuerySchedruleOnDemandResult.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_QUERYSCHEDRULEONDEMANDRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_QUERYSCHEDRULEONDEMANDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT QuerySchedruleOnDemandResult : public ServiceResult
+			{
+			public:
+				struct Config
+				{
+					std::string ruleSwitch;
+					std::string ruleUndoEndTime;
+					std::string timeZone;
+					std::string ruleConditionCnt;
+					std::string ruleAction;
+					std::string ruleConditionMbps;
+					std::string ruleConditionKpps;
+					std::string ruleUndoMode;
+					std::string ruleUndoBeginTime;
+					std::string ruleName;
+				};
+				struct Status
+				{
+					std::string ruleSchedStatus;
+					std::string net;
+				};
+
+
+				QuerySchedruleOnDemandResult();
+				explicit QuerySchedruleOnDemandResult(const std::string &payload);
+				~QuerySchedruleOnDemandResult();
+				std::string getInstanceId()const;
+				std::string getUserId()const;
+				std::vector<Status> getRuleStatus()const;
+				std::vector<Config> getRuleConfig()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string instanceId_;
+				std::string userId_;
+				std::vector<Status> ruleStatus_;
+				std::vector<Config> ruleConfig_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_QUERYSCHEDRULEONDEMANDRESULT_H_

+ 51 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/SetInstanceModeOnDemandRequest.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_DDOSBGP_MODEL_SETINSTANCEMODEONDEMANDREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_SETINSTANCEMODEONDEMANDREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT SetInstanceModeOnDemandRequest : public RpcServiceRequest {
+public:
+	SetInstanceModeOnDemandRequest();
+	~SetInstanceModeOnDemandRequest();
+	std::string getMode() const;
+	void setMode(const std::string &mode);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<std::string> getInstanceIdList() const;
+	void setInstanceIdList(const std::vector<std::string> &instanceIdList);
+
+private:
+	std::string mode_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::vector<std::string> instanceIdList_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_SETINSTANCEMODEONDEMANDREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/SetInstanceModeOnDemandResult.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_DDOSBGP_MODEL_SETINSTANCEMODEONDEMANDRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_SETINSTANCEMODEONDEMANDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT SetInstanceModeOnDemandResult : public ServiceResult
+			{
+			public:
+
+
+				SetInstanceModeOnDemandResult();
+				explicit SetInstanceModeOnDemandResult(const std::string &payload);
+				~SetInstanceModeOnDemandResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_SETINSTANCEMODEONDEMANDRESULT_H_

+ 70 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/TagResourcesRequest.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDOSBGP_MODEL_TAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_TAGRESOURCESREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT TagResourcesRequest : public RpcServiceRequest {
+public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
+	TagResourcesRequest();
+	~TagResourcesRequest();
+	std::string getTagOwnerUid() const;
+	void setTagOwnerUid(const std::string &tagOwnerUid);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getScope() const;
+	void setScope(const std::string &scope);
+	std::string getTagOwnerBid() const;
+	void setTagOwnerBid(const std::string &tagOwnerBid);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+
+private:
+	std::string tagOwnerUid_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string scope_;
+	std::string tagOwnerBid_;
+	std::vector<Tag> tag_;
+	std::vector<std::string> resourceId_;
+	std::string resourceType_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_TAGRESOURCESREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/TagResourcesResult.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_DDOSBGP_MODEL_TAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_TAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT TagResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				TagResourcesResult();
+				explicit TagResourcesResult(const std::string &payload);
+				~TagResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_TAGRESOURCESRESULT_H_

+ 66 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/UntagResourcesRequest.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_DDOSBGP_MODEL_UNTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_UNTAGRESOURCESREQUEST_H_
+
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ddosbgp {
+namespace Model {
+class ALIBABACLOUD_DDOSBGP_EXPORT UntagResourcesRequest : public RpcServiceRequest {
+public:
+	UntagResourcesRequest();
+	~UntagResourcesRequest();
+	std::string getTagOwnerUid() const;
+	void setTagOwnerUid(const std::string &tagOwnerUid);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSourceIp() const;
+	void setSourceIp(const std::string &sourceIp);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getTagOwnerBid() const;
+	void setTagOwnerBid(const std::string &tagOwnerBid);
+	bool getAll() const;
+	void setAll(bool all);
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::vector<std::string> getTagKey() const;
+	void setTagKey(const std::vector<std::string> &tagKey);
+
+private:
+	std::string tagOwnerUid_;
+	std::string resourceGroupId_;
+	std::string sourceIp_;
+	std::string regionId_;
+	std::string tagOwnerBid_;
+	bool all_;
+	std::vector<std::string> resourceId_;
+	std::string resourceType_;
+	std::vector<std::string> tagKey_;
+};
+} // namespace Model
+} // namespace Ddosbgp
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_UNTAGRESOURCESREQUEST_H_

+ 49 - 0
ddosbgp/include/alibabacloud/ddosbgp/model/UntagResourcesResult.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_DDOSBGP_MODEL_UNTAGRESOURCESRESULT_H_
+#define ALIBABACLOUD_DDOSBGP_MODEL_UNTAGRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ddosbgp/DdosbgpExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ddosbgp
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDOSBGP_EXPORT UntagResourcesResult : public ServiceResult
+			{
+			public:
+
+
+				UntagResourcesResult();
+				explicit UntagResourcesResult(const std::string &payload);
+				~UntagResourcesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDOSBGP_MODEL_UNTAGRESOURCESRESULT_H_

+ 1025 - 0
ddosbgp/src/DdosbgpClient.cc

@@ -0,0 +1,1025 @@
+/*
+ * 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/ddosbgp/DdosbgpClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "ddosbgp";
+}
+
+DdosbgpClient::DdosbgpClient(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, "");
+}
+
+DdosbgpClient::DdosbgpClient(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, "");
+}
+
+DdosbgpClient::DdosbgpClient(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, "");
+}
+
+DdosbgpClient::~DdosbgpClient()
+{}
+
+DdosbgpClient::AddIpOutcome DdosbgpClient::addIp(const AddIpRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddIpOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddIpOutcome(AddIpResult(outcome.result()));
+	else
+		return AddIpOutcome(outcome.error());
+}
+
+void DdosbgpClient::addIpAsync(const AddIpRequest& request, const AddIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addIp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::AddIpOutcomeCallable DdosbgpClient::addIpCallable(const AddIpRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddIpOutcome()>>(
+			[this, request]()
+			{
+			return this->addIp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::CheckAccessLogAuthOutcome DdosbgpClient::checkAccessLogAuth(const CheckAccessLogAuthRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CheckAccessLogAuthOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CheckAccessLogAuthOutcome(CheckAccessLogAuthResult(outcome.result()));
+	else
+		return CheckAccessLogAuthOutcome(outcome.error());
+}
+
+void DdosbgpClient::checkAccessLogAuthAsync(const CheckAccessLogAuthRequest& request, const CheckAccessLogAuthAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, checkAccessLogAuth(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::CheckAccessLogAuthOutcomeCallable DdosbgpClient::checkAccessLogAuthCallable(const CheckAccessLogAuthRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CheckAccessLogAuthOutcome()>>(
+			[this, request]()
+			{
+			return this->checkAccessLogAuth(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::CheckGrantOutcome DdosbgpClient::checkGrant(const CheckGrantRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CheckGrantOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CheckGrantOutcome(CheckGrantResult(outcome.result()));
+	else
+		return CheckGrantOutcome(outcome.error());
+}
+
+void DdosbgpClient::checkGrantAsync(const CheckGrantRequest& request, const CheckGrantAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, checkGrant(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::CheckGrantOutcomeCallable DdosbgpClient::checkGrantCallable(const CheckGrantRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CheckGrantOutcome()>>(
+			[this, request]()
+			{
+			return this->checkGrant(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::ConfigSchedruleOnDemandOutcome DdosbgpClient::configSchedruleOnDemand(const ConfigSchedruleOnDemandRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ConfigSchedruleOnDemandOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ConfigSchedruleOnDemandOutcome(ConfigSchedruleOnDemandResult(outcome.result()));
+	else
+		return ConfigSchedruleOnDemandOutcome(outcome.error());
+}
+
+void DdosbgpClient::configSchedruleOnDemandAsync(const ConfigSchedruleOnDemandRequest& request, const ConfigSchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, configSchedruleOnDemand(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::ConfigSchedruleOnDemandOutcomeCallable DdosbgpClient::configSchedruleOnDemandCallable(const ConfigSchedruleOnDemandRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ConfigSchedruleOnDemandOutcome()>>(
+			[this, request]()
+			{
+			return this->configSchedruleOnDemand(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::CreateSchedruleOnDemandOutcome DdosbgpClient::createSchedruleOnDemand(const CreateSchedruleOnDemandRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateSchedruleOnDemandOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateSchedruleOnDemandOutcome(CreateSchedruleOnDemandResult(outcome.result()));
+	else
+		return CreateSchedruleOnDemandOutcome(outcome.error());
+}
+
+void DdosbgpClient::createSchedruleOnDemandAsync(const CreateSchedruleOnDemandRequest& request, const CreateSchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createSchedruleOnDemand(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::CreateSchedruleOnDemandOutcomeCallable DdosbgpClient::createSchedruleOnDemandCallable(const CreateSchedruleOnDemandRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateSchedruleOnDemandOutcome()>>(
+			[this, request]()
+			{
+			return this->createSchedruleOnDemand(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DeleteBlackholeOutcome DdosbgpClient::deleteBlackhole(const DeleteBlackholeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteBlackholeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteBlackholeOutcome(DeleteBlackholeResult(outcome.result()));
+	else
+		return DeleteBlackholeOutcome(outcome.error());
+}
+
+void DdosbgpClient::deleteBlackholeAsync(const DeleteBlackholeRequest& request, const DeleteBlackholeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteBlackhole(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DeleteBlackholeOutcomeCallable DdosbgpClient::deleteBlackholeCallable(const DeleteBlackholeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteBlackholeOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteBlackhole(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DeleteIpOutcome DdosbgpClient::deleteIp(const DeleteIpRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteIpOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteIpOutcome(DeleteIpResult(outcome.result()));
+	else
+		return DeleteIpOutcome(outcome.error());
+}
+
+void DdosbgpClient::deleteIpAsync(const DeleteIpRequest& request, const DeleteIpAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteIp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DeleteIpOutcomeCallable DdosbgpClient::deleteIpCallable(const DeleteIpRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteIpOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteIp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DeleteSchedruleOnDemandOutcome DdosbgpClient::deleteSchedruleOnDemand(const DeleteSchedruleOnDemandRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteSchedruleOnDemandOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteSchedruleOnDemandOutcome(DeleteSchedruleOnDemandResult(outcome.result()));
+	else
+		return DeleteSchedruleOnDemandOutcome(outcome.error());
+}
+
+void DdosbgpClient::deleteSchedruleOnDemandAsync(const DeleteSchedruleOnDemandRequest& request, const DeleteSchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteSchedruleOnDemand(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DeleteSchedruleOnDemandOutcomeCallable DdosbgpClient::deleteSchedruleOnDemandCallable(const DeleteSchedruleOnDemandRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteSchedruleOnDemandOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteSchedruleOnDemand(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeDdosEventOutcome DdosbgpClient::describeDdosEvent(const DescribeDdosEventRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDdosEventOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDdosEventOutcome(DescribeDdosEventResult(outcome.result()));
+	else
+		return DescribeDdosEventOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeDdosEventAsync(const DescribeDdosEventRequest& request, const DescribeDdosEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDdosEvent(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeDdosEventOutcomeCallable DdosbgpClient::describeDdosEventCallable(const DescribeDdosEventRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDdosEventOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDdosEvent(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeExcpetionCountOutcome DdosbgpClient::describeExcpetionCount(const DescribeExcpetionCountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeExcpetionCountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeExcpetionCountOutcome(DescribeExcpetionCountResult(outcome.result()));
+	else
+		return DescribeExcpetionCountOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeExcpetionCountAsync(const DescribeExcpetionCountRequest& request, const DescribeExcpetionCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeExcpetionCount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeExcpetionCountOutcomeCallable DdosbgpClient::describeExcpetionCountCallable(const DescribeExcpetionCountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeExcpetionCountOutcome()>>(
+			[this, request]()
+			{
+			return this->describeExcpetionCount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeInstanceListOutcome DdosbgpClient::describeInstanceList(const DescribeInstanceListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceListOutcome(DescribeInstanceListResult(outcome.result()));
+	else
+		return DescribeInstanceListOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeInstanceListAsync(const DescribeInstanceListRequest& request, const DescribeInstanceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeInstanceListOutcomeCallable DdosbgpClient::describeInstanceListCallable(const DescribeInstanceListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeInstanceSpecsOutcome DdosbgpClient::describeInstanceSpecs(const DescribeInstanceSpecsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceSpecsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceSpecsOutcome(DescribeInstanceSpecsResult(outcome.result()));
+	else
+		return DescribeInstanceSpecsOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeInstanceSpecsAsync(const DescribeInstanceSpecsRequest& request, const DescribeInstanceSpecsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceSpecs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeInstanceSpecsOutcomeCallable DdosbgpClient::describeInstanceSpecsCallable(const DescribeInstanceSpecsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceSpecsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceSpecs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeOnDemandDdosEventOutcome DdosbgpClient::describeOnDemandDdosEvent(const DescribeOnDemandDdosEventRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeOnDemandDdosEventOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeOnDemandDdosEventOutcome(DescribeOnDemandDdosEventResult(outcome.result()));
+	else
+		return DescribeOnDemandDdosEventOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeOnDemandDdosEventAsync(const DescribeOnDemandDdosEventRequest& request, const DescribeOnDemandDdosEventAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeOnDemandDdosEvent(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeOnDemandDdosEventOutcomeCallable DdosbgpClient::describeOnDemandDdosEventCallable(const DescribeOnDemandDdosEventRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeOnDemandDdosEventOutcome()>>(
+			[this, request]()
+			{
+			return this->describeOnDemandDdosEvent(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeOnDemandInstanceStatusOutcome DdosbgpClient::describeOnDemandInstanceStatus(const DescribeOnDemandInstanceStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeOnDemandInstanceStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeOnDemandInstanceStatusOutcome(DescribeOnDemandInstanceStatusResult(outcome.result()));
+	else
+		return DescribeOnDemandInstanceStatusOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeOnDemandInstanceStatusAsync(const DescribeOnDemandInstanceStatusRequest& request, const DescribeOnDemandInstanceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeOnDemandInstanceStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeOnDemandInstanceStatusOutcomeCallable DdosbgpClient::describeOnDemandInstanceStatusCallable(const DescribeOnDemandInstanceStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeOnDemandInstanceStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeOnDemandInstanceStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeOpEntitiesOutcome DdosbgpClient::describeOpEntities(const DescribeOpEntitiesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeOpEntitiesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeOpEntitiesOutcome(DescribeOpEntitiesResult(outcome.result()));
+	else
+		return DescribeOpEntitiesOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeOpEntitiesAsync(const DescribeOpEntitiesRequest& request, const DescribeOpEntitiesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeOpEntities(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeOpEntitiesOutcomeCallable DdosbgpClient::describeOpEntitiesCallable(const DescribeOpEntitiesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeOpEntitiesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeOpEntities(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribePackIpListOutcome DdosbgpClient::describePackIpList(const DescribePackIpListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribePackIpListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribePackIpListOutcome(DescribePackIpListResult(outcome.result()));
+	else
+		return DescribePackIpListOutcome(outcome.error());
+}
+
+void DdosbgpClient::describePackIpListAsync(const DescribePackIpListRequest& request, const DescribePackIpListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describePackIpList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribePackIpListOutcomeCallable DdosbgpClient::describePackIpListCallable(const DescribePackIpListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribePackIpListOutcome()>>(
+			[this, request]()
+			{
+			return this->describePackIpList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::DescribeRegionsOutcome DdosbgpClient::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 DdosbgpClient::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));
+}
+
+DdosbgpClient::DescribeRegionsOutcomeCallable DdosbgpClient::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();
+}
+
+DdosbgpClient::DescribeTrafficOutcome DdosbgpClient::describeTraffic(const DescribeTrafficRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeTrafficOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeTrafficOutcome(DescribeTrafficResult(outcome.result()));
+	else
+		return DescribeTrafficOutcome(outcome.error());
+}
+
+void DdosbgpClient::describeTrafficAsync(const DescribeTrafficRequest& request, const DescribeTrafficAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeTraffic(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::DescribeTrafficOutcomeCallable DdosbgpClient::describeTrafficCallable(const DescribeTrafficRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeTrafficOutcome()>>(
+			[this, request]()
+			{
+			return this->describeTraffic(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::GetSlsOpenStatusOutcome DdosbgpClient::getSlsOpenStatus(const GetSlsOpenStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetSlsOpenStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetSlsOpenStatusOutcome(GetSlsOpenStatusResult(outcome.result()));
+	else
+		return GetSlsOpenStatusOutcome(outcome.error());
+}
+
+void DdosbgpClient::getSlsOpenStatusAsync(const GetSlsOpenStatusRequest& request, const GetSlsOpenStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getSlsOpenStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::GetSlsOpenStatusOutcomeCallable DdosbgpClient::getSlsOpenStatusCallable(const GetSlsOpenStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetSlsOpenStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->getSlsOpenStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::ListOpenedAccessLogInstancesOutcome DdosbgpClient::listOpenedAccessLogInstances(const ListOpenedAccessLogInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListOpenedAccessLogInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListOpenedAccessLogInstancesOutcome(ListOpenedAccessLogInstancesResult(outcome.result()));
+	else
+		return ListOpenedAccessLogInstancesOutcome(outcome.error());
+}
+
+void DdosbgpClient::listOpenedAccessLogInstancesAsync(const ListOpenedAccessLogInstancesRequest& request, const ListOpenedAccessLogInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listOpenedAccessLogInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::ListOpenedAccessLogInstancesOutcomeCallable DdosbgpClient::listOpenedAccessLogInstancesCallable(const ListOpenedAccessLogInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListOpenedAccessLogInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->listOpenedAccessLogInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::ListTagKeysOutcome DdosbgpClient::listTagKeys(const ListTagKeysRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagKeysOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagKeysOutcome(ListTagKeysResult(outcome.result()));
+	else
+		return ListTagKeysOutcome(outcome.error());
+}
+
+void DdosbgpClient::listTagKeysAsync(const ListTagKeysRequest& request, const ListTagKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagKeys(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::ListTagKeysOutcomeCallable DdosbgpClient::listTagKeysCallable(const ListTagKeysRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagKeysOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagKeys(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::ListTagResourcesOutcome DdosbgpClient::listTagResources(const ListTagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagResourcesOutcome(ListTagResourcesResult(outcome.result()));
+	else
+		return ListTagResourcesOutcome(outcome.error());
+}
+
+void DdosbgpClient::listTagResourcesAsync(const ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::ListTagResourcesOutcomeCallable DdosbgpClient::listTagResourcesCallable(const ListTagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::ModifyRemarkOutcome DdosbgpClient::modifyRemark(const ModifyRemarkRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyRemarkOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyRemarkOutcome(ModifyRemarkResult(outcome.result()));
+	else
+		return ModifyRemarkOutcome(outcome.error());
+}
+
+void DdosbgpClient::modifyRemarkAsync(const ModifyRemarkRequest& request, const ModifyRemarkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyRemark(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::ModifyRemarkOutcomeCallable DdosbgpClient::modifyRemarkCallable(const ModifyRemarkRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyRemarkOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyRemark(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::QuerySchedruleOnDemandOutcome DdosbgpClient::querySchedruleOnDemand(const QuerySchedruleOnDemandRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QuerySchedruleOnDemandOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QuerySchedruleOnDemandOutcome(QuerySchedruleOnDemandResult(outcome.result()));
+	else
+		return QuerySchedruleOnDemandOutcome(outcome.error());
+}
+
+void DdosbgpClient::querySchedruleOnDemandAsync(const QuerySchedruleOnDemandRequest& request, const QuerySchedruleOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, querySchedruleOnDemand(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::QuerySchedruleOnDemandOutcomeCallable DdosbgpClient::querySchedruleOnDemandCallable(const QuerySchedruleOnDemandRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QuerySchedruleOnDemandOutcome()>>(
+			[this, request]()
+			{
+			return this->querySchedruleOnDemand(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::SetInstanceModeOnDemandOutcome DdosbgpClient::setInstanceModeOnDemand(const SetInstanceModeOnDemandRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetInstanceModeOnDemandOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetInstanceModeOnDemandOutcome(SetInstanceModeOnDemandResult(outcome.result()));
+	else
+		return SetInstanceModeOnDemandOutcome(outcome.error());
+}
+
+void DdosbgpClient::setInstanceModeOnDemandAsync(const SetInstanceModeOnDemandRequest& request, const SetInstanceModeOnDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setInstanceModeOnDemand(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::SetInstanceModeOnDemandOutcomeCallable DdosbgpClient::setInstanceModeOnDemandCallable(const SetInstanceModeOnDemandRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetInstanceModeOnDemandOutcome()>>(
+			[this, request]()
+			{
+			return this->setInstanceModeOnDemand(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::TagResourcesOutcome DdosbgpClient::tagResources(const TagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TagResourcesOutcome(TagResourcesResult(outcome.result()));
+	else
+		return TagResourcesOutcome(outcome.error());
+}
+
+void DdosbgpClient::tagResourcesAsync(const TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, tagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::TagResourcesOutcomeCallable DdosbgpClient::tagResourcesCallable(const TagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->tagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdosbgpClient::UntagResourcesOutcome DdosbgpClient::untagResources(const UntagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UntagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UntagResourcesOutcome(UntagResourcesResult(outcome.result()));
+	else
+		return UntagResourcesOutcome(outcome.error());
+}
+
+void DdosbgpClient::untagResourcesAsync(const UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, untagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdosbgpClient::UntagResourcesOutcomeCallable DdosbgpClient::untagResourcesCallable(const UntagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UntagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->untagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 72 - 0
ddosbgp/src/model/AddIpRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/AddIpRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::AddIpRequest;
+
+AddIpRequest::AddIpRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "AddIp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+AddIpRequest::~AddIpRequest() {}
+
+std::string AddIpRequest::getIpList() const {
+  return ipList_;
+}
+
+void AddIpRequest::setIpList(const std::string &ipList) {
+  ipList_ = ipList;
+  setParameter(std::string("IpList"), ipList);
+}
+
+std::string AddIpRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void AddIpRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string AddIpRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void AddIpRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string AddIpRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void AddIpRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string AddIpRequest::getRegionId() const {
+  return regionId_;
+}
+
+void AddIpRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

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

+ 54 - 0
ddosbgp/src/model/CheckAccessLogAuthRequest.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/ddosbgp/model/CheckAccessLogAuthRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::CheckAccessLogAuthRequest;
+
+CheckAccessLogAuthRequest::CheckAccessLogAuthRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "CheckAccessLogAuth") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CheckAccessLogAuthRequest::~CheckAccessLogAuthRequest() {}
+
+std::string CheckAccessLogAuthRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CheckAccessLogAuthRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string CheckAccessLogAuthRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void CheckAccessLogAuthRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string CheckAccessLogAuthRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CheckAccessLogAuthRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

+ 51 - 0
ddosbgp/src/model/CheckAccessLogAuthResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ddosbgp/model/CheckAccessLogAuthResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+CheckAccessLogAuthResult::CheckAccessLogAuthResult() :
+	ServiceResult()
+{}
+
+CheckAccessLogAuthResult::CheckAccessLogAuthResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CheckAccessLogAuthResult::~CheckAccessLogAuthResult()
+{}
+
+void CheckAccessLogAuthResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["AccessLogAuth"].isNull())
+		accessLogAuth_ = value["AccessLogAuth"].asString() == "true";
+
+}
+
+bool CheckAccessLogAuthResult::getAccessLogAuth()const
+{
+	return accessLogAuth_;
+}
+

+ 54 - 0
ddosbgp/src/model/CheckGrantRequest.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/ddosbgp/model/CheckGrantRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::CheckGrantRequest;
+
+CheckGrantRequest::CheckGrantRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "CheckGrant") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+CheckGrantRequest::~CheckGrantRequest() {}
+
+std::string CheckGrantRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CheckGrantRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string CheckGrantRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void CheckGrantRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string CheckGrantRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CheckGrantRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

+ 51 - 0
ddosbgp/src/model/CheckGrantResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ddosbgp/model/CheckGrantResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+CheckGrantResult::CheckGrantResult() :
+	ServiceResult()
+{}
+
+CheckGrantResult::CheckGrantResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CheckGrantResult::~CheckGrantResult()
+{}
+
+void CheckGrantResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Status"].isNull())
+		status_ = std::stoi(value["Status"].asString());
+
+}
+
+int CheckGrantResult::getStatus()const
+{
+	return status_;
+}
+

+ 144 - 0
ddosbgp/src/model/ConfigSchedruleOnDemandRequest.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/ddosbgp/model/ConfigSchedruleOnDemandRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::ConfigSchedruleOnDemandRequest;
+
+ConfigSchedruleOnDemandRequest::ConfigSchedruleOnDemandRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "ConfigSchedruleOnDemand") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ConfigSchedruleOnDemandRequest::~ConfigSchedruleOnDemandRequest() {}
+
+std::string ConfigSchedruleOnDemandRequest::getTimeZone() const {
+  return timeZone_;
+}
+
+void ConfigSchedruleOnDemandRequest::setTimeZone(const std::string &timeZone) {
+  timeZone_ = timeZone;
+  setParameter(std::string("TimeZone"), timeZone);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleName() const {
+  return ruleName_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleName(const std::string &ruleName) {
+  ruleName_ = ruleName;
+  setParameter(std::string("RuleName"), ruleName);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleConditionMbps() const {
+  return ruleConditionMbps_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleConditionMbps(const std::string &ruleConditionMbps) {
+  ruleConditionMbps_ = ruleConditionMbps;
+  setParameter(std::string("RuleConditionMbps"), ruleConditionMbps);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleAction() const {
+  return ruleAction_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleAction(const std::string &ruleAction) {
+  ruleAction_ = ruleAction;
+  setParameter(std::string("RuleAction"), ruleAction);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ConfigSchedruleOnDemandRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleUndoMode() const {
+  return ruleUndoMode_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleUndoMode(const std::string &ruleUndoMode) {
+  ruleUndoMode_ = ruleUndoMode;
+  setParameter(std::string("RuleUndoMode"), ruleUndoMode);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleUndoEndTime() const {
+  return ruleUndoEndTime_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleUndoEndTime(const std::string &ruleUndoEndTime) {
+  ruleUndoEndTime_ = ruleUndoEndTime;
+  setParameter(std::string("RuleUndoEndTime"), ruleUndoEndTime);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void ConfigSchedruleOnDemandRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleUndoBeginTime() const {
+  return ruleUndoBeginTime_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleUndoBeginTime(const std::string &ruleUndoBeginTime) {
+  ruleUndoBeginTime_ = ruleUndoBeginTime;
+  setParameter(std::string("RuleUndoBeginTime"), ruleUndoBeginTime);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleConditionCnt() const {
+  return ruleConditionCnt_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleConditionCnt(const std::string &ruleConditionCnt) {
+  ruleConditionCnt_ = ruleConditionCnt;
+  setParameter(std::string("RuleConditionCnt"), ruleConditionCnt);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleSwitch() const {
+  return ruleSwitch_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleSwitch(const std::string &ruleSwitch) {
+  ruleSwitch_ = ruleSwitch;
+  setParameter(std::string("RuleSwitch"), ruleSwitch);
+}
+
+std::string ConfigSchedruleOnDemandRequest::getRuleConditionKpps() const {
+  return ruleConditionKpps_;
+}
+
+void ConfigSchedruleOnDemandRequest::setRuleConditionKpps(const std::string &ruleConditionKpps) {
+  ruleConditionKpps_ = ruleConditionKpps;
+  setParameter(std::string("RuleConditionKpps"), ruleConditionKpps);
+}
+

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

+ 144 - 0
ddosbgp/src/model/CreateSchedruleOnDemandRequest.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/ddosbgp/model/CreateSchedruleOnDemandRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::CreateSchedruleOnDemandRequest;
+
+CreateSchedruleOnDemandRequest::CreateSchedruleOnDemandRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "CreateSchedruleOnDemand") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateSchedruleOnDemandRequest::~CreateSchedruleOnDemandRequest() {}
+
+std::string CreateSchedruleOnDemandRequest::getTimeZone() const {
+  return timeZone_;
+}
+
+void CreateSchedruleOnDemandRequest::setTimeZone(const std::string &timeZone) {
+  timeZone_ = timeZone;
+  setParameter(std::string("TimeZone"), timeZone);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleName() const {
+  return ruleName_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleName(const std::string &ruleName) {
+  ruleName_ = ruleName;
+  setParameter(std::string("RuleName"), ruleName);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleConditionMbps() const {
+  return ruleConditionMbps_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleConditionMbps(const std::string &ruleConditionMbps) {
+  ruleConditionMbps_ = ruleConditionMbps;
+  setParameter(std::string("RuleConditionMbps"), ruleConditionMbps);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleAction() const {
+  return ruleAction_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleAction(const std::string &ruleAction) {
+  ruleAction_ = ruleAction;
+  setParameter(std::string("RuleAction"), ruleAction);
+}
+
+std::string CreateSchedruleOnDemandRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void CreateSchedruleOnDemandRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateSchedruleOnDemandRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleUndoMode() const {
+  return ruleUndoMode_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleUndoMode(const std::string &ruleUndoMode) {
+  ruleUndoMode_ = ruleUndoMode;
+  setParameter(std::string("RuleUndoMode"), ruleUndoMode);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleUndoEndTime() const {
+  return ruleUndoEndTime_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleUndoEndTime(const std::string &ruleUndoEndTime) {
+  ruleUndoEndTime_ = ruleUndoEndTime;
+  setParameter(std::string("RuleUndoEndTime"), ruleUndoEndTime);
+}
+
+std::string CreateSchedruleOnDemandRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void CreateSchedruleOnDemandRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleUndoBeginTime() const {
+  return ruleUndoBeginTime_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleUndoBeginTime(const std::string &ruleUndoBeginTime) {
+  ruleUndoBeginTime_ = ruleUndoBeginTime;
+  setParameter(std::string("RuleUndoBeginTime"), ruleUndoBeginTime);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleConditionCnt() const {
+  return ruleConditionCnt_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleConditionCnt(const std::string &ruleConditionCnt) {
+  ruleConditionCnt_ = ruleConditionCnt;
+  setParameter(std::string("RuleConditionCnt"), ruleConditionCnt);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleSwitch() const {
+  return ruleSwitch_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleSwitch(const std::string &ruleSwitch) {
+  ruleSwitch_ = ruleSwitch;
+  setParameter(std::string("RuleSwitch"), ruleSwitch);
+}
+
+std::string CreateSchedruleOnDemandRequest::getRuleConditionKpps() const {
+  return ruleConditionKpps_;
+}
+
+void CreateSchedruleOnDemandRequest::setRuleConditionKpps(const std::string &ruleConditionKpps) {
+  ruleConditionKpps_ = ruleConditionKpps;
+  setParameter(std::string("RuleConditionKpps"), ruleConditionKpps);
+}
+

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

+ 72 - 0
ddosbgp/src/model/DeleteBlackholeRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DeleteBlackholeRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DeleteBlackholeRequest;
+
+DeleteBlackholeRequest::DeleteBlackholeRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DeleteBlackhole") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteBlackholeRequest::~DeleteBlackholeRequest() {}
+
+std::string DeleteBlackholeRequest::getIp() const {
+  return ip_;
+}
+
+void DeleteBlackholeRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+
+std::string DeleteBlackholeRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DeleteBlackholeRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DeleteBlackholeRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DeleteBlackholeRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DeleteBlackholeRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DeleteBlackholeRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DeleteBlackholeRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DeleteBlackholeRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

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

+ 72 - 0
ddosbgp/src/model/DeleteIpRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DeleteIpRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DeleteIpRequest;
+
+DeleteIpRequest::DeleteIpRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DeleteIp") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteIpRequest::~DeleteIpRequest() {}
+
+std::string DeleteIpRequest::getIpList() const {
+  return ipList_;
+}
+
+void DeleteIpRequest::setIpList(const std::string &ipList) {
+  ipList_ = ipList;
+  setParameter(std::string("IpList"), ipList);
+}
+
+std::string DeleteIpRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DeleteIpRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DeleteIpRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DeleteIpRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DeleteIpRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DeleteIpRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DeleteIpRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DeleteIpRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

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

+ 63 - 0
ddosbgp/src/model/DeleteSchedruleOnDemandRequest.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/ddosbgp/model/DeleteSchedruleOnDemandRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DeleteSchedruleOnDemandRequest;
+
+DeleteSchedruleOnDemandRequest::DeleteSchedruleOnDemandRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DeleteSchedruleOnDemand") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteSchedruleOnDemandRequest::~DeleteSchedruleOnDemandRequest() {}
+
+std::string DeleteSchedruleOnDemandRequest::getRuleName() const {
+  return ruleName_;
+}
+
+void DeleteSchedruleOnDemandRequest::setRuleName(const std::string &ruleName) {
+  ruleName_ = ruleName;
+  setParameter(std::string("RuleName"), ruleName);
+}
+
+std::string DeleteSchedruleOnDemandRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DeleteSchedruleOnDemandRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+std::string DeleteSchedruleOnDemandRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DeleteSchedruleOnDemandRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DeleteSchedruleOnDemandRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DeleteSchedruleOnDemandRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

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

+ 108 - 0
ddosbgp/src/model/DescribeDdosEventRequest.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/ddosbgp/model/DescribeDdosEventRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeDdosEventRequest;
+
+DescribeDdosEventRequest::DescribeDdosEventRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeDdosEvent") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDdosEventRequest::~DescribeDdosEventRequest() {}
+
+int DescribeDdosEventRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeDdosEventRequest::setStartTime(int startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), std::to_string(startTime));
+}
+
+std::string DescribeDdosEventRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeDdosEventRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeDdosEventRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeDdosEventRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeDdosEventRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeDdosEventRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int DescribeDdosEventRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeDdosEventRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeDdosEventRequest::getIp() const {
+  return ip_;
+}
+
+void DescribeDdosEventRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+
+int DescribeDdosEventRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeDdosEventRequest::setEndTime(int endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), std::to_string(endTime));
+}
+
+std::string DescribeDdosEventRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeDdosEventRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+int DescribeDdosEventRequest::getPageNo() const {
+  return pageNo_;
+}
+
+void DescribeDdosEventRequest::setPageNo(int pageNo) {
+  pageNo_ = pageNo;
+  setParameter(std::string("PageNo"), std::to_string(pageNo));
+}
+

+ 74 - 0
ddosbgp/src/model/DescribeDdosEventResult.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/ddosbgp/model/DescribeDdosEventResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeDdosEventResult::DescribeDdosEventResult() :
+	ServiceResult()
+{}
+
+DescribeDdosEventResult::DescribeDdosEventResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDdosEventResult::~DescribeDdosEventResult()
+{}
+
+void DescribeDdosEventResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allEventsNode = value["Events"]["Event"];
+	for (auto valueEventsEvent : allEventsNode)
+	{
+		Event eventsObject;
+		if(!valueEventsEvent["EndTime"].isNull())
+			eventsObject.endTime = std::stoi(valueEventsEvent["EndTime"].asString());
+		if(!valueEventsEvent["Status"].isNull())
+			eventsObject.status = valueEventsEvent["Status"].asString();
+		if(!valueEventsEvent["StartTime"].isNull())
+			eventsObject.startTime = std::stoi(valueEventsEvent["StartTime"].asString());
+		if(!valueEventsEvent["Mbps"].isNull())
+			eventsObject.mbps = std::stoi(valueEventsEvent["Mbps"].asString());
+		if(!valueEventsEvent["Ip"].isNull())
+			eventsObject.ip = valueEventsEvent["Ip"].asString();
+		if(!valueEventsEvent["Pps"].isNull())
+			eventsObject.pps = std::stoi(valueEventsEvent["Pps"].asString());
+		events_.push_back(eventsObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stol(value["Total"].asString());
+
+}
+
+std::vector<DescribeDdosEventResult::Event> DescribeDdosEventResult::getEvents()const
+{
+	return events_;
+}
+
+long DescribeDdosEventResult::getTotal()const
+{
+	return total_;
+}
+

+ 54 - 0
ddosbgp/src/model/DescribeExcpetionCountRequest.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/ddosbgp/model/DescribeExcpetionCountRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeExcpetionCountRequest;
+
+DescribeExcpetionCountRequest::DescribeExcpetionCountRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeExcpetionCount") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeExcpetionCountRequest::~DescribeExcpetionCountRequest() {}
+
+std::string DescribeExcpetionCountRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeExcpetionCountRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeExcpetionCountRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeExcpetionCountRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeExcpetionCountRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeExcpetionCountRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

+ 58 - 0
ddosbgp/src/model/DescribeExcpetionCountResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeExcpetionCountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeExcpetionCountResult::DescribeExcpetionCountResult() :
+	ServiceResult()
+{}
+
+DescribeExcpetionCountResult::DescribeExcpetionCountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeExcpetionCountResult::~DescribeExcpetionCountResult()
+{}
+
+void DescribeExcpetionCountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["ExceptionIpCount"].isNull())
+		exceptionIpCount_ = std::stoi(value["ExceptionIpCount"].asString());
+	if(!value["ExpireTimeCount"].isNull())
+		expireTimeCount_ = std::stoi(value["ExpireTimeCount"].asString());
+
+}
+
+int DescribeExcpetionCountResult::getExceptionIpCount()const
+{
+	return exceptionIpCount_;
+}
+
+int DescribeExcpetionCountResult::getExpireTimeCount()const
+{
+	return expireTimeCount_;
+}
+

+ 160 - 0
ddosbgp/src/model/DescribeInstanceListRequest.cc

@@ -0,0 +1,160 @@
+/*
+ * 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/ddosbgp/model/DescribeInstanceListRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeInstanceListRequest;
+
+DescribeInstanceListRequest::DescribeInstanceListRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeInstanceList") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceListRequest::~DescribeInstanceListRequest() {}
+
+std::string DescribeInstanceListRequest::getRemark() const {
+  return remark_;
+}
+
+void DescribeInstanceListRequest::setRemark(const std::string &remark) {
+  remark_ = remark;
+  setParameter(std::string("Remark"), remark);
+}
+
+std::string DescribeInstanceListRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeInstanceListRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeInstanceListRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeInstanceListRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeInstanceListRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeInstanceListRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int DescribeInstanceListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeInstanceListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeInstanceListRequest::getInstanceType() const {
+  return instanceType_;
+}
+
+void DescribeInstanceListRequest::setInstanceType(const std::string &instanceType) {
+  instanceType_ = instanceType;
+  setParameter(std::string("InstanceType"), instanceType);
+}
+
+std::string DescribeInstanceListRequest::getIpVersion() const {
+  return ipVersion_;
+}
+
+void DescribeInstanceListRequest::setIpVersion(const std::string &ipVersion) {
+  ipVersion_ = ipVersion;
+  setParameter(std::string("IpVersion"), ipVersion);
+}
+
+std::vector<DescribeInstanceListRequest::Tag> DescribeInstanceListRequest::getTag() const {
+  return tag_;
+}
+
+void DescribeInstanceListRequest::setTag(const std::vector<DescribeInstanceListRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+  auto tagObj = tag.at(dep1);
+  std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
+    setParameter(tagObjStr + ".Value", tagObj.value);
+    setParameter(tagObjStr + ".Key", tagObj.key);
+  }
+}
+
+std::string DescribeInstanceListRequest::getIp() const {
+  return ip_;
+}
+
+void DescribeInstanceListRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+
+std::string DescribeInstanceListRequest::getOrderby() const {
+  return orderby_;
+}
+
+void DescribeInstanceListRequest::setOrderby(const std::string &orderby) {
+  orderby_ = orderby;
+  setParameter(std::string("Orderby"), orderby);
+}
+
+std::string DescribeInstanceListRequest::getInstanceIdList() const {
+  return instanceIdList_;
+}
+
+void DescribeInstanceListRequest::setInstanceIdList(const std::string &instanceIdList) {
+  instanceIdList_ = instanceIdList;
+  setParameter(std::string("InstanceIdList"), instanceIdList);
+}
+
+int DescribeInstanceListRequest::getPageNo() const {
+  return pageNo_;
+}
+
+void DescribeInstanceListRequest::setPageNo(int pageNo) {
+  pageNo_ = pageNo;
+  setParameter(std::string("PageNo"), std::to_string(pageNo));
+}
+
+std::string DescribeInstanceListRequest::getOrderdire() const {
+  return orderdire_;
+}
+
+void DescribeInstanceListRequest::setOrderdire(const std::string &orderdire) {
+  orderdire_ = orderdire;
+  setParameter(std::string("Orderdire"), orderdire);
+}
+
+std::vector<DescribeInstanceListRequest::std::string> DescribeInstanceListRequest::getInstanceTypeList() const {
+  return instanceTypeList_;
+}
+
+void DescribeInstanceListRequest::setInstanceTypeList(const std::vector<DescribeInstanceListRequest::std::string> &instanceTypeList) {
+  instanceTypeList_ = instanceTypeList;
+  for(int dep1 = 0; dep1 != instanceTypeList.size(); dep1++) {
+    setParameter(std::string("InstanceTypeList") + "." + std::to_string(dep1 + 1), instanceTypeList[dep1]);
+  }
+}
+

+ 84 - 0
ddosbgp/src/model/DescribeInstanceListResult.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/ddosbgp/model/DescribeInstanceListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeInstanceListResult::DescribeInstanceListResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceListResult::DescribeInstanceListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceListResult::~DescribeInstanceListResult()
+{}
+
+void DescribeInstanceListResult::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["Status"].isNull())
+			instanceListObject.status = valueInstanceListInstance["Status"].asString();
+		if(!valueInstanceListInstance["IpType"].isNull())
+			instanceListObject.ipType = valueInstanceListInstance["IpType"].asString();
+		if(!valueInstanceListInstance["AutoRenewal"].isNull())
+			instanceListObject.autoRenewal = valueInstanceListInstance["AutoRenewal"].asString() == "true";
+		if(!valueInstanceListInstance["Remark"].isNull())
+			instanceListObject.remark = valueInstanceListInstance["Remark"].asString();
+		if(!valueInstanceListInstance["ExpireTime"].isNull())
+			instanceListObject.expireTime = std::stol(valueInstanceListInstance["ExpireTime"].asString());
+		if(!valueInstanceListInstance["Product"].isNull())
+			instanceListObject.product = valueInstanceListInstance["Product"].asString();
+		if(!valueInstanceListInstance["GmtCreate"].isNull())
+			instanceListObject.gmtCreate = std::stol(valueInstanceListInstance["GmtCreate"].asString());
+		if(!valueInstanceListInstance["InstanceId"].isNull())
+			instanceListObject.instanceId = valueInstanceListInstance["InstanceId"].asString();
+		if(!valueInstanceListInstance["InstanceType"].isNull())
+			instanceListObject.instanceType = valueInstanceListInstance["InstanceType"].asString();
+		if(!valueInstanceListInstance["BlackholdingCount"].isNull())
+			instanceListObject.blackholdingCount = valueInstanceListInstance["BlackholdingCount"].asString();
+		if(!valueInstanceListInstance["CoverageType"].isNull())
+			instanceListObject.coverageType = std::stoi(valueInstanceListInstance["CoverageType"].asString());
+		instanceList_.push_back(instanceListObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stol(value["Total"].asString());
+
+}
+
+long DescribeInstanceListResult::getTotal()const
+{
+	return total_;
+}
+
+std::vector<DescribeInstanceListResult::Instance> DescribeInstanceListResult::getInstanceList()const
+{
+	return instanceList_;
+}
+

+ 72 - 0
ddosbgp/src/model/DescribeInstanceSpecsRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeInstanceSpecsRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeInstanceSpecsRequest;
+
+DescribeInstanceSpecsRequest::DescribeInstanceSpecsRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeInstanceSpecs") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceSpecsRequest::~DescribeInstanceSpecsRequest() {}
+
+std::string DescribeInstanceSpecsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeInstanceSpecsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeInstanceSpecsRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeInstanceSpecsRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeInstanceSpecsRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeInstanceSpecsRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeInstanceSpecsRequest::getInstanceIdList() const {
+  return instanceIdList_;
+}
+
+void DescribeInstanceSpecsRequest::setInstanceIdList(const std::string &instanceIdList) {
+  instanceIdList_ = instanceIdList;
+  setParameter(std::string("InstanceIdList"), instanceIdList);
+}
+
+std::string DescribeInstanceSpecsRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeInstanceSpecsRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+

+ 84 - 0
ddosbgp/src/model/DescribeInstanceSpecsResult.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/ddosbgp/model/DescribeInstanceSpecsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeInstanceSpecsResult::DescribeInstanceSpecsResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceSpecsResult::DescribeInstanceSpecsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceSpecsResult::~DescribeInstanceSpecsResult()
+{}
+
+void DescribeInstanceSpecsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInstanceSpecsNode = value["InstanceSpecs"]["InstanceSpec"];
+	for (auto valueInstanceSpecsInstanceSpec : allInstanceSpecsNode)
+	{
+		InstanceSpec instanceSpecsObject;
+		if(!valueInstanceSpecsInstanceSpec["IsFullDefenseMode"].isNull())
+			instanceSpecsObject.isFullDefenseMode = std::stoi(valueInstanceSpecsInstanceSpec["IsFullDefenseMode"].asString());
+		if(!valueInstanceSpecsInstanceSpec["Region"].isNull())
+			instanceSpecsObject.region = valueInstanceSpecsInstanceSpec["Region"].asString();
+		if(!valueInstanceSpecsInstanceSpec["AvailableDefenseTimes"].isNull())
+			instanceSpecsObject.availableDefenseTimes = std::stoi(valueInstanceSpecsInstanceSpec["AvailableDefenseTimes"].asString());
+		if(!valueInstanceSpecsInstanceSpec["TotalDefenseTimes"].isNull())
+			instanceSpecsObject.totalDefenseTimes = std::stoi(valueInstanceSpecsInstanceSpec["TotalDefenseTimes"].asString());
+		if(!valueInstanceSpecsInstanceSpec["AvailableDeleteBlackholeCount"].isNull())
+			instanceSpecsObject.availableDeleteBlackholeCount = valueInstanceSpecsInstanceSpec["AvailableDeleteBlackholeCount"].asString();
+		if(!valueInstanceSpecsInstanceSpec["InstanceId"].isNull())
+			instanceSpecsObject.instanceId = valueInstanceSpecsInstanceSpec["InstanceId"].asString();
+		auto packConfigNode = value["PackConfig"];
+		if(!packConfigNode["PackBasicThre"].isNull())
+			instanceSpecsObject.packConfig.packBasicThre = std::stoi(packConfigNode["PackBasicThre"].asString());
+		if(!packConfigNode["BindIpCount"].isNull())
+			instanceSpecsObject.packConfig.bindIpCount = std::stoi(packConfigNode["BindIpCount"].asString());
+		if(!packConfigNode["PackAdvThre"].isNull())
+			instanceSpecsObject.packConfig.packAdvThre = std::stoi(packConfigNode["PackAdvThre"].asString());
+		if(!packConfigNode["NormalBandwidth"].isNull())
+			instanceSpecsObject.packConfig.normalBandwidth = std::stoi(packConfigNode["NormalBandwidth"].asString());
+		if(!packConfigNode["IpBasicThre"].isNull())
+			instanceSpecsObject.packConfig.ipBasicThre = std::stoi(packConfigNode["IpBasicThre"].asString());
+		if(!packConfigNode["IpAdvanceThre"].isNull())
+			instanceSpecsObject.packConfig.ipAdvanceThre = std::stoi(packConfigNode["IpAdvanceThre"].asString());
+		if(!packConfigNode["IpSpec"].isNull())
+			instanceSpecsObject.packConfig.ipSpec = std::stoi(packConfigNode["IpSpec"].asString());
+		if(!packConfigNode["Bandwidth"].isNull())
+			instanceSpecsObject.packConfig.bandwidth = std::stol(packConfigNode["Bandwidth"].asString());
+		instanceSpecs_.push_back(instanceSpecsObject);
+	}
+
+}
+
+std::vector<DescribeInstanceSpecsResult::InstanceSpec> DescribeInstanceSpecsResult::getInstanceSpecs()const
+{
+	return instanceSpecs_;
+}
+

+ 108 - 0
ddosbgp/src/model/DescribeOnDemandDdosEventRequest.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/ddosbgp/model/DescribeOnDemandDdosEventRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeOnDemandDdosEventRequest;
+
+DescribeOnDemandDdosEventRequest::DescribeOnDemandDdosEventRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeOnDemandDdosEvent") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeOnDemandDdosEventRequest::~DescribeOnDemandDdosEventRequest() {}
+
+int DescribeOnDemandDdosEventRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeOnDemandDdosEventRequest::setStartTime(int startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), std::to_string(startTime));
+}
+
+std::string DescribeOnDemandDdosEventRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeOnDemandDdosEventRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeOnDemandDdosEventRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeOnDemandDdosEventRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeOnDemandDdosEventRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeOnDemandDdosEventRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int DescribeOnDemandDdosEventRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeOnDemandDdosEventRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeOnDemandDdosEventRequest::getIp() const {
+  return ip_;
+}
+
+void DescribeOnDemandDdosEventRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+
+int DescribeOnDemandDdosEventRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeOnDemandDdosEventRequest::setEndTime(int endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), std::to_string(endTime));
+}
+
+std::string DescribeOnDemandDdosEventRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeOnDemandDdosEventRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+int DescribeOnDemandDdosEventRequest::getPageNo() const {
+  return pageNo_;
+}
+
+void DescribeOnDemandDdosEventRequest::setPageNo(int pageNo) {
+  pageNo_ = pageNo;
+  setParameter(std::string("PageNo"), std::to_string(pageNo));
+}
+

+ 74 - 0
ddosbgp/src/model/DescribeOnDemandDdosEventResult.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/ddosbgp/model/DescribeOnDemandDdosEventResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeOnDemandDdosEventResult::DescribeOnDemandDdosEventResult() :
+	ServiceResult()
+{}
+
+DescribeOnDemandDdosEventResult::DescribeOnDemandDdosEventResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeOnDemandDdosEventResult::~DescribeOnDemandDdosEventResult()
+{}
+
+void DescribeOnDemandDdosEventResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allEventsNode = value["Events"]["Event"];
+	for (auto valueEventsEvent : allEventsNode)
+	{
+		Event eventsObject;
+		if(!valueEventsEvent["EndTime"].isNull())
+			eventsObject.endTime = std::stoi(valueEventsEvent["EndTime"].asString());
+		if(!valueEventsEvent["Status"].isNull())
+			eventsObject.status = valueEventsEvent["Status"].asString();
+		if(!valueEventsEvent["StartTime"].isNull())
+			eventsObject.startTime = std::stoi(valueEventsEvent["StartTime"].asString());
+		if(!valueEventsEvent["Mbps"].isNull())
+			eventsObject.mbps = std::stoi(valueEventsEvent["Mbps"].asString());
+		if(!valueEventsEvent["Ip"].isNull())
+			eventsObject.ip = valueEventsEvent["Ip"].asString();
+		if(!valueEventsEvent["Pps"].isNull())
+			eventsObject.pps = std::stoi(valueEventsEvent["Pps"].asString());
+		events_.push_back(eventsObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stol(value["Total"].asString());
+
+}
+
+std::vector<DescribeOnDemandDdosEventResult::Event> DescribeOnDemandDdosEventResult::getEvents()const
+{
+	return events_;
+}
+
+long DescribeOnDemandDdosEventResult::getTotal()const
+{
+	return total_;
+}
+

+ 53 - 0
ddosbgp/src/model/DescribeOnDemandInstanceStatusRequest.cc

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeOnDemandInstanceStatusRequest;
+
+DescribeOnDemandInstanceStatusRequest::DescribeOnDemandInstanceStatusRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeOnDemandInstanceStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeOnDemandInstanceStatusRequest::~DescribeOnDemandInstanceStatusRequest() {}
+
+std::string DescribeOnDemandInstanceStatusRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeOnDemandInstanceStatusRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeOnDemandInstanceStatusRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeOnDemandInstanceStatusRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<std::string> DescribeOnDemandInstanceStatusRequest::getInstanceIdList() const {
+  return instanceIdList_;
+}
+
+void DescribeOnDemandInstanceStatusRequest::setInstanceIdList(const std::vector<std::string> &instanceIdList) {
+  instanceIdList_ = instanceIdList;
+}
+

+ 69 - 0
ddosbgp/src/model/DescribeOnDemandInstanceStatusResult.cc

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeOnDemandInstanceStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeOnDemandInstanceStatusResult::DescribeOnDemandInstanceStatusResult() :
+	ServiceResult()
+{}
+
+DescribeOnDemandInstanceStatusResult::DescribeOnDemandInstanceStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeOnDemandInstanceStatusResult::~DescribeOnDemandInstanceStatusResult()
+{}
+
+void DescribeOnDemandInstanceStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInstancesNode = value["Instances"]["instance"];
+	for (auto valueInstancesinstance : allInstancesNode)
+	{
+		Instance instancesObject;
+		if(!valueInstancesinstance["UserId"].isNull())
+			instancesObject.userId = valueInstancesinstance["UserId"].asString();
+		if(!valueInstancesinstance["Mode"].isNull())
+			instancesObject.mode = valueInstancesinstance["Mode"].asString();
+		if(!valueInstancesinstance["InstanceId"].isNull())
+			instancesObject.instanceId = valueInstancesinstance["InstanceId"].asString();
+		if(!valueInstancesinstance["Declared"].isNull())
+			instancesObject.declared = valueInstancesinstance["Declared"].asString();
+		if(!valueInstancesinstance["RegistedAs"].isNull())
+			instancesObject.registedAs = valueInstancesinstance["RegistedAs"].asString();
+		if(!valueInstancesinstance["Net"].isNull())
+			instancesObject.net = valueInstancesinstance["Net"].asString();
+		if(!valueInstancesinstance["Desc"].isNull())
+			instancesObject.desc = valueInstancesinstance["Desc"].asString();
+		instances_.push_back(instancesObject);
+	}
+
+}
+
+std::vector<DescribeOnDemandInstanceStatusResult::Instance> DescribeOnDemandInstanceStatusResult::getInstances()const
+{
+	return instances_;
+}
+

+ 126 - 0
ddosbgp/src/model/DescribeOpEntitiesRequest.cc

@@ -0,0 +1,126 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeOpEntitiesRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeOpEntitiesRequest;
+
+DescribeOpEntitiesRequest::DescribeOpEntitiesRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeOpEntities") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeOpEntitiesRequest::~DescribeOpEntitiesRequest() {}
+
+long DescribeOpEntitiesRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeOpEntitiesRequest::setStartTime(long startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), std::to_string(startTime));
+}
+
+std::string DescribeOpEntitiesRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeOpEntitiesRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeOpEntitiesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeOpEntitiesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeOpEntitiesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeOpEntitiesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int DescribeOpEntitiesRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeOpEntitiesRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeOpEntitiesRequest::getLang() const {
+  return lang_;
+}
+
+void DescribeOpEntitiesRequest::setLang(const std::string &lang) {
+  lang_ = lang;
+  setParameter(std::string("Lang"), lang);
+}
+
+long DescribeOpEntitiesRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeOpEntitiesRequest::setEndTime(long endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), std::to_string(endTime));
+}
+
+std::string DescribeOpEntitiesRequest::getOrderBy() const {
+  return orderBy_;
+}
+
+void DescribeOpEntitiesRequest::setOrderBy(const std::string &orderBy) {
+  orderBy_ = orderBy;
+  setParameter(std::string("OrderBy"), orderBy);
+}
+
+int DescribeOpEntitiesRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void DescribeOpEntitiesRequest::setCurrentPage(int currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string DescribeOpEntitiesRequest::getOrderDir() const {
+  return orderDir_;
+}
+
+void DescribeOpEntitiesRequest::setOrderDir(const std::string &orderDir) {
+  orderDir_ = orderDir;
+  setParameter(std::string("OrderDir"), orderDir);
+}
+
+std::string DescribeOpEntitiesRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeOpEntitiesRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+

+ 74 - 0
ddosbgp/src/model/DescribeOpEntitiesResult.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/ddosbgp/model/DescribeOpEntitiesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeOpEntitiesResult::DescribeOpEntitiesResult() :
+	ServiceResult()
+{}
+
+DescribeOpEntitiesResult::DescribeOpEntitiesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeOpEntitiesResult::~DescribeOpEntitiesResult()
+{}
+
+void DescribeOpEntitiesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allOpEntitiesNode = value["OpEntities"]["OpEntity"];
+	for (auto valueOpEntitiesOpEntity : allOpEntitiesNode)
+	{
+		OpEntity opEntitiesObject;
+		if(!valueOpEntitiesOpEntity["EntityType"].isNull())
+			opEntitiesObject.entityType = std::stoi(valueOpEntitiesOpEntity["EntityType"].asString());
+		if(!valueOpEntitiesOpEntity["EntityObject"].isNull())
+			opEntitiesObject.entityObject = valueOpEntitiesOpEntity["EntityObject"].asString();
+		if(!valueOpEntitiesOpEntity["OpAction"].isNull())
+			opEntitiesObject.opAction = std::stoi(valueOpEntitiesOpEntity["OpAction"].asString());
+		if(!valueOpEntitiesOpEntity["GmtCreate"].isNull())
+			opEntitiesObject.gmtCreate = std::stol(valueOpEntitiesOpEntity["GmtCreate"].asString());
+		if(!valueOpEntitiesOpEntity["OpAccount"].isNull())
+			opEntitiesObject.opAccount = valueOpEntitiesOpEntity["OpAccount"].asString();
+		if(!valueOpEntitiesOpEntity["OpDesc"].isNull())
+			opEntitiesObject.opDesc = valueOpEntitiesOpEntity["OpDesc"].asString();
+		opEntities_.push_back(opEntitiesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeOpEntitiesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeOpEntitiesResult::OpEntity> DescribeOpEntitiesResult::getOpEntities()const
+{
+	return opEntities_;
+}
+

+ 99 - 0
ddosbgp/src/model/DescribePackIpListRequest.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/ddosbgp/model/DescribePackIpListRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribePackIpListRequest;
+
+DescribePackIpListRequest::DescribePackIpListRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribePackIpList") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribePackIpListRequest::~DescribePackIpListRequest() {}
+
+std::string DescribePackIpListRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribePackIpListRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribePackIpListRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribePackIpListRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribePackIpListRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribePackIpListRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+int DescribePackIpListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribePackIpListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribePackIpListRequest::getProductName() const {
+  return productName_;
+}
+
+void DescribePackIpListRequest::setProductName(const std::string &productName) {
+  productName_ = productName;
+  setParameter(std::string("ProductName"), productName);
+}
+
+std::string DescribePackIpListRequest::getIp() const {
+  return ip_;
+}
+
+void DescribePackIpListRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+
+std::string DescribePackIpListRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribePackIpListRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+int DescribePackIpListRequest::getPageNo() const {
+  return pageNo_;
+}
+
+void DescribePackIpListRequest::setPageNo(int pageNo) {
+  pageNo_ = pageNo;
+  setParameter(std::string("PageNo"), std::to_string(pageNo));
+}
+

+ 86 - 0
ddosbgp/src/model/DescribePackIpListResult.cc

@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribePackIpListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribePackIpListResult::DescribePackIpListResult() :
+	ServiceResult()
+{}
+
+DescribePackIpListResult::DescribePackIpListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePackIpListResult::~DescribePackIpListResult()
+{}
+
+void DescribePackIpListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allIpListNode = value["IpList"]["Ipitem"];
+	for (auto valueIpListIpitem : allIpListNode)
+	{
+		Ipitem ipListObject;
+		if(!valueIpListIpitem["Status"].isNull())
+			ipListObject.status = valueIpListIpitem["Status"].asString();
+		if(!valueIpListIpitem["Ip"].isNull())
+			ipListObject.ip = valueIpListIpitem["Ip"].asString();
+		if(!valueIpListIpitem["Remark"].isNull())
+			ipListObject.remark = valueIpListIpitem["Remark"].asString();
+		if(!valueIpListIpitem["Product"].isNull())
+			ipListObject.product = valueIpListIpitem["Product"].asString();
+		if(!valueIpListIpitem["Region"].isNull())
+			ipListObject.region = valueIpListIpitem["Region"].asString();
+		ipList_.push_back(ipListObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribePackIpListResult::Ipitem> DescribePackIpListResult::getIpList()const
+{
+	return ipList_;
+}
+
+int DescribePackIpListResult::getTotal()const
+{
+	return total_;
+}
+
+std::string DescribePackIpListResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribePackIpListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 54 - 0
ddosbgp/src/model/DescribeRegionsRequest.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/ddosbgp/model/DescribeRegionsRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeRegionsRequest;
+
+DescribeRegionsRequest::DescribeRegionsRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeRegions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRegionsRequest::~DescribeRegionsRequest() {}
+
+std::string DescribeRegionsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeRegionsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeRegionsRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeRegionsRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeRegionsRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeRegionsRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

+ 75 - 0
ddosbgp/src/model/DescribeRegionsResult.cc

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeRegionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::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["RegionId"].isNull())
+			regionsObject.regionId = valueRegionsRegion["RegionId"].asString();
+		regions_.push_back(regionsObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<DescribeRegionsResult::Region> DescribeRegionsResult::getRegions()const
+{
+	return regions_;
+}
+
+std::string DescribeRegionsResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeRegionsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 117 - 0
ddosbgp/src/model/DescribeTrafficRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/ddosbgp/model/DescribeTrafficRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::DescribeTrafficRequest;
+
+DescribeTrafficRequest::DescribeTrafficRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "DescribeTraffic") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeTrafficRequest::~DescribeTrafficRequest() {}
+
+int DescribeTrafficRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeTrafficRequest::setStartTime(int startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), std::to_string(startTime));
+}
+
+std::string DescribeTrafficRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeTrafficRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeTrafficRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void DescribeTrafficRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string DescribeTrafficRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeTrafficRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeTrafficRequest::getIp() const {
+  return ip_;
+}
+
+void DescribeTrafficRequest::setIp(const std::string &ip) {
+  ip_ = ip;
+  setParameter(std::string("Ip"), ip);
+}
+
+int DescribeTrafficRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeTrafficRequest::setEndTime(int endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), std::to_string(endTime));
+}
+
+std::string DescribeTrafficRequest::getIpnet() const {
+  return ipnet_;
+}
+
+void DescribeTrafficRequest::setIpnet(const std::string &ipnet) {
+  ipnet_ = ipnet;
+  setParameter(std::string("Ipnet"), ipnet);
+}
+
+std::string DescribeTrafficRequest::getFlowType() const {
+  return flowType_;
+}
+
+void DescribeTrafficRequest::setFlowType(const std::string &flowType) {
+  flowType_ = flowType;
+  setParameter(std::string("FlowType"), flowType);
+}
+
+std::string DescribeTrafficRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeTrafficRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
+int DescribeTrafficRequest::getInterval() const {
+  return interval_;
+}
+
+void DescribeTrafficRequest::setInterval(int interval) {
+  interval_ = interval;
+  setParameter(std::string("Interval"), std::to_string(interval));
+}
+

+ 69 - 0
ddosbgp/src/model/DescribeTrafficResult.cc

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ddosbgp/model/DescribeTrafficResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+DescribeTrafficResult::DescribeTrafficResult() :
+	ServiceResult()
+{}
+
+DescribeTrafficResult::DescribeTrafficResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeTrafficResult::~DescribeTrafficResult()
+{}
+
+void DescribeTrafficResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allFlowListNode = value["FlowList"]["Flow"];
+	for (auto valueFlowListFlow : allFlowListNode)
+	{
+		Flow flowListObject;
+		if(!valueFlowListFlow["Time"].isNull())
+			flowListObject.time = std::stoi(valueFlowListFlow["Time"].asString());
+		if(!valueFlowListFlow["FlowType"].isNull())
+			flowListObject.flowType = valueFlowListFlow["FlowType"].asString();
+		if(!valueFlowListFlow["AttackPps"].isNull())
+			flowListObject.attackPps = std::stol(valueFlowListFlow["AttackPps"].asString());
+		if(!valueFlowListFlow["Name"].isNull())
+			flowListObject.name = valueFlowListFlow["Name"].asString();
+		if(!valueFlowListFlow["Pps"].isNull())
+			flowListObject.pps = std::stoi(valueFlowListFlow["Pps"].asString());
+		if(!valueFlowListFlow["Kbps"].isNull())
+			flowListObject.kbps = std::stoi(valueFlowListFlow["Kbps"].asString());
+		if(!valueFlowListFlow["AttackBps"].isNull())
+			flowListObject.attackBps = std::stol(valueFlowListFlow["AttackBps"].asString());
+		flowList_.push_back(flowListObject);
+	}
+
+}
+
+std::vector<DescribeTrafficResult::Flow> DescribeTrafficResult::getFlowList()const
+{
+	return flowList_;
+}
+

+ 54 - 0
ddosbgp/src/model/GetSlsOpenStatusRequest.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/ddosbgp/model/GetSlsOpenStatusRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::GetSlsOpenStatusRequest;
+
+GetSlsOpenStatusRequest::GetSlsOpenStatusRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "GetSlsOpenStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetSlsOpenStatusRequest::~GetSlsOpenStatusRequest() {}
+
+std::string GetSlsOpenStatusRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void GetSlsOpenStatusRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string GetSlsOpenStatusRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void GetSlsOpenStatusRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string GetSlsOpenStatusRequest::getRegionId() const {
+  return regionId_;
+}
+
+void GetSlsOpenStatusRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+

+ 51 - 0
ddosbgp/src/model/GetSlsOpenStatusResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ddosbgp/model/GetSlsOpenStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ddosbgp;
+using namespace AlibabaCloud::Ddosbgp::Model;
+
+GetSlsOpenStatusResult::GetSlsOpenStatusResult() :
+	ServiceResult()
+{}
+
+GetSlsOpenStatusResult::GetSlsOpenStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetSlsOpenStatusResult::~GetSlsOpenStatusResult()
+{}
+
+void GetSlsOpenStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["SlsOpenStatus"].isNull())
+		slsOpenStatus_ = value["SlsOpenStatus"].asString() == "true";
+
+}
+
+bool GetSlsOpenStatusResult::getSlsOpenStatus()const
+{
+	return slsOpenStatus_;
+}
+

+ 63 - 0
ddosbgp/src/model/ListOpenedAccessLogInstancesRequest.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/ddosbgp/model/ListOpenedAccessLogInstancesRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::ListOpenedAccessLogInstancesRequest;
+
+ListOpenedAccessLogInstancesRequest::ListOpenedAccessLogInstancesRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "ListOpenedAccessLogInstances") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListOpenedAccessLogInstancesRequest::~ListOpenedAccessLogInstancesRequest() {}
+
+int ListOpenedAccessLogInstancesRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void ListOpenedAccessLogInstancesRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+std::string ListOpenedAccessLogInstancesRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void ListOpenedAccessLogInstancesRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string ListOpenedAccessLogInstancesRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListOpenedAccessLogInstancesRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+int ListOpenedAccessLogInstancesRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListOpenedAccessLogInstancesRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 66 - 0
ddosbgp/src/model/ListOpenedAccessLogInstancesResult.cc

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

+ 108 - 0
ddosbgp/src/model/ListTagKeysRequest.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/ddosbgp/model/ListTagKeysRequest.h>
+
+using AlibabaCloud::Ddosbgp::Model::ListTagKeysRequest;
+
+ListTagKeysRequest::ListTagKeysRequest()
+    : RpcServiceRequest("ddosbgp", "2018-07-20", "ListTagKeys") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListTagKeysRequest::~ListTagKeysRequest() {}
+
+std::string ListTagKeysRequest::getTagOwnerUid() const {
+  return tagOwnerUid_;
+}
+
+void ListTagKeysRequest::setTagOwnerUid(const std::string &tagOwnerUid) {
+  tagOwnerUid_ = tagOwnerUid;
+  setParameter(std::string("TagOwnerUid"), tagOwnerUid);
+}
+
+std::string ListTagKeysRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void ListTagKeysRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string ListTagKeysRequest::getSourceIp() const {
+  return sourceIp_;
+}
+
+void ListTagKeysRequest::setSourceIp(const std::string &sourceIp) {
+  sourceIp_ = sourceIp;
+  setParameter(std::string("SourceIp"), sourceIp);
+}
+
+std::string ListTagKeysRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ListTagKeysRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string ListTagKeysRequest::getScope() const {
+  return scope_;
+}
+
+void ListTagKeysRequest::setScope(const std::string &scope) {
+  scope_ = scope;
+  setParameter(std::string("Scope"), scope);
+}
+
+int ListTagKeysRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListTagKeysRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListTagKeysRequest::getTagOwnerBid() const {
+  return tagOwnerBid_;
+}
+
+void ListTagKeysRequest::setTagOwnerBid(const std::string &tagOwnerBid) {
+  tagOwnerBid_ = tagOwnerBid;
+  setParameter(std::string("TagOwnerBid"), tagOwnerBid);
+}
+
+int ListTagKeysRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void ListTagKeysRequest::setCurrentPage(int currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string ListTagKeysRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void ListTagKeysRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+

Some files were not shown because too many files changed in this diff