Quellcode durchsuchen

Supported API for DescribeTags.

sdk-team vor 6 Jahren
Ursprung
Commit
8a1c79417e

+ 6 - 0
CHANGELOG

@@ -1,3 +1,9 @@
+2020-04-21 Version: 1.36.370
+- Supported API for DescribeTags.
+- Supported API for ListTagResources.
+- Supported API for TagResources.
+- Supported API for UntagResources.
+
 2020-04-21 Version: 1.36.369
 2020-04-21 Version: 1.36.369
 - Supported PackageDesign Apis.
 - Supported PackageDesign Apis.
 - Supported Api ListPackageDesignModelTypes.
 - Supported Api ListPackageDesignModelTypes.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.369
+1.36.370

+ 16 - 0
alidns/CMakeLists.txt

@@ -141,6 +141,8 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/DescribeSubDomainRecordsResult.h
 	include/alibabacloud/alidns/model/DescribeSubDomainRecordsResult.h
 	include/alibabacloud/alidns/model/DescribeSupportLinesRequest.h
 	include/alibabacloud/alidns/model/DescribeSupportLinesRequest.h
 	include/alibabacloud/alidns/model/DescribeSupportLinesResult.h
 	include/alibabacloud/alidns/model/DescribeSupportLinesResult.h
+	include/alibabacloud/alidns/model/DescribeTagsRequest.h
+	include/alibabacloud/alidns/model/DescribeTagsResult.h
 	include/alibabacloud/alidns/model/DescribeTransferDomainsRequest.h
 	include/alibabacloud/alidns/model/DescribeTransferDomainsRequest.h
 	include/alibabacloud/alidns/model/DescribeTransferDomainsResult.h
 	include/alibabacloud/alidns/model/DescribeTransferDomainsResult.h
 	include/alibabacloud/alidns/model/ExecuteGtmRecoveryPlanRequest.h
 	include/alibabacloud/alidns/model/ExecuteGtmRecoveryPlanRequest.h
@@ -149,6 +151,8 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/GetMainDomainNameResult.h
 	include/alibabacloud/alidns/model/GetMainDomainNameResult.h
 	include/alibabacloud/alidns/model/GetTxtRecordForVerifyRequest.h
 	include/alibabacloud/alidns/model/GetTxtRecordForVerifyRequest.h
 	include/alibabacloud/alidns/model/GetTxtRecordForVerifyResult.h
 	include/alibabacloud/alidns/model/GetTxtRecordForVerifyResult.h
+	include/alibabacloud/alidns/model/ListTagResourcesRequest.h
+	include/alibabacloud/alidns/model/ListTagResourcesResult.h
 	include/alibabacloud/alidns/model/ModifyHichinaDomainDNSRequest.h
 	include/alibabacloud/alidns/model/ModifyHichinaDomainDNSRequest.h
 	include/alibabacloud/alidns/model/ModifyHichinaDomainDNSResult.h
 	include/alibabacloud/alidns/model/ModifyHichinaDomainDNSResult.h
 	include/alibabacloud/alidns/model/OperateBatchDomainRequest.h
 	include/alibabacloud/alidns/model/OperateBatchDomainRequest.h
@@ -169,10 +173,14 @@ set(alidns_public_header_model
 	include/alibabacloud/alidns/model/SetGtmAccessModeResult.h
 	include/alibabacloud/alidns/model/SetGtmAccessModeResult.h
 	include/alibabacloud/alidns/model/SetGtmMonitorStatusRequest.h
 	include/alibabacloud/alidns/model/SetGtmMonitorStatusRequest.h
 	include/alibabacloud/alidns/model/SetGtmMonitorStatusResult.h
 	include/alibabacloud/alidns/model/SetGtmMonitorStatusResult.h
+	include/alibabacloud/alidns/model/TagResourcesRequest.h
+	include/alibabacloud/alidns/model/TagResourcesResult.h
 	include/alibabacloud/alidns/model/TransferDomainRequest.h
 	include/alibabacloud/alidns/model/TransferDomainRequest.h
 	include/alibabacloud/alidns/model/TransferDomainResult.h
 	include/alibabacloud/alidns/model/TransferDomainResult.h
 	include/alibabacloud/alidns/model/UnbindInstanceDomainsRequest.h
 	include/alibabacloud/alidns/model/UnbindInstanceDomainsRequest.h
 	include/alibabacloud/alidns/model/UnbindInstanceDomainsResult.h
 	include/alibabacloud/alidns/model/UnbindInstanceDomainsResult.h
+	include/alibabacloud/alidns/model/UntagResourcesRequest.h
+	include/alibabacloud/alidns/model/UntagResourcesResult.h
 	include/alibabacloud/alidns/model/UpdateCustomLineRequest.h
 	include/alibabacloud/alidns/model/UpdateCustomLineRequest.h
 	include/alibabacloud/alidns/model/UpdateCustomLineResult.h
 	include/alibabacloud/alidns/model/UpdateCustomLineResult.h
 	include/alibabacloud/alidns/model/UpdateDNSSLBWeightRequest.h
 	include/alibabacloud/alidns/model/UpdateDNSSLBWeightRequest.h
@@ -318,6 +326,8 @@ set(alidns_src
 	src/model/DescribeSubDomainRecordsResult.cc
 	src/model/DescribeSubDomainRecordsResult.cc
 	src/model/DescribeSupportLinesRequest.cc
 	src/model/DescribeSupportLinesRequest.cc
 	src/model/DescribeSupportLinesResult.cc
 	src/model/DescribeSupportLinesResult.cc
+	src/model/DescribeTagsRequest.cc
+	src/model/DescribeTagsResult.cc
 	src/model/DescribeTransferDomainsRequest.cc
 	src/model/DescribeTransferDomainsRequest.cc
 	src/model/DescribeTransferDomainsResult.cc
 	src/model/DescribeTransferDomainsResult.cc
 	src/model/ExecuteGtmRecoveryPlanRequest.cc
 	src/model/ExecuteGtmRecoveryPlanRequest.cc
@@ -326,6 +336,8 @@ set(alidns_src
 	src/model/GetMainDomainNameResult.cc
 	src/model/GetMainDomainNameResult.cc
 	src/model/GetTxtRecordForVerifyRequest.cc
 	src/model/GetTxtRecordForVerifyRequest.cc
 	src/model/GetTxtRecordForVerifyResult.cc
 	src/model/GetTxtRecordForVerifyResult.cc
+	src/model/ListTagResourcesRequest.cc
+	src/model/ListTagResourcesResult.cc
 	src/model/ModifyHichinaDomainDNSRequest.cc
 	src/model/ModifyHichinaDomainDNSRequest.cc
 	src/model/ModifyHichinaDomainDNSResult.cc
 	src/model/ModifyHichinaDomainDNSResult.cc
 	src/model/OperateBatchDomainRequest.cc
 	src/model/OperateBatchDomainRequest.cc
@@ -346,10 +358,14 @@ set(alidns_src
 	src/model/SetGtmAccessModeResult.cc
 	src/model/SetGtmAccessModeResult.cc
 	src/model/SetGtmMonitorStatusRequest.cc
 	src/model/SetGtmMonitorStatusRequest.cc
 	src/model/SetGtmMonitorStatusResult.cc
 	src/model/SetGtmMonitorStatusResult.cc
+	src/model/TagResourcesRequest.cc
+	src/model/TagResourcesResult.cc
 	src/model/TransferDomainRequest.cc
 	src/model/TransferDomainRequest.cc
 	src/model/TransferDomainResult.cc
 	src/model/TransferDomainResult.cc
 	src/model/UnbindInstanceDomainsRequest.cc
 	src/model/UnbindInstanceDomainsRequest.cc
 	src/model/UnbindInstanceDomainsResult.cc
 	src/model/UnbindInstanceDomainsResult.cc
+	src/model/UntagResourcesRequest.cc
+	src/model/UntagResourcesResult.cc
 	src/model/UpdateCustomLineRequest.cc
 	src/model/UpdateCustomLineRequest.cc
 	src/model/UpdateCustomLineResult.cc
 	src/model/UpdateCustomLineResult.cc
 	src/model/UpdateDNSSLBWeightRequest.cc
 	src/model/UpdateDNSSLBWeightRequest.cc

+ 32 - 0
alidns/include/alibabacloud/alidns/AlidnsClient.h

@@ -142,6 +142,8 @@
 #include "model/DescribeSubDomainRecordsResult.h"
 #include "model/DescribeSubDomainRecordsResult.h"
 #include "model/DescribeSupportLinesRequest.h"
 #include "model/DescribeSupportLinesRequest.h"
 #include "model/DescribeSupportLinesResult.h"
 #include "model/DescribeSupportLinesResult.h"
+#include "model/DescribeTagsRequest.h"
+#include "model/DescribeTagsResult.h"
 #include "model/DescribeTransferDomainsRequest.h"
 #include "model/DescribeTransferDomainsRequest.h"
 #include "model/DescribeTransferDomainsResult.h"
 #include "model/DescribeTransferDomainsResult.h"
 #include "model/ExecuteGtmRecoveryPlanRequest.h"
 #include "model/ExecuteGtmRecoveryPlanRequest.h"
@@ -150,6 +152,8 @@
 #include "model/GetMainDomainNameResult.h"
 #include "model/GetMainDomainNameResult.h"
 #include "model/GetTxtRecordForVerifyRequest.h"
 #include "model/GetTxtRecordForVerifyRequest.h"
 #include "model/GetTxtRecordForVerifyResult.h"
 #include "model/GetTxtRecordForVerifyResult.h"
+#include "model/ListTagResourcesRequest.h"
+#include "model/ListTagResourcesResult.h"
 #include "model/ModifyHichinaDomainDNSRequest.h"
 #include "model/ModifyHichinaDomainDNSRequest.h"
 #include "model/ModifyHichinaDomainDNSResult.h"
 #include "model/ModifyHichinaDomainDNSResult.h"
 #include "model/OperateBatchDomainRequest.h"
 #include "model/OperateBatchDomainRequest.h"
@@ -170,10 +174,14 @@
 #include "model/SetGtmAccessModeResult.h"
 #include "model/SetGtmAccessModeResult.h"
 #include "model/SetGtmMonitorStatusRequest.h"
 #include "model/SetGtmMonitorStatusRequest.h"
 #include "model/SetGtmMonitorStatusResult.h"
 #include "model/SetGtmMonitorStatusResult.h"
+#include "model/TagResourcesRequest.h"
+#include "model/TagResourcesResult.h"
 #include "model/TransferDomainRequest.h"
 #include "model/TransferDomainRequest.h"
 #include "model/TransferDomainResult.h"
 #include "model/TransferDomainResult.h"
 #include "model/UnbindInstanceDomainsRequest.h"
 #include "model/UnbindInstanceDomainsRequest.h"
 #include "model/UnbindInstanceDomainsResult.h"
 #include "model/UnbindInstanceDomainsResult.h"
+#include "model/UntagResourcesRequest.h"
+#include "model/UntagResourcesResult.h"
 #include "model/UpdateCustomLineRequest.h"
 #include "model/UpdateCustomLineRequest.h"
 #include "model/UpdateCustomLineResult.h"
 #include "model/UpdateCustomLineResult.h"
 #include "model/UpdateDNSSLBWeightRequest.h"
 #include "model/UpdateDNSSLBWeightRequest.h"
@@ -385,6 +393,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSupportLinesResult> DescribeSupportLinesOutcome;
 			typedef Outcome<Error, Model::DescribeSupportLinesResult> DescribeSupportLinesOutcome;
 			typedef std::future<DescribeSupportLinesOutcome> DescribeSupportLinesOutcomeCallable;
 			typedef std::future<DescribeSupportLinesOutcome> DescribeSupportLinesOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::DescribeSupportLinesRequest&, const DescribeSupportLinesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSupportLinesAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::DescribeSupportLinesRequest&, const DescribeSupportLinesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSupportLinesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeTagsResult> DescribeTagsOutcome;
+			typedef std::future<DescribeTagsOutcome> DescribeTagsOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::DescribeTagsRequest&, const DescribeTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTagsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeTransferDomainsResult> DescribeTransferDomainsOutcome;
 			typedef Outcome<Error, Model::DescribeTransferDomainsResult> DescribeTransferDomainsOutcome;
 			typedef std::future<DescribeTransferDomainsOutcome> DescribeTransferDomainsOutcomeCallable;
 			typedef std::future<DescribeTransferDomainsOutcome> DescribeTransferDomainsOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::DescribeTransferDomainsRequest&, const DescribeTransferDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTransferDomainsAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::DescribeTransferDomainsRequest&, const DescribeTransferDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTransferDomainsAsyncHandler;
@@ -397,6 +408,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetTxtRecordForVerifyResult> GetTxtRecordForVerifyOutcome;
 			typedef Outcome<Error, Model::GetTxtRecordForVerifyResult> GetTxtRecordForVerifyOutcome;
 			typedef std::future<GetTxtRecordForVerifyOutcome> GetTxtRecordForVerifyOutcomeCallable;
 			typedef std::future<GetTxtRecordForVerifyOutcome> GetTxtRecordForVerifyOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::GetTxtRecordForVerifyRequest&, const GetTxtRecordForVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTxtRecordForVerifyAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::GetTxtRecordForVerifyRequest&, const GetTxtRecordForVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTxtRecordForVerifyAsyncHandler;
+			typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
+			typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
 			typedef Outcome<Error, Model::ModifyHichinaDomainDNSResult> ModifyHichinaDomainDNSOutcome;
 			typedef Outcome<Error, Model::ModifyHichinaDomainDNSResult> ModifyHichinaDomainDNSOutcome;
 			typedef std::future<ModifyHichinaDomainDNSOutcome> ModifyHichinaDomainDNSOutcomeCallable;
 			typedef std::future<ModifyHichinaDomainDNSOutcome> ModifyHichinaDomainDNSOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::ModifyHichinaDomainDNSRequest&, const ModifyHichinaDomainDNSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyHichinaDomainDNSAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::ModifyHichinaDomainDNSRequest&, const ModifyHichinaDomainDNSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyHichinaDomainDNSAsyncHandler;
@@ -427,12 +441,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetGtmMonitorStatusResult> SetGtmMonitorStatusOutcome;
 			typedef Outcome<Error, Model::SetGtmMonitorStatusResult> SetGtmMonitorStatusOutcome;
 			typedef std::future<SetGtmMonitorStatusOutcome> SetGtmMonitorStatusOutcomeCallable;
 			typedef std::future<SetGtmMonitorStatusOutcome> SetGtmMonitorStatusOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::SetGtmMonitorStatusRequest&, const SetGtmMonitorStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetGtmMonitorStatusAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::SetGtmMonitorStatusRequest&, const SetGtmMonitorStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetGtmMonitorStatusAsyncHandler;
+			typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
+			typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
 			typedef Outcome<Error, Model::TransferDomainResult> TransferDomainOutcome;
 			typedef Outcome<Error, Model::TransferDomainResult> TransferDomainOutcome;
 			typedef std::future<TransferDomainOutcome> TransferDomainOutcomeCallable;
 			typedef std::future<TransferDomainOutcome> TransferDomainOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::TransferDomainRequest&, const TransferDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransferDomainAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::TransferDomainRequest&, const TransferDomainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransferDomainAsyncHandler;
 			typedef Outcome<Error, Model::UnbindInstanceDomainsResult> UnbindInstanceDomainsOutcome;
 			typedef Outcome<Error, Model::UnbindInstanceDomainsResult> UnbindInstanceDomainsOutcome;
 			typedef std::future<UnbindInstanceDomainsOutcome> UnbindInstanceDomainsOutcomeCallable;
 			typedef std::future<UnbindInstanceDomainsOutcome> UnbindInstanceDomainsOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::UnbindInstanceDomainsRequest&, const UnbindInstanceDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindInstanceDomainsAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::UnbindInstanceDomainsRequest&, const UnbindInstanceDomainsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindInstanceDomainsAsyncHandler;
+			typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
+			typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
+			typedef std::function<void(const AlidnsClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
 			typedef Outcome<Error, Model::UpdateCustomLineResult> UpdateCustomLineOutcome;
 			typedef Outcome<Error, Model::UpdateCustomLineResult> UpdateCustomLineOutcome;
 			typedef std::future<UpdateCustomLineOutcome> UpdateCustomLineOutcomeCallable;
 			typedef std::future<UpdateCustomLineOutcome> UpdateCustomLineOutcomeCallable;
 			typedef std::function<void(const AlidnsClient*, const Model::UpdateCustomLineRequest&, const UpdateCustomLineOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCustomLineAsyncHandler;
 			typedef std::function<void(const AlidnsClient*, const Model::UpdateCustomLineRequest&, const UpdateCustomLineOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCustomLineAsyncHandler;
@@ -651,6 +671,9 @@ namespace AlibabaCloud
 			DescribeSupportLinesOutcome describeSupportLines(const Model::DescribeSupportLinesRequest &request)const;
 			DescribeSupportLinesOutcome describeSupportLines(const Model::DescribeSupportLinesRequest &request)const;
 			void describeSupportLinesAsync(const Model::DescribeSupportLinesRequest& request, const DescribeSupportLinesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeSupportLinesAsync(const Model::DescribeSupportLinesRequest& request, const DescribeSupportLinesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSupportLinesOutcomeCallable describeSupportLinesCallable(const Model::DescribeSupportLinesRequest& request) const;
 			DescribeSupportLinesOutcomeCallable describeSupportLinesCallable(const Model::DescribeSupportLinesRequest& request) const;
+			DescribeTagsOutcome describeTags(const Model::DescribeTagsRequest &request)const;
+			void describeTagsAsync(const Model::DescribeTagsRequest& request, const DescribeTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeTagsOutcomeCallable describeTagsCallable(const Model::DescribeTagsRequest& request) const;
 			DescribeTransferDomainsOutcome describeTransferDomains(const Model::DescribeTransferDomainsRequest &request)const;
 			DescribeTransferDomainsOutcome describeTransferDomains(const Model::DescribeTransferDomainsRequest &request)const;
 			void describeTransferDomainsAsync(const Model::DescribeTransferDomainsRequest& request, const DescribeTransferDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeTransferDomainsAsync(const Model::DescribeTransferDomainsRequest& request, const DescribeTransferDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTransferDomainsOutcomeCallable describeTransferDomainsCallable(const Model::DescribeTransferDomainsRequest& request) const;
 			DescribeTransferDomainsOutcomeCallable describeTransferDomainsCallable(const Model::DescribeTransferDomainsRequest& request) const;
@@ -663,6 +686,9 @@ namespace AlibabaCloud
 			GetTxtRecordForVerifyOutcome getTxtRecordForVerify(const Model::GetTxtRecordForVerifyRequest &request)const;
 			GetTxtRecordForVerifyOutcome getTxtRecordForVerify(const Model::GetTxtRecordForVerifyRequest &request)const;
 			void getTxtRecordForVerifyAsync(const Model::GetTxtRecordForVerifyRequest& request, const GetTxtRecordForVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void getTxtRecordForVerifyAsync(const Model::GetTxtRecordForVerifyRequest& request, const GetTxtRecordForVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetTxtRecordForVerifyOutcomeCallable getTxtRecordForVerifyCallable(const Model::GetTxtRecordForVerifyRequest& request) const;
 			GetTxtRecordForVerifyOutcomeCallable getTxtRecordForVerifyCallable(const Model::GetTxtRecordForVerifyRequest& request) const;
+			ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
+			void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
 			ModifyHichinaDomainDNSOutcome modifyHichinaDomainDNS(const Model::ModifyHichinaDomainDNSRequest &request)const;
 			ModifyHichinaDomainDNSOutcome modifyHichinaDomainDNS(const Model::ModifyHichinaDomainDNSRequest &request)const;
 			void modifyHichinaDomainDNSAsync(const Model::ModifyHichinaDomainDNSRequest& request, const ModifyHichinaDomainDNSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void modifyHichinaDomainDNSAsync(const Model::ModifyHichinaDomainDNSRequest& request, const ModifyHichinaDomainDNSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyHichinaDomainDNSOutcomeCallable modifyHichinaDomainDNSCallable(const Model::ModifyHichinaDomainDNSRequest& request) const;
 			ModifyHichinaDomainDNSOutcomeCallable modifyHichinaDomainDNSCallable(const Model::ModifyHichinaDomainDNSRequest& request) const;
@@ -693,12 +719,18 @@ namespace AlibabaCloud
 			SetGtmMonitorStatusOutcome setGtmMonitorStatus(const Model::SetGtmMonitorStatusRequest &request)const;
 			SetGtmMonitorStatusOutcome setGtmMonitorStatus(const Model::SetGtmMonitorStatusRequest &request)const;
 			void setGtmMonitorStatusAsync(const Model::SetGtmMonitorStatusRequest& request, const SetGtmMonitorStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void setGtmMonitorStatusAsync(const Model::SetGtmMonitorStatusRequest& request, const SetGtmMonitorStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetGtmMonitorStatusOutcomeCallable setGtmMonitorStatusCallable(const Model::SetGtmMonitorStatusRequest& request) const;
 			SetGtmMonitorStatusOutcomeCallable setGtmMonitorStatusCallable(const Model::SetGtmMonitorStatusRequest& request) const;
+			TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
+			void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
 			TransferDomainOutcome transferDomain(const Model::TransferDomainRequest &request)const;
 			TransferDomainOutcome transferDomain(const Model::TransferDomainRequest &request)const;
 			void transferDomainAsync(const Model::TransferDomainRequest& request, const TransferDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void transferDomainAsync(const Model::TransferDomainRequest& request, const TransferDomainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TransferDomainOutcomeCallable transferDomainCallable(const Model::TransferDomainRequest& request) const;
 			TransferDomainOutcomeCallable transferDomainCallable(const Model::TransferDomainRequest& request) const;
 			UnbindInstanceDomainsOutcome unbindInstanceDomains(const Model::UnbindInstanceDomainsRequest &request)const;
 			UnbindInstanceDomainsOutcome unbindInstanceDomains(const Model::UnbindInstanceDomainsRequest &request)const;
 			void unbindInstanceDomainsAsync(const Model::UnbindInstanceDomainsRequest& request, const UnbindInstanceDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void unbindInstanceDomainsAsync(const Model::UnbindInstanceDomainsRequest& request, const UnbindInstanceDomainsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbindInstanceDomainsOutcomeCallable unbindInstanceDomainsCallable(const Model::UnbindInstanceDomainsRequest& request) const;
 			UnbindInstanceDomainsOutcomeCallable unbindInstanceDomainsCallable(const Model::UnbindInstanceDomainsRequest& request) const;
+			UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
+			void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
 			UpdateCustomLineOutcome updateCustomLine(const Model::UpdateCustomLineRequest &request)const;
 			UpdateCustomLineOutcome updateCustomLine(const Model::UpdateCustomLineRequest &request)const;
 			void updateCustomLineAsync(const Model::UpdateCustomLineRequest& request, const UpdateCustomLineAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void updateCustomLineAsync(const Model::UpdateCustomLineRequest& request, const UpdateCustomLineAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateCustomLineOutcomeCallable updateCustomLineCallable(const Model::UpdateCustomLineRequest& request) const;
 			UpdateCustomLineOutcomeCallable updateCustomLineCallable(const Model::UpdateCustomLineRequest& request) const;

+ 9 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainsRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_ALIDNS_EXPORT DescribeDomainsRequest : public RpcServiceRequest
 			class ALIBABACLOUD_ALIDNS_EXPORT DescribeDomainsRequest : public RpcServiceRequest
 			{
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 
 			public:
 			public:
 				DescribeDomainsRequest();
 				DescribeDomainsRequest();
@@ -43,6 +49,8 @@ namespace AlibabaCloud
 				void setResourceGroupId(const std::string& resourceGroupId);
 				void setResourceGroupId(const std::string& resourceGroupId);
 				long getPageSize()const;
 				long getPageSize()const;
 				void setPageSize(long pageSize);
 				void setPageSize(long pageSize);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getLang()const;
 				std::string getLang()const;
 				void setLang(const std::string& lang);
 				void setLang(const std::string& lang);
 				std::string getKeyWord()const;
 				std::string getKeyWord()const;
@@ -67,6 +75,7 @@ namespace AlibabaCloud
 				long pageNumber_;
 				long pageNumber_;
 				std::string resourceGroupId_;
 				std::string resourceGroupId_;
 				long pageSize_;
 				long pageSize_;
+				std::vector<Tag> tag_;
 				std::string lang_;
 				std::string lang_;
 				std::string keyWord_;
 				std::string keyWord_;
 				std::string direction_;
 				std::string direction_;

+ 6 - 0
alidns/include/alibabacloud/alidns/model/DescribeDomainsResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 			public:
 				struct Domain
 				struct Domain
 				{
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string groupName;
 					std::string groupName;
 					bool aliDomain;
 					bool aliDomain;
 					std::string domainName;
 					std::string domainName;
@@ -52,6 +57,7 @@ namespace AlibabaCloud
 					bool instanceExpired;
 					bool instanceExpired;
 					long recordCount;
 					long recordCount;
 					long createTimestamp;
 					long createTimestamp;
+					std::vector<Domain::Tag> tags;
 				};
 				};
 
 
 
 

+ 60 - 0
alidns/include/alibabacloud/alidns/model/DescribeTagsRequest.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_ALIDNS_MODEL_DESCRIBETAGSREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETAGSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribeTagsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeTagsRequest();
+				~DescribeTagsRequest();
+
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string resourceType_;
+				long pageNumber_;
+				std::string userClientIp_;
+				long pageSize_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETAGSREQUEST_H_

+ 62 - 0
alidns/include/alibabacloud/alidns/model/DescribeTagsResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETAGSRESULT_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETAGSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT DescribeTagsResult : public ServiceResult
+			{
+			public:
+				struct Tag
+				{
+					std::vector<std::string> values;
+					std::string key;
+				};
+
+
+				DescribeTagsResult();
+				explicit DescribeTagsResult(const std::string &payload);
+				~DescribeTagsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				long getPageNumber()const;
+				std::vector<Tag> getTags()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				long pageNumber_;
+				std::vector<Tag> tags_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETAGSRESULT_H_

+ 72 - 0
alidns/include/alibabacloud/alidns/model/ListTagResourcesRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ALIDNS_MODEL_LISTTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_LISTTAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT ListTagResourcesRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				ListTagResourcesRequest();
+				~ListTagResourcesRequest();
+
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+				int getSize()const;
+				void setSize(int size);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::vector<std::string> resourceId_;
+				std::string resourceType_;
+				int size_;
+				std::string nextToken_;
+				std::string userClientIp_;
+				std::vector<Tag> tag_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_LISTTAGRESOURCESREQUEST_H_

+ 60 - 0
alidns/include/alibabacloud/alidns/model/ListTagResourcesResult.h

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

+ 69 - 0
alidns/include/alibabacloud/alidns/model/TagResourcesRequest.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_ALIDNS_MODEL_TAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_TAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT TagResourcesRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				TagResourcesRequest();
+				~TagResourcesRequest();
+
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				bool getOverWrite()const;
+				void setOverWrite(bool overWrite);
+
+            private:
+				std::vector<std::string> resourceId_;
+				std::string resourceType_;
+				std::string userClientIp_;
+				std::vector<Tag> tag_;
+				std::string lang_;
+				bool overWrite_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_TAGRESOURCESREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/TagResourcesResult.h

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

+ 63 - 0
alidns/include/alibabacloud/alidns/model/UntagResourcesRequest.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_ALIDNS_MODEL_UNTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_ALIDNS_MODEL_UNTAGRESOURCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/alidns/AlidnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Alidns
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ALIDNS_EXPORT UntagResourcesRequest : public RpcServiceRequest
+			{
+
+			public:
+				UntagResourcesRequest();
+				~UntagResourcesRequest();
+
+				bool getAll()const;
+				void setAll(bool all);
+				std::vector<std::string> getResourceId()const;
+				void setResourceId(const std::vector<std::string>& resourceId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				std::vector<std::string> getTagKey()const;
+				void setTagKey(const std::vector<std::string>& tagKey);
+
+            private:
+				bool all_;
+				std::vector<std::string> resourceId_;
+				std::string resourceType_;
+				std::string userClientIp_;
+				std::string lang_;
+				std::vector<std::string> tagKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ALIDNS_MODEL_UNTAGRESOURCESREQUEST_H_

+ 49 - 0
alidns/include/alibabacloud/alidns/model/UntagResourcesResult.h

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

+ 144 - 0
alidns/src/AlidnsClient.cc

@@ -2211,6 +2211,42 @@ AlidnsClient::DescribeSupportLinesOutcomeCallable AlidnsClient::describeSupportL
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+AlidnsClient::DescribeTagsOutcome AlidnsClient::describeTags(const DescribeTagsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeTagsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeTagsOutcome(DescribeTagsResult(outcome.result()));
+	else
+		return DescribeTagsOutcome(outcome.error());
+}
+
+void AlidnsClient::describeTagsAsync(const DescribeTagsRequest& request, const DescribeTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeTags(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlidnsClient::DescribeTagsOutcomeCallable AlidnsClient::describeTagsCallable(const DescribeTagsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeTagsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeTags(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlidnsClient::DescribeTransferDomainsOutcome AlidnsClient::describeTransferDomains(const DescribeTransferDomainsRequest &request) const
 AlidnsClient::DescribeTransferDomainsOutcome AlidnsClient::describeTransferDomains(const DescribeTransferDomainsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2355,6 +2391,42 @@ AlidnsClient::GetTxtRecordForVerifyOutcomeCallable AlidnsClient::getTxtRecordFor
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+AlidnsClient::ListTagResourcesOutcome AlidnsClient::listTagResources(const ListTagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagResourcesOutcome(ListTagResourcesResult(outcome.result()));
+	else
+		return ListTagResourcesOutcome(outcome.error());
+}
+
+void AlidnsClient::listTagResourcesAsync(const ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlidnsClient::ListTagResourcesOutcomeCallable AlidnsClient::listTagResourcesCallable(const ListTagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlidnsClient::ModifyHichinaDomainDNSOutcome AlidnsClient::modifyHichinaDomainDNS(const ModifyHichinaDomainDNSRequest &request) const
 AlidnsClient::ModifyHichinaDomainDNSOutcome AlidnsClient::modifyHichinaDomainDNS(const ModifyHichinaDomainDNSRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2715,6 +2787,42 @@ AlidnsClient::SetGtmMonitorStatusOutcomeCallable AlidnsClient::setGtmMonitorStat
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+AlidnsClient::TagResourcesOutcome AlidnsClient::tagResources(const TagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TagResourcesOutcome(TagResourcesResult(outcome.result()));
+	else
+		return TagResourcesOutcome(outcome.error());
+}
+
+void AlidnsClient::tagResourcesAsync(const TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, tagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlidnsClient::TagResourcesOutcomeCallable AlidnsClient::tagResourcesCallable(const TagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->tagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlidnsClient::TransferDomainOutcome AlidnsClient::transferDomain(const TransferDomainRequest &request) const
 AlidnsClient::TransferDomainOutcome AlidnsClient::transferDomain(const TransferDomainRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2787,6 +2895,42 @@ AlidnsClient::UnbindInstanceDomainsOutcomeCallable AlidnsClient::unbindInstanceD
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+AlidnsClient::UntagResourcesOutcome AlidnsClient::untagResources(const UntagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UntagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UntagResourcesOutcome(UntagResourcesResult(outcome.result()));
+	else
+		return UntagResourcesOutcome(outcome.error());
+}
+
+void AlidnsClient::untagResourcesAsync(const UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, untagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AlidnsClient::UntagResourcesOutcomeCallable AlidnsClient::untagResourcesCallable(const UntagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UntagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->untagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AlidnsClient::UpdateCustomLineOutcome AlidnsClient::updateCustomLine(const UpdateCustomLineRequest &request) const
 AlidnsClient::UpdateCustomLineOutcome AlidnsClient::updateCustomLine(const UpdateCustomLineRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 16 - 0
alidns/src/model/DescribeDomainsRequest.cc

@@ -71,6 +71,22 @@ void DescribeDomainsRequest::setPageSize(long pageSize)
 	setParameter("PageSize", std::to_string(pageSize));
 	setParameter("PageSize", std::to_string(pageSize));
 }
 }
 
 
+std::vector<DescribeDomainsRequest::Tag> DescribeDomainsRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeDomainsRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
 std::string DescribeDomainsRequest::getLang()const
 std::string DescribeDomainsRequest::getLang()const
 {
 {
 	return lang_;
 	return lang_;

+ 10 - 0
alidns/src/model/DescribeDomainsResult.cc

@@ -77,6 +77,16 @@ void DescribeDomainsResult::parse(const std::string &payload)
 			domainsObject.createTime = valueDomainsDomain["CreateTime"].asString();
 			domainsObject.createTime = valueDomainsDomain["CreateTime"].asString();
 		if(!valueDomainsDomain["CreateTimestamp"].isNull())
 		if(!valueDomainsDomain["CreateTimestamp"].isNull())
 			domainsObject.createTimestamp = std::stol(valueDomainsDomain["CreateTimestamp"].asString());
 			domainsObject.createTimestamp = std::stol(valueDomainsDomain["CreateTimestamp"].asString());
+		auto allTagsNode = allDomainsNode["Tags"]["Tag"];
+		for (auto allDomainsNodeTagsTag : allTagsNode)
+		{
+			Domain::Tag tagsObject;
+			if(!allDomainsNodeTagsTag["Key"].isNull())
+				tagsObject.key = allDomainsNodeTagsTag["Key"].asString();
+			if(!allDomainsNodeTagsTag["Value"].isNull())
+				tagsObject.value = allDomainsNodeTagsTag["Value"].asString();
+			domainsObject.tags.push_back(tagsObject);
+		}
 		auto allDnsServers = value["DnsServers"]["DnsServer"];
 		auto allDnsServers = value["DnsServers"]["DnsServer"];
 		for (auto value : allDnsServers)
 		for (auto value : allDnsServers)
 			domainsObject.dnsServers.push_back(value.asString());
 			domainsObject.dnsServers.push_back(value.asString());

+ 84 - 0
alidns/src/model/DescribeTagsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribeTagsRequest.h>
+
+using AlibabaCloud::Alidns::Model::DescribeTagsRequest;
+
+DescribeTagsRequest::DescribeTagsRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "DescribeTags")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeTagsRequest::~DescribeTagsRequest()
+{}
+
+std::string DescribeTagsRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void DescribeTagsRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+long DescribeTagsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeTagsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeTagsRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void DescribeTagsRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+long DescribeTagsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeTagsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeTagsRequest::getLang()const
+{
+	return lang_;
+}
+
+void DescribeTagsRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 81 - 0
alidns/src/model/DescribeTagsResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/DescribeTagsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+DescribeTagsResult::DescribeTagsResult() :
+	ServiceResult()
+{}
+
+DescribeTagsResult::DescribeTagsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeTagsResult::~DescribeTagsResult()
+{}
+
+void DescribeTagsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Key"].isNull())
+			tagsObject.key = valueTagsTag["Key"].asString();
+		auto allValues = value["Values"]["Value"];
+		for (auto value : allValues)
+			tagsObject.values.push_back(value.asString());
+		tags_.push_back(tagsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+
+}
+
+long DescribeTagsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribeTagsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+long DescribeTagsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeTagsResult::Tag> DescribeTagsResult::getTags()const
+{
+	return tags_;
+}
+

+ 113 - 0
alidns/src/model/ListTagResourcesRequest.cc

@@ -0,0 +1,113 @@
+/*
+ * 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/alidns/model/ListTagResourcesRequest.h>
+
+using AlibabaCloud::Alidns::Model::ListTagResourcesRequest;
+
+ListTagResourcesRequest::ListTagResourcesRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "ListTagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListTagResourcesRequest::~ListTagResourcesRequest()
+{}
+
+std::vector<std::string> ListTagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void ListTagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+std::string ListTagResourcesRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void ListTagResourcesRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+int ListTagResourcesRequest::getSize()const
+{
+	return size_;
+}
+
+void ListTagResourcesRequest::setSize(int size)
+{
+	size_ = size;
+	setParameter("Size", std::to_string(size));
+}
+
+std::string ListTagResourcesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void ListTagResourcesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+std::string ListTagResourcesRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void ListTagResourcesRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::vector<ListTagResourcesRequest::Tag> ListTagResourcesRequest::getTag()const
+{
+	return tag_;
+}
+
+void ListTagResourcesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
+std::string ListTagResourcesRequest::getLang()const
+{
+	return lang_;
+}
+
+void ListTagResourcesRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 70 - 0
alidns/src/model/ListTagResourcesResult.cc

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/ListTagResourcesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Alidns;
+using namespace AlibabaCloud::Alidns::Model;
+
+ListTagResourcesResult::ListTagResourcesResult() :
+	ServiceResult()
+{}
+
+ListTagResourcesResult::ListTagResourcesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListTagResourcesResult::~ListTagResourcesResult()
+{}
+
+void ListTagResourcesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTagResourcesNode = value["TagResources"]["TagResource"];
+	for (auto valueTagResourcesTagResource : allTagResourcesNode)
+	{
+		TagResource tagResourcesObject;
+		if(!valueTagResourcesTagResource["TagKey"].isNull())
+			tagResourcesObject.tagKey = valueTagResourcesTagResource["TagKey"].asString();
+		if(!valueTagResourcesTagResource["TagValue"].isNull())
+			tagResourcesObject.tagValue = valueTagResourcesTagResource["TagValue"].asString();
+		if(!valueTagResourcesTagResource["ResourceId"].isNull())
+			tagResourcesObject.resourceId = valueTagResourcesTagResource["ResourceId"].asString();
+		if(!valueTagResourcesTagResource["ResourceType"].isNull())
+			tagResourcesObject.resourceType = valueTagResourcesTagResource["ResourceType"].asString();
+		tagResources_.push_back(tagResourcesObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string ListTagResourcesResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<ListTagResourcesResult::TagResource> ListTagResourcesResult::getTagResources()const
+{
+	return tagResources_;
+}
+

+ 102 - 0
alidns/src/model/TagResourcesRequest.cc

@@ -0,0 +1,102 @@
+/*
+ * 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/alidns/model/TagResourcesRequest.h>
+
+using AlibabaCloud::Alidns::Model::TagResourcesRequest;
+
+TagResourcesRequest::TagResourcesRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "TagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+TagResourcesRequest::~TagResourcesRequest()
+{}
+
+std::vector<std::string> TagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void TagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+std::string TagResourcesRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void TagResourcesRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+std::string TagResourcesRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void TagResourcesRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::vector<TagResourcesRequest::Tag> TagResourcesRequest::getTag()const
+{
+	return tag_;
+}
+
+void TagResourcesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
+std::string TagResourcesRequest::getLang()const
+{
+	return lang_;
+}
+
+void TagResourcesRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+bool TagResourcesRequest::getOverWrite()const
+{
+	return overWrite_;
+}
+
+void TagResourcesRequest::setOverWrite(bool overWrite)
+{
+	overWrite_ = overWrite;
+	setParameter("OverWrite", overWrite ? "true" : "false");
+}
+

+ 44 - 0
alidns/src/model/TagResourcesResult.cc

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

+ 99 - 0
alidns/src/model/UntagResourcesRequest.cc

@@ -0,0 +1,99 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/alidns/model/UntagResourcesRequest.h>
+
+using AlibabaCloud::Alidns::Model::UntagResourcesRequest;
+
+UntagResourcesRequest::UntagResourcesRequest() :
+	RpcServiceRequest("alidns", "2015-01-09", "UntagResources")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UntagResourcesRequest::~UntagResourcesRequest()
+{}
+
+bool UntagResourcesRequest::getAll()const
+{
+	return all_;
+}
+
+void UntagResourcesRequest::setAll(bool all)
+{
+	all_ = all;
+	setParameter("All", all ? "true" : "false");
+}
+
+std::vector<std::string> UntagResourcesRequest::getResourceId()const
+{
+	return resourceId_;
+}
+
+void UntagResourcesRequest::setResourceId(const std::vector<std::string>& resourceId)
+{
+	resourceId_ = resourceId;
+	for(int dep1 = 0; dep1!= resourceId.size(); dep1++) {
+		setParameter("ResourceId."+ std::to_string(dep1), resourceId.at(dep1));
+	}
+}
+
+std::string UntagResourcesRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void UntagResourcesRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+std::string UntagResourcesRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void UntagResourcesRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::string UntagResourcesRequest::getLang()const
+{
+	return lang_;
+}
+
+void UntagResourcesRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+std::vector<std::string> UntagResourcesRequest::getTagKey()const
+{
+	return tagKey_;
+}
+
+void UntagResourcesRequest::setTagKey(const std::vector<std::string>& tagKey)
+{
+	tagKey_ = tagKey;
+	for(int dep1 = 0; dep1!= tagKey.size(); dep1++) {
+		setParameter("TagKey."+ std::to_string(dep1), tagKey.at(dep1));
+	}
+}
+

+ 44 - 0
alidns/src/model/UntagResourcesResult.cc

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