فهرست منبع

由智久发起的DCDN SDK自动发布, 版本号:1.7.2

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 سال پیش
والد
کامیت
76c5ad81b7
100فایلهای تغییر یافته به همراه10823 افزوده شده و 2 حذف شده
  1. 4 0
      CHANGELOG
  2. 2 1
      CMakeLists.txt
  3. 1 1
      VERSION
  4. 194 0
      dcdn/CMakeLists.txt
  5. 270 0
      dcdn/include/alibabacloud/dcdn/DcdnClient.h
  6. 32 0
      dcdn/include/alibabacloud/dcdn/DcdnExport.h
  7. 75 0
      dcdn/include/alibabacloud/dcdn/model/AddDcdnDomainRequest.h
  8. 49 0
      dcdn/include/alibabacloud/dcdn/model/AddDcdnDomainResult.h
  9. 63 0
      dcdn/include/alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsRequest.h
  10. 49 0
      dcdn/include/alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsResult.h
  11. 63 0
      dcdn/include/alibabacloud/dcdn/model/DeleteDcdnDomainRequest.h
  12. 49 0
      dcdn/include/alibabacloud/dcdn/model/DeleteDcdnDomainResult.h
  13. 57 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateDetailRequest.h
  14. 57 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateDetailResult.h
  15. 57 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateListRequest.h
  16. 65 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateListResult.h
  17. 132 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataRequest.h
  18. 68 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataResult.h
  19. 108 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainCnameRequest.h
  20. 57 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainCnameResult.h
  21. 60 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainConfigsRequest.h
  22. 63 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainConfigsResult.h
  23. 57 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainDetailRequest.h
  24. 74 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainDetailResult.h
  25. 120 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataRequest.h
  26. 65 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataResult.h
  27. 126 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHttpCodeDataRequest.h
  28. 70 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHttpCodeDataResult.h
  29. 120 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainLogRequest.h
  30. 73 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainLogResult.h
  31. 126 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataRequest.h
  32. 68 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataResult.h
  33. 126 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataRequest.h
  34. 68 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataResult.h
  35. 132 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainQpsDataRequest.h
  36. 73 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainQpsDataResult.h
  37. 132 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataRequest.h
  38. 68 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataResult.h
  39. 54 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaRequest.h
  40. 65 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaResult.h
  41. 84 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshTasksRequest.h
  42. 67 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshTasksResult.h
  43. 54 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnServiceRequest.h
  44. 65 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnServiceResult.h
  45. 81 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsRequest.h
  46. 79 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsResult.h
  47. 54 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserResourcePackageRequest.h
  48. 60 0
      dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserResourcePackageResult.h
  49. 54 0
      dcdn/include/alibabacloud/dcdn/model/DescribeUserDcdnStatusRequest.h
  50. 57 0
      dcdn/include/alibabacloud/dcdn/model/DescribeUserDcdnStatusResult.h
  51. 57 0
      dcdn/include/alibabacloud/dcdn/model/PreloadDcdnObjectCachesRequest.h
  52. 51 0
      dcdn/include/alibabacloud/dcdn/model/PreloadDcdnObjectCachesResult.h
  53. 60 0
      dcdn/include/alibabacloud/dcdn/model/RefreshDcdnObjectCachesRequest.h
  54. 51 0
      dcdn/include/alibabacloud/dcdn/model/RefreshDcdnObjectCachesResult.h
  55. 75 0
      dcdn/include/alibabacloud/dcdn/model/SetDcdnDomainCertificateRequest.h
  56. 49 0
      dcdn/include/alibabacloud/dcdn/model/SetDcdnDomainCertificateResult.h
  57. 57 0
      dcdn/include/alibabacloud/dcdn/model/StartDcdnDomainRequest.h
  58. 49 0
      dcdn/include/alibabacloud/dcdn/model/StartDcdnDomainResult.h
  59. 57 0
      dcdn/include/alibabacloud/dcdn/model/StopDcdnDomainRequest.h
  60. 49 0
      dcdn/include/alibabacloud/dcdn/model/StopDcdnDomainResult.h
  61. 66 0
      dcdn/include/alibabacloud/dcdn/model/UpdateDcdnDomainRequest.h
  62. 49 0
      dcdn/include/alibabacloud/dcdn/model/UpdateDcdnDomainResult.h
  63. 1061 0
      dcdn/src/DcdnClient.cc
  64. 137 0
      dcdn/src/model/AddDcdnDomainRequest.cc
  65. 45 0
      dcdn/src/model/AddDcdnDomainResult.cc
  66. 93 0
      dcdn/src/model/BatchDeleteDcdnDomainConfigsRequest.cc
  67. 45 0
      dcdn/src/model/BatchDeleteDcdnDomainConfigsResult.cc
  68. 93 0
      dcdn/src/model/DeleteDcdnDomainRequest.cc
  69. 45 0
      dcdn/src/model/DeleteDcdnDomainResult.cc
  70. 71 0
      dcdn/src/model/DescribeDcdnCertificateDetailRequest.cc
  71. 73 0
      dcdn/src/model/DescribeDcdnCertificateDetailResult.cc
  72. 71 0
      dcdn/src/model/DescribeDcdnCertificateListRequest.cc
  73. 71 0
      dcdn/src/model/DescribeDcdnCertificateListResult.cc
  74. 346 0
      dcdn/src/model/DescribeDcdnDomainBpsDataRequest.cc
  75. 96 0
      dcdn/src/model/DescribeDcdnDomainBpsDataResult.cc
  76. 258 0
      dcdn/src/model/DescribeDcdnDomainCnameRequest.cc
  77. 62 0
      dcdn/src/model/DescribeDcdnDomainCnameResult.cc
  78. 82 0
      dcdn/src/model/DescribeDcdnDomainConfigsRequest.cc
  79. 72 0
      dcdn/src/model/DescribeDcdnDomainConfigsResult.cc
  80. 71 0
      dcdn/src/model/DescribeDcdnDomainDetailRequest.cc
  81. 89 0
      dcdn/src/model/DescribeDcdnDomainDetailResult.cc
  82. 302 0
      dcdn/src/model/DescribeDcdnDomainHitRateDataRequest.cc
  83. 90 0
      dcdn/src/model/DescribeDcdnDomainHitRateDataResult.cc
  84. 324 0
      dcdn/src/model/DescribeDcdnDomainHttpCodeDataRequest.cc
  85. 98 0
      dcdn/src/model/DescribeDcdnDomainHttpCodeDataResult.cc
  86. 302 0
      dcdn/src/model/DescribeDcdnDomainLogRequest.cc
  87. 93 0
      dcdn/src/model/DescribeDcdnDomainLogResult.cc
  88. 324 0
      dcdn/src/model/DescribeDcdnDomainOriginBpsDataRequest.cc
  89. 96 0
      dcdn/src/model/DescribeDcdnDomainOriginBpsDataResult.cc
  90. 324 0
      dcdn/src/model/DescribeDcdnDomainOriginTrafficDataRequest.cc
  91. 96 0
      dcdn/src/model/DescribeDcdnDomainOriginTrafficDataResult.cc
  92. 346 0
      dcdn/src/model/DescribeDcdnDomainQpsDataRequest.cc
  93. 106 0
      dcdn/src/model/DescribeDcdnDomainQpsDataResult.cc
  94. 346 0
      dcdn/src/model/DescribeDcdnDomainTrafficDataRequest.cc
  95. 96 0
      dcdn/src/model/DescribeDcdnDomainTrafficDataResult.cc
  96. 60 0
      dcdn/src/model/DescribeDcdnRefreshQuotaRequest.cc
  97. 101 0
      dcdn/src/model/DescribeDcdnRefreshQuotaResult.cc
  98. 170 0
      dcdn/src/model/DescribeDcdnRefreshTasksRequest.cc
  99. 91 0
      dcdn/src/model/DescribeDcdnRefreshTasksResult.cc
  100. 60 0
      dcdn/src/model/DescribeDcdnServiceRequest.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2018-04-28 Version: 1.7.2
+1, Add dcdn domain interface,Support add、modify、delete、query dcdn domain.
+2, Add dcdn config interface,Support set、delete、query domain config.
+
 2018-04-27 Version: 1.7.1
 1, release hsm open api
 2, hsm open api includes DescribeRegions, DescribeInstances, ModityInstance, ConfigNetwork, ConfigWhiteList

+ 2 - 1
CMakeLists.txt

@@ -69,4 +69,5 @@ add_subdirectory(push)
 add_subdirectory(csb)
 add_subdirectory(domain)
 add_subdirectory(green)
-add_subdirectory(hsm)
+add_subdirectory(hsm)
+add_subdirectory(dcdn)

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.7.1
+1.7.2

+ 194 - 0
dcdn/CMakeLists.txt

@@ -0,0 +1,194 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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(dcdn_public_header 
+	include/alibabacloud/dcdn/DcdnClient.h
+	include/alibabacloud/dcdn/DcdnExport.h )
+
+set(dcdn_public_header_model 
+	include/alibabacloud/dcdn/model/DescribeDcdnUserResourcePackageRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnUserResourcePackageResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaResult.h
+	include/alibabacloud/dcdn/model/SetDcdnDomainCertificateRequest.h
+	include/alibabacloud/dcdn/model/SetDcdnDomainCertificateResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainLogRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainLogResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnRefreshTasksRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnRefreshTasksResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnServiceRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnServiceResult.h
+	include/alibabacloud/dcdn/model/UpdateDcdnDomainRequest.h
+	include/alibabacloud/dcdn/model/UpdateDcdnDomainResult.h
+	include/alibabacloud/dcdn/model/DeleteDcdnDomainRequest.h
+	include/alibabacloud/dcdn/model/DeleteDcdnDomainResult.h
+	include/alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsRequest.h
+	include/alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainDetailRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainDetailResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainConfigsRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainConfigsResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnCertificateListRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnCertificateListResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnCertificateDetailRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnCertificateDetailResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataResult.h
+	include/alibabacloud/dcdn/model/RefreshDcdnObjectCachesRequest.h
+	include/alibabacloud/dcdn/model/RefreshDcdnObjectCachesResult.h
+	include/alibabacloud/dcdn/model/DescribeUserDcdnStatusRequest.h
+	include/alibabacloud/dcdn/model/DescribeUserDcdnStatusResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainQpsDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainQpsDataResult.h
+	include/alibabacloud/dcdn/model/StartDcdnDomainRequest.h
+	include/alibabacloud/dcdn/model/StartDcdnDomainResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainHttpCodeDataRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainHttpCodeDataResult.h
+	include/alibabacloud/dcdn/model/AddDcdnDomainRequest.h
+	include/alibabacloud/dcdn/model/AddDcdnDomainResult.h
+	include/alibabacloud/dcdn/model/PreloadDcdnObjectCachesRequest.h
+	include/alibabacloud/dcdn/model/PreloadDcdnObjectCachesResult.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainCnameRequest.h
+	include/alibabacloud/dcdn/model/DescribeDcdnDomainCnameResult.h
+	include/alibabacloud/dcdn/model/StopDcdnDomainRequest.h
+	include/alibabacloud/dcdn/model/StopDcdnDomainResult.h )
+
+set(dcdn_src 
+	src/DcdnClient.cc
+	src/model/DescribeDcdnUserResourcePackageRequest.cc
+	src/model/DescribeDcdnUserResourcePackageResult.cc
+	src/model/DescribeDcdnRefreshQuotaRequest.cc
+	src/model/DescribeDcdnRefreshQuotaResult.cc
+	src/model/SetDcdnDomainCertificateRequest.cc
+	src/model/SetDcdnDomainCertificateResult.cc
+	src/model/DescribeDcdnDomainLogRequest.cc
+	src/model/DescribeDcdnDomainLogResult.cc
+	src/model/DescribeDcdnDomainOriginBpsDataRequest.cc
+	src/model/DescribeDcdnDomainOriginBpsDataResult.cc
+	src/model/DescribeDcdnRefreshTasksRequest.cc
+	src/model/DescribeDcdnRefreshTasksResult.cc
+	src/model/DescribeDcdnServiceRequest.cc
+	src/model/DescribeDcdnServiceResult.cc
+	src/model/UpdateDcdnDomainRequest.cc
+	src/model/UpdateDcdnDomainResult.cc
+	src/model/DeleteDcdnDomainRequest.cc
+	src/model/DeleteDcdnDomainResult.cc
+	src/model/BatchDeleteDcdnDomainConfigsRequest.cc
+	src/model/BatchDeleteDcdnDomainConfigsResult.cc
+	src/model/DescribeDcdnDomainDetailRequest.cc
+	src/model/DescribeDcdnDomainDetailResult.cc
+	src/model/DescribeDcdnDomainHitRateDataRequest.cc
+	src/model/DescribeDcdnDomainHitRateDataResult.cc
+	src/model/DescribeDcdnDomainConfigsRequest.cc
+	src/model/DescribeDcdnDomainConfigsResult.cc
+	src/model/DescribeDcdnDomainBpsDataRequest.cc
+	src/model/DescribeDcdnDomainBpsDataResult.cc
+	src/model/DescribeDcdnCertificateListRequest.cc
+	src/model/DescribeDcdnCertificateListResult.cc
+	src/model/DescribeDcdnCertificateDetailRequest.cc
+	src/model/DescribeDcdnCertificateDetailResult.cc
+	src/model/DescribeDcdnDomainOriginTrafficDataRequest.cc
+	src/model/DescribeDcdnDomainOriginTrafficDataResult.cc
+	src/model/DescribeDcdnDomainTrafficDataRequest.cc
+	src/model/DescribeDcdnDomainTrafficDataResult.cc
+	src/model/RefreshDcdnObjectCachesRequest.cc
+	src/model/RefreshDcdnObjectCachesResult.cc
+	src/model/DescribeUserDcdnStatusRequest.cc
+	src/model/DescribeUserDcdnStatusResult.cc
+	src/model/DescribeDcdnDomainQpsDataRequest.cc
+	src/model/DescribeDcdnDomainQpsDataResult.cc
+	src/model/StartDcdnDomainRequest.cc
+	src/model/StartDcdnDomainResult.cc
+	src/model/DescribeDcdnUserDomainsRequest.cc
+	src/model/DescribeDcdnUserDomainsResult.cc
+	src/model/DescribeDcdnDomainHttpCodeDataRequest.cc
+	src/model/DescribeDcdnDomainHttpCodeDataResult.cc
+	src/model/AddDcdnDomainRequest.cc
+	src/model/AddDcdnDomainResult.cc
+	src/model/PreloadDcdnObjectCachesRequest.cc
+	src/model/PreloadDcdnObjectCachesResult.cc
+	src/model/DescribeDcdnDomainCnameRequest.cc
+	src/model/DescribeDcdnDomainCnameResult.cc
+	src/model/StopDcdnDomainRequest.cc
+	src/model/StopDcdnDomainResult.cc )
+
+add_library(dcdn ${LIB_TYPE}
+	${dcdn_public_header}
+	${dcdn_public_header_model}
+	${dcdn_src})
+
+set_target_properties(dcdn
+	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}dcdn
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(dcdn
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_DCDN_LIBRARY)
+endif()
+
+target_include_directories(dcdn
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(dcdn
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(dcdn
+		jsoncpp)
+	target_include_directories(dcdn
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(dcdn
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(dcdn
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(dcdn
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(dcdn
+		jsoncpp)
+endif()
+
+install(FILES ${dcdn_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/dcdn)
+install(FILES ${dcdn_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/dcdn/model)
+install(TARGETS dcdn
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 270 - 0
dcdn/include/alibabacloud/dcdn/DcdnClient.h

@@ -0,0 +1,270 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_DCDN_DCDNCLIENT_H_
+#define ALIBABACLOUD_DCDN_DCDNCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "DcdnExport.h"
+#include "model/DescribeDcdnUserResourcePackageRequest.h"
+#include "model/DescribeDcdnUserResourcePackageResult.h"
+#include "model/DescribeDcdnRefreshQuotaRequest.h"
+#include "model/DescribeDcdnRefreshQuotaResult.h"
+#include "model/SetDcdnDomainCertificateRequest.h"
+#include "model/SetDcdnDomainCertificateResult.h"
+#include "model/DescribeDcdnDomainLogRequest.h"
+#include "model/DescribeDcdnDomainLogResult.h"
+#include "model/DescribeDcdnDomainOriginBpsDataRequest.h"
+#include "model/DescribeDcdnDomainOriginBpsDataResult.h"
+#include "model/DescribeDcdnRefreshTasksRequest.h"
+#include "model/DescribeDcdnRefreshTasksResult.h"
+#include "model/DescribeDcdnServiceRequest.h"
+#include "model/DescribeDcdnServiceResult.h"
+#include "model/UpdateDcdnDomainRequest.h"
+#include "model/UpdateDcdnDomainResult.h"
+#include "model/DeleteDcdnDomainRequest.h"
+#include "model/DeleteDcdnDomainResult.h"
+#include "model/BatchDeleteDcdnDomainConfigsRequest.h"
+#include "model/BatchDeleteDcdnDomainConfigsResult.h"
+#include "model/DescribeDcdnDomainDetailRequest.h"
+#include "model/DescribeDcdnDomainDetailResult.h"
+#include "model/DescribeDcdnDomainHitRateDataRequest.h"
+#include "model/DescribeDcdnDomainHitRateDataResult.h"
+#include "model/DescribeDcdnDomainConfigsRequest.h"
+#include "model/DescribeDcdnDomainConfigsResult.h"
+#include "model/DescribeDcdnDomainBpsDataRequest.h"
+#include "model/DescribeDcdnDomainBpsDataResult.h"
+#include "model/DescribeDcdnCertificateListRequest.h"
+#include "model/DescribeDcdnCertificateListResult.h"
+#include "model/DescribeDcdnCertificateDetailRequest.h"
+#include "model/DescribeDcdnCertificateDetailResult.h"
+#include "model/DescribeDcdnDomainOriginTrafficDataRequest.h"
+#include "model/DescribeDcdnDomainOriginTrafficDataResult.h"
+#include "model/DescribeDcdnDomainTrafficDataRequest.h"
+#include "model/DescribeDcdnDomainTrafficDataResult.h"
+#include "model/RefreshDcdnObjectCachesRequest.h"
+#include "model/RefreshDcdnObjectCachesResult.h"
+#include "model/DescribeUserDcdnStatusRequest.h"
+#include "model/DescribeUserDcdnStatusResult.h"
+#include "model/DescribeDcdnDomainQpsDataRequest.h"
+#include "model/DescribeDcdnDomainQpsDataResult.h"
+#include "model/StartDcdnDomainRequest.h"
+#include "model/StartDcdnDomainResult.h"
+#include "model/DescribeDcdnUserDomainsRequest.h"
+#include "model/DescribeDcdnUserDomainsResult.h"
+#include "model/DescribeDcdnDomainHttpCodeDataRequest.h"
+#include "model/DescribeDcdnDomainHttpCodeDataResult.h"
+#include "model/AddDcdnDomainRequest.h"
+#include "model/AddDcdnDomainResult.h"
+#include "model/PreloadDcdnObjectCachesRequest.h"
+#include "model/PreloadDcdnObjectCachesResult.h"
+#include "model/DescribeDcdnDomainCnameRequest.h"
+#include "model/DescribeDcdnDomainCnameResult.h"
+#include "model/StopDcdnDomainRequest.h"
+#include "model/StopDcdnDomainResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		class ALIBABACLOUD_DCDN_EXPORT DcdnClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::DescribeDcdnUserResourcePackageResult> DescribeDcdnUserResourcePackageOutcome;
+			typedef std::future<DescribeDcdnUserResourcePackageOutcome> DescribeDcdnUserResourcePackageOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnUserResourcePackageRequest&, const DescribeDcdnUserResourcePackageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnUserResourcePackageAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnRefreshQuotaResult> DescribeDcdnRefreshQuotaOutcome;
+			typedef std::future<DescribeDcdnRefreshQuotaOutcome> DescribeDcdnRefreshQuotaOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnRefreshQuotaRequest&, const DescribeDcdnRefreshQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnRefreshQuotaAsyncHandler;
+			typedef Outcome<Error, Model::SetDcdnDomainCertificateResult> SetDcdnDomainCertificateOutcome;
+			typedef std::future<SetDcdnDomainCertificateOutcome> SetDcdnDomainCertificateOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::SetDcdnDomainCertificateRequest&, const SetDcdnDomainCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDcdnDomainCertificateAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainLogResult> DescribeDcdnDomainLogOutcome;
+			typedef std::future<DescribeDcdnDomainLogOutcome> DescribeDcdnDomainLogOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainLogRequest&, const DescribeDcdnDomainLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainLogAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainOriginBpsDataResult> DescribeDcdnDomainOriginBpsDataOutcome;
+			typedef std::future<DescribeDcdnDomainOriginBpsDataOutcome> DescribeDcdnDomainOriginBpsDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainOriginBpsDataRequest&, const DescribeDcdnDomainOriginBpsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainOriginBpsDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnRefreshTasksResult> DescribeDcdnRefreshTasksOutcome;
+			typedef std::future<DescribeDcdnRefreshTasksOutcome> DescribeDcdnRefreshTasksOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnRefreshTasksRequest&, const DescribeDcdnRefreshTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnRefreshTasksAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnServiceResult> DescribeDcdnServiceOutcome;
+			typedef std::future<DescribeDcdnServiceOutcome> DescribeDcdnServiceOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnServiceRequest&, const DescribeDcdnServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnServiceAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDcdnDomainResult> UpdateDcdnDomainOutcome;
+			typedef std::future<UpdateDcdnDomainOutcome> UpdateDcdnDomainOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::UpdateDcdnDomainRequest&, const UpdateDcdnDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDcdnDomainAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDcdnDomainResult> DeleteDcdnDomainOutcome;
+			typedef std::future<DeleteDcdnDomainOutcome> DeleteDcdnDomainOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DeleteDcdnDomainRequest&, const DeleteDcdnDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDcdnDomainAsyncHandler;
+			typedef Outcome<Error, Model::BatchDeleteDcdnDomainConfigsResult> BatchDeleteDcdnDomainConfigsOutcome;
+			typedef std::future<BatchDeleteDcdnDomainConfigsOutcome> BatchDeleteDcdnDomainConfigsOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::BatchDeleteDcdnDomainConfigsRequest&, const BatchDeleteDcdnDomainConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchDeleteDcdnDomainConfigsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainDetailResult> DescribeDcdnDomainDetailOutcome;
+			typedef std::future<DescribeDcdnDomainDetailOutcome> DescribeDcdnDomainDetailOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainDetailRequest&, const DescribeDcdnDomainDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainDetailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainHitRateDataResult> DescribeDcdnDomainHitRateDataOutcome;
+			typedef std::future<DescribeDcdnDomainHitRateDataOutcome> DescribeDcdnDomainHitRateDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainHitRateDataRequest&, const DescribeDcdnDomainHitRateDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainHitRateDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainConfigsResult> DescribeDcdnDomainConfigsOutcome;
+			typedef std::future<DescribeDcdnDomainConfigsOutcome> DescribeDcdnDomainConfigsOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainConfigsRequest&, const DescribeDcdnDomainConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainConfigsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainBpsDataResult> DescribeDcdnDomainBpsDataOutcome;
+			typedef std::future<DescribeDcdnDomainBpsDataOutcome> DescribeDcdnDomainBpsDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainBpsDataRequest&, const DescribeDcdnDomainBpsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainBpsDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnCertificateListResult> DescribeDcdnCertificateListOutcome;
+			typedef std::future<DescribeDcdnCertificateListOutcome> DescribeDcdnCertificateListOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnCertificateListRequest&, const DescribeDcdnCertificateListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnCertificateListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnCertificateDetailResult> DescribeDcdnCertificateDetailOutcome;
+			typedef std::future<DescribeDcdnCertificateDetailOutcome> DescribeDcdnCertificateDetailOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnCertificateDetailRequest&, const DescribeDcdnCertificateDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnCertificateDetailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainOriginTrafficDataResult> DescribeDcdnDomainOriginTrafficDataOutcome;
+			typedef std::future<DescribeDcdnDomainOriginTrafficDataOutcome> DescribeDcdnDomainOriginTrafficDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainOriginTrafficDataRequest&, const DescribeDcdnDomainOriginTrafficDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainOriginTrafficDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainTrafficDataResult> DescribeDcdnDomainTrafficDataOutcome;
+			typedef std::future<DescribeDcdnDomainTrafficDataOutcome> DescribeDcdnDomainTrafficDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainTrafficDataRequest&, const DescribeDcdnDomainTrafficDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainTrafficDataAsyncHandler;
+			typedef Outcome<Error, Model::RefreshDcdnObjectCachesResult> RefreshDcdnObjectCachesOutcome;
+			typedef std::future<RefreshDcdnObjectCachesOutcome> RefreshDcdnObjectCachesOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::RefreshDcdnObjectCachesRequest&, const RefreshDcdnObjectCachesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RefreshDcdnObjectCachesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeUserDcdnStatusResult> DescribeUserDcdnStatusOutcome;
+			typedef std::future<DescribeUserDcdnStatusOutcome> DescribeUserDcdnStatusOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeUserDcdnStatusRequest&, const DescribeUserDcdnStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUserDcdnStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainQpsDataResult> DescribeDcdnDomainQpsDataOutcome;
+			typedef std::future<DescribeDcdnDomainQpsDataOutcome> DescribeDcdnDomainQpsDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainQpsDataRequest&, const DescribeDcdnDomainQpsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainQpsDataAsyncHandler;
+			typedef Outcome<Error, Model::StartDcdnDomainResult> StartDcdnDomainOutcome;
+			typedef std::future<StartDcdnDomainOutcome> StartDcdnDomainOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::StartDcdnDomainRequest&, const StartDcdnDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartDcdnDomainAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnUserDomainsResult> DescribeDcdnUserDomainsOutcome;
+			typedef std::future<DescribeDcdnUserDomainsOutcome> DescribeDcdnUserDomainsOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnUserDomainsRequest&, const DescribeDcdnUserDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnUserDomainsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainHttpCodeDataResult> DescribeDcdnDomainHttpCodeDataOutcome;
+			typedef std::future<DescribeDcdnDomainHttpCodeDataOutcome> DescribeDcdnDomainHttpCodeDataOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainHttpCodeDataRequest&, const DescribeDcdnDomainHttpCodeDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainHttpCodeDataAsyncHandler;
+			typedef Outcome<Error, Model::AddDcdnDomainResult> AddDcdnDomainOutcome;
+			typedef std::future<AddDcdnDomainOutcome> AddDcdnDomainOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::AddDcdnDomainRequest&, const AddDcdnDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddDcdnDomainAsyncHandler;
+			typedef Outcome<Error, Model::PreloadDcdnObjectCachesResult> PreloadDcdnObjectCachesOutcome;
+			typedef std::future<PreloadDcdnObjectCachesOutcome> PreloadDcdnObjectCachesOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::PreloadDcdnObjectCachesRequest&, const PreloadDcdnObjectCachesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PreloadDcdnObjectCachesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDcdnDomainCnameResult> DescribeDcdnDomainCnameOutcome;
+			typedef std::future<DescribeDcdnDomainCnameOutcome> DescribeDcdnDomainCnameOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::DescribeDcdnDomainCnameRequest&, const DescribeDcdnDomainCnameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDcdnDomainCnameAsyncHandler;
+			typedef Outcome<Error, Model::StopDcdnDomainResult> StopDcdnDomainOutcome;
+			typedef std::future<StopDcdnDomainOutcome> StopDcdnDomainOutcomeCallable;
+			typedef std::function<void(const DcdnClient*, const Model::StopDcdnDomainRequest&, const StopDcdnDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopDcdnDomainAsyncHandler;
+
+			DcdnClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			DcdnClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			DcdnClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~DcdnClient();
+			DescribeDcdnUserResourcePackageOutcome describeDcdnUserResourcePackage(const Model::DescribeDcdnUserResourcePackageRequest &request)const;
+			void describeDcdnUserResourcePackageAsync(const Model::DescribeDcdnUserResourcePackageRequest& request, const DescribeDcdnUserResourcePackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnUserResourcePackageOutcomeCallable describeDcdnUserResourcePackageCallable(const Model::DescribeDcdnUserResourcePackageRequest& request) const;
+			DescribeDcdnRefreshQuotaOutcome describeDcdnRefreshQuota(const Model::DescribeDcdnRefreshQuotaRequest &request)const;
+			void describeDcdnRefreshQuotaAsync(const Model::DescribeDcdnRefreshQuotaRequest& request, const DescribeDcdnRefreshQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnRefreshQuotaOutcomeCallable describeDcdnRefreshQuotaCallable(const Model::DescribeDcdnRefreshQuotaRequest& request) const;
+			SetDcdnDomainCertificateOutcome setDcdnDomainCertificate(const Model::SetDcdnDomainCertificateRequest &request)const;
+			void setDcdnDomainCertificateAsync(const Model::SetDcdnDomainCertificateRequest& request, const SetDcdnDomainCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetDcdnDomainCertificateOutcomeCallable setDcdnDomainCertificateCallable(const Model::SetDcdnDomainCertificateRequest& request) const;
+			DescribeDcdnDomainLogOutcome describeDcdnDomainLog(const Model::DescribeDcdnDomainLogRequest &request)const;
+			void describeDcdnDomainLogAsync(const Model::DescribeDcdnDomainLogRequest& request, const DescribeDcdnDomainLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainLogOutcomeCallable describeDcdnDomainLogCallable(const Model::DescribeDcdnDomainLogRequest& request) const;
+			DescribeDcdnDomainOriginBpsDataOutcome describeDcdnDomainOriginBpsData(const Model::DescribeDcdnDomainOriginBpsDataRequest &request)const;
+			void describeDcdnDomainOriginBpsDataAsync(const Model::DescribeDcdnDomainOriginBpsDataRequest& request, const DescribeDcdnDomainOriginBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainOriginBpsDataOutcomeCallable describeDcdnDomainOriginBpsDataCallable(const Model::DescribeDcdnDomainOriginBpsDataRequest& request) const;
+			DescribeDcdnRefreshTasksOutcome describeDcdnRefreshTasks(const Model::DescribeDcdnRefreshTasksRequest &request)const;
+			void describeDcdnRefreshTasksAsync(const Model::DescribeDcdnRefreshTasksRequest& request, const DescribeDcdnRefreshTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnRefreshTasksOutcomeCallable describeDcdnRefreshTasksCallable(const Model::DescribeDcdnRefreshTasksRequest& request) const;
+			DescribeDcdnServiceOutcome describeDcdnService(const Model::DescribeDcdnServiceRequest &request)const;
+			void describeDcdnServiceAsync(const Model::DescribeDcdnServiceRequest& request, const DescribeDcdnServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnServiceOutcomeCallable describeDcdnServiceCallable(const Model::DescribeDcdnServiceRequest& request) const;
+			UpdateDcdnDomainOutcome updateDcdnDomain(const Model::UpdateDcdnDomainRequest &request)const;
+			void updateDcdnDomainAsync(const Model::UpdateDcdnDomainRequest& request, const UpdateDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDcdnDomainOutcomeCallable updateDcdnDomainCallable(const Model::UpdateDcdnDomainRequest& request) const;
+			DeleteDcdnDomainOutcome deleteDcdnDomain(const Model::DeleteDcdnDomainRequest &request)const;
+			void deleteDcdnDomainAsync(const Model::DeleteDcdnDomainRequest& request, const DeleteDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDcdnDomainOutcomeCallable deleteDcdnDomainCallable(const Model::DeleteDcdnDomainRequest& request) const;
+			BatchDeleteDcdnDomainConfigsOutcome batchDeleteDcdnDomainConfigs(const Model::BatchDeleteDcdnDomainConfigsRequest &request)const;
+			void batchDeleteDcdnDomainConfigsAsync(const Model::BatchDeleteDcdnDomainConfigsRequest& request, const BatchDeleteDcdnDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchDeleteDcdnDomainConfigsOutcomeCallable batchDeleteDcdnDomainConfigsCallable(const Model::BatchDeleteDcdnDomainConfigsRequest& request) const;
+			DescribeDcdnDomainDetailOutcome describeDcdnDomainDetail(const Model::DescribeDcdnDomainDetailRequest &request)const;
+			void describeDcdnDomainDetailAsync(const Model::DescribeDcdnDomainDetailRequest& request, const DescribeDcdnDomainDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainDetailOutcomeCallable describeDcdnDomainDetailCallable(const Model::DescribeDcdnDomainDetailRequest& request) const;
+			DescribeDcdnDomainHitRateDataOutcome describeDcdnDomainHitRateData(const Model::DescribeDcdnDomainHitRateDataRequest &request)const;
+			void describeDcdnDomainHitRateDataAsync(const Model::DescribeDcdnDomainHitRateDataRequest& request, const DescribeDcdnDomainHitRateDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainHitRateDataOutcomeCallable describeDcdnDomainHitRateDataCallable(const Model::DescribeDcdnDomainHitRateDataRequest& request) const;
+			DescribeDcdnDomainConfigsOutcome describeDcdnDomainConfigs(const Model::DescribeDcdnDomainConfigsRequest &request)const;
+			void describeDcdnDomainConfigsAsync(const Model::DescribeDcdnDomainConfigsRequest& request, const DescribeDcdnDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainConfigsOutcomeCallable describeDcdnDomainConfigsCallable(const Model::DescribeDcdnDomainConfigsRequest& request) const;
+			DescribeDcdnDomainBpsDataOutcome describeDcdnDomainBpsData(const Model::DescribeDcdnDomainBpsDataRequest &request)const;
+			void describeDcdnDomainBpsDataAsync(const Model::DescribeDcdnDomainBpsDataRequest& request, const DescribeDcdnDomainBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainBpsDataOutcomeCallable describeDcdnDomainBpsDataCallable(const Model::DescribeDcdnDomainBpsDataRequest& request) const;
+			DescribeDcdnCertificateListOutcome describeDcdnCertificateList(const Model::DescribeDcdnCertificateListRequest &request)const;
+			void describeDcdnCertificateListAsync(const Model::DescribeDcdnCertificateListRequest& request, const DescribeDcdnCertificateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnCertificateListOutcomeCallable describeDcdnCertificateListCallable(const Model::DescribeDcdnCertificateListRequest& request) const;
+			DescribeDcdnCertificateDetailOutcome describeDcdnCertificateDetail(const Model::DescribeDcdnCertificateDetailRequest &request)const;
+			void describeDcdnCertificateDetailAsync(const Model::DescribeDcdnCertificateDetailRequest& request, const DescribeDcdnCertificateDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnCertificateDetailOutcomeCallable describeDcdnCertificateDetailCallable(const Model::DescribeDcdnCertificateDetailRequest& request) const;
+			DescribeDcdnDomainOriginTrafficDataOutcome describeDcdnDomainOriginTrafficData(const Model::DescribeDcdnDomainOriginTrafficDataRequest &request)const;
+			void describeDcdnDomainOriginTrafficDataAsync(const Model::DescribeDcdnDomainOriginTrafficDataRequest& request, const DescribeDcdnDomainOriginTrafficDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainOriginTrafficDataOutcomeCallable describeDcdnDomainOriginTrafficDataCallable(const Model::DescribeDcdnDomainOriginTrafficDataRequest& request) const;
+			DescribeDcdnDomainTrafficDataOutcome describeDcdnDomainTrafficData(const Model::DescribeDcdnDomainTrafficDataRequest &request)const;
+			void describeDcdnDomainTrafficDataAsync(const Model::DescribeDcdnDomainTrafficDataRequest& request, const DescribeDcdnDomainTrafficDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainTrafficDataOutcomeCallable describeDcdnDomainTrafficDataCallable(const Model::DescribeDcdnDomainTrafficDataRequest& request) const;
+			RefreshDcdnObjectCachesOutcome refreshDcdnObjectCaches(const Model::RefreshDcdnObjectCachesRequest &request)const;
+			void refreshDcdnObjectCachesAsync(const Model::RefreshDcdnObjectCachesRequest& request, const RefreshDcdnObjectCachesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RefreshDcdnObjectCachesOutcomeCallable refreshDcdnObjectCachesCallable(const Model::RefreshDcdnObjectCachesRequest& request) const;
+			DescribeUserDcdnStatusOutcome describeUserDcdnStatus(const Model::DescribeUserDcdnStatusRequest &request)const;
+			void describeUserDcdnStatusAsync(const Model::DescribeUserDcdnStatusRequest& request, const DescribeUserDcdnStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeUserDcdnStatusOutcomeCallable describeUserDcdnStatusCallable(const Model::DescribeUserDcdnStatusRequest& request) const;
+			DescribeDcdnDomainQpsDataOutcome describeDcdnDomainQpsData(const Model::DescribeDcdnDomainQpsDataRequest &request)const;
+			void describeDcdnDomainQpsDataAsync(const Model::DescribeDcdnDomainQpsDataRequest& request, const DescribeDcdnDomainQpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainQpsDataOutcomeCallable describeDcdnDomainQpsDataCallable(const Model::DescribeDcdnDomainQpsDataRequest& request) const;
+			StartDcdnDomainOutcome startDcdnDomain(const Model::StartDcdnDomainRequest &request)const;
+			void startDcdnDomainAsync(const Model::StartDcdnDomainRequest& request, const StartDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartDcdnDomainOutcomeCallable startDcdnDomainCallable(const Model::StartDcdnDomainRequest& request) const;
+			DescribeDcdnUserDomainsOutcome describeDcdnUserDomains(const Model::DescribeDcdnUserDomainsRequest &request)const;
+			void describeDcdnUserDomainsAsync(const Model::DescribeDcdnUserDomainsRequest& request, const DescribeDcdnUserDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnUserDomainsOutcomeCallable describeDcdnUserDomainsCallable(const Model::DescribeDcdnUserDomainsRequest& request) const;
+			DescribeDcdnDomainHttpCodeDataOutcome describeDcdnDomainHttpCodeData(const Model::DescribeDcdnDomainHttpCodeDataRequest &request)const;
+			void describeDcdnDomainHttpCodeDataAsync(const Model::DescribeDcdnDomainHttpCodeDataRequest& request, const DescribeDcdnDomainHttpCodeDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainHttpCodeDataOutcomeCallable describeDcdnDomainHttpCodeDataCallable(const Model::DescribeDcdnDomainHttpCodeDataRequest& request) const;
+			AddDcdnDomainOutcome addDcdnDomain(const Model::AddDcdnDomainRequest &request)const;
+			void addDcdnDomainAsync(const Model::AddDcdnDomainRequest& request, const AddDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddDcdnDomainOutcomeCallable addDcdnDomainCallable(const Model::AddDcdnDomainRequest& request) const;
+			PreloadDcdnObjectCachesOutcome preloadDcdnObjectCaches(const Model::PreloadDcdnObjectCachesRequest &request)const;
+			void preloadDcdnObjectCachesAsync(const Model::PreloadDcdnObjectCachesRequest& request, const PreloadDcdnObjectCachesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PreloadDcdnObjectCachesOutcomeCallable preloadDcdnObjectCachesCallable(const Model::PreloadDcdnObjectCachesRequest& request) const;
+			DescribeDcdnDomainCnameOutcome describeDcdnDomainCname(const Model::DescribeDcdnDomainCnameRequest &request)const;
+			void describeDcdnDomainCnameAsync(const Model::DescribeDcdnDomainCnameRequest& request, const DescribeDcdnDomainCnameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDcdnDomainCnameOutcomeCallable describeDcdnDomainCnameCallable(const Model::DescribeDcdnDomainCnameRequest& request) const;
+			StopDcdnDomainOutcome stopDcdnDomain(const Model::StopDcdnDomainRequest &request)const;
+			void stopDcdnDomainAsync(const Model::StopDcdnDomainRequest& request, const StopDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopDcdnDomainOutcomeCallable stopDcdnDomainCallable(const Model::StopDcdnDomainRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_DCDN_DCDNCLIENT_H_

+ 32 - 0
dcdn/include/alibabacloud/dcdn/DcdnExport.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_DCDN_DCDNEXPORT_H_
+#define ALIBABACLOUD_DCDN_DCDNEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_DCDN_LIBRARY)
+#		define ALIBABACLOUD_DCDN_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_DCDN_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_DCDN_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_DCDN_DCDNEXPORT_H_

+ 75 - 0
dcdn/include/alibabacloud/dcdn/model/AddDcdnDomainRequest.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_DCDN_MODEL_ADDDCDNDOMAINREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_ADDDCDNDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT AddDcdnDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddDcdnDomainRequest();
+				~AddDcdnDomainRequest();
+
+				std::string getTopLevelDomain()const;
+				void setTopLevelDomain(const std::string& topLevelDomain);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSources()const;
+				void setSources(const std::string& sources);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getScope()const;
+				void setScope(const std::string& scope);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getCheckUrl()const;
+				void setCheckUrl(const std::string& checkUrl);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string topLevelDomain_;
+				std::string resourceGroupId_;
+				std::string sources_;
+				std::string securityToken_;
+				std::string ownerAccount_;
+				std::string scope_;
+				std::string domainName_;
+				long ownerId_;
+				std::string checkUrl_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_ADDDCDNDOMAINREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/AddDcdnDomainResult.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_DCDN_MODEL_ADDDCDNDOMAINRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_ADDDCDNDOMAINRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT AddDcdnDomainResult : public ServiceResult
+			{
+			public:
+
+
+				AddDcdnDomainResult();
+				explicit AddDcdnDomainResult(const std::string &payload);
+				~AddDcdnDomainResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_ADDDCDNDOMAINRESULT_H_

+ 63 - 0
dcdn/include/alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsRequest.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_DCDN_MODEL_BATCHDELETEDCDNDOMAINCONFIGSREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_BATCHDELETEDCDNDOMAINCONFIGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT BatchDeleteDcdnDomainConfigsRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchDeleteDcdnDomainConfigsRequest();
+				~BatchDeleteDcdnDomainConfigsRequest();
+
+				std::string getFunctionNames()const;
+				void setFunctionNames(const std::string& functionNames);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainNames()const;
+				void setDomainNames(const std::string& domainNames);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string functionNames_;
+				std::string securityToken_;
+				std::string domainNames_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_BATCHDELETEDCDNDOMAINCONFIGSREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsResult.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_DCDN_MODEL_BATCHDELETEDCDNDOMAINCONFIGSRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_BATCHDELETEDCDNDOMAINCONFIGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT BatchDeleteDcdnDomainConfigsResult : public ServiceResult
+			{
+			public:
+
+
+				BatchDeleteDcdnDomainConfigsResult();
+				explicit BatchDeleteDcdnDomainConfigsResult(const std::string &payload);
+				~BatchDeleteDcdnDomainConfigsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_BATCHDELETEDCDNDOMAINCONFIGSRESULT_H_

+ 63 - 0
dcdn/include/alibabacloud/dcdn/model/DeleteDcdnDomainRequest.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_DCDN_MODEL_DELETEDCDNDOMAINREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DELETEDCDNDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DeleteDcdnDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDcdnDomainRequest();
+				~DeleteDcdnDomainRequest();
+
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string ownerAccount_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DELETEDCDNDOMAINREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/DeleteDcdnDomainResult.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_DCDN_MODEL_DELETEDCDNDOMAINRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DELETEDCDNDOMAINRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DeleteDcdnDomainResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDcdnDomainResult();
+				explicit DeleteDcdnDomainResult(const std::string &payload);
+				~DeleteDcdnDomainResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DELETEDCDNDOMAINRESULT_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateDetailRequest.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_DCDN_MODEL_DESCRIBEDCDNCERTIFICATEDETAILREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATEDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnCertificateDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnCertificateDetailRequest();
+				~DescribeDcdnCertificateDetailRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getCertName()const;
+				void setCertName(const std::string& certName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string certName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATEDETAILREQUEST_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateDetailResult.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_DCDN_MODEL_DESCRIBEDCDNCERTIFICATEDETAILRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATEDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnCertificateDetailResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeDcdnCertificateDetailResult();
+				explicit DescribeDcdnCertificateDetailResult(const std::string &payload);
+				~DescribeDcdnCertificateDetailResult();
+				long getCertId()const;
+				std::string getCert()const;
+				std::string getCertName()const;
+				std::string getKey()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long certId_;
+				std::string cert_;
+				std::string certName_;
+				std::string key_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATEDETAILRESULT_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateListRequest.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_DCDN_MODEL_DESCRIBEDCDNCERTIFICATELISTREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnCertificateListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnCertificateListRequest();
+				~DescribeDcdnCertificateListRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATELISTREQUEST_H_

+ 65 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnCertificateListResult.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_DCDN_MODEL_DESCRIBEDCDNCERTIFICATELISTRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnCertificateListResult : public ServiceResult
+			{
+			public:
+				struct CertificateListModel
+				{
+					struct Cert
+					{
+						std::string fingerprint;
+						std::string issuer;
+						long certId;
+						std::string certName;
+						long lastTime;
+						std::string common;
+					};
+					std::vector<Cert> certList;
+					int count;
+				};
+
+
+				DescribeDcdnCertificateListResult();
+				explicit DescribeDcdnCertificateListResult(const std::string &payload);
+				~DescribeDcdnCertificateListResult();
+				CertificateListModel getCertificateListModel()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				CertificateListModel certificateListModel_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNCERTIFICATELISTRESULT_H_

+ 132 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataRequest.h

@@ -0,0 +1,132 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_DCDN_MODEL_DESCRIBEDCDNDOMAINBPSDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINBPSDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainBpsDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainBpsDataRequest();
+				~DescribeDcdnDomainBpsDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getLocationNameEn()const;
+				void setLocationNameEn(const std::string& locationNameEn);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getIspNameEn()const;
+				void setIspNameEn(const std::string& ispNameEn);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getFixTimeGap()const;
+				void setFixTimeGap(const std::string& fixTimeGap);
+				std::string getTimeMerge()const;
+				void setTimeMerge(const std::string& timeMerge);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string locationNameEn_;
+				std::string startTime_;
+				std::string ispNameEn_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string fixTimeGap_;
+				std::string timeMerge_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINBPSDATAREQUEST_H_

+ 68 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINBPSDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINBPSDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainBpsDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					float dynamicHttpsBps;
+					float bps;
+					float dynamicHttpBps;
+					float staticHttpBps;
+					std::string timeStamp;
+					float staticHttpsBps;
+				};
+
+
+				DescribeDcdnDomainBpsDataResult();
+				explicit DescribeDcdnDomainBpsDataResult(const std::string &payload);
+				~DescribeDcdnDomainBpsDataResult();
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+				std::vector<DataModule> getBpsDataPerInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+				std::vector<DataModule> bpsDataPerInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINBPSDATARESULT_H_

+ 108 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainCnameRequest.h

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCNAMEREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCNAMEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainCnameRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainCnameRequest();
+				~DescribeDcdnDomainCnameRequest();
+
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+
+            private:
+				std::string app_ip_;
+				std::string product_;
+				long callerParentId_;
+				std::string domainName_;
+				bool proxy_original_security_transport_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string proxy_original_source_ip_;
+				std::string version_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				std::string accessKeyId_;
+				bool security_transport_;
+				std::string securityToken_;
+				std::string requestId_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCNAMEREQUEST_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainCnameResult.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_DCDN_MODEL_DESCRIBEDCDNDOMAINCNAMERESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCNAMERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainCnameResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int status;
+					std::string domain;
+					std::string cname;
+				};
+
+
+				DescribeDcdnDomainCnameResult();
+				explicit DescribeDcdnDomainCnameResult(const std::string &payload);
+				~DescribeDcdnDomainCnameResult();
+				std::vector<Data> getCnameDatas()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Data> cnameDatas_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCNAMERESULT_H_

+ 60 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainConfigsRequest.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_DCDN_MODEL_DESCRIBEDCDNDOMAINCONFIGSREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCONFIGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainConfigsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainConfigsRequest();
+				~DescribeDcdnDomainConfigsRequest();
+
+				std::string getFunctionNames()const;
+				void setFunctionNames(const std::string& functionNames);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string functionNames_;
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCONFIGSREQUEST_H_

+ 63 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainConfigsResult.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_DCDN_MODEL_DESCRIBEDCDNDOMAINCONFIGSRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCONFIGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainConfigsResult : public ServiceResult
+			{
+			public:
+				struct DomainConfig
+				{
+					struct FunctionArg
+					{
+						std::string argValue;
+						std::string argName;
+					};
+					std::string status;
+					std::string functionName;
+					std::vector<DomainConfig::FunctionArg> functionArgs;
+					std::string configId;
+				};
+
+
+				DescribeDcdnDomainConfigsResult();
+				explicit DescribeDcdnDomainConfigsResult(const std::string &payload);
+				~DescribeDcdnDomainConfigsResult();
+				std::vector<DomainConfig> getDomainConfigs()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DomainConfig> domainConfigs_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINCONFIGSRESULT_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainDetailRequest.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_DCDN_MODEL_DESCRIBEDCDNDOMAINDETAILREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainDetailRequest();
+				~DescribeDcdnDomainDetailRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINDETAILREQUEST_H_

+ 74 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainDetailResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINDETAILRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainDetailResult : public ServiceResult
+			{
+			public:
+				struct DomainDetail
+				{
+					struct Source
+					{
+						std::string type;
+						std::string content;
+						std::string priority;
+						int port;
+						std::string enabled;
+					};
+					std::string description;
+					std::string scope;
+					std::string resourceGroupId;
+					std::string domainName;
+					std::string sSLPub;
+					std::string gmtModified;
+					std::string gmtCreated;
+					std::string certName;
+					std::vector<Source> sources;
+					std::string cname;
+					std::string domainStatus;
+					std::string sSLProtocol;
+				};
+
+
+				DescribeDcdnDomainDetailResult();
+				explicit DescribeDcdnDomainDetailResult(const std::string &payload);
+				~DescribeDcdnDomainDetailResult();
+				DomainDetail getDomainDetail()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				DomainDetail domainDetail_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINDETAILRESULT_H_

+ 120 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataRequest.h

@@ -0,0 +1,120 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_DCDN_MODEL_DESCRIBEDCDNDOMAINHITRATEDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHITRATEDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainHitRateDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainHitRateDataRequest();
+				~DescribeDcdnDomainHitRateDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHITRATEDATAREQUEST_H_

+ 65 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataResult.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_DCDN_MODEL_DESCRIBEDCDNDOMAINHITRATEDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHITRATEDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainHitRateDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					float reqHitRate;
+					float byteHitRate;
+					std::string timeStamp;
+				};
+
+
+				DescribeDcdnDomainHitRateDataResult();
+				explicit DescribeDcdnDomainHitRateDataResult(const std::string &payload);
+				~DescribeDcdnDomainHitRateDataResult();
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::vector<DataModule> getHitRatePerInterval()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::string domainName_;
+				std::vector<DataModule> hitRatePerInterval_;
+				std::string startTime_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHITRATEDATARESULT_H_

+ 126 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHttpCodeDataRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHTTPCODEDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHTTPCODEDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainHttpCodeDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainHttpCodeDataRequest();
+				~DescribeDcdnDomainHttpCodeDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getLocationNameEn()const;
+				void setLocationNameEn(const std::string& locationNameEn);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getIspNameEn()const;
+				void setIspNameEn(const std::string& ispNameEn);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string locationNameEn_;
+				std::string startTime_;
+				std::string ispNameEn_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHTTPCODEDATAREQUEST_H_

+ 70 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainHttpCodeDataResult.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_DCDN_MODEL_DESCRIBEDCDNDOMAINHTTPCODEDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHTTPCODEDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainHttpCodeDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					struct HttpCodeDataModule
+					{
+						float proportion;
+						float count;
+						int code;
+					};
+					std::vector<DataModule::HttpCodeDataModule> httpCodeDataPerInterval;
+					std::string timeStamp;
+				};
+
+
+				DescribeDcdnDomainHttpCodeDataResult();
+				explicit DescribeDcdnDomainHttpCodeDataResult(const std::string &payload);
+				~DescribeDcdnDomainHttpCodeDataResult();
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+				std::vector<DataModule> getDataPerInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+				std::vector<DataModule> dataPerInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINHTTPCODEDATARESULT_H_

+ 120 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainLogRequest.h

@@ -0,0 +1,120 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_DCDN_MODEL_DESCRIBEDCDNDOMAINLOGREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINLOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainLogRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainLogRequest();
+				~DescribeDcdnDomainLogRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				long pageNumber_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				long pageSize_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINLOGREQUEST_H_

+ 73 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainLogResult.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_DCDN_MODEL_DESCRIBEDCDNDOMAINLOGRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINLOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainLogResult : public ServiceResult
+			{
+			public:
+				struct DomainLogDetail
+				{
+					struct PageInfoDetail
+					{
+						long pageSize;
+						long total;
+						long pageIndex;
+					};
+					struct LogInfoDetail
+					{
+						long logSize;
+						std::string endTime;
+						std::string startTime;
+						std::string logName;
+						std::string logPath;
+					};
+					std::vector<DomainLogDetail::LogInfoDetail> logInfos;
+					std::vector<DomainLogDetail::PageInfoDetail> pageInfos;
+					long logCount;
+				};
+
+
+				DescribeDcdnDomainLogResult();
+				explicit DescribeDcdnDomainLogResult(const std::string &payload);
+				~DescribeDcdnDomainLogResult();
+				std::string getDomainName()const;
+				std::vector<DomainLogDetail> getDomainLogDetails()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string domainName_;
+				std::vector<DomainLogDetail> domainLogDetails_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINLOGRESULT_H_

+ 126 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINBPSDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINBPSDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainOriginBpsDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainOriginBpsDataRequest();
+				~DescribeDcdnDomainOriginBpsDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getFixTimeGap()const;
+				void setFixTimeGap(const std::string& fixTimeGap);
+				std::string getTimeMerge()const;
+				void setTimeMerge(const std::string& timeMerge);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string fixTimeGap_;
+				std::string timeMerge_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINBPSDATAREQUEST_H_

+ 68 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINBPSDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINBPSDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainOriginBpsDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					float dynamicHttpOriginBps;
+					float staticHttpOriginBps;
+					float staticHttpsOriginBps;
+					float dynamicHttpsOriginBps;
+					std::string timeStamp;
+					float originBps;
+				};
+
+
+				DescribeDcdnDomainOriginBpsDataResult();
+				explicit DescribeDcdnDomainOriginBpsDataResult(const std::string &payload);
+				~DescribeDcdnDomainOriginBpsDataResult();
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+				std::vector<DataModule> getOriginBpsDataPerInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+				std::vector<DataModule> originBpsDataPerInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINBPSDATARESULT_H_

+ 126 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINTRAFFICDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINTRAFFICDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainOriginTrafficDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainOriginTrafficDataRequest();
+				~DescribeDcdnDomainOriginTrafficDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getFixTimeGap()const;
+				void setFixTimeGap(const std::string& fixTimeGap);
+				std::string getTimeMerge()const;
+				void setTimeMerge(const std::string& timeMerge);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string fixTimeGap_;
+				std::string timeMerge_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINTRAFFICDATAREQUEST_H_

+ 68 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINTRAFFICDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINTRAFFICDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainOriginTrafficDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					float dynamicHttpOriginTraffic;
+					float originTraffic;
+					float dynamicHttpsOriginTraffic;
+					float staticHttpOriginTraffic;
+					std::string timeStamp;
+					float staticHttpsOriginTraffic;
+				};
+
+
+				DescribeDcdnDomainOriginTrafficDataResult();
+				explicit DescribeDcdnDomainOriginTrafficDataResult(const std::string &payload);
+				~DescribeDcdnDomainOriginTrafficDataResult();
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+				std::vector<DataModule> getOriginTrafficDataPerInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+				std::vector<DataModule> originTrafficDataPerInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINORIGINTRAFFICDATARESULT_H_

+ 132 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainQpsDataRequest.h

@@ -0,0 +1,132 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_DCDN_MODEL_DESCRIBEDCDNDOMAINQPSDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINQPSDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainQpsDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainQpsDataRequest();
+				~DescribeDcdnDomainQpsDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getLocationNameEn()const;
+				void setLocationNameEn(const std::string& locationNameEn);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getIspNameEn()const;
+				void setIspNameEn(const std::string& ispNameEn);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getFixTimeGap()const;
+				void setFixTimeGap(const std::string& fixTimeGap);
+				std::string getTimeMerge()const;
+				void setTimeMerge(const std::string& timeMerge);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string locationNameEn_;
+				std::string startTime_;
+				std::string ispNameEn_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string fixTimeGap_;
+				std::string timeMerge_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINQPSDATAREQUEST_H_

+ 73 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainQpsDataResult.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_DCDN_MODEL_DESCRIBEDCDNDOMAINQPSDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINQPSDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainQpsDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					float dynamicHttpsQps;
+					float staticHttpsQps;
+					float acc;
+					float dynamicHttpAcc;
+					float staticHttpAcc;
+					float staticHttpsAcc;
+					float dynamicHttpQps;
+					float qps;
+					float staticHttpQps;
+					float dynamicHttpsAcc;
+					std::string timeStamp;
+				};
+
+
+				DescribeDcdnDomainQpsDataResult();
+				explicit DescribeDcdnDomainQpsDataResult(const std::string &payload);
+				~DescribeDcdnDomainQpsDataResult();
+				std::vector<DataModule> getQpsDataPerInterval()const;
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DataModule> qpsDataPerInterval_;
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINQPSDATARESULT_H_

+ 132 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataRequest.h

@@ -0,0 +1,132 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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_DCDN_MODEL_DESCRIBEDCDNDOMAINTRAFFICDATAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINTRAFFICDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainTrafficDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnDomainTrafficDataRequest();
+				~DescribeDcdnDomainTrafficDataRequest();
+
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getLocationNameEn()const;
+				void setLocationNameEn(const std::string& locationNameEn);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getIspNameEn()const;
+				void setIspNameEn(const std::string& ispNameEn);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getFixTimeGap()const;
+				void setFixTimeGap(const std::string& fixTimeGap);
+				std::string getTimeMerge()const;
+				void setTimeMerge(const std::string& timeMerge);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getVersion()const;
+				void setVersion(const std::string& version);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getFields()const;
+				void setFields(const std::string& fields);
+
+            private:
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string locationNameEn_;
+				std::string startTime_;
+				std::string ispNameEn_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string product_;
+				std::string fixTimeGap_;
+				std::string timeMerge_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string callerBid_;
+				long ownerId_;
+				std::string version_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				std::string interval_;
+				std::string fields_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINTRAFFICDATAREQUEST_H_

+ 68 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINTRAFFICDATARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINTRAFFICDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainTrafficDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					float dynamicHttpTraffic;
+					float traffic;
+					float dynamicHttpsTraffic;
+					float staticHttpsTraffic;
+					std::string timeStamp;
+					float staticHttpTraffic;
+				};
+
+
+				DescribeDcdnDomainTrafficDataResult();
+				explicit DescribeDcdnDomainTrafficDataResult(const std::string &payload);
+				~DescribeDcdnDomainTrafficDataResult();
+				std::string getEndTime()const;
+				std::vector<DataModule> getTrafficDataPerInterval()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::vector<DataModule> trafficDataPerInterval_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINTRAFFICDATARESULT_H_

+ 54 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaRequest.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_DCDN_MODEL_DESCRIBEDCDNREFRESHQUOTAREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHQUOTAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnRefreshQuotaRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnRefreshQuotaRequest();
+				~DescribeDcdnRefreshQuotaRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHQUOTAREQUEST_H_

+ 65 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaResult.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_DCDN_MODEL_DESCRIBEDCDNREFRESHQUOTARESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHQUOTARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnRefreshQuotaResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeDcdnRefreshQuotaResult();
+				explicit DescribeDcdnRefreshQuotaResult(const std::string &payload);
+				~DescribeDcdnRefreshQuotaResult();
+				std::string getUrlRemain()const;
+				std::string getPreloadRemain()const;
+				std::string getBlockRemain()const;
+				std::string getDirRemain()const;
+				std::string getBlockQuota()const;
+				std::string getUrlQuota()const;
+				std::string getDirQuota()const;
+				std::string getPreloadQuota()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string urlRemain_;
+				std::string preloadRemain_;
+				std::string blockRemain_;
+				std::string dirRemain_;
+				std::string blockQuota_;
+				std::string urlQuota_;
+				std::string dirQuota_;
+				std::string preloadQuota_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHQUOTARESULT_H_

+ 84 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshTasksRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHTASKSREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHTASKSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnRefreshTasksRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnRefreshTasksRequest();
+				~DescribeDcdnRefreshTasksRequest();
+
+				std::string getObjectPath()const;
+				void setObjectPath(const std::string& objectPath);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getObjectType()const;
+				void setObjectType(const std::string& objectType);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+
+            private:
+				std::string objectPath_;
+				std::string domainName_;
+				std::string endTime_;
+				std::string startTime_;
+				long ownerId_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				int pageSize_;
+				std::string objectType_;
+				std::string taskId_;
+				std::string status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHTASKSREQUEST_H_

+ 67 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnRefreshTasksResult.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_DCDN_MODEL_DESCRIBEDCDNREFRESHTASKSRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHTASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnRefreshTasksResult : public ServiceResult
+			{
+			public:
+				struct Task
+				{
+					std::string status;
+					std::string objectType;
+					std::string objectPath;
+					std::string taskId;
+					std::string description;
+					std::string creationTime;
+					std::string process;
+				};
+
+
+				DescribeDcdnRefreshTasksResult();
+				explicit DescribeDcdnRefreshTasksResult(const std::string &payload);
+				~DescribeDcdnRefreshTasksResult();
+				long getTotalCount()const;
+				std::vector<Task> getTasks()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				std::vector<Task> tasks_;
+				long pageSize_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNREFRESHTASKSRESULT_H_

+ 54 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnServiceRequest.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_DCDN_MODEL_DESCRIBEDCDNSERVICEREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNSERVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnServiceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnServiceRequest();
+				~DescribeDcdnServiceRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNSERVICEREQUEST_H_

+ 65 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnServiceResult.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_DCDN_MODEL_DESCRIBEDCDNSERVICERESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNSERVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnServiceResult : public ServiceResult
+			{
+			public:
+				struct LockReason
+				{
+					std::string lockReason;
+				};
+
+
+				DescribeDcdnServiceResult();
+				explicit DescribeDcdnServiceResult(const std::string &payload);
+				~DescribeDcdnServiceResult();
+				std::string getChangingChargeType()const;
+				std::string getInstanceId()const;
+				std::string getOpeningTime()const;
+				std::vector<LockReason> getOperationLocks()const;
+				std::string getChangingAffectTime()const;
+				std::string getInternetChargeType()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string changingChargeType_;
+				std::string instanceId_;
+				std::string openingTime_;
+				std::vector<LockReason> operationLocks_;
+				std::string changingAffectTime_;
+				std::string internetChargeType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNSERVICERESULT_H_

+ 81 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsRequest.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERDOMAINSREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERDOMAINSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnUserDomainsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnUserDomainsRequest();
+				~DescribeDcdnUserDomainsRequest();
+
+				std::string getFuncFilter()const;
+				void setFuncFilter(const std::string& funcFilter);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getFuncId()const;
+				void setFuncId(const std::string& funcId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getDomainStatus()const;
+				void setDomainStatus(const std::string& domainStatus);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getDomainSearchType()const;
+				void setDomainSearchType(const std::string& domainSearchType);
+				bool getCheckDomainShow()const;
+				void setCheckDomainShow(bool checkDomainShow);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string funcFilter_;
+				std::string domainName_;
+				long ownerId_;
+				std::string funcId_;
+				int pageNumber_;
+				std::string domainStatus_;
+				std::string accessKeyId_;
+				std::string domainSearchType_;
+				bool checkDomainShow_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERDOMAINSREQUEST_H_

+ 79 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsResult.h

@@ -0,0 +1,79 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERDOMAINSRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERDOMAINSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnUserDomainsResult : public ServiceResult
+			{
+			public:
+				struct PageData
+				{
+					struct Source
+					{
+						std::string type;
+						std::string content;
+						std::string priority;
+						int port;
+					};
+					std::string description;
+					std::string resourceGroupId;
+					std::string domainName;
+					std::string gmtModified;
+					std::string gmtCreated;
+					std::vector<PageData::Source> sources;
+					std::string cname;
+					std::string domainStatus;
+					std::string sSLProtocol;
+					std::string sandbox;
+				};
+
+
+				DescribeDcdnUserDomainsResult();
+				explicit DescribeDcdnUserDomainsResult(const std::string &payload);
+				~DescribeDcdnUserDomainsResult();
+				std::vector<PageData> getDomains()const;
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				long getOnlineCount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PageData> domains_;
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				long onlineCount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERDOMAINSRESULT_H_

+ 54 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserResourcePackageRequest.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_DCDN_MODEL_DESCRIBEDCDNUSERRESOURCEPACKAGEREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERRESOURCEPACKAGEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnUserResourcePackageRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDcdnUserResourcePackageRequest();
+				~DescribeDcdnUserResourcePackageRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERRESOURCEPACKAGEREQUEST_H_

+ 60 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserResourcePackageResult.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_DCDN_MODEL_DESCRIBEDCDNUSERRESOURCEPACKAGERESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERRESOURCEPACKAGERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnUserResourcePackageResult : public ServiceResult
+			{
+			public:
+				struct ResourcePackageInfo
+				{
+					std::string status;
+					std::string initCapacity;
+					std::string instanceId;
+					std::string commodityCode;
+					std::string displayName;
+					std::string currCapacity;
+				};
+
+
+				DescribeDcdnUserResourcePackageResult();
+				explicit DescribeDcdnUserResourcePackageResult(const std::string &payload);
+				~DescribeDcdnUserResourcePackageResult();
+				std::vector<ResourcePackageInfo> getResourcePackageInfos()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ResourcePackageInfo> resourcePackageInfos_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERRESOURCEPACKAGERESULT_H_

+ 54 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeUserDcdnStatusRequest.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_DCDN_MODEL_DESCRIBEUSERDCDNSTATUSREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEUSERDCDNSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeUserDcdnStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeUserDcdnStatusRequest();
+				~DescribeUserDcdnStatusRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEUSERDCDNSTATUSREQUEST_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/DescribeUserDcdnStatusResult.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_DCDN_MODEL_DESCRIBEUSERDCDNSTATUSRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEUSERDCDNSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT DescribeUserDcdnStatusResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeUserDcdnStatusResult();
+				explicit DescribeUserDcdnStatusResult(const std::string &payload);
+				~DescribeUserDcdnStatusResult();
+				bool getInDebt()const;
+				bool getEnabled()const;
+				bool getInDebtOverdue()const;
+				bool getOnService()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool inDebt_;
+				bool enabled_;
+				bool inDebtOverdue_;
+				bool onService_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEUSERDCDNSTATUSRESULT_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/PreloadDcdnObjectCachesRequest.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_DCDN_MODEL_PRELOADDCDNOBJECTCACHESREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_PRELOADDCDNOBJECTCACHESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT PreloadDcdnObjectCachesRequest : public RpcServiceRequest
+			{
+
+			public:
+				PreloadDcdnObjectCachesRequest();
+				~PreloadDcdnObjectCachesRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getObjectPath()const;
+				void setObjectPath(const std::string& objectPath);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string objectPath_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_PRELOADDCDNOBJECTCACHESREQUEST_H_

+ 51 - 0
dcdn/include/alibabacloud/dcdn/model/PreloadDcdnObjectCachesResult.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_DCDN_MODEL_PRELOADDCDNOBJECTCACHESRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_PRELOADDCDNOBJECTCACHESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT PreloadDcdnObjectCachesResult : public ServiceResult
+			{
+			public:
+
+
+				PreloadDcdnObjectCachesResult();
+				explicit PreloadDcdnObjectCachesResult(const std::string &payload);
+				~PreloadDcdnObjectCachesResult();
+				std::string getPreloadTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string preloadTaskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_PRELOADDCDNOBJECTCACHESRESULT_H_

+ 60 - 0
dcdn/include/alibabacloud/dcdn/model/RefreshDcdnObjectCachesRequest.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_DCDN_MODEL_REFRESHDCDNOBJECTCACHESREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_REFRESHDCDNOBJECTCACHESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT RefreshDcdnObjectCachesRequest : public RpcServiceRequest
+			{
+
+			public:
+				RefreshDcdnObjectCachesRequest();
+				~RefreshDcdnObjectCachesRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getObjectPath()const;
+				void setObjectPath(const std::string& objectPath);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getObjectType()const;
+				void setObjectType(const std::string& objectType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string objectPath_;
+				long ownerId_;
+				std::string objectType_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_REFRESHDCDNOBJECTCACHESREQUEST_H_

+ 51 - 0
dcdn/include/alibabacloud/dcdn/model/RefreshDcdnObjectCachesResult.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_DCDN_MODEL_REFRESHDCDNOBJECTCACHESRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_REFRESHDCDNOBJECTCACHESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT RefreshDcdnObjectCachesResult : public ServiceResult
+			{
+			public:
+
+
+				RefreshDcdnObjectCachesResult();
+				explicit RefreshDcdnObjectCachesResult(const std::string &payload);
+				~RefreshDcdnObjectCachesResult();
+				std::string getRefreshTaskId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string refreshTaskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_REFRESHDCDNOBJECTCACHESRESULT_H_

+ 75 - 0
dcdn/include/alibabacloud/dcdn/model/SetDcdnDomainCertificateRequest.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_DCDN_MODEL_SETDCDNDOMAINCERTIFICATEREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_SETDCDNDOMAINCERTIFICATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT SetDcdnDomainCertificateRequest : public RpcServiceRequest
+			{
+
+			public:
+				SetDcdnDomainCertificateRequest();
+				~SetDcdnDomainCertificateRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getCertType()const;
+				void setCertType(const std::string& certType);
+				std::string getSSLPub()const;
+				void setSSLPub(const std::string& sSLPub);
+				std::string getCertName()const;
+				void setCertName(const std::string& certName);
+				std::string getSSLProtocol()const;
+				void setSSLProtocol(const std::string& sSLProtocol);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSSLPri()const;
+				void setSSLPri(const std::string& sSLPri);
+
+            private:
+				std::string securityToken_;
+				std::string certType_;
+				std::string sSLPub_;
+				std::string certName_;
+				std::string sSLProtocol_;
+				std::string domainName_;
+				long ownerId_;
+				std::string region_;
+				std::string accessKeyId_;
+				std::string sSLPri_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_SETDCDNDOMAINCERTIFICATEREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/SetDcdnDomainCertificateResult.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_DCDN_MODEL_SETDCDNDOMAINCERTIFICATERESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_SETDCDNDOMAINCERTIFICATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT SetDcdnDomainCertificateResult : public ServiceResult
+			{
+			public:
+
+
+				SetDcdnDomainCertificateResult();
+				explicit SetDcdnDomainCertificateResult(const std::string &payload);
+				~SetDcdnDomainCertificateResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_SETDCDNDOMAINCERTIFICATERESULT_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/StartDcdnDomainRequest.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_DCDN_MODEL_STARTDCDNDOMAINREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_STARTDCDNDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT StartDcdnDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				StartDcdnDomainRequest();
+				~StartDcdnDomainRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_STARTDCDNDOMAINREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/StartDcdnDomainResult.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_DCDN_MODEL_STARTDCDNDOMAINRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_STARTDCDNDOMAINRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT StartDcdnDomainResult : public ServiceResult
+			{
+			public:
+
+
+				StartDcdnDomainResult();
+				explicit StartDcdnDomainResult(const std::string &payload);
+				~StartDcdnDomainResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_STARTDCDNDOMAINRESULT_H_

+ 57 - 0
dcdn/include/alibabacloud/dcdn/model/StopDcdnDomainRequest.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_DCDN_MODEL_STOPDCDNDOMAINREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_STOPDCDNDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT StopDcdnDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				StopDcdnDomainRequest();
+				~StopDcdnDomainRequest();
+
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_STOPDCDNDOMAINREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/StopDcdnDomainResult.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_DCDN_MODEL_STOPDCDNDOMAINRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_STOPDCDNDOMAINRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT StopDcdnDomainResult : public ServiceResult
+			{
+			public:
+
+
+				StopDcdnDomainResult();
+				explicit StopDcdnDomainResult(const std::string &payload);
+				~StopDcdnDomainResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_STOPDCDNDOMAINRESULT_H_

+ 66 - 0
dcdn/include/alibabacloud/dcdn/model/UpdateDcdnDomainRequest.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_DCDN_MODEL_UPDATEDCDNDOMAINREQUEST_H_
+#define ALIBABACLOUD_DCDN_MODEL_UPDATEDCDNDOMAINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT UpdateDcdnDomainRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateDcdnDomainRequest();
+				~UpdateDcdnDomainRequest();
+
+				std::string getTopLevelDomain()const;
+				void setTopLevelDomain(const std::string& topLevelDomain);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSources()const;
+				void setSources(const std::string& sources);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string topLevelDomain_;
+				std::string resourceGroupId_;
+				std::string sources_;
+				std::string securityToken_;
+				std::string domainName_;
+				long ownerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_UPDATEDCDNDOMAINREQUEST_H_

+ 49 - 0
dcdn/include/alibabacloud/dcdn/model/UpdateDcdnDomainResult.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_DCDN_MODEL_UPDATEDCDNDOMAINRESULT_H_
+#define ALIBABACLOUD_DCDN_MODEL_UPDATEDCDNDOMAINRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dcdn/DcdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dcdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DCDN_EXPORT UpdateDcdnDomainResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateDcdnDomainResult();
+				explicit UpdateDcdnDomainResult(const std::string &payload);
+				~UpdateDcdnDomainResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DCDN_MODEL_UPDATEDCDNDOMAINRESULT_H_

+ 1061 - 0
dcdn/src/DcdnClient.cc

@@ -0,0 +1,1061 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/DcdnClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "dcdn";
+}
+
+DcdnClient::DcdnClient(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, "dcdn");
+}
+
+DcdnClient::DcdnClient(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, "dcdn");
+}
+
+DcdnClient::DcdnClient(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, "dcdn");
+}
+
+DcdnClient::~DcdnClient()
+{}
+
+DcdnClient::DescribeDcdnUserResourcePackageOutcome DcdnClient::describeDcdnUserResourcePackage(const DescribeDcdnUserResourcePackageRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnUserResourcePackageOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnUserResourcePackageOutcome(DescribeDcdnUserResourcePackageResult(outcome.result()));
+	else
+		return DescribeDcdnUserResourcePackageOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnUserResourcePackageAsync(const DescribeDcdnUserResourcePackageRequest& request, const DescribeDcdnUserResourcePackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnUserResourcePackage(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnUserResourcePackageOutcomeCallable DcdnClient::describeDcdnUserResourcePackageCallable(const DescribeDcdnUserResourcePackageRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnUserResourcePackageOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnUserResourcePackage(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnRefreshQuotaOutcome DcdnClient::describeDcdnRefreshQuota(const DescribeDcdnRefreshQuotaRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnRefreshQuotaOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnRefreshQuotaOutcome(DescribeDcdnRefreshQuotaResult(outcome.result()));
+	else
+		return DescribeDcdnRefreshQuotaOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnRefreshQuotaAsync(const DescribeDcdnRefreshQuotaRequest& request, const DescribeDcdnRefreshQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnRefreshQuota(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnRefreshQuotaOutcomeCallable DcdnClient::describeDcdnRefreshQuotaCallable(const DescribeDcdnRefreshQuotaRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnRefreshQuotaOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnRefreshQuota(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::SetDcdnDomainCertificateOutcome DcdnClient::setDcdnDomainCertificate(const SetDcdnDomainCertificateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetDcdnDomainCertificateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetDcdnDomainCertificateOutcome(SetDcdnDomainCertificateResult(outcome.result()));
+	else
+		return SetDcdnDomainCertificateOutcome(outcome.error());
+}
+
+void DcdnClient::setDcdnDomainCertificateAsync(const SetDcdnDomainCertificateRequest& request, const SetDcdnDomainCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setDcdnDomainCertificate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::SetDcdnDomainCertificateOutcomeCallable DcdnClient::setDcdnDomainCertificateCallable(const SetDcdnDomainCertificateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetDcdnDomainCertificateOutcome()>>(
+			[this, request]()
+			{
+			return this->setDcdnDomainCertificate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainLogOutcome DcdnClient::describeDcdnDomainLog(const DescribeDcdnDomainLogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainLogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainLogOutcome(DescribeDcdnDomainLogResult(outcome.result()));
+	else
+		return DescribeDcdnDomainLogOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainLogAsync(const DescribeDcdnDomainLogRequest& request, const DescribeDcdnDomainLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainLog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainLogOutcomeCallable DcdnClient::describeDcdnDomainLogCallable(const DescribeDcdnDomainLogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainLogOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainLog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainOriginBpsDataOutcome DcdnClient::describeDcdnDomainOriginBpsData(const DescribeDcdnDomainOriginBpsDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainOriginBpsDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainOriginBpsDataOutcome(DescribeDcdnDomainOriginBpsDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainOriginBpsDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainOriginBpsDataAsync(const DescribeDcdnDomainOriginBpsDataRequest& request, const DescribeDcdnDomainOriginBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainOriginBpsData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainOriginBpsDataOutcomeCallable DcdnClient::describeDcdnDomainOriginBpsDataCallable(const DescribeDcdnDomainOriginBpsDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainOriginBpsDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainOriginBpsData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnRefreshTasksOutcome DcdnClient::describeDcdnRefreshTasks(const DescribeDcdnRefreshTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnRefreshTasksOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnRefreshTasksOutcome(DescribeDcdnRefreshTasksResult(outcome.result()));
+	else
+		return DescribeDcdnRefreshTasksOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnRefreshTasksAsync(const DescribeDcdnRefreshTasksRequest& request, const DescribeDcdnRefreshTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnRefreshTasks(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnRefreshTasksOutcomeCallable DcdnClient::describeDcdnRefreshTasksCallable(const DescribeDcdnRefreshTasksRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnRefreshTasksOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnRefreshTasks(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnServiceOutcome DcdnClient::describeDcdnService(const DescribeDcdnServiceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnServiceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnServiceOutcome(DescribeDcdnServiceResult(outcome.result()));
+	else
+		return DescribeDcdnServiceOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnServiceAsync(const DescribeDcdnServiceRequest& request, const DescribeDcdnServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnService(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnServiceOutcomeCallable DcdnClient::describeDcdnServiceCallable(const DescribeDcdnServiceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnServiceOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnService(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::UpdateDcdnDomainOutcome DcdnClient::updateDcdnDomain(const UpdateDcdnDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateDcdnDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateDcdnDomainOutcome(UpdateDcdnDomainResult(outcome.result()));
+	else
+		return UpdateDcdnDomainOutcome(outcome.error());
+}
+
+void DcdnClient::updateDcdnDomainAsync(const UpdateDcdnDomainRequest& request, const UpdateDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateDcdnDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::UpdateDcdnDomainOutcomeCallable DcdnClient::updateDcdnDomainCallable(const UpdateDcdnDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateDcdnDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->updateDcdnDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DeleteDcdnDomainOutcome DcdnClient::deleteDcdnDomain(const DeleteDcdnDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDcdnDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDcdnDomainOutcome(DeleteDcdnDomainResult(outcome.result()));
+	else
+		return DeleteDcdnDomainOutcome(outcome.error());
+}
+
+void DcdnClient::deleteDcdnDomainAsync(const DeleteDcdnDomainRequest& request, const DeleteDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDcdnDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DeleteDcdnDomainOutcomeCallable DcdnClient::deleteDcdnDomainCallable(const DeleteDcdnDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDcdnDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDcdnDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::BatchDeleteDcdnDomainConfigsOutcome DcdnClient::batchDeleteDcdnDomainConfigs(const BatchDeleteDcdnDomainConfigsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BatchDeleteDcdnDomainConfigsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BatchDeleteDcdnDomainConfigsOutcome(BatchDeleteDcdnDomainConfigsResult(outcome.result()));
+	else
+		return BatchDeleteDcdnDomainConfigsOutcome(outcome.error());
+}
+
+void DcdnClient::batchDeleteDcdnDomainConfigsAsync(const BatchDeleteDcdnDomainConfigsRequest& request, const BatchDeleteDcdnDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, batchDeleteDcdnDomainConfigs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::BatchDeleteDcdnDomainConfigsOutcomeCallable DcdnClient::batchDeleteDcdnDomainConfigsCallable(const BatchDeleteDcdnDomainConfigsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BatchDeleteDcdnDomainConfigsOutcome()>>(
+			[this, request]()
+			{
+			return this->batchDeleteDcdnDomainConfigs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainDetailOutcome DcdnClient::describeDcdnDomainDetail(const DescribeDcdnDomainDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainDetailOutcome(DescribeDcdnDomainDetailResult(outcome.result()));
+	else
+		return DescribeDcdnDomainDetailOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainDetailAsync(const DescribeDcdnDomainDetailRequest& request, const DescribeDcdnDomainDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainDetailOutcomeCallable DcdnClient::describeDcdnDomainDetailCallable(const DescribeDcdnDomainDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainHitRateDataOutcome DcdnClient::describeDcdnDomainHitRateData(const DescribeDcdnDomainHitRateDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainHitRateDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainHitRateDataOutcome(DescribeDcdnDomainHitRateDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainHitRateDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainHitRateDataAsync(const DescribeDcdnDomainHitRateDataRequest& request, const DescribeDcdnDomainHitRateDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainHitRateData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainHitRateDataOutcomeCallable DcdnClient::describeDcdnDomainHitRateDataCallable(const DescribeDcdnDomainHitRateDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainHitRateDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainHitRateData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainConfigsOutcome DcdnClient::describeDcdnDomainConfigs(const DescribeDcdnDomainConfigsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainConfigsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainConfigsOutcome(DescribeDcdnDomainConfigsResult(outcome.result()));
+	else
+		return DescribeDcdnDomainConfigsOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainConfigsAsync(const DescribeDcdnDomainConfigsRequest& request, const DescribeDcdnDomainConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainConfigs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainConfigsOutcomeCallable DcdnClient::describeDcdnDomainConfigsCallable(const DescribeDcdnDomainConfigsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainConfigsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainConfigs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainBpsDataOutcome DcdnClient::describeDcdnDomainBpsData(const DescribeDcdnDomainBpsDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainBpsDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainBpsDataOutcome(DescribeDcdnDomainBpsDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainBpsDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainBpsDataAsync(const DescribeDcdnDomainBpsDataRequest& request, const DescribeDcdnDomainBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainBpsData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainBpsDataOutcomeCallable DcdnClient::describeDcdnDomainBpsDataCallable(const DescribeDcdnDomainBpsDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainBpsDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainBpsData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnCertificateListOutcome DcdnClient::describeDcdnCertificateList(const DescribeDcdnCertificateListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnCertificateListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnCertificateListOutcome(DescribeDcdnCertificateListResult(outcome.result()));
+	else
+		return DescribeDcdnCertificateListOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnCertificateListAsync(const DescribeDcdnCertificateListRequest& request, const DescribeDcdnCertificateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnCertificateList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnCertificateListOutcomeCallable DcdnClient::describeDcdnCertificateListCallable(const DescribeDcdnCertificateListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnCertificateListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnCertificateList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnCertificateDetailOutcome DcdnClient::describeDcdnCertificateDetail(const DescribeDcdnCertificateDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnCertificateDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnCertificateDetailOutcome(DescribeDcdnCertificateDetailResult(outcome.result()));
+	else
+		return DescribeDcdnCertificateDetailOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnCertificateDetailAsync(const DescribeDcdnCertificateDetailRequest& request, const DescribeDcdnCertificateDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnCertificateDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnCertificateDetailOutcomeCallable DcdnClient::describeDcdnCertificateDetailCallable(const DescribeDcdnCertificateDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnCertificateDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnCertificateDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainOriginTrafficDataOutcome DcdnClient::describeDcdnDomainOriginTrafficData(const DescribeDcdnDomainOriginTrafficDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainOriginTrafficDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainOriginTrafficDataOutcome(DescribeDcdnDomainOriginTrafficDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainOriginTrafficDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainOriginTrafficDataAsync(const DescribeDcdnDomainOriginTrafficDataRequest& request, const DescribeDcdnDomainOriginTrafficDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainOriginTrafficData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainOriginTrafficDataOutcomeCallable DcdnClient::describeDcdnDomainOriginTrafficDataCallable(const DescribeDcdnDomainOriginTrafficDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainOriginTrafficDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainOriginTrafficData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainTrafficDataOutcome DcdnClient::describeDcdnDomainTrafficData(const DescribeDcdnDomainTrafficDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainTrafficDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainTrafficDataOutcome(DescribeDcdnDomainTrafficDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainTrafficDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainTrafficDataAsync(const DescribeDcdnDomainTrafficDataRequest& request, const DescribeDcdnDomainTrafficDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainTrafficData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainTrafficDataOutcomeCallable DcdnClient::describeDcdnDomainTrafficDataCallable(const DescribeDcdnDomainTrafficDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainTrafficDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainTrafficData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::RefreshDcdnObjectCachesOutcome DcdnClient::refreshDcdnObjectCaches(const RefreshDcdnObjectCachesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RefreshDcdnObjectCachesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RefreshDcdnObjectCachesOutcome(RefreshDcdnObjectCachesResult(outcome.result()));
+	else
+		return RefreshDcdnObjectCachesOutcome(outcome.error());
+}
+
+void DcdnClient::refreshDcdnObjectCachesAsync(const RefreshDcdnObjectCachesRequest& request, const RefreshDcdnObjectCachesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, refreshDcdnObjectCaches(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::RefreshDcdnObjectCachesOutcomeCallable DcdnClient::refreshDcdnObjectCachesCallable(const RefreshDcdnObjectCachesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RefreshDcdnObjectCachesOutcome()>>(
+			[this, request]()
+			{
+			return this->refreshDcdnObjectCaches(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeUserDcdnStatusOutcome DcdnClient::describeUserDcdnStatus(const DescribeUserDcdnStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeUserDcdnStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeUserDcdnStatusOutcome(DescribeUserDcdnStatusResult(outcome.result()));
+	else
+		return DescribeUserDcdnStatusOutcome(outcome.error());
+}
+
+void DcdnClient::describeUserDcdnStatusAsync(const DescribeUserDcdnStatusRequest& request, const DescribeUserDcdnStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeUserDcdnStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeUserDcdnStatusOutcomeCallable DcdnClient::describeUserDcdnStatusCallable(const DescribeUserDcdnStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeUserDcdnStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->describeUserDcdnStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainQpsDataOutcome DcdnClient::describeDcdnDomainQpsData(const DescribeDcdnDomainQpsDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainQpsDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainQpsDataOutcome(DescribeDcdnDomainQpsDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainQpsDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainQpsDataAsync(const DescribeDcdnDomainQpsDataRequest& request, const DescribeDcdnDomainQpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainQpsData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainQpsDataOutcomeCallable DcdnClient::describeDcdnDomainQpsDataCallable(const DescribeDcdnDomainQpsDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainQpsDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainQpsData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::StartDcdnDomainOutcome DcdnClient::startDcdnDomain(const StartDcdnDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartDcdnDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartDcdnDomainOutcome(StartDcdnDomainResult(outcome.result()));
+	else
+		return StartDcdnDomainOutcome(outcome.error());
+}
+
+void DcdnClient::startDcdnDomainAsync(const StartDcdnDomainRequest& request, const StartDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startDcdnDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::StartDcdnDomainOutcomeCallable DcdnClient::startDcdnDomainCallable(const StartDcdnDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartDcdnDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->startDcdnDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnUserDomainsOutcome DcdnClient::describeDcdnUserDomains(const DescribeDcdnUserDomainsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnUserDomainsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnUserDomainsOutcome(DescribeDcdnUserDomainsResult(outcome.result()));
+	else
+		return DescribeDcdnUserDomainsOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnUserDomainsAsync(const DescribeDcdnUserDomainsRequest& request, const DescribeDcdnUserDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnUserDomains(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnUserDomainsOutcomeCallable DcdnClient::describeDcdnUserDomainsCallable(const DescribeDcdnUserDomainsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnUserDomainsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnUserDomains(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainHttpCodeDataOutcome DcdnClient::describeDcdnDomainHttpCodeData(const DescribeDcdnDomainHttpCodeDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainHttpCodeDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainHttpCodeDataOutcome(DescribeDcdnDomainHttpCodeDataResult(outcome.result()));
+	else
+		return DescribeDcdnDomainHttpCodeDataOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainHttpCodeDataAsync(const DescribeDcdnDomainHttpCodeDataRequest& request, const DescribeDcdnDomainHttpCodeDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainHttpCodeData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainHttpCodeDataOutcomeCallable DcdnClient::describeDcdnDomainHttpCodeDataCallable(const DescribeDcdnDomainHttpCodeDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainHttpCodeDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainHttpCodeData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::AddDcdnDomainOutcome DcdnClient::addDcdnDomain(const AddDcdnDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddDcdnDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddDcdnDomainOutcome(AddDcdnDomainResult(outcome.result()));
+	else
+		return AddDcdnDomainOutcome(outcome.error());
+}
+
+void DcdnClient::addDcdnDomainAsync(const AddDcdnDomainRequest& request, const AddDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addDcdnDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::AddDcdnDomainOutcomeCallable DcdnClient::addDcdnDomainCallable(const AddDcdnDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddDcdnDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->addDcdnDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::PreloadDcdnObjectCachesOutcome DcdnClient::preloadDcdnObjectCaches(const PreloadDcdnObjectCachesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return PreloadDcdnObjectCachesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return PreloadDcdnObjectCachesOutcome(PreloadDcdnObjectCachesResult(outcome.result()));
+	else
+		return PreloadDcdnObjectCachesOutcome(outcome.error());
+}
+
+void DcdnClient::preloadDcdnObjectCachesAsync(const PreloadDcdnObjectCachesRequest& request, const PreloadDcdnObjectCachesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, preloadDcdnObjectCaches(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::PreloadDcdnObjectCachesOutcomeCallable DcdnClient::preloadDcdnObjectCachesCallable(const PreloadDcdnObjectCachesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<PreloadDcdnObjectCachesOutcome()>>(
+			[this, request]()
+			{
+			return this->preloadDcdnObjectCaches(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::DescribeDcdnDomainCnameOutcome DcdnClient::describeDcdnDomainCname(const DescribeDcdnDomainCnameRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDcdnDomainCnameOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDcdnDomainCnameOutcome(DescribeDcdnDomainCnameResult(outcome.result()));
+	else
+		return DescribeDcdnDomainCnameOutcome(outcome.error());
+}
+
+void DcdnClient::describeDcdnDomainCnameAsync(const DescribeDcdnDomainCnameRequest& request, const DescribeDcdnDomainCnameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDcdnDomainCname(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::DescribeDcdnDomainCnameOutcomeCallable DcdnClient::describeDcdnDomainCnameCallable(const DescribeDcdnDomainCnameRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDcdnDomainCnameOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDcdnDomainCname(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DcdnClient::StopDcdnDomainOutcome DcdnClient::stopDcdnDomain(const StopDcdnDomainRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopDcdnDomainOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopDcdnDomainOutcome(StopDcdnDomainResult(outcome.result()));
+	else
+		return StopDcdnDomainOutcome(outcome.error());
+}
+
+void DcdnClient::stopDcdnDomainAsync(const StopDcdnDomainRequest& request, const StopDcdnDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopDcdnDomain(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DcdnClient::StopDcdnDomainOutcomeCallable DcdnClient::stopDcdnDomainCallable(const StopDcdnDomainRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopDcdnDomainOutcome()>>(
+			[this, request]()
+			{
+			return this->stopDcdnDomain(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 137 - 0
dcdn/src/model/AddDcdnDomainRequest.cc

@@ -0,0 +1,137 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/AddDcdnDomainRequest.h>
+
+using AlibabaCloud::Dcdn::Model::AddDcdnDomainRequest;
+
+AddDcdnDomainRequest::AddDcdnDomainRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "AddDcdnDomain")
+{}
+
+AddDcdnDomainRequest::~AddDcdnDomainRequest()
+{}
+
+std::string AddDcdnDomainRequest::getTopLevelDomain()const
+{
+	return topLevelDomain_;
+}
+
+void AddDcdnDomainRequest::setTopLevelDomain(const std::string& topLevelDomain)
+{
+	topLevelDomain_ = topLevelDomain;
+	setParameter("TopLevelDomain", topLevelDomain);
+}
+
+std::string AddDcdnDomainRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void AddDcdnDomainRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string AddDcdnDomainRequest::getSources()const
+{
+	return sources_;
+}
+
+void AddDcdnDomainRequest::setSources(const std::string& sources)
+{
+	sources_ = sources;
+	setParameter("Sources", sources);
+}
+
+std::string AddDcdnDomainRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void AddDcdnDomainRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string AddDcdnDomainRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void AddDcdnDomainRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string AddDcdnDomainRequest::getScope()const
+{
+	return scope_;
+}
+
+void AddDcdnDomainRequest::setScope(const std::string& scope)
+{
+	scope_ = scope;
+	setParameter("Scope", scope);
+}
+
+std::string AddDcdnDomainRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void AddDcdnDomainRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long AddDcdnDomainRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void AddDcdnDomainRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string AddDcdnDomainRequest::getCheckUrl()const
+{
+	return checkUrl_;
+}
+
+void AddDcdnDomainRequest::setCheckUrl(const std::string& checkUrl)
+{
+	checkUrl_ = checkUrl;
+	setParameter("CheckUrl", checkUrl);
+}
+
+std::string AddDcdnDomainRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void AddDcdnDomainRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
dcdn/src/model/AddDcdnDomainResult.cc

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

+ 93 - 0
dcdn/src/model/BatchDeleteDcdnDomainConfigsRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/BatchDeleteDcdnDomainConfigsRequest.h>
+
+using AlibabaCloud::Dcdn::Model::BatchDeleteDcdnDomainConfigsRequest;
+
+BatchDeleteDcdnDomainConfigsRequest::BatchDeleteDcdnDomainConfigsRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "BatchDeleteDcdnDomainConfigs")
+{}
+
+BatchDeleteDcdnDomainConfigsRequest::~BatchDeleteDcdnDomainConfigsRequest()
+{}
+
+std::string BatchDeleteDcdnDomainConfigsRequest::getFunctionNames()const
+{
+	return functionNames_;
+}
+
+void BatchDeleteDcdnDomainConfigsRequest::setFunctionNames(const std::string& functionNames)
+{
+	functionNames_ = functionNames;
+	setParameter("FunctionNames", functionNames);
+}
+
+std::string BatchDeleteDcdnDomainConfigsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void BatchDeleteDcdnDomainConfigsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string BatchDeleteDcdnDomainConfigsRequest::getDomainNames()const
+{
+	return domainNames_;
+}
+
+void BatchDeleteDcdnDomainConfigsRequest::setDomainNames(const std::string& domainNames)
+{
+	domainNames_ = domainNames;
+	setParameter("DomainNames", domainNames);
+}
+
+std::string BatchDeleteDcdnDomainConfigsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void BatchDeleteDcdnDomainConfigsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long BatchDeleteDcdnDomainConfigsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void BatchDeleteDcdnDomainConfigsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string BatchDeleteDcdnDomainConfigsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void BatchDeleteDcdnDomainConfigsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
dcdn/src/model/BatchDeleteDcdnDomainConfigsResult.cc

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

+ 93 - 0
dcdn/src/model/DeleteDcdnDomainRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DeleteDcdnDomainRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DeleteDcdnDomainRequest;
+
+DeleteDcdnDomainRequest::DeleteDcdnDomainRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DeleteDcdnDomain")
+{}
+
+DeleteDcdnDomainRequest::~DeleteDcdnDomainRequest()
+{}
+
+std::string DeleteDcdnDomainRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DeleteDcdnDomainRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DeleteDcdnDomainRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DeleteDcdnDomainRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DeleteDcdnDomainRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteDcdnDomainRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DeleteDcdnDomainRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DeleteDcdnDomainRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DeleteDcdnDomainRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteDcdnDomainRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteDcdnDomainRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteDcdnDomainRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
dcdn/src/model/DeleteDcdnDomainResult.cc

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

+ 71 - 0
dcdn/src/model/DescribeDcdnCertificateDetailRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnCertificateDetailRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnCertificateDetailRequest;
+
+DescribeDcdnCertificateDetailRequest::DescribeDcdnCertificateDetailRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnCertificateDetail")
+{}
+
+DescribeDcdnCertificateDetailRequest::~DescribeDcdnCertificateDetailRequest()
+{}
+
+std::string DescribeDcdnCertificateDetailRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnCertificateDetailRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnCertificateDetailRequest::getCertName()const
+{
+	return certName_;
+}
+
+void DescribeDcdnCertificateDetailRequest::setCertName(const std::string& certName)
+{
+	certName_ = certName;
+	setParameter("CertName", certName);
+}
+
+long DescribeDcdnCertificateDetailRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnCertificateDetailRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnCertificateDetailRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnCertificateDetailRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 73 - 0
dcdn/src/model/DescribeDcdnCertificateDetailResult.cc

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

+ 71 - 0
dcdn/src/model/DescribeDcdnCertificateListRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnCertificateListRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnCertificateListRequest;
+
+DescribeDcdnCertificateListRequest::DescribeDcdnCertificateListRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnCertificateList")
+{}
+
+DescribeDcdnCertificateListRequest::~DescribeDcdnCertificateListRequest()
+{}
+
+std::string DescribeDcdnCertificateListRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnCertificateListRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnCertificateListRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnCertificateListRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeDcdnCertificateListRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnCertificateListRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnCertificateListRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnCertificateListRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 71 - 0
dcdn/src/model/DescribeDcdnCertificateListResult.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnCertificateListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnCertificateListResult::DescribeDcdnCertificateListResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnCertificateListResult::DescribeDcdnCertificateListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnCertificateListResult::~DescribeDcdnCertificateListResult()
+{}
+
+void DescribeDcdnCertificateListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto certificateListModelNode = value["CertificateListModel"];
+	if(!certificateListModelNode["Count"].isNull())
+		certificateListModel_.count = std::stoi(certificateListModelNode["Count"].asString());
+	auto allCertList = value["CertList"]["Cert"];
+	for (auto value : allCertList)
+	{
+		CertificateListModel::Cert certObject;
+		if(!value["CertName"].isNull())
+			certObject.certName = value["CertName"].asString();
+		if(!value["CertId"].isNull())
+			certObject.certId = std::stol(value["CertId"].asString());
+		if(!value["Fingerprint"].isNull())
+			certObject.fingerprint = value["Fingerprint"].asString();
+		if(!value["Common"].isNull())
+			certObject.common = value["Common"].asString();
+		if(!value["Issuer"].isNull())
+			certObject.issuer = value["Issuer"].asString();
+		if(!value["LastTime"].isNull())
+			certObject.lastTime = std::stol(value["LastTime"].asString());
+		certificateListModel_.certList.push_back(certObject);
+	}
+
+}
+
+DescribeDcdnCertificateListResult::CertificateListModel DescribeDcdnCertificateListResult::getCertificateListModel()const
+{
+	return certificateListModel_;
+}
+

+ 346 - 0
dcdn/src/model/DescribeDcdnDomainBpsDataRequest.cc

@@ -0,0 +1,346 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainBpsDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainBpsDataRequest;
+
+DescribeDcdnDomainBpsDataRequest::DescribeDcdnDomainBpsDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainBpsData")
+{}
+
+DescribeDcdnDomainBpsDataRequest::~DescribeDcdnDomainBpsDataRequest()
+{}
+
+long DescribeDcdnDomainBpsDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainBpsDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getLocationNameEn()const
+{
+	return locationNameEn_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setLocationNameEn(const std::string& locationNameEn)
+{
+	locationNameEn_ = locationNameEn;
+	setParameter("LocationNameEn", locationNameEn);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getIspNameEn()const
+{
+	return ispNameEn_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setIspNameEn(const std::string& ispNameEn)
+{
+	ispNameEn_ = ispNameEn;
+	setParameter("IspNameEn", ispNameEn);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainBpsDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getFixTimeGap()const
+{
+	return fixTimeGap_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setFixTimeGap(const std::string& fixTimeGap)
+{
+	fixTimeGap_ = fixTimeGap;
+	setParameter("FixTimeGap", fixTimeGap);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getTimeMerge()const
+{
+	return timeMerge_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setTimeMerge(const std::string& timeMerge)
+{
+	timeMerge_ = timeMerge;
+	setParameter("TimeMerge", timeMerge);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainBpsDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainBpsDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainBpsDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainBpsDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainBpsDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainBpsDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 96 - 0
dcdn/src/model/DescribeDcdnDomainBpsDataResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainBpsDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainBpsDataResult::DescribeDcdnDomainBpsDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainBpsDataResult::DescribeDcdnDomainBpsDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainBpsDataResult::~DescribeDcdnDomainBpsDataResult()
+{}
+
+void DescribeDcdnDomainBpsDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allBpsDataPerInterval = value["BpsDataPerInterval"]["DataModule"];
+	for (auto value : allBpsDataPerInterval)
+	{
+		DataModule bpsDataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			bpsDataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["Bps"].isNull())
+			bpsDataPerIntervalObject.bps = std::stof(value["Bps"].asString());
+		if(!value["DynamicHttpBps"].isNull())
+			bpsDataPerIntervalObject.dynamicHttpBps = std::stof(value["DynamicHttpBps"].asString());
+		if(!value["DynamicHttpsBps"].isNull())
+			bpsDataPerIntervalObject.dynamicHttpsBps = std::stof(value["DynamicHttpsBps"].asString());
+		if(!value["StaticHttpBps"].isNull())
+			bpsDataPerIntervalObject.staticHttpBps = std::stof(value["StaticHttpBps"].asString());
+		if(!value["StaticHttpsBps"].isNull())
+			bpsDataPerIntervalObject.staticHttpsBps = std::stof(value["StaticHttpsBps"].asString());
+		bpsDataPerInterval_.push_back(bpsDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeDcdnDomainBpsDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDcdnDomainBpsDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDcdnDomainBpsDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainBpsDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+
+std::vector<DescribeDcdnDomainBpsDataResult::DataModule> DescribeDcdnDomainBpsDataResult::getBpsDataPerInterval()const
+{
+	return bpsDataPerInterval_;
+}
+

+ 258 - 0
dcdn/src/model/DescribeDcdnDomainCnameRequest.cc

@@ -0,0 +1,258 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainCnameRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainCnameRequest;
+
+DescribeDcdnDomainCnameRequest::DescribeDcdnDomainCnameRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainCname")
+{}
+
+DescribeDcdnDomainCnameRequest::~DescribeDcdnDomainCnameRequest()
+{}
+
+std::string DescribeDcdnDomainCnameRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainCnameRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainCnameRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+long DescribeDcdnDomainCnameRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainCnameRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+std::string DescribeDcdnDomainCnameRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainCnameRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+bool DescribeDcdnDomainCnameRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainCnameRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainCnameRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainCnameRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainCnameRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainCnameRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainCnameRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainCnameRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainCnameRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainCnameRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainCnameRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+bool DescribeDcdnDomainCnameRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainCnameRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainCnameRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainCnameRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+std::string DescribeDcdnDomainCnameRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainCnameRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+bool DescribeDcdnDomainCnameRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainCnameRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainCnameRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainCnameRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainCnameRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainCnameRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainCnameRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainCnameRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainCnameRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainCnameRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainCnameRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+

+ 62 - 0
dcdn/src/model/DescribeDcdnDomainCnameResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainCnameResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainCnameResult::DescribeDcdnDomainCnameResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainCnameResult::DescribeDcdnDomainCnameResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainCnameResult::~DescribeDcdnDomainCnameResult()
+{}
+
+void DescribeDcdnDomainCnameResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allCnameDatas = value["CnameDatas"]["Data"];
+	for (auto value : allCnameDatas)
+	{
+		Data cnameDatasObject;
+		if(!value["Domain"].isNull())
+			cnameDatasObject.domain = value["Domain"].asString();
+		if(!value["Cname"].isNull())
+			cnameDatasObject.cname = value["Cname"].asString();
+		if(!value["Status"].isNull())
+			cnameDatasObject.status = std::stoi(value["Status"].asString());
+		cnameDatas_.push_back(cnameDatasObject);
+	}
+
+}
+
+std::vector<DescribeDcdnDomainCnameResult::Data> DescribeDcdnDomainCnameResult::getCnameDatas()const
+{
+	return cnameDatas_;
+}
+

+ 82 - 0
dcdn/src/model/DescribeDcdnDomainConfigsRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainConfigsRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainConfigsRequest;
+
+DescribeDcdnDomainConfigsRequest::DescribeDcdnDomainConfigsRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainConfigs")
+{}
+
+DescribeDcdnDomainConfigsRequest::~DescribeDcdnDomainConfigsRequest()
+{}
+
+std::string DescribeDcdnDomainConfigsRequest::getFunctionNames()const
+{
+	return functionNames_;
+}
+
+void DescribeDcdnDomainConfigsRequest::setFunctionNames(const std::string& functionNames)
+{
+	functionNames_ = functionNames;
+	setParameter("FunctionNames", functionNames);
+}
+
+std::string DescribeDcdnDomainConfigsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainConfigsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainConfigsRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainConfigsRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeDcdnDomainConfigsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainConfigsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainConfigsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainConfigsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 72 - 0
dcdn/src/model/DescribeDcdnDomainConfigsResult.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/dcdn/model/DescribeDcdnDomainConfigsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainConfigsResult::DescribeDcdnDomainConfigsResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainConfigsResult::DescribeDcdnDomainConfigsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainConfigsResult::~DescribeDcdnDomainConfigsResult()
+{}
+
+void DescribeDcdnDomainConfigsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDomainConfigs = value["DomainConfigs"]["DomainConfig"];
+	for (auto value : allDomainConfigs)
+	{
+		DomainConfig domainConfigsObject;
+		if(!value["FunctionName"].isNull())
+			domainConfigsObject.functionName = value["FunctionName"].asString();
+		if(!value["ConfigId"].isNull())
+			domainConfigsObject.configId = value["ConfigId"].asString();
+		if(!value["Status"].isNull())
+			domainConfigsObject.status = value["Status"].asString();
+		auto allFunctionArgs = value["FunctionArgs"]["FunctionArg"];
+		for (auto value : allFunctionArgs)
+		{
+			DomainConfig::FunctionArg functionArgsObject;
+			if(!value["ArgName"].isNull())
+				functionArgsObject.argName = value["ArgName"].asString();
+			if(!value["ArgValue"].isNull())
+				functionArgsObject.argValue = value["ArgValue"].asString();
+			domainConfigsObject.functionArgs.push_back(functionArgsObject);
+		}
+		domainConfigs_.push_back(domainConfigsObject);
+	}
+
+}
+
+std::vector<DescribeDcdnDomainConfigsResult::DomainConfig> DescribeDcdnDomainConfigsResult::getDomainConfigs()const
+{
+	return domainConfigs_;
+}
+

+ 71 - 0
dcdn/src/model/DescribeDcdnDomainDetailRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainDetailRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainDetailRequest;
+
+DescribeDcdnDomainDetailRequest::DescribeDcdnDomainDetailRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainDetail")
+{}
+
+DescribeDcdnDomainDetailRequest::~DescribeDcdnDomainDetailRequest()
+{}
+
+std::string DescribeDcdnDomainDetailRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainDetailRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainDetailRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainDetailRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeDcdnDomainDetailRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainDetailRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainDetailRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainDetailRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 89 - 0
dcdn/src/model/DescribeDcdnDomainDetailResult.cc

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainDetailResult::DescribeDcdnDomainDetailResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainDetailResult::DescribeDcdnDomainDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainDetailResult::~DescribeDcdnDomainDetailResult()
+{}
+
+void DescribeDcdnDomainDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto domainDetailNode = value["DomainDetail"];
+	if(!domainDetailNode["GmtCreated"].isNull())
+		domainDetail_.gmtCreated = domainDetailNode["GmtCreated"].asString();
+	if(!domainDetailNode["GmtModified"].isNull())
+		domainDetail_.gmtModified = domainDetailNode["GmtModified"].asString();
+	if(!domainDetailNode["DomainStatus"].isNull())
+		domainDetail_.domainStatus = domainDetailNode["DomainStatus"].asString();
+	if(!domainDetailNode["Cname"].isNull())
+		domainDetail_.cname = domainDetailNode["Cname"].asString();
+	if(!domainDetailNode["DomainName"].isNull())
+		domainDetail_.domainName = domainDetailNode["DomainName"].asString();
+	if(!domainDetailNode["Description"].isNull())
+		domainDetail_.description = domainDetailNode["Description"].asString();
+	if(!domainDetailNode["SSLProtocol"].isNull())
+		domainDetail_.sSLProtocol = domainDetailNode["SSLProtocol"].asString();
+	if(!domainDetailNode["SSLPub"].isNull())
+		domainDetail_.sSLPub = domainDetailNode["SSLPub"].asString();
+	if(!domainDetailNode["Scope"].isNull())
+		domainDetail_.scope = domainDetailNode["Scope"].asString();
+	if(!domainDetailNode["CertName"].isNull())
+		domainDetail_.certName = domainDetailNode["CertName"].asString();
+	if(!domainDetailNode["ResourceGroupId"].isNull())
+		domainDetail_.resourceGroupId = domainDetailNode["ResourceGroupId"].asString();
+	auto allSources = value["Sources"]["Source"];
+	for (auto value : allSources)
+	{
+		DomainDetail::Source sourceObject;
+		if(!value["Content"].isNull())
+			sourceObject.content = value["Content"].asString();
+		if(!value["Type"].isNull())
+			sourceObject.type = value["Type"].asString();
+		if(!value["Port"].isNull())
+			sourceObject.port = std::stoi(value["Port"].asString());
+		if(!value["Enabled"].isNull())
+			sourceObject.enabled = value["Enabled"].asString();
+		if(!value["Priority"].isNull())
+			sourceObject.priority = value["Priority"].asString();
+		domainDetail_.sources.push_back(sourceObject);
+	}
+
+}
+
+DescribeDcdnDomainDetailResult::DomainDetail DescribeDcdnDomainDetailResult::getDomainDetail()const
+{
+	return domainDetail_;
+}
+

+ 302 - 0
dcdn/src/model/DescribeDcdnDomainHitRateDataRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainHitRateDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainHitRateDataRequest;
+
+DescribeDcdnDomainHitRateDataRequest::DescribeDcdnDomainHitRateDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainHitRateData")
+{}
+
+DescribeDcdnDomainHitRateDataRequest::~DescribeDcdnDomainHitRateDataRequest()
+{}
+
+long DescribeDcdnDomainHitRateDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainHitRateDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainHitRateDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainHitRateDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainHitRateDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainHitRateDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainHitRateDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainHitRateDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainHitRateDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 90 - 0
dcdn/src/model/DescribeDcdnDomainHitRateDataResult.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainHitRateDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainHitRateDataResult::DescribeDcdnDomainHitRateDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainHitRateDataResult::DescribeDcdnDomainHitRateDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainHitRateDataResult::~DescribeDcdnDomainHitRateDataResult()
+{}
+
+void DescribeDcdnDomainHitRateDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allHitRatePerInterval = value["HitRatePerInterval"]["DataModule"];
+	for (auto value : allHitRatePerInterval)
+	{
+		DataModule hitRatePerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			hitRatePerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["ReqHitRate"].isNull())
+			hitRatePerIntervalObject.reqHitRate = std::stof(value["ReqHitRate"].asString());
+		if(!value["ByteHitRate"].isNull())
+			hitRatePerIntervalObject.byteHitRate = std::stof(value["ByteHitRate"].asString());
+		hitRatePerInterval_.push_back(hitRatePerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeDcdnDomainHitRateDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDcdnDomainHitRateDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::vector<DescribeDcdnDomainHitRateDataResult::DataModule> DescribeDcdnDomainHitRateDataResult::getHitRatePerInterval()const
+{
+	return hitRatePerInterval_;
+}
+
+std::string DescribeDcdnDomainHitRateDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainHitRateDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 324 - 0
dcdn/src/model/DescribeDcdnDomainHttpCodeDataRequest.cc

@@ -0,0 +1,324 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainHttpCodeDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainHttpCodeDataRequest;
+
+DescribeDcdnDomainHttpCodeDataRequest::DescribeDcdnDomainHttpCodeDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainHttpCodeData")
+{}
+
+DescribeDcdnDomainHttpCodeDataRequest::~DescribeDcdnDomainHttpCodeDataRequest()
+{}
+
+long DescribeDcdnDomainHttpCodeDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainHttpCodeDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getLocationNameEn()const
+{
+	return locationNameEn_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setLocationNameEn(const std::string& locationNameEn)
+{
+	locationNameEn_ = locationNameEn;
+	setParameter("LocationNameEn", locationNameEn);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getIspNameEn()const
+{
+	return ispNameEn_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setIspNameEn(const std::string& ispNameEn)
+{
+	ispNameEn_ = ispNameEn;
+	setParameter("IspNameEn", ispNameEn);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainHttpCodeDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainHttpCodeDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainHttpCodeDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainHttpCodeDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainHttpCodeDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainHttpCodeDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainHttpCodeDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 98 - 0
dcdn/src/model/DescribeDcdnDomainHttpCodeDataResult.cc

@@ -0,0 +1,98 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainHttpCodeDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainHttpCodeDataResult::DescribeDcdnDomainHttpCodeDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainHttpCodeDataResult::DescribeDcdnDomainHttpCodeDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainHttpCodeDataResult::~DescribeDcdnDomainHttpCodeDataResult()
+{}
+
+void DescribeDcdnDomainHttpCodeDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDataPerInterval = value["DataPerInterval"]["DataModule"];
+	for (auto value : allDataPerInterval)
+	{
+		DataModule dataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			dataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		auto allHttpCodeDataPerInterval = value["HttpCodeDataPerInterval"]["HttpCodeDataModule"];
+		for (auto value : allHttpCodeDataPerInterval)
+		{
+			DataModule::HttpCodeDataModule httpCodeDataPerIntervalObject;
+			if(!value["Code"].isNull())
+				httpCodeDataPerIntervalObject.code = std::stoi(value["Code"].asString());
+			if(!value["Proportion"].isNull())
+				httpCodeDataPerIntervalObject.proportion = std::stof(value["Proportion"].asString());
+			if(!value["Count"].isNull())
+				httpCodeDataPerIntervalObject.count = std::stof(value["Count"].asString());
+			dataPerIntervalObject.httpCodeDataPerInterval.push_back(httpCodeDataPerIntervalObject);
+		}
+		dataPerInterval_.push_back(dataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeDcdnDomainHttpCodeDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDcdnDomainHttpCodeDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDcdnDomainHttpCodeDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainHttpCodeDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+
+std::vector<DescribeDcdnDomainHttpCodeDataResult::DataModule> DescribeDcdnDomainHttpCodeDataResult::getDataPerInterval()const
+{
+	return dataPerInterval_;
+}
+

+ 302 - 0
dcdn/src/model/DescribeDcdnDomainLogRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainLogRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainLogRequest;
+
+DescribeDcdnDomainLogRequest::DescribeDcdnDomainLogRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainLog")
+{}
+
+DescribeDcdnDomainLogRequest::~DescribeDcdnDomainLogRequest()
+{}
+
+long DescribeDcdnDomainLogRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainLogRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainLogRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainLogRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainLogRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainLogRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainLogRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainLogRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainLogRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainLogRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainLogRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainLogRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+long DescribeDcdnDomainLogRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeDcdnDomainLogRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeDcdnDomainLogRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainLogRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainLogRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainLogRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainLogRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainLogRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+long DescribeDcdnDomainLogRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeDcdnDomainLogRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeDcdnDomainLogRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainLogRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainLogRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainLogRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainLogRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainLogRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainLogRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainLogRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainLogRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainLogRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainLogRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainLogRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainLogRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainLogRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainLogRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainLogRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainLogRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainLogRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainLogRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainLogRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainLogRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainLogRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainLogRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainLogRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainLogRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainLogRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainLogRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainLogRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 93 - 0
dcdn/src/model/DescribeDcdnDomainLogResult.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainLogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainLogResult::DescribeDcdnDomainLogResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainLogResult::DescribeDcdnDomainLogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainLogResult::~DescribeDcdnDomainLogResult()
+{}
+
+void DescribeDcdnDomainLogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDomainLogDetails = value["DomainLogDetails"]["DomainLogDetail"];
+	for (auto value : allDomainLogDetails)
+	{
+		DomainLogDetail domainLogDetailsObject;
+		if(!value["LogCount"].isNull())
+			domainLogDetailsObject.logCount = std::stol(value["LogCount"].asString());
+		auto allPageInfos = value["PageInfos"]["PageInfoDetail"];
+		for (auto value : allPageInfos)
+		{
+			DomainLogDetail::PageInfoDetail pageInfosObject;
+			if(!value["PageIndex"].isNull())
+				pageInfosObject.pageIndex = std::stol(value["PageIndex"].asString());
+			if(!value["PageSize"].isNull())
+				pageInfosObject.pageSize = std::stol(value["PageSize"].asString());
+			if(!value["Total"].isNull())
+				pageInfosObject.total = std::stol(value["Total"].asString());
+			domainLogDetailsObject.pageInfos.push_back(pageInfosObject);
+		}
+		auto allLogInfos = value["LogInfos"]["LogInfoDetail"];
+		for (auto value : allLogInfos)
+		{
+			DomainLogDetail::LogInfoDetail logInfosObject;
+			if(!value["LogName"].isNull())
+				logInfosObject.logName = value["LogName"].asString();
+			if(!value["LogPath"].isNull())
+				logInfosObject.logPath = value["LogPath"].asString();
+			if(!value["LogSize"].isNull())
+				logInfosObject.logSize = std::stol(value["LogSize"].asString());
+			if(!value["StartTime"].isNull())
+				logInfosObject.startTime = value["StartTime"].asString();
+			if(!value["EndTime"].isNull())
+				logInfosObject.endTime = value["EndTime"].asString();
+			domainLogDetailsObject.logInfos.push_back(logInfosObject);
+		}
+		domainLogDetails_.push_back(domainLogDetailsObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+
+}
+
+std::string DescribeDcdnDomainLogResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::vector<DescribeDcdnDomainLogResult::DomainLogDetail> DescribeDcdnDomainLogResult::getDomainLogDetails()const
+{
+	return domainLogDetails_;
+}
+

+ 324 - 0
dcdn/src/model/DescribeDcdnDomainOriginBpsDataRequest.cc

@@ -0,0 +1,324 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainOriginBpsDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainOriginBpsDataRequest;
+
+DescribeDcdnDomainOriginBpsDataRequest::DescribeDcdnDomainOriginBpsDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainOriginBpsData")
+{}
+
+DescribeDcdnDomainOriginBpsDataRequest::~DescribeDcdnDomainOriginBpsDataRequest()
+{}
+
+long DescribeDcdnDomainOriginBpsDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainOriginBpsDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainOriginBpsDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getFixTimeGap()const
+{
+	return fixTimeGap_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setFixTimeGap(const std::string& fixTimeGap)
+{
+	fixTimeGap_ = fixTimeGap;
+	setParameter("FixTimeGap", fixTimeGap);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getTimeMerge()const
+{
+	return timeMerge_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setTimeMerge(const std::string& timeMerge)
+{
+	timeMerge_ = timeMerge;
+	setParameter("TimeMerge", timeMerge);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainOriginBpsDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainOriginBpsDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainOriginBpsDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainOriginBpsDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainOriginBpsDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainOriginBpsDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 96 - 0
dcdn/src/model/DescribeDcdnDomainOriginBpsDataResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainOriginBpsDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainOriginBpsDataResult::DescribeDcdnDomainOriginBpsDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainOriginBpsDataResult::DescribeDcdnDomainOriginBpsDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainOriginBpsDataResult::~DescribeDcdnDomainOriginBpsDataResult()
+{}
+
+void DescribeDcdnDomainOriginBpsDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allOriginBpsDataPerInterval = value["OriginBpsDataPerInterval"]["DataModule"];
+	for (auto value : allOriginBpsDataPerInterval)
+	{
+		DataModule originBpsDataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			originBpsDataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["OriginBps"].isNull())
+			originBpsDataPerIntervalObject.originBps = std::stof(value["OriginBps"].asString());
+		if(!value["DynamicHttpOriginBps"].isNull())
+			originBpsDataPerIntervalObject.dynamicHttpOriginBps = std::stof(value["DynamicHttpOriginBps"].asString());
+		if(!value["DynamicHttpsOriginBps"].isNull())
+			originBpsDataPerIntervalObject.dynamicHttpsOriginBps = std::stof(value["DynamicHttpsOriginBps"].asString());
+		if(!value["StaticHttpOriginBps"].isNull())
+			originBpsDataPerIntervalObject.staticHttpOriginBps = std::stof(value["StaticHttpOriginBps"].asString());
+		if(!value["StaticHttpsOriginBps"].isNull())
+			originBpsDataPerIntervalObject.staticHttpsOriginBps = std::stof(value["StaticHttpsOriginBps"].asString());
+		originBpsDataPerInterval_.push_back(originBpsDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeDcdnDomainOriginBpsDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDcdnDomainOriginBpsDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDcdnDomainOriginBpsDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainOriginBpsDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+
+std::vector<DescribeDcdnDomainOriginBpsDataResult::DataModule> DescribeDcdnDomainOriginBpsDataResult::getOriginBpsDataPerInterval()const
+{
+	return originBpsDataPerInterval_;
+}
+

+ 324 - 0
dcdn/src/model/DescribeDcdnDomainOriginTrafficDataRequest.cc

@@ -0,0 +1,324 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainOriginTrafficDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainOriginTrafficDataRequest;
+
+DescribeDcdnDomainOriginTrafficDataRequest::DescribeDcdnDomainOriginTrafficDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainOriginTrafficData")
+{}
+
+DescribeDcdnDomainOriginTrafficDataRequest::~DescribeDcdnDomainOriginTrafficDataRequest()
+{}
+
+long DescribeDcdnDomainOriginTrafficDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainOriginTrafficDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainOriginTrafficDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getFixTimeGap()const
+{
+	return fixTimeGap_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setFixTimeGap(const std::string& fixTimeGap)
+{
+	fixTimeGap_ = fixTimeGap;
+	setParameter("FixTimeGap", fixTimeGap);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getTimeMerge()const
+{
+	return timeMerge_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setTimeMerge(const std::string& timeMerge)
+{
+	timeMerge_ = timeMerge;
+	setParameter("TimeMerge", timeMerge);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainOriginTrafficDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainOriginTrafficDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainOriginTrafficDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainOriginTrafficDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainOriginTrafficDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 96 - 0
dcdn/src/model/DescribeDcdnDomainOriginTrafficDataResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainOriginTrafficDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainOriginTrafficDataResult::DescribeDcdnDomainOriginTrafficDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainOriginTrafficDataResult::DescribeDcdnDomainOriginTrafficDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainOriginTrafficDataResult::~DescribeDcdnDomainOriginTrafficDataResult()
+{}
+
+void DescribeDcdnDomainOriginTrafficDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allOriginTrafficDataPerInterval = value["OriginTrafficDataPerInterval"]["DataModule"];
+	for (auto value : allOriginTrafficDataPerInterval)
+	{
+		DataModule originTrafficDataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			originTrafficDataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["OriginTraffic"].isNull())
+			originTrafficDataPerIntervalObject.originTraffic = std::stof(value["OriginTraffic"].asString());
+		if(!value["DynamicHttpOriginTraffic"].isNull())
+			originTrafficDataPerIntervalObject.dynamicHttpOriginTraffic = std::stof(value["DynamicHttpOriginTraffic"].asString());
+		if(!value["DynamicHttpsOriginTraffic"].isNull())
+			originTrafficDataPerIntervalObject.dynamicHttpsOriginTraffic = std::stof(value["DynamicHttpsOriginTraffic"].asString());
+		if(!value["StaticHttpOriginTraffic"].isNull())
+			originTrafficDataPerIntervalObject.staticHttpOriginTraffic = std::stof(value["StaticHttpOriginTraffic"].asString());
+		if(!value["StaticHttpsOriginTraffic"].isNull())
+			originTrafficDataPerIntervalObject.staticHttpsOriginTraffic = std::stof(value["StaticHttpsOriginTraffic"].asString());
+		originTrafficDataPerInterval_.push_back(originTrafficDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainOriginTrafficDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+
+std::vector<DescribeDcdnDomainOriginTrafficDataResult::DataModule> DescribeDcdnDomainOriginTrafficDataResult::getOriginTrafficDataPerInterval()const
+{
+	return originTrafficDataPerInterval_;
+}
+

+ 346 - 0
dcdn/src/model/DescribeDcdnDomainQpsDataRequest.cc

@@ -0,0 +1,346 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainQpsDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainQpsDataRequest;
+
+DescribeDcdnDomainQpsDataRequest::DescribeDcdnDomainQpsDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainQpsData")
+{}
+
+DescribeDcdnDomainQpsDataRequest::~DescribeDcdnDomainQpsDataRequest()
+{}
+
+long DescribeDcdnDomainQpsDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainQpsDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getLocationNameEn()const
+{
+	return locationNameEn_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setLocationNameEn(const std::string& locationNameEn)
+{
+	locationNameEn_ = locationNameEn;
+	setParameter("LocationNameEn", locationNameEn);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getIspNameEn()const
+{
+	return ispNameEn_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setIspNameEn(const std::string& ispNameEn)
+{
+	ispNameEn_ = ispNameEn;
+	setParameter("IspNameEn", ispNameEn);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainQpsDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getFixTimeGap()const
+{
+	return fixTimeGap_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setFixTimeGap(const std::string& fixTimeGap)
+{
+	fixTimeGap_ = fixTimeGap;
+	setParameter("FixTimeGap", fixTimeGap);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getTimeMerge()const
+{
+	return timeMerge_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setTimeMerge(const std::string& timeMerge)
+{
+	timeMerge_ = timeMerge;
+	setParameter("TimeMerge", timeMerge);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainQpsDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainQpsDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainQpsDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainQpsDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainQpsDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainQpsDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 106 - 0
dcdn/src/model/DescribeDcdnDomainQpsDataResult.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainQpsDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainQpsDataResult::DescribeDcdnDomainQpsDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainQpsDataResult::DescribeDcdnDomainQpsDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainQpsDataResult::~DescribeDcdnDomainQpsDataResult()
+{}
+
+void DescribeDcdnDomainQpsDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allQpsDataPerInterval = value["QpsDataPerInterval"]["DataModule"];
+	for (auto value : allQpsDataPerInterval)
+	{
+		DataModule qpsDataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			qpsDataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["Qps"].isNull())
+			qpsDataPerIntervalObject.qps = std::stof(value["Qps"].asString());
+		if(!value["DynamicHttpQps"].isNull())
+			qpsDataPerIntervalObject.dynamicHttpQps = std::stof(value["DynamicHttpQps"].asString());
+		if(!value["DynamicHttpsQps"].isNull())
+			qpsDataPerIntervalObject.dynamicHttpsQps = std::stof(value["DynamicHttpsQps"].asString());
+		if(!value["StaticHttpQps"].isNull())
+			qpsDataPerIntervalObject.staticHttpQps = std::stof(value["StaticHttpQps"].asString());
+		if(!value["StaticHttpsQps"].isNull())
+			qpsDataPerIntervalObject.staticHttpsQps = std::stof(value["StaticHttpsQps"].asString());
+		if(!value["Acc"].isNull())
+			qpsDataPerIntervalObject.acc = std::stof(value["Acc"].asString());
+		if(!value["DynamicHttpAcc"].isNull())
+			qpsDataPerIntervalObject.dynamicHttpAcc = std::stof(value["DynamicHttpAcc"].asString());
+		if(!value["DynamicHttpsAcc"].isNull())
+			qpsDataPerIntervalObject.dynamicHttpsAcc = std::stof(value["DynamicHttpsAcc"].asString());
+		if(!value["StaticHttpAcc"].isNull())
+			qpsDataPerIntervalObject.staticHttpAcc = std::stof(value["StaticHttpAcc"].asString());
+		if(!value["StaticHttpsAcc"].isNull())
+			qpsDataPerIntervalObject.staticHttpsAcc = std::stof(value["StaticHttpsAcc"].asString());
+		qpsDataPerInterval_.push_back(qpsDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::vector<DescribeDcdnDomainQpsDataResult::DataModule> DescribeDcdnDomainQpsDataResult::getQpsDataPerInterval()const
+{
+	return qpsDataPerInterval_;
+}
+
+std::string DescribeDcdnDomainQpsDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDcdnDomainQpsDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDcdnDomainQpsDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainQpsDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 346 - 0
dcdn/src/model/DescribeDcdnDomainTrafficDataRequest.cc

@@ -0,0 +1,346 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnDomainTrafficDataRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainTrafficDataRequest;
+
+DescribeDcdnDomainTrafficDataRequest::DescribeDcdnDomainTrafficDataRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainTrafficData")
+{}
+
+DescribeDcdnDomainTrafficDataRequest::~DescribeDcdnDomainTrafficDataRequest()
+{}
+
+long DescribeDcdnDomainTrafficDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDcdnDomainTrafficDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getLocationNameEn()const
+{
+	return locationNameEn_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setLocationNameEn(const std::string& locationNameEn)
+{
+	locationNameEn_ = locationNameEn;
+	setParameter("LocationNameEn", locationNameEn);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getIspNameEn()const
+{
+	return ispNameEn_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setIspNameEn(const std::string& ispNameEn)
+{
+	ispNameEn_ = ispNameEn;
+	setParameter("IspNameEn", ispNameEn);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDcdnDomainTrafficDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getFixTimeGap()const
+{
+	return fixTimeGap_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setFixTimeGap(const std::string& fixTimeGap)
+{
+	fixTimeGap_ = fixTimeGap;
+	setParameter("FixTimeGap", fixTimeGap);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getTimeMerge()const
+{
+	return timeMerge_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setTimeMerge(const std::string& timeMerge)
+{
+	timeMerge_ = timeMerge;
+	setParameter("TimeMerge", timeMerge);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDcdnDomainTrafficDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getVersion()const
+{
+	return version_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setVersion(const std::string& version)
+{
+	version_ = version;
+	setParameter("Version", version);
+}
+
+bool DescribeDcdnDomainTrafficDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDcdnDomainTrafficDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDcdnDomainTrafficDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string DescribeDcdnDomainTrafficDataRequest::getFields()const
+{
+	return fields_;
+}
+
+void DescribeDcdnDomainTrafficDataRequest::setFields(const std::string& fields)
+{
+	fields_ = fields;
+	setParameter("Fields", fields);
+}
+

+ 96 - 0
dcdn/src/model/DescribeDcdnDomainTrafficDataResult.cc

@@ -0,0 +1,96 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnDomainTrafficDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnDomainTrafficDataResult::DescribeDcdnDomainTrafficDataResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnDomainTrafficDataResult::DescribeDcdnDomainTrafficDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnDomainTrafficDataResult::~DescribeDcdnDomainTrafficDataResult()
+{}
+
+void DescribeDcdnDomainTrafficDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allTrafficDataPerInterval = value["TrafficDataPerInterval"]["DataModule"];
+	for (auto value : allTrafficDataPerInterval)
+	{
+		DataModule trafficDataPerIntervalObject;
+		if(!value["TimeStamp"].isNull())
+			trafficDataPerIntervalObject.timeStamp = value["TimeStamp"].asString();
+		if(!value["Traffic"].isNull())
+			trafficDataPerIntervalObject.traffic = std::stof(value["Traffic"].asString());
+		if(!value["DynamicHttpTraffic"].isNull())
+			trafficDataPerIntervalObject.dynamicHttpTraffic = std::stof(value["DynamicHttpTraffic"].asString());
+		if(!value["DynamicHttpsTraffic"].isNull())
+			trafficDataPerIntervalObject.dynamicHttpsTraffic = std::stof(value["DynamicHttpsTraffic"].asString());
+		if(!value["StaticHttpTraffic"].isNull())
+			trafficDataPerIntervalObject.staticHttpTraffic = std::stof(value["StaticHttpTraffic"].asString());
+		if(!value["StaticHttpsTraffic"].isNull())
+			trafficDataPerIntervalObject.staticHttpsTraffic = std::stof(value["StaticHttpsTraffic"].asString());
+		trafficDataPerInterval_.push_back(trafficDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeDcdnDomainTrafficDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::vector<DescribeDcdnDomainTrafficDataResult::DataModule> DescribeDcdnDomainTrafficDataResult::getTrafficDataPerInterval()const
+{
+	return trafficDataPerInterval_;
+}
+
+std::string DescribeDcdnDomainTrafficDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDcdnDomainTrafficDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDcdnDomainTrafficDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 60 - 0
dcdn/src/model/DescribeDcdnRefreshQuotaRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnRefreshQuotaRequest;
+
+DescribeDcdnRefreshQuotaRequest::DescribeDcdnRefreshQuotaRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnRefreshQuota")
+{}
+
+DescribeDcdnRefreshQuotaRequest::~DescribeDcdnRefreshQuotaRequest()
+{}
+
+std::string DescribeDcdnRefreshQuotaRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnRefreshQuotaRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+long DescribeDcdnRefreshQuotaRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnRefreshQuotaRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnRefreshQuotaRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnRefreshQuotaRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 101 - 0
dcdn/src/model/DescribeDcdnRefreshQuotaResult.cc

@@ -0,0 +1,101 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnRefreshQuotaResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnRefreshQuotaResult::DescribeDcdnRefreshQuotaResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnRefreshQuotaResult::DescribeDcdnRefreshQuotaResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnRefreshQuotaResult::~DescribeDcdnRefreshQuotaResult()
+{}
+
+void DescribeDcdnRefreshQuotaResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["UrlQuota"].isNull())
+		urlQuota_ = value["UrlQuota"].asString();
+	if(!value["DirQuota"].isNull())
+		dirQuota_ = value["DirQuota"].asString();
+	if(!value["UrlRemain"].isNull())
+		urlRemain_ = value["UrlRemain"].asString();
+	if(!value["DirRemain"].isNull())
+		dirRemain_ = value["DirRemain"].asString();
+	if(!value["PreloadQuota"].isNull())
+		preloadQuota_ = value["PreloadQuota"].asString();
+	if(!value["BlockQuota"].isNull())
+		blockQuota_ = value["BlockQuota"].asString();
+	if(!value["PreloadRemain"].isNull())
+		preloadRemain_ = value["PreloadRemain"].asString();
+	if(!value["blockRemain"].isNull())
+		blockRemain_ = value["blockRemain"].asString();
+
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getUrlRemain()const
+{
+	return urlRemain_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getPreloadRemain()const
+{
+	return preloadRemain_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getBlockRemain()const
+{
+	return blockRemain_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getDirRemain()const
+{
+	return dirRemain_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getBlockQuota()const
+{
+	return blockQuota_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getUrlQuota()const
+{
+	return urlQuota_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getDirQuota()const
+{
+	return dirQuota_;
+}
+
+std::string DescribeDcdnRefreshQuotaResult::getPreloadQuota()const
+{
+	return preloadQuota_;
+}
+

+ 170 - 0
dcdn/src/model/DescribeDcdnRefreshTasksRequest.cc

@@ -0,0 +1,170 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/dcdn/model/DescribeDcdnRefreshTasksRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnRefreshTasksRequest;
+
+DescribeDcdnRefreshTasksRequest::DescribeDcdnRefreshTasksRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnRefreshTasks")
+{}
+
+DescribeDcdnRefreshTasksRequest::~DescribeDcdnRefreshTasksRequest()
+{}
+
+std::string DescribeDcdnRefreshTasksRequest::getObjectPath()const
+{
+	return objectPath_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setObjectPath(const std::string& objectPath)
+{
+	objectPath_ = objectPath;
+	setParameter("ObjectPath", objectPath);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+long DescribeDcdnRefreshTasksRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+int DescribeDcdnRefreshTasksRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+int DescribeDcdnRefreshTasksRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getObjectType()const
+{
+	return objectType_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setObjectType(const std::string& objectType)
+{
+	objectType_ = objectType;
+	setParameter("ObjectType", objectType);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getTaskId()const
+{
+	return taskId_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setTaskId(const std::string& taskId)
+{
+	taskId_ = taskId;
+	setParameter("TaskId", taskId);
+}
+
+std::string DescribeDcdnRefreshTasksRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeDcdnRefreshTasksRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+

+ 91 - 0
dcdn/src/model/DescribeDcdnRefreshTasksResult.cc

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnRefreshTasksResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dcdn;
+using namespace AlibabaCloud::Dcdn::Model;
+
+DescribeDcdnRefreshTasksResult::DescribeDcdnRefreshTasksResult() :
+	ServiceResult()
+{}
+
+DescribeDcdnRefreshTasksResult::DescribeDcdnRefreshTasksResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDcdnRefreshTasksResult::~DescribeDcdnRefreshTasksResult()
+{}
+
+void DescribeDcdnRefreshTasksResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allTasks = value["Tasks"]["Task"];
+	for (auto value : allTasks)
+	{
+		Task tasksObject;
+		if(!value["TaskId"].isNull())
+			tasksObject.taskId = value["TaskId"].asString();
+		if(!value["ObjectPath"].isNull())
+			tasksObject.objectPath = value["ObjectPath"].asString();
+		if(!value["Process"].isNull())
+			tasksObject.process = value["Process"].asString();
+		if(!value["Status"].isNull())
+			tasksObject.status = value["Status"].asString();
+		if(!value["CreationTime"].isNull())
+			tasksObject.creationTime = value["CreationTime"].asString();
+		if(!value["Description"].isNull())
+			tasksObject.description = value["Description"].asString();
+		if(!value["ObjectType"].isNull())
+			tasksObject.objectType = value["ObjectType"].asString();
+		tasks_.push_back(tasksObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+
+}
+
+long DescribeDcdnRefreshTasksResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<DescribeDcdnRefreshTasksResult::Task> DescribeDcdnRefreshTasksResult::getTasks()const
+{
+	return tasks_;
+}
+
+long DescribeDcdnRefreshTasksResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribeDcdnRefreshTasksResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 60 - 0
dcdn/src/model/DescribeDcdnServiceRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dcdn/model/DescribeDcdnServiceRequest.h>
+
+using AlibabaCloud::Dcdn::Model::DescribeDcdnServiceRequest;
+
+DescribeDcdnServiceRequest::DescribeDcdnServiceRequest() :
+	RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnService")
+{}
+
+DescribeDcdnServiceRequest::~DescribeDcdnServiceRequest()
+{}
+
+std::string DescribeDcdnServiceRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDcdnServiceRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+long DescribeDcdnServiceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDcdnServiceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDcdnServiceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDcdnServiceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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