Jelajahi Sumber

Add ExportTas apis.

sdk-team 6 tahun lalu
induk
melakukan
e312177cd9

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-05-13 Version: 1.36.406
+- Add ExportTas apis.
+
 2020-05-13 Version: 1.36.405
 - About 2019-03-07 and 2018-09-16 Version.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.405
+1.36.406

+ 8 - 0
cdn/CMakeLists.txt

@@ -125,6 +125,8 @@ set(cdn_public_header_model
 	include/alibabacloud/cdn/model/DescribeDomainAverageResponseTimeResult.h
 	include/alibabacloud/cdn/model/DescribeDomainBpsDataRequest.h
 	include/alibabacloud/cdn/model/DescribeDomainBpsDataResult.h
+	include/alibabacloud/cdn/model/DescribeDomainBpsDataByLayerRequest.h
+	include/alibabacloud/cdn/model/DescribeDomainBpsDataByLayerResult.h
 	include/alibabacloud/cdn/model/DescribeDomainBpsDataByTimeStampRequest.h
 	include/alibabacloud/cdn/model/DescribeDomainBpsDataByTimeStampResult.h
 	include/alibabacloud/cdn/model/DescribeDomainCcActivityLogRequest.h
@@ -143,6 +145,8 @@ set(cdn_public_header_model
 	include/alibabacloud/cdn/model/DescribeDomainHitRateDataResult.h
 	include/alibabacloud/cdn/model/DescribeDomainHttpCodeDataRequest.h
 	include/alibabacloud/cdn/model/DescribeDomainHttpCodeDataResult.h
+	include/alibabacloud/cdn/model/DescribeDomainHttpCodeDataByLayerRequest.h
+	include/alibabacloud/cdn/model/DescribeDomainHttpCodeDataByLayerResult.h
 	include/alibabacloud/cdn/model/DescribeDomainISPDataRequest.h
 	include/alibabacloud/cdn/model/DescribeDomainISPDataResult.h
 	include/alibabacloud/cdn/model/DescribeDomainMax95BpsDataRequest.h
@@ -514,6 +518,8 @@ set(cdn_src
 	src/model/DescribeDomainAverageResponseTimeResult.cc
 	src/model/DescribeDomainBpsDataRequest.cc
 	src/model/DescribeDomainBpsDataResult.cc
+	src/model/DescribeDomainBpsDataByLayerRequest.cc
+	src/model/DescribeDomainBpsDataByLayerResult.cc
 	src/model/DescribeDomainBpsDataByTimeStampRequest.cc
 	src/model/DescribeDomainBpsDataByTimeStampResult.cc
 	src/model/DescribeDomainCcActivityLogRequest.cc
@@ -532,6 +538,8 @@ set(cdn_src
 	src/model/DescribeDomainHitRateDataResult.cc
 	src/model/DescribeDomainHttpCodeDataRequest.cc
 	src/model/DescribeDomainHttpCodeDataResult.cc
+	src/model/DescribeDomainHttpCodeDataByLayerRequest.cc
+	src/model/DescribeDomainHttpCodeDataByLayerResult.cc
 	src/model/DescribeDomainISPDataRequest.cc
 	src/model/DescribeDomainISPDataResult.cc
 	src/model/DescribeDomainMax95BpsDataRequest.cc

+ 16 - 0
cdn/include/alibabacloud/cdn/CdnClient.h

@@ -126,6 +126,8 @@
 #include "model/DescribeDomainAverageResponseTimeResult.h"
 #include "model/DescribeDomainBpsDataRequest.h"
 #include "model/DescribeDomainBpsDataResult.h"
+#include "model/DescribeDomainBpsDataByLayerRequest.h"
+#include "model/DescribeDomainBpsDataByLayerResult.h"
 #include "model/DescribeDomainBpsDataByTimeStampRequest.h"
 #include "model/DescribeDomainBpsDataByTimeStampResult.h"
 #include "model/DescribeDomainCcActivityLogRequest.h"
@@ -144,6 +146,8 @@
 #include "model/DescribeDomainHitRateDataResult.h"
 #include "model/DescribeDomainHttpCodeDataRequest.h"
 #include "model/DescribeDomainHttpCodeDataResult.h"
+#include "model/DescribeDomainHttpCodeDataByLayerRequest.h"
+#include "model/DescribeDomainHttpCodeDataByLayerResult.h"
 #include "model/DescribeDomainISPDataRequest.h"
 #include "model/DescribeDomainISPDataResult.h"
 #include "model/DescribeDomainMax95BpsDataRequest.h"
@@ -573,6 +577,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDomainBpsDataResult> DescribeDomainBpsDataOutcome;
 			typedef std::future<DescribeDomainBpsDataOutcome> DescribeDomainBpsDataOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::DescribeDomainBpsDataRequest&, const DescribeDomainBpsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainBpsDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainBpsDataByLayerResult> DescribeDomainBpsDataByLayerOutcome;
+			typedef std::future<DescribeDomainBpsDataByLayerOutcome> DescribeDomainBpsDataByLayerOutcomeCallable;
+			typedef std::function<void(const CdnClient*, const Model::DescribeDomainBpsDataByLayerRequest&, const DescribeDomainBpsDataByLayerOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainBpsDataByLayerAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDomainBpsDataByTimeStampResult> DescribeDomainBpsDataByTimeStampOutcome;
 			typedef std::future<DescribeDomainBpsDataByTimeStampOutcome> DescribeDomainBpsDataByTimeStampOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::DescribeDomainBpsDataByTimeStampRequest&, const DescribeDomainBpsDataByTimeStampOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainBpsDataByTimeStampAsyncHandler;
@@ -600,6 +607,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDomainHttpCodeDataResult> DescribeDomainHttpCodeDataOutcome;
 			typedef std::future<DescribeDomainHttpCodeDataOutcome> DescribeDomainHttpCodeDataOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::DescribeDomainHttpCodeDataRequest&, const DescribeDomainHttpCodeDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainHttpCodeDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDomainHttpCodeDataByLayerResult> DescribeDomainHttpCodeDataByLayerOutcome;
+			typedef std::future<DescribeDomainHttpCodeDataByLayerOutcome> DescribeDomainHttpCodeDataByLayerOutcomeCallable;
+			typedef std::function<void(const CdnClient*, const Model::DescribeDomainHttpCodeDataByLayerRequest&, const DescribeDomainHttpCodeDataByLayerOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainHttpCodeDataByLayerAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDomainISPDataResult> DescribeDomainISPDataOutcome;
 			typedef std::future<DescribeDomainISPDataOutcome> DescribeDomainISPDataOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::DescribeDomainISPDataRequest&, const DescribeDomainISPDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainISPDataAsyncHandler;
@@ -1157,6 +1167,9 @@ namespace AlibabaCloud
 			DescribeDomainBpsDataOutcome describeDomainBpsData(const Model::DescribeDomainBpsDataRequest &request)const;
 			void describeDomainBpsDataAsync(const Model::DescribeDomainBpsDataRequest& request, const DescribeDomainBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainBpsDataOutcomeCallable describeDomainBpsDataCallable(const Model::DescribeDomainBpsDataRequest& request) const;
+			DescribeDomainBpsDataByLayerOutcome describeDomainBpsDataByLayer(const Model::DescribeDomainBpsDataByLayerRequest &request)const;
+			void describeDomainBpsDataByLayerAsync(const Model::DescribeDomainBpsDataByLayerRequest& request, const DescribeDomainBpsDataByLayerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainBpsDataByLayerOutcomeCallable describeDomainBpsDataByLayerCallable(const Model::DescribeDomainBpsDataByLayerRequest& request) const;
 			DescribeDomainBpsDataByTimeStampOutcome describeDomainBpsDataByTimeStamp(const Model::DescribeDomainBpsDataByTimeStampRequest &request)const;
 			void describeDomainBpsDataByTimeStampAsync(const Model::DescribeDomainBpsDataByTimeStampRequest& request, const DescribeDomainBpsDataByTimeStampAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainBpsDataByTimeStampOutcomeCallable describeDomainBpsDataByTimeStampCallable(const Model::DescribeDomainBpsDataByTimeStampRequest& request) const;
@@ -1184,6 +1197,9 @@ namespace AlibabaCloud
 			DescribeDomainHttpCodeDataOutcome describeDomainHttpCodeData(const Model::DescribeDomainHttpCodeDataRequest &request)const;
 			void describeDomainHttpCodeDataAsync(const Model::DescribeDomainHttpCodeDataRequest& request, const DescribeDomainHttpCodeDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainHttpCodeDataOutcomeCallable describeDomainHttpCodeDataCallable(const Model::DescribeDomainHttpCodeDataRequest& request) const;
+			DescribeDomainHttpCodeDataByLayerOutcome describeDomainHttpCodeDataByLayer(const Model::DescribeDomainHttpCodeDataByLayerRequest &request)const;
+			void describeDomainHttpCodeDataByLayerAsync(const Model::DescribeDomainHttpCodeDataByLayerRequest& request, const DescribeDomainHttpCodeDataByLayerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDomainHttpCodeDataByLayerOutcomeCallable describeDomainHttpCodeDataByLayerCallable(const Model::DescribeDomainHttpCodeDataByLayerRequest& request) const;
 			DescribeDomainISPDataOutcome describeDomainISPData(const Model::DescribeDomainISPDataRequest &request)const;
 			void describeDomainISPDataAsync(const Model::DescribeDomainISPDataRequest& request, const DescribeDomainISPDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainISPDataOutcomeCallable describeDomainISPDataCallable(const Model::DescribeDomainISPDataRequest& request) const;

+ 69 - 0
cdn/include/alibabacloud/cdn/model/DescribeDomainBpsDataByLayerRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_DESCRIBEDOMAINBPSDATABYLAYERREQUEST_H_
+#define ALIBABACLOUD_CDN_MODEL_DESCRIBEDOMAINBPSDATABYLAYERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT DescribeDomainBpsDataByLayerRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainBpsDataByLayerRequest();
+				~DescribeDomainBpsDataByLayerRequest();
+
+				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 getLayer()const;
+				void setLayer(const std::string& layer);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+
+            private:
+				std::string locationNameEn_;
+				std::string startTime_;
+				std::string ispNameEn_;
+				std::string layer_;
+				std::string domainName_;
+				std::string endTime_;
+				long ownerId_;
+				std::string interval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_DESCRIBEDOMAINBPSDATABYLAYERREQUEST_H_

+ 59 - 0
cdn/include/alibabacloud/cdn/model/DescribeDomainBpsDataByLayerResult.h

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

+ 69 - 0
cdn/include/alibabacloud/cdn/model/DescribeDomainHttpCodeDataByLayerRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_DESCRIBEDOMAINHTTPCODEDATABYLAYERREQUEST_H_
+#define ALIBABACLOUD_CDN_MODEL_DESCRIBEDOMAINHTTPCODEDATABYLAYERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT DescribeDomainHttpCodeDataByLayerRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDomainHttpCodeDataByLayerRequest();
+				~DescribeDomainHttpCodeDataByLayerRequest();
+
+				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 getLayer()const;
+				void setLayer(const std::string& layer);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+
+            private:
+				std::string locationNameEn_;
+				std::string startTime_;
+				std::string ispNameEn_;
+				std::string layer_;
+				std::string domainName_;
+				std::string endTime_;
+				long ownerId_;
+				std::string interval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_DESCRIBEDOMAINHTTPCODEDATABYLAYERREQUEST_H_

+ 59 - 0
cdn/include/alibabacloud/cdn/model/DescribeDomainHttpCodeDataByLayerResult.h

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

+ 72 - 0
cdn/src/CdnClient.cc

@@ -1923,6 +1923,42 @@ CdnClient::DescribeDomainBpsDataOutcomeCallable CdnClient::describeDomainBpsData
 	return task->get_future();
 }
 
+CdnClient::DescribeDomainBpsDataByLayerOutcome CdnClient::describeDomainBpsDataByLayer(const DescribeDomainBpsDataByLayerRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDomainBpsDataByLayerOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDomainBpsDataByLayerOutcome(DescribeDomainBpsDataByLayerResult(outcome.result()));
+	else
+		return DescribeDomainBpsDataByLayerOutcome(outcome.error());
+}
+
+void CdnClient::describeDomainBpsDataByLayerAsync(const DescribeDomainBpsDataByLayerRequest& request, const DescribeDomainBpsDataByLayerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDomainBpsDataByLayer(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CdnClient::DescribeDomainBpsDataByLayerOutcomeCallable CdnClient::describeDomainBpsDataByLayerCallable(const DescribeDomainBpsDataByLayerRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDomainBpsDataByLayerOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDomainBpsDataByLayer(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CdnClient::DescribeDomainBpsDataByTimeStampOutcome CdnClient::describeDomainBpsDataByTimeStamp(const DescribeDomainBpsDataByTimeStampRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2247,6 +2283,42 @@ CdnClient::DescribeDomainHttpCodeDataOutcomeCallable CdnClient::describeDomainHt
 	return task->get_future();
 }
 
+CdnClient::DescribeDomainHttpCodeDataByLayerOutcome CdnClient::describeDomainHttpCodeDataByLayer(const DescribeDomainHttpCodeDataByLayerRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDomainHttpCodeDataByLayerOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDomainHttpCodeDataByLayerOutcome(DescribeDomainHttpCodeDataByLayerResult(outcome.result()));
+	else
+		return DescribeDomainHttpCodeDataByLayerOutcome(outcome.error());
+}
+
+void CdnClient::describeDomainHttpCodeDataByLayerAsync(const DescribeDomainHttpCodeDataByLayerRequest& request, const DescribeDomainHttpCodeDataByLayerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDomainHttpCodeDataByLayer(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CdnClient::DescribeDomainHttpCodeDataByLayerOutcomeCallable CdnClient::describeDomainHttpCodeDataByLayerCallable(const DescribeDomainHttpCodeDataByLayerRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDomainHttpCodeDataByLayerOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDomainHttpCodeDataByLayer(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CdnClient::DescribeDomainISPDataOutcome CdnClient::describeDomainISPData(const DescribeDomainISPDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 117 - 0
cdn/src/model/DescribeDomainBpsDataByLayerRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/DescribeDomainBpsDataByLayerRequest.h>
+
+using AlibabaCloud::Cdn::Model::DescribeDomainBpsDataByLayerRequest;
+
+DescribeDomainBpsDataByLayerRequest::DescribeDomainBpsDataByLayerRequest() :
+	RpcServiceRequest("cdn", "2018-05-10", "DescribeDomainBpsDataByLayer")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDomainBpsDataByLayerRequest::~DescribeDomainBpsDataByLayerRequest()
+{}
+
+std::string DescribeDomainBpsDataByLayerRequest::getLocationNameEn()const
+{
+	return locationNameEn_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setLocationNameEn(const std::string& locationNameEn)
+{
+	locationNameEn_ = locationNameEn;
+	setParameter("LocationNameEn", locationNameEn);
+}
+
+std::string DescribeDomainBpsDataByLayerRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDomainBpsDataByLayerRequest::getIspNameEn()const
+{
+	return ispNameEn_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setIspNameEn(const std::string& ispNameEn)
+{
+	ispNameEn_ = ispNameEn;
+	setParameter("IspNameEn", ispNameEn);
+}
+
+std::string DescribeDomainBpsDataByLayerRequest::getLayer()const
+{
+	return layer_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setLayer(const std::string& layer)
+{
+	layer_ = layer;
+	setParameter("Layer", layer);
+}
+
+std::string DescribeDomainBpsDataByLayerRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDomainBpsDataByLayerRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long DescribeDomainBpsDataByLayerRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDomainBpsDataByLayerRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDomainBpsDataByLayerRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+

+ 68 - 0
cdn/src/model/DescribeDomainBpsDataByLayerResult.cc

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

+ 117 - 0
cdn/src/model/DescribeDomainHttpCodeDataByLayerRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/DescribeDomainHttpCodeDataByLayerRequest.h>
+
+using AlibabaCloud::Cdn::Model::DescribeDomainHttpCodeDataByLayerRequest;
+
+DescribeDomainHttpCodeDataByLayerRequest::DescribeDomainHttpCodeDataByLayerRequest() :
+	RpcServiceRequest("cdn", "2018-05-10", "DescribeDomainHttpCodeDataByLayer")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDomainHttpCodeDataByLayerRequest::~DescribeDomainHttpCodeDataByLayerRequest()
+{}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getLocationNameEn()const
+{
+	return locationNameEn_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setLocationNameEn(const std::string& locationNameEn)
+{
+	locationNameEn_ = locationNameEn;
+	setParameter("LocationNameEn", locationNameEn);
+}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getIspNameEn()const
+{
+	return ispNameEn_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setIspNameEn(const std::string& ispNameEn)
+{
+	ispNameEn_ = ispNameEn;
+	setParameter("IspNameEn", ispNameEn);
+}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getLayer()const
+{
+	return layer_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setLayer(const std::string& layer)
+{
+	layer_ = layer;
+	setParameter("Layer", layer);
+}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long DescribeDomainHttpCodeDataByLayerRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDomainHttpCodeDataByLayerRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDomainHttpCodeDataByLayerRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+

+ 68 - 0
cdn/src/model/DescribeDomainHttpCodeDataByLayerResult.cc

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