Sfoglia il codice sorgente

Api add media storage class.

sdk-team 3 anni fa
parent
commit
e9912734b2

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1543
+1.36.1544

+ 8 - 0
vod/CMakeLists.txt

@@ -245,6 +245,8 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/RefreshVodObjectCachesResult.h
 	include/alibabacloud/vod/model/RegisterMediaRequest.h
 	include/alibabacloud/vod/model/RegisterMediaResult.h
+	include/alibabacloud/vod/model/RestoreMediaRequest.h
+	include/alibabacloud/vod/model/RestoreMediaResult.h
 	include/alibabacloud/vod/model/SearchEditingProjectRequest.h
 	include/alibabacloud/vod/model/SearchEditingProjectResult.h
 	include/alibabacloud/vod/model/SearchMediaRequest.h
@@ -297,6 +299,8 @@ set(vod_public_header_model
 	include/alibabacloud/vod/model/UpdateEditingProjectResult.h
 	include/alibabacloud/vod/model/UpdateImageInfosRequest.h
 	include/alibabacloud/vod/model/UpdateImageInfosResult.h
+	include/alibabacloud/vod/model/UpdateMediaStorageClassRequest.h
+	include/alibabacloud/vod/model/UpdateMediaStorageClassResult.h
 	include/alibabacloud/vod/model/UpdateTranscodeTemplateGroupRequest.h
 	include/alibabacloud/vod/model/UpdateTranscodeTemplateGroupResult.h
 	include/alibabacloud/vod/model/UpdateVideoInfoRequest.h
@@ -542,6 +546,8 @@ set(vod_src
 	src/model/RefreshVodObjectCachesResult.cc
 	src/model/RegisterMediaRequest.cc
 	src/model/RegisterMediaResult.cc
+	src/model/RestoreMediaRequest.cc
+	src/model/RestoreMediaResult.cc
 	src/model/SearchEditingProjectRequest.cc
 	src/model/SearchEditingProjectResult.cc
 	src/model/SearchMediaRequest.cc
@@ -594,6 +600,8 @@ set(vod_src
 	src/model/UpdateEditingProjectResult.cc
 	src/model/UpdateImageInfosRequest.cc
 	src/model/UpdateImageInfosResult.cc
+	src/model/UpdateMediaStorageClassRequest.cc
+	src/model/UpdateMediaStorageClassResult.cc
 	src/model/UpdateTranscodeTemplateGroupRequest.cc
 	src/model/UpdateTranscodeTemplateGroupResult.cc
 	src/model/UpdateVideoInfoRequest.cc

+ 16 - 0
vod/include/alibabacloud/vod/VodClient.h

@@ -246,6 +246,8 @@
 #include "model/RefreshVodObjectCachesResult.h"
 #include "model/RegisterMediaRequest.h"
 #include "model/RegisterMediaResult.h"
+#include "model/RestoreMediaRequest.h"
+#include "model/RestoreMediaResult.h"
 #include "model/SearchEditingProjectRequest.h"
 #include "model/SearchEditingProjectResult.h"
 #include "model/SearchMediaRequest.h"
@@ -298,6 +300,8 @@
 #include "model/UpdateEditingProjectResult.h"
 #include "model/UpdateImageInfosRequest.h"
 #include "model/UpdateImageInfosResult.h"
+#include "model/UpdateMediaStorageClassRequest.h"
+#include "model/UpdateMediaStorageClassResult.h"
 #include "model/UpdateTranscodeTemplateGroupRequest.h"
 #include "model/UpdateTranscodeTemplateGroupResult.h"
 #include "model/UpdateVideoInfoRequest.h"
@@ -661,6 +665,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RegisterMediaResult> RegisterMediaOutcome;
 			typedef std::future<RegisterMediaOutcome> RegisterMediaOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::RegisterMediaRequest&, const RegisterMediaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegisterMediaAsyncHandler;
+			typedef Outcome<Error, Model::RestoreMediaResult> RestoreMediaOutcome;
+			typedef std::future<RestoreMediaOutcome> RestoreMediaOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::RestoreMediaRequest&, const RestoreMediaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RestoreMediaAsyncHandler;
 			typedef Outcome<Error, Model::SearchEditingProjectResult> SearchEditingProjectOutcome;
 			typedef std::future<SearchEditingProjectOutcome> SearchEditingProjectOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::SearchEditingProjectRequest&, const SearchEditingProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchEditingProjectAsyncHandler;
@@ -739,6 +746,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateImageInfosResult> UpdateImageInfosOutcome;
 			typedef std::future<UpdateImageInfosOutcome> UpdateImageInfosOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::UpdateImageInfosRequest&, const UpdateImageInfosOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateImageInfosAsyncHandler;
+			typedef Outcome<Error, Model::UpdateMediaStorageClassResult> UpdateMediaStorageClassOutcome;
+			typedef std::future<UpdateMediaStorageClassOutcome> UpdateMediaStorageClassOutcomeCallable;
+			typedef std::function<void(const VodClient*, const Model::UpdateMediaStorageClassRequest&, const UpdateMediaStorageClassOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMediaStorageClassAsyncHandler;
 			typedef Outcome<Error, Model::UpdateTranscodeTemplateGroupResult> UpdateTranscodeTemplateGroupOutcome;
 			typedef std::future<UpdateTranscodeTemplateGroupOutcome> UpdateTranscodeTemplateGroupOutcomeCallable;
 			typedef std::function<void(const VodClient*, const Model::UpdateTranscodeTemplateGroupRequest&, const UpdateTranscodeTemplateGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTranscodeTemplateGroupAsyncHandler;
@@ -1107,6 +1117,9 @@ namespace AlibabaCloud
 			RegisterMediaOutcome registerMedia(const Model::RegisterMediaRequest &request)const;
 			void registerMediaAsync(const Model::RegisterMediaRequest& request, const RegisterMediaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RegisterMediaOutcomeCallable registerMediaCallable(const Model::RegisterMediaRequest& request) const;
+			RestoreMediaOutcome restoreMedia(const Model::RestoreMediaRequest &request)const;
+			void restoreMediaAsync(const Model::RestoreMediaRequest& request, const RestoreMediaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RestoreMediaOutcomeCallable restoreMediaCallable(const Model::RestoreMediaRequest& request) const;
 			SearchEditingProjectOutcome searchEditingProject(const Model::SearchEditingProjectRequest &request)const;
 			void searchEditingProjectAsync(const Model::SearchEditingProjectRequest& request, const SearchEditingProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SearchEditingProjectOutcomeCallable searchEditingProjectCallable(const Model::SearchEditingProjectRequest& request) const;
@@ -1185,6 +1198,9 @@ namespace AlibabaCloud
 			UpdateImageInfosOutcome updateImageInfos(const Model::UpdateImageInfosRequest &request)const;
 			void updateImageInfosAsync(const Model::UpdateImageInfosRequest& request, const UpdateImageInfosAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateImageInfosOutcomeCallable updateImageInfosCallable(const Model::UpdateImageInfosRequest& request) const;
+			UpdateMediaStorageClassOutcome updateMediaStorageClass(const Model::UpdateMediaStorageClassRequest &request)const;
+			void updateMediaStorageClassAsync(const Model::UpdateMediaStorageClassRequest& request, const UpdateMediaStorageClassAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateMediaStorageClassOutcomeCallable updateMediaStorageClassCallable(const Model::UpdateMediaStorageClassRequest& request) const;
 			UpdateTranscodeTemplateGroupOutcome updateTranscodeTemplateGroup(const Model::UpdateTranscodeTemplateGroupRequest &request)const;
 			void updateTranscodeTemplateGroupAsync(const Model::UpdateTranscodeTemplateGroupRequest& request, const UpdateTranscodeTemplateGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateTranscodeTemplateGroupOutcomeCallable updateTranscodeTemplateGroupCallable(const Model::UpdateTranscodeTemplateGroupRequest& request) const;

+ 51 - 0
vod/include/alibabacloud/vod/model/RestoreMediaRequest.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_VOD_MODEL_RESTOREMEDIAREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_RESTOREMEDIAREQUEST_H_
+
+#include <alibabacloud/vod/VodExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Vod {
+namespace Model {
+class ALIBABACLOUD_VOD_EXPORT RestoreMediaRequest : public RpcServiceRequest {
+public:
+	RestoreMediaRequest();
+	~RestoreMediaRequest();
+	std::string getRestoreTier() const;
+	void setRestoreTier(const std::string &restoreTier);
+	std::string getRestoreDays() const;
+	void setRestoreDays(const std::string &restoreDays);
+	std::string getScope() const;
+	void setScope(const std::string &scope);
+	std::string getMediaIds() const;
+	void setMediaIds(const std::string &mediaIds);
+
+private:
+	std::string restoreTier_;
+	std::string restoreDays_;
+	std::string scope_;
+	std::string mediaIds_;
+};
+} // namespace Model
+} // namespace Vod
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_VOD_MODEL_RESTOREMEDIAREQUEST_H_

+ 60 - 0
vod/include/alibabacloud/vod/model/RestoreMediaResult.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_VOD_MODEL_RESTOREMEDIARESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_RESTOREMEDIARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT RestoreMediaResult : public ServiceResult
+			{
+			public:
+				struct MediaForbiddenReasonDTO
+				{
+					std::string mediaId;
+					std::string reason;
+				};
+
+
+				RestoreMediaResult();
+				explicit RestoreMediaResult(const std::string &payload);
+				~RestoreMediaResult();
+				std::vector<std::string> getIgnoredList()const;
+				std::vector<MediaForbiddenReasonDTO> getForbiddenList()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> ignoredList_;
+				std::vector<MediaForbiddenReasonDTO> forbiddenList_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_RESTOREMEDIARESULT_H_

+ 51 - 0
vod/include/alibabacloud/vod/model/UpdateMediaStorageClassRequest.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_VOD_MODEL_UPDATEMEDIASTORAGECLASSREQUEST_H_
+#define ALIBABACLOUD_VOD_MODEL_UPDATEMEDIASTORAGECLASSREQUEST_H_
+
+#include <alibabacloud/vod/VodExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Vod {
+namespace Model {
+class ALIBABACLOUD_VOD_EXPORT UpdateMediaStorageClassRequest : public RpcServiceRequest {
+public:
+	UpdateMediaStorageClassRequest();
+	~UpdateMediaStorageClassRequest();
+	std::string getRestoreTier() const;
+	void setRestoreTier(const std::string &restoreTier);
+	std::string getScope() const;
+	void setScope(const std::string &scope);
+	std::string getMediaIds() const;
+	void setMediaIds(const std::string &mediaIds);
+	std::string getStorageClass() const;
+	void setStorageClass(const std::string &storageClass);
+
+private:
+	std::string restoreTier_;
+	std::string scope_;
+	std::string mediaIds_;
+	std::string storageClass_;
+};
+} // namespace Model
+} // namespace Vod
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_VOD_MODEL_UPDATEMEDIASTORAGECLASSREQUEST_H_

+ 60 - 0
vod/include/alibabacloud/vod/model/UpdateMediaStorageClassResult.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_VOD_MODEL_UPDATEMEDIASTORAGECLASSRESULT_H_
+#define ALIBABACLOUD_VOD_MODEL_UPDATEMEDIASTORAGECLASSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vod/VodExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vod
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VOD_EXPORT UpdateMediaStorageClassResult : public ServiceResult
+			{
+			public:
+				struct MediaForbiddenReasonDTO
+				{
+					std::string mediaId;
+					std::string reason;
+				};
+
+
+				UpdateMediaStorageClassResult();
+				explicit UpdateMediaStorageClassResult(const std::string &payload);
+				~UpdateMediaStorageClassResult();
+				std::string getStatus()const;
+				std::vector<std::string> getIgnoredList()const;
+				std::vector<MediaForbiddenReasonDTO> getForbiddenList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string status_;
+				std::vector<std::string> ignoredList_;
+				std::vector<MediaForbiddenReasonDTO> forbiddenList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VOD_MODEL_UPDATEMEDIASTORAGECLASSRESULT_H_

+ 72 - 0
vod/src/VodClient.cc

@@ -4083,6 +4083,42 @@ VodClient::RegisterMediaOutcomeCallable VodClient::registerMediaCallable(const R
 	return task->get_future();
 }
 
+VodClient::RestoreMediaOutcome VodClient::restoreMedia(const RestoreMediaRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RestoreMediaOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RestoreMediaOutcome(RestoreMediaResult(outcome.result()));
+	else
+		return RestoreMediaOutcome(outcome.error());
+}
+
+void VodClient::restoreMediaAsync(const RestoreMediaRequest& request, const RestoreMediaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, restoreMedia(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::RestoreMediaOutcomeCallable VodClient::restoreMediaCallable(const RestoreMediaRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RestoreMediaOutcome()>>(
+			[this, request]()
+			{
+			return this->restoreMedia(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::SearchEditingProjectOutcome VodClient::searchEditingProject(const SearchEditingProjectRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5019,6 +5055,42 @@ VodClient::UpdateImageInfosOutcomeCallable VodClient::updateImageInfosCallable(c
 	return task->get_future();
 }
 
+VodClient::UpdateMediaStorageClassOutcome VodClient::updateMediaStorageClass(const UpdateMediaStorageClassRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateMediaStorageClassOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateMediaStorageClassOutcome(UpdateMediaStorageClassResult(outcome.result()));
+	else
+		return UpdateMediaStorageClassOutcome(outcome.error());
+}
+
+void VodClient::updateMediaStorageClassAsync(const UpdateMediaStorageClassRequest& request, const UpdateMediaStorageClassAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateMediaStorageClass(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VodClient::UpdateMediaStorageClassOutcomeCallable VodClient::updateMediaStorageClassCallable(const UpdateMediaStorageClassRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateMediaStorageClassOutcome()>>(
+			[this, request]()
+			{
+			return this->updateMediaStorageClass(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VodClient::UpdateTranscodeTemplateGroupOutcome VodClient::updateTranscodeTemplateGroup(const UpdateTranscodeTemplateGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 63 - 0
vod/src/model/RestoreMediaRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vod/model/RestoreMediaRequest.h>
+
+using AlibabaCloud::Vod::Model::RestoreMediaRequest;
+
+RestoreMediaRequest::RestoreMediaRequest()
+    : RpcServiceRequest("vod", "2017-03-21", "RestoreMedia") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RestoreMediaRequest::~RestoreMediaRequest() {}
+
+std::string RestoreMediaRequest::getRestoreTier() const {
+  return restoreTier_;
+}
+
+void RestoreMediaRequest::setRestoreTier(const std::string &restoreTier) {
+  restoreTier_ = restoreTier;
+  setParameter(std::string("RestoreTier"), restoreTier);
+}
+
+std::string RestoreMediaRequest::getRestoreDays() const {
+  return restoreDays_;
+}
+
+void RestoreMediaRequest::setRestoreDays(const std::string &restoreDays) {
+  restoreDays_ = restoreDays;
+  setParameter(std::string("RestoreDays"), restoreDays);
+}
+
+std::string RestoreMediaRequest::getScope() const {
+  return scope_;
+}
+
+void RestoreMediaRequest::setScope(const std::string &scope) {
+  scope_ = scope;
+  setParameter(std::string("Scope"), scope);
+}
+
+std::string RestoreMediaRequest::getMediaIds() const {
+  return mediaIds_;
+}
+
+void RestoreMediaRequest::setMediaIds(const std::string &mediaIds) {
+  mediaIds_ = mediaIds;
+  setParameter(std::string("MediaIds"), mediaIds);
+}
+

+ 74 - 0
vod/src/model/RestoreMediaResult.cc

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vod/model/RestoreMediaResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+RestoreMediaResult::RestoreMediaResult() :
+	ServiceResult()
+{}
+
+RestoreMediaResult::RestoreMediaResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+RestoreMediaResult::~RestoreMediaResult()
+{}
+
+void RestoreMediaResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allForbiddenListNode = value["ForbiddenList"]["MediaForbiddenReasonDTO"];
+	for (auto valueForbiddenListMediaForbiddenReasonDTO : allForbiddenListNode)
+	{
+		MediaForbiddenReasonDTO forbiddenListObject;
+		if(!valueForbiddenListMediaForbiddenReasonDTO["MediaId"].isNull())
+			forbiddenListObject.mediaId = valueForbiddenListMediaForbiddenReasonDTO["MediaId"].asString();
+		if(!valueForbiddenListMediaForbiddenReasonDTO["Reason"].isNull())
+			forbiddenListObject.reason = valueForbiddenListMediaForbiddenReasonDTO["Reason"].asString();
+		forbiddenList_.push_back(forbiddenListObject);
+	}
+	auto allIgnoredList = value["IgnoredList"]["MediaId"];
+	for (const auto &item : allIgnoredList)
+		ignoredList_.push_back(item.asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::vector<std::string> RestoreMediaResult::getIgnoredList()const
+{
+	return ignoredList_;
+}
+
+std::vector<RestoreMediaResult::MediaForbiddenReasonDTO> RestoreMediaResult::getForbiddenList()const
+{
+	return forbiddenList_;
+}
+
+bool RestoreMediaResult::getSuccess()const
+{
+	return success_;
+}
+

+ 63 - 0
vod/src/model/UpdateMediaStorageClassRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vod/model/UpdateMediaStorageClassRequest.h>
+
+using AlibabaCloud::Vod::Model::UpdateMediaStorageClassRequest;
+
+UpdateMediaStorageClassRequest::UpdateMediaStorageClassRequest()
+    : RpcServiceRequest("vod", "2017-03-21", "UpdateMediaStorageClass") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateMediaStorageClassRequest::~UpdateMediaStorageClassRequest() {}
+
+std::string UpdateMediaStorageClassRequest::getRestoreTier() const {
+  return restoreTier_;
+}
+
+void UpdateMediaStorageClassRequest::setRestoreTier(const std::string &restoreTier) {
+  restoreTier_ = restoreTier;
+  setParameter(std::string("RestoreTier"), restoreTier);
+}
+
+std::string UpdateMediaStorageClassRequest::getScope() const {
+  return scope_;
+}
+
+void UpdateMediaStorageClassRequest::setScope(const std::string &scope) {
+  scope_ = scope;
+  setParameter(std::string("Scope"), scope);
+}
+
+std::string UpdateMediaStorageClassRequest::getMediaIds() const {
+  return mediaIds_;
+}
+
+void UpdateMediaStorageClassRequest::setMediaIds(const std::string &mediaIds) {
+  mediaIds_ = mediaIds;
+  setParameter(std::string("MediaIds"), mediaIds);
+}
+
+std::string UpdateMediaStorageClassRequest::getStorageClass() const {
+  return storageClass_;
+}
+
+void UpdateMediaStorageClassRequest::setStorageClass(const std::string &storageClass) {
+  storageClass_ = storageClass;
+  setParameter(std::string("StorageClass"), storageClass);
+}
+

+ 74 - 0
vod/src/model/UpdateMediaStorageClassResult.cc

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vod/model/UpdateMediaStorageClassResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vod;
+using namespace AlibabaCloud::Vod::Model;
+
+UpdateMediaStorageClassResult::UpdateMediaStorageClassResult() :
+	ServiceResult()
+{}
+
+UpdateMediaStorageClassResult::UpdateMediaStorageClassResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateMediaStorageClassResult::~UpdateMediaStorageClassResult()
+{}
+
+void UpdateMediaStorageClassResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allForbiddenListNode = value["ForbiddenList"]["MediaForbiddenReasonDTO"];
+	for (auto valueForbiddenListMediaForbiddenReasonDTO : allForbiddenListNode)
+	{
+		MediaForbiddenReasonDTO forbiddenListObject;
+		if(!valueForbiddenListMediaForbiddenReasonDTO["MediaId"].isNull())
+			forbiddenListObject.mediaId = valueForbiddenListMediaForbiddenReasonDTO["MediaId"].asString();
+		if(!valueForbiddenListMediaForbiddenReasonDTO["Reason"].isNull())
+			forbiddenListObject.reason = valueForbiddenListMediaForbiddenReasonDTO["Reason"].asString();
+		forbiddenList_.push_back(forbiddenListObject);
+	}
+	auto allIgnoredList = value["IgnoredList"]["MediaId"];
+	for (const auto &item : allIgnoredList)
+		ignoredList_.push_back(item.asString());
+	if(!value["Status"].isNull())
+		status_ = value["Status"].asString();
+
+}
+
+std::string UpdateMediaStorageClassResult::getStatus()const
+{
+	return status_;
+}
+
+std::vector<std::string> UpdateMediaStorageClassResult::getIgnoredList()const
+{
+	return ignoredList_;
+}
+
+std::vector<UpdateMediaStorageClassResult::MediaForbiddenReasonDTO> UpdateMediaStorageClassResult::getForbiddenList()const
+{
+	return forbiddenList_;
+}
+