Prechádzať zdrojové kódy

Generated 2016-11-01 for live.

sdk-team 4 rokov pred
rodič
commit
d6278ad8a3

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-10-25 Version: 1.36.907
+- Generated 2016-11-01 for `live`.
+
 2021-10-21 Version: 1.36.906
 - Update Open API.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.906
+1.36.907

+ 8 - 0
live/CMakeLists.txt

@@ -257,6 +257,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveDomainFrameRateAndBitRateDataResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainLimitRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainLimitResult.h
+	include/alibabacloud/live/model/DescribeLiveDomainLogRequest.h
+	include/alibabacloud/live/model/DescribeLiveDomainLogResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainMappingRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainMappingResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainOnlineUserNumRequest.h
@@ -405,6 +407,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/ForbidLiveStreamResult.h
 	include/alibabacloud/live/model/ForbidPushStreamRequest.h
 	include/alibabacloud/live/model/ForbidPushStreamResult.h
+	include/alibabacloud/live/model/GetAllCustomTemplatesRequest.h
+	include/alibabacloud/live/model/GetAllCustomTemplatesResult.h
 	include/alibabacloud/live/model/GetCustomTemplateRequest.h
 	include/alibabacloud/live/model/GetCustomTemplateResult.h
 	include/alibabacloud/live/model/GetMultiRateConfigRequest.h
@@ -774,6 +778,8 @@ set(live_src
 	src/model/DescribeLiveDomainFrameRateAndBitRateDataResult.cc
 	src/model/DescribeLiveDomainLimitRequest.cc
 	src/model/DescribeLiveDomainLimitResult.cc
+	src/model/DescribeLiveDomainLogRequest.cc
+	src/model/DescribeLiveDomainLogResult.cc
 	src/model/DescribeLiveDomainMappingRequest.cc
 	src/model/DescribeLiveDomainMappingResult.cc
 	src/model/DescribeLiveDomainOnlineUserNumRequest.cc
@@ -922,6 +928,8 @@ set(live_src
 	src/model/ForbidLiveStreamResult.cc
 	src/model/ForbidPushStreamRequest.cc
 	src/model/ForbidPushStreamResult.cc
+	src/model/GetAllCustomTemplatesRequest.cc
+	src/model/GetAllCustomTemplatesResult.cc
 	src/model/GetCustomTemplateRequest.cc
 	src/model/GetCustomTemplateResult.cc
 	src/model/GetMultiRateConfigRequest.cc

+ 16 - 0
live/include/alibabacloud/live/LiveClient.h

@@ -258,6 +258,8 @@
 #include "model/DescribeLiveDomainFrameRateAndBitRateDataResult.h"
 #include "model/DescribeLiveDomainLimitRequest.h"
 #include "model/DescribeLiveDomainLimitResult.h"
+#include "model/DescribeLiveDomainLogRequest.h"
+#include "model/DescribeLiveDomainLogResult.h"
 #include "model/DescribeLiveDomainMappingRequest.h"
 #include "model/DescribeLiveDomainMappingResult.h"
 #include "model/DescribeLiveDomainOnlineUserNumRequest.h"
@@ -406,6 +408,8 @@
 #include "model/ForbidLiveStreamResult.h"
 #include "model/ForbidPushStreamRequest.h"
 #include "model/ForbidPushStreamResult.h"
+#include "model/GetAllCustomTemplatesRequest.h"
+#include "model/GetAllCustomTemplatesResult.h"
 #include "model/GetCustomTemplateRequest.h"
 #include "model/GetCustomTemplateResult.h"
 #include "model/GetMultiRateConfigRequest.h"
@@ -899,6 +903,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveDomainLimitResult> DescribeLiveDomainLimitOutcome;
 			typedef std::future<DescribeLiveDomainLimitOutcome> DescribeLiveDomainLimitOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainLimitRequest&, const DescribeLiveDomainLimitOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainLimitAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveDomainLogResult> DescribeLiveDomainLogOutcome;
+			typedef std::future<DescribeLiveDomainLogOutcome> DescribeLiveDomainLogOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainLogRequest&, const DescribeLiveDomainLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainLogAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveDomainMappingResult> DescribeLiveDomainMappingOutcome;
 			typedef std::future<DescribeLiveDomainMappingOutcome> DescribeLiveDomainMappingOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainMappingRequest&, const DescribeLiveDomainMappingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainMappingAsyncHandler;
@@ -1121,6 +1128,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ForbidPushStreamResult> ForbidPushStreamOutcome;
 			typedef std::future<ForbidPushStreamOutcome> ForbidPushStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ForbidPushStreamRequest&, const ForbidPushStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ForbidPushStreamAsyncHandler;
+			typedef Outcome<Error, Model::GetAllCustomTemplatesResult> GetAllCustomTemplatesOutcome;
+			typedef std::future<GetAllCustomTemplatesOutcome> GetAllCustomTemplatesOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::GetAllCustomTemplatesRequest&, const GetAllCustomTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAllCustomTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::GetCustomTemplateResult> GetCustomTemplateOutcome;
 			typedef std::future<GetCustomTemplateOutcome> GetCustomTemplateOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::GetCustomTemplateRequest&, const GetCustomTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCustomTemplateAsyncHandler;
@@ -1675,6 +1685,9 @@ namespace AlibabaCloud
 			DescribeLiveDomainLimitOutcome describeLiveDomainLimit(const Model::DescribeLiveDomainLimitRequest &request)const;
 			void describeLiveDomainLimitAsync(const Model::DescribeLiveDomainLimitRequest& request, const DescribeLiveDomainLimitAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainLimitOutcomeCallable describeLiveDomainLimitCallable(const Model::DescribeLiveDomainLimitRequest& request) const;
+			DescribeLiveDomainLogOutcome describeLiveDomainLog(const Model::DescribeLiveDomainLogRequest &request)const;
+			void describeLiveDomainLogAsync(const Model::DescribeLiveDomainLogRequest& request, const DescribeLiveDomainLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveDomainLogOutcomeCallable describeLiveDomainLogCallable(const Model::DescribeLiveDomainLogRequest& request) const;
 			DescribeLiveDomainMappingOutcome describeLiveDomainMapping(const Model::DescribeLiveDomainMappingRequest &request)const;
 			void describeLiveDomainMappingAsync(const Model::DescribeLiveDomainMappingRequest& request, const DescribeLiveDomainMappingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainMappingOutcomeCallable describeLiveDomainMappingCallable(const Model::DescribeLiveDomainMappingRequest& request) const;
@@ -1897,6 +1910,9 @@ namespace AlibabaCloud
 			ForbidPushStreamOutcome forbidPushStream(const Model::ForbidPushStreamRequest &request)const;
 			void forbidPushStreamAsync(const Model::ForbidPushStreamRequest& request, const ForbidPushStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ForbidPushStreamOutcomeCallable forbidPushStreamCallable(const Model::ForbidPushStreamRequest& request) const;
+			GetAllCustomTemplatesOutcome getAllCustomTemplates(const Model::GetAllCustomTemplatesRequest &request)const;
+			void getAllCustomTemplatesAsync(const Model::GetAllCustomTemplatesRequest& request, const GetAllCustomTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAllCustomTemplatesOutcomeCallable getAllCustomTemplatesCallable(const Model::GetAllCustomTemplatesRequest& request) const;
 			GetCustomTemplateOutcome getCustomTemplate(const Model::GetCustomTemplateRequest &request)const;
 			void getCustomTemplateAsync(const Model::GetCustomTemplateRequest& request, const GetCustomTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetCustomTemplateOutcomeCallable getCustomTemplateCallable(const Model::GetCustomTemplateRequest& request) const;

+ 20 - 12
live/include/alibabacloud/live/model/DescribeCasterConfigResult.h

@@ -50,39 +50,47 @@ namespace AlibabaCloud
 					std::vector<RecordFormatItem> recordFormat;
 					std::string ossBucket;
 				};
+				struct SyncGroup
+				{
+					std::vector<std::string> resourceIds;
+					int mode;
+					std::string hostResourceId;
+				};
 
 
 				DescribeCasterConfigResult();
 				explicit DescribeCasterConfigResult(const std::string &payload);
 				~DescribeCasterConfigResult();
-				std::string getSideOutputUrl()const;
-				std::string getCallbackUrl()const;
-				std::string getCasterName()const;
 				int getChannelEnable()const;
 				std::string getDomainName()const;
-				int getProgramEffect()const;
 				std::string getUrgentMaterialId()const;
 				TranscodeConfig getTranscodeConfig()const;
-				std::string getCasterId()const;
 				std::string getProgramName()const;
-				RecordConfig getRecordConfig()const;
 				float getDelay()const;
+				std::string getSideOutputUrl()const;
+				std::string getCallbackUrl()const;
+				std::string getCasterName()const;
+				int getProgramEffect()const;
+				std::vector<SyncGroup> getSyncGroupsConfig()const;
+				std::string getCasterId()const;
+				RecordConfig getRecordConfig()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string sideOutputUrl_;
-				std::string callbackUrl_;
-				std::string casterName_;
 				int channelEnable_;
 				std::string domainName_;
-				int programEffect_;
 				std::string urgentMaterialId_;
 				TranscodeConfig transcodeConfig_;
-				std::string casterId_;
 				std::string programName_;
-				RecordConfig recordConfig_;
 				float delay_;
+				std::string sideOutputUrl_;
+				std::string callbackUrl_;
+				std::string casterName_;
+				int programEffect_;
+				std::vector<SyncGroup> syncGroupsConfig_;
+				std::string casterId_;
+				RecordConfig recordConfig_;
 
 			};
 		}

+ 63 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainLogRequest.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_LIVE_MODEL_DESCRIBELIVEDOMAINLOGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINLOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveDomainLogRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveDomainLogRequest();
+				~DescribeLiveDomainLogRequest();
+
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				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);
+
+            private:
+				std::string startTime_;
+				long pageNumber_;
+				long pageSize_;
+				std::string domainName_;
+				std::string endTime_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINLOGREQUEST_H_

+ 73 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainLogResult.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_LIVE_MODEL_DESCRIBELIVEDOMAINLOGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINLOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveDomainLogResult : public ServiceResult
+			{
+			public:
+				struct DomainLogDetail
+				{
+					struct PageInfos
+					{
+						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;
+					PageInfos pageInfos;
+					long logCount;
+				};
+
+
+				DescribeLiveDomainLogResult();
+				explicit DescribeLiveDomainLogResult(const std::string &payload);
+				~DescribeLiveDomainLogResult();
+				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_LIVE_MODEL_DESCRIBELIVEDOMAINLOGRESULT_H_

+ 51 - 0
live/include/alibabacloud/live/model/GetAllCustomTemplatesRequest.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_LIVE_MODEL_GETALLCUSTOMTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_GETALLCUSTOMTEMPLATESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT GetAllCustomTemplatesRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetAllCustomTemplatesRequest();
+				~GetAllCustomTemplatesRequest();
+
+				std::string getUserId()const;
+				void setUserId(const std::string& userId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string userId_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_GETALLCUSTOMTEMPLATESREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/GetAllCustomTemplatesResult.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_LIVE_MODEL_GETALLCUSTOMTEMPLATESRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_GETALLCUSTOMTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT GetAllCustomTemplatesResult : public ServiceResult
+			{
+			public:
+
+
+				GetAllCustomTemplatesResult();
+				explicit GetAllCustomTemplatesResult(const std::string &payload);
+				~GetAllCustomTemplatesResult();
+				std::string getCustomTemplates()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string customTemplates_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_GETALLCUSTOMTEMPLATESRESULT_H_

+ 3 - 0
live/include/alibabacloud/live/model/SetCasterConfigRequest.h

@@ -51,6 +51,8 @@ namespace AlibabaCloud
 				void setCasterName(const std::string& casterName);
 				std::string getSideOutputUrl()const;
 				void setSideOutputUrl(const std::string& sideOutputUrl);
+				std::string getSyncGroupsConfig()const;
+				void setSyncGroupsConfig(const std::string& syncGroupsConfig);
 				std::string getCasterId()const;
 				void setCasterId(const std::string& casterId);
 				std::string getDomainName()const;
@@ -71,6 +73,7 @@ namespace AlibabaCloud
 				std::string transcodeConfig_;
 				std::string casterName_;
 				std::string sideOutputUrl_;
+				std::string syncGroupsConfig_;
 				std::string casterId_;
 				std::string domainName_;
 				long ownerId_;

+ 72 - 0
live/src/LiveClient.cc

@@ -4299,6 +4299,42 @@ LiveClient::DescribeLiveDomainLimitOutcomeCallable LiveClient::describeLiveDomai
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveDomainLogOutcome LiveClient::describeLiveDomainLog(const DescribeLiveDomainLogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveDomainLogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveDomainLogOutcome(DescribeLiveDomainLogResult(outcome.result()));
+	else
+		return DescribeLiveDomainLogOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveDomainLogAsync(const DescribeLiveDomainLogRequest& request, const DescribeLiveDomainLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveDomainLog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveDomainLogOutcomeCallable LiveClient::describeLiveDomainLogCallable(const DescribeLiveDomainLogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveDomainLogOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveDomainLog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveDomainMappingOutcome LiveClient::describeLiveDomainMapping(const DescribeLiveDomainMappingRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6963,6 +6999,42 @@ LiveClient::ForbidPushStreamOutcomeCallable LiveClient::forbidPushStreamCallable
 	return task->get_future();
 }
 
+LiveClient::GetAllCustomTemplatesOutcome LiveClient::getAllCustomTemplates(const GetAllCustomTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAllCustomTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAllCustomTemplatesOutcome(GetAllCustomTemplatesResult(outcome.result()));
+	else
+		return GetAllCustomTemplatesOutcome(outcome.error());
+}
+
+void LiveClient::getAllCustomTemplatesAsync(const GetAllCustomTemplatesRequest& request, const GetAllCustomTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAllCustomTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::GetAllCustomTemplatesOutcomeCallable LiveClient::getAllCustomTemplatesCallable(const GetAllCustomTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAllCustomTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->getAllCustomTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::GetCustomTemplateOutcome LiveClient::getCustomTemplate(const GetCustomTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 42 - 24
live/src/model/DescribeCasterConfigResult.cc

@@ -39,6 +39,19 @@ void DescribeCasterConfigResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	auto allSyncGroupsConfigNode = value["SyncGroupsConfig"]["SyncGroup"];
+	for (auto valueSyncGroupsConfigSyncGroup : allSyncGroupsConfigNode)
+	{
+		SyncGroup syncGroupsConfigObject;
+		if(!valueSyncGroupsConfigSyncGroup["Mode"].isNull())
+			syncGroupsConfigObject.mode = std::stoi(valueSyncGroupsConfigSyncGroup["Mode"].asString());
+		if(!valueSyncGroupsConfigSyncGroup["HostResourceId"].isNull())
+			syncGroupsConfigObject.hostResourceId = valueSyncGroupsConfigSyncGroup["HostResourceId"].asString();
+		auto allResourceIds = value["ResourceIds"]["ResourceId"];
+		for (auto value : allResourceIds)
+			syncGroupsConfigObject.resourceIds.push_back(value.asString());
+		syncGroupsConfig_.push_back(syncGroupsConfigObject);
+	}
 	auto transcodeConfigNode = value["TranscodeConfig"];
 	if(!transcodeConfigNode["CasterTemplate"].isNull())
 		transcodeConfig_.casterTemplate = transcodeConfigNode["CasterTemplate"].asString();
@@ -87,63 +100,68 @@ void DescribeCasterConfigResult::parse(const std::string &payload)
 
 }
 
-std::string DescribeCasterConfigResult::getSideOutputUrl()const
+int DescribeCasterConfigResult::getChannelEnable()const
 {
-	return sideOutputUrl_;
+	return channelEnable_;
 }
 
-std::string DescribeCasterConfigResult::getCallbackUrl()const
+std::string DescribeCasterConfigResult::getDomainName()const
 {
-	return callbackUrl_;
+	return domainName_;
 }
 
-std::string DescribeCasterConfigResult::getCasterName()const
+std::string DescribeCasterConfigResult::getUrgentMaterialId()const
 {
-	return casterName_;
+	return urgentMaterialId_;
 }
 
-int DescribeCasterConfigResult::getChannelEnable()const
+DescribeCasterConfigResult::TranscodeConfig DescribeCasterConfigResult::getTranscodeConfig()const
 {
-	return channelEnable_;
+	return transcodeConfig_;
 }
 
-std::string DescribeCasterConfigResult::getDomainName()const
+std::string DescribeCasterConfigResult::getProgramName()const
 {
-	return domainName_;
+	return programName_;
 }
 
-int DescribeCasterConfigResult::getProgramEffect()const
+float DescribeCasterConfigResult::getDelay()const
 {
-	return programEffect_;
+	return delay_;
 }
 
-std::string DescribeCasterConfigResult::getUrgentMaterialId()const
+std::string DescribeCasterConfigResult::getSideOutputUrl()const
 {
-	return urgentMaterialId_;
+	return sideOutputUrl_;
 }
 
-DescribeCasterConfigResult::TranscodeConfig DescribeCasterConfigResult::getTranscodeConfig()const
+std::string DescribeCasterConfigResult::getCallbackUrl()const
 {
-	return transcodeConfig_;
+	return callbackUrl_;
 }
 
-std::string DescribeCasterConfigResult::getCasterId()const
+std::string DescribeCasterConfigResult::getCasterName()const
 {
-	return casterId_;
+	return casterName_;
 }
 
-std::string DescribeCasterConfigResult::getProgramName()const
+int DescribeCasterConfigResult::getProgramEffect()const
 {
-	return programName_;
+	return programEffect_;
 }
 
-DescribeCasterConfigResult::RecordConfig DescribeCasterConfigResult::getRecordConfig()const
+std::vector<DescribeCasterConfigResult::SyncGroup> DescribeCasterConfigResult::getSyncGroupsConfig()const
 {
-	return recordConfig_;
+	return syncGroupsConfig_;
 }
 
-float DescribeCasterConfigResult::getDelay()const
+std::string DescribeCasterConfigResult::getCasterId()const
 {
-	return delay_;
+	return casterId_;
+}
+
+DescribeCasterConfigResult::RecordConfig DescribeCasterConfigResult::getRecordConfig()const
+{
+	return recordConfig_;
 }
 

+ 95 - 0
live/src/model/DescribeLiveDomainLogRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/live/model/DescribeLiveDomainLogRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveDomainLogRequest;
+
+DescribeLiveDomainLogRequest::DescribeLiveDomainLogRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveDomainLog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveDomainLogRequest::~DescribeLiveDomainLogRequest()
+{}
+
+std::string DescribeLiveDomainLogRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeLiveDomainLogRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+long DescribeLiveDomainLogRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeLiveDomainLogRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+long DescribeLiveDomainLogRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeLiveDomainLogRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeLiveDomainLogRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveDomainLogRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeLiveDomainLogRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeLiveDomainLogRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long DescribeLiveDomainLogRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveDomainLogRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 87 - 0
live/src/model/DescribeLiveDomainLogResult.cc

@@ -0,0 +1,87 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/live/model/DescribeLiveDomainLogResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveDomainLogResult::DescribeLiveDomainLogResult() :
+	ServiceResult()
+{}
+
+DescribeLiveDomainLogResult::DescribeLiveDomainLogResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveDomainLogResult::~DescribeLiveDomainLogResult()
+{}
+
+void DescribeLiveDomainLogResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDomainLogDetailsNode = value["DomainLogDetails"]["DomainLogDetail"];
+	for (auto valueDomainLogDetailsDomainLogDetail : allDomainLogDetailsNode)
+	{
+		DomainLogDetail domainLogDetailsObject;
+		if(!valueDomainLogDetailsDomainLogDetail["LogCount"].isNull())
+			domainLogDetailsObject.logCount = std::stol(valueDomainLogDetailsDomainLogDetail["LogCount"].asString());
+		auto allLogInfosNode = valueDomainLogDetailsDomainLogDetail["LogInfos"]["LogInfoDetail"];
+		for (auto valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail : allLogInfosNode)
+		{
+			DomainLogDetail::LogInfoDetail logInfosObject;
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogName"].isNull())
+				logInfosObject.logName = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogName"].asString();
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogPath"].isNull())
+				logInfosObject.logPath = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogPath"].asString();
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogSize"].isNull())
+				logInfosObject.logSize = std::stol(valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["LogSize"].asString());
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["StartTime"].isNull())
+				logInfosObject.startTime = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["StartTime"].asString();
+			if(!valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["EndTime"].isNull())
+				logInfosObject.endTime = valueDomainLogDetailsDomainLogDetailLogInfosLogInfoDetail["EndTime"].asString();
+			domainLogDetailsObject.logInfos.push_back(logInfosObject);
+		}
+		auto pageInfosNode = value["PageInfos"];
+		if(!pageInfosNode["PageIndex"].isNull())
+			domainLogDetailsObject.pageInfos.pageIndex = std::stol(pageInfosNode["PageIndex"].asString());
+		if(!pageInfosNode["PageSize"].isNull())
+			domainLogDetailsObject.pageInfos.pageSize = std::stol(pageInfosNode["PageSize"].asString());
+		if(!pageInfosNode["Total"].isNull())
+			domainLogDetailsObject.pageInfos.total = std::stol(pageInfosNode["Total"].asString());
+		domainLogDetails_.push_back(domainLogDetailsObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+
+}
+
+std::string DescribeLiveDomainLogResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::vector<DescribeLiveDomainLogResult::DomainLogDetail> DescribeLiveDomainLogResult::getDomainLogDetails()const
+{
+	return domainLogDetails_;
+}
+

+ 51 - 0
live/src/model/GetAllCustomTemplatesRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/GetAllCustomTemplatesRequest.h>
+
+using AlibabaCloud::Live::Model::GetAllCustomTemplatesRequest;
+
+GetAllCustomTemplatesRequest::GetAllCustomTemplatesRequest() :
+	RpcServiceRequest("live", "2016-11-01", "GetAllCustomTemplates")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetAllCustomTemplatesRequest::~GetAllCustomTemplatesRequest()
+{}
+
+std::string GetAllCustomTemplatesRequest::getUserId()const
+{
+	return userId_;
+}
+
+void GetAllCustomTemplatesRequest::setUserId(const std::string& userId)
+{
+	userId_ = userId;
+	setParameter("UserId", userId);
+}
+
+long GetAllCustomTemplatesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void GetAllCustomTemplatesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 51 - 0
live/src/model/GetAllCustomTemplatesResult.cc

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

+ 11 - 0
live/src/model/SetCasterConfigRequest.cc

@@ -115,6 +115,17 @@ void SetCasterConfigRequest::setSideOutputUrl(const std::string& sideOutputUrl)
 	setParameter("SideOutputUrl", sideOutputUrl);
 }
 
+std::string SetCasterConfigRequest::getSyncGroupsConfig()const
+{
+	return syncGroupsConfig_;
+}
+
+void SetCasterConfigRequest::setSyncGroupsConfig(const std::string& syncGroupsConfig)
+{
+	syncGroupsConfig_ = syncGroupsConfig;
+	setParameter("SyncGroupsConfig", syncGroupsConfig);
+}
+
 std::string SetCasterConfigRequest::getCasterId()const
 {
 	return casterId_;