Ver Fonte

由洛衡发起的DOMAIN SDK自动发布, 版本号:1.7.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao há 8 anos atrás
pai
commit
6ecfd8332a
37 ficheiros alterados com 2146 adições e 7 exclusões
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 24 0
      domain/CMakeLists.txt
  4. 48 0
      domain/include/alibabacloud/domain/DomainClient.h
  5. 54 0
      domain/include/alibabacloud/domain/model/DeleteDomainGroupRequest.h
  6. 49 0
      domain/include/alibabacloud/domain/model/DeleteDomainGroupResult.h
  7. 123 0
      domain/include/alibabacloud/domain/model/QueryAdvancedDomainListRequest.h
  8. 83 0
      domain/include/alibabacloud/domain/model/QueryAdvancedDomainListResult.h
  9. 3 0
      domain/include/alibabacloud/domain/model/QueryDomainGroupListRequest.h
  10. 5 3
      domain/include/alibabacloud/domain/model/QueryDomainGroupListResult.h
  11. 3 0
      domain/include/alibabacloud/domain/model/QueryDomainListRequest.h
  12. 2 0
      domain/include/alibabacloud/domain/model/QueryDomainListResult.h
  13. 48 0
      domain/include/alibabacloud/domain/model/QueryDomainSuffixRequest.h
  14. 51 0
      domain/include/alibabacloud/domain/model/QueryDomainSuffixResult.h
  15. 54 0
      domain/include/alibabacloud/domain/model/SaveBatchDomainRemarkRequest.h
  16. 49 0
      domain/include/alibabacloud/domain/model/SaveBatchDomainRemarkResult.h
  17. 57 0
      domain/include/alibabacloud/domain/model/SaveDomainGroupRequest.h
  18. 63 0
      domain/include/alibabacloud/domain/model/SaveDomainGroupResult.h
  19. 66 0
      domain/include/alibabacloud/domain/model/UpdateDomainToDomainGroupRequest.h
  20. 49 0
      domain/include/alibabacloud/domain/model/UpdateDomainToDomainGroupResult.h
  21. 216 0
      domain/src/DomainClient.cc
  22. 60 0
      domain/src/model/DeleteDomainGroupRequest.cc
  23. 45 0
      domain/src/model/DeleteDomainGroupResult.cc
  24. 313 0
      domain/src/model/QueryAdvancedDomainListRequest.cc
  25. 132 0
      domain/src/model/QueryAdvancedDomainListResult.cc
  26. 11 0
      domain/src/model/QueryDomainGroupListRequest.cc
  27. 7 3
      domain/src/model/QueryDomainGroupListResult.cc
  28. 11 0
      domain/src/model/QueryDomainListRequest.cc
  29. 4 0
      domain/src/model/QueryDomainListResult.cc
  30. 38 0
      domain/src/model/QueryDomainSuffixRequest.cc
  31. 53 0
      domain/src/model/QueryDomainSuffixResult.cc
  32. 60 0
      domain/src/model/SaveBatchDomainRemarkRequest.cc
  33. 45 0
      domain/src/model/SaveBatchDomainRemarkResult.cc
  34. 71 0
      domain/src/model/SaveDomainGroupRequest.cc
  35. 94 0
      domain/src/model/SaveDomainGroupResult.cc
  36. 105 0
      domain/src/model/UpdateDomainToDomainGroupRequest.cc
  37. 45 0
      domain/src/model/UpdateDomainToDomainGroupResult.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2018-04-26 Version: 1.7.0
+1, Add apis for domain group.
+3, Add fields for QueryDomainList.
+
 2018-04-24 Version: 1.6.5
 1, add interface FetchPhotos
 2, add xflush log param unixTimestamp

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.6.5
+1.7.0

+ 24 - 0
domain/CMakeLists.txt

@@ -49,6 +49,8 @@ set(domain_public_header_model
 	include/alibabacloud/domain/model/CheckTransferInFeasibilityResult.h
 	include/alibabacloud/domain/model/QueryFailReasonForDomainRealNameVerificationRequest.h
 	include/alibabacloud/domain/model/QueryFailReasonForDomainRealNameVerificationResult.h
+	include/alibabacloud/domain/model/QueryAdvancedDomainListRequest.h
+	include/alibabacloud/domain/model/QueryAdvancedDomainListResult.h
 	include/alibabacloud/domain/model/QueryTransferOutInfoRequest.h
 	include/alibabacloud/domain/model/QueryTransferOutInfoResult.h
 	include/alibabacloud/domain/model/SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest.h
@@ -57,6 +59,8 @@ set(domain_public_header_model
 	include/alibabacloud/domain/model/SaveSingleTaskForCreatingOrderRedeemResult.h
 	include/alibabacloud/domain/model/QueryTaskDetailListRequest.h
 	include/alibabacloud/domain/model/QueryTaskDetailListResult.h
+	include/alibabacloud/domain/model/SaveBatchDomainRemarkRequest.h
+	include/alibabacloud/domain/model/SaveBatchDomainRemarkResult.h
 	include/alibabacloud/domain/model/VerifyContactFieldRequest.h
 	include/alibabacloud/domain/model/VerifyContactFieldResult.h
 	include/alibabacloud/domain/model/RegistrantProfileRealNameVerificationRequest.h
@@ -77,12 +81,16 @@ set(domain_public_header_model
 	include/alibabacloud/domain/model/QueryTransferInByInstanceIdResult.h
 	include/alibabacloud/domain/model/SaveSingleTaskForUpdateProhibitionLockRequest.h
 	include/alibabacloud/domain/model/SaveSingleTaskForUpdateProhibitionLockResult.h
+	include/alibabacloud/domain/model/UpdateDomainToDomainGroupRequest.h
+	include/alibabacloud/domain/model/UpdateDomainToDomainGroupResult.h
 	include/alibabacloud/domain/model/QueryContactInfoRequest.h
 	include/alibabacloud/domain/model/QueryContactInfoResult.h
 	include/alibabacloud/domain/model/ReserveDomainRequest.h
 	include/alibabacloud/domain/model/ReserveDomainResult.h
 	include/alibabacloud/domain/model/TransferInResendMailTokenRequest.h
 	include/alibabacloud/domain/model/TransferInResendMailTokenResult.h
+	include/alibabacloud/domain/model/QueryDomainSuffixRequest.h
+	include/alibabacloud/domain/model/QueryDomainSuffixResult.h
 	include/alibabacloud/domain/model/SaveSingleTaskForQueryingTransferAuthorizationCodeRequest.h
 	include/alibabacloud/domain/model/SaveSingleTaskForQueryingTransferAuthorizationCodeResult.h
 	include/alibabacloud/domain/model/GetReserveDomainUrlRequest.h
@@ -101,6 +109,8 @@ set(domain_public_header_model
 	include/alibabacloud/domain/model/BidDomainResult.h
 	include/alibabacloud/domain/model/SaveSingleTaskForCancelingTransferOutRequest.h
 	include/alibabacloud/domain/model/SaveSingleTaskForCancelingTransferOutResult.h
+	include/alibabacloud/domain/model/SaveDomainGroupRequest.h
+	include/alibabacloud/domain/model/SaveDomainGroupResult.h
 	include/alibabacloud/domain/model/AcknowledgeTaskResultRequest.h
 	include/alibabacloud/domain/model/AcknowledgeTaskResultResult.h
 	include/alibabacloud/domain/model/SaveSingleTaskForApprovingTransferOutRequest.h
@@ -111,6 +121,8 @@ set(domain_public_header_model
 	include/alibabacloud/domain/model/SaveBatchTaskForCreatingOrderTransferResult.h
 	include/alibabacloud/domain/model/SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest.h
 	include/alibabacloud/domain/model/SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResult.h
+	include/alibabacloud/domain/model/DeleteDomainGroupRequest.h
+	include/alibabacloud/domain/model/DeleteDomainGroupResult.h
 	include/alibabacloud/domain/model/SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest.h
 	include/alibabacloud/domain/model/SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResult.h
 	include/alibabacloud/domain/model/QueryAuctionDetailRequest.h
@@ -198,6 +210,8 @@ set(domain_src
 	src/model/CheckTransferInFeasibilityResult.cc
 	src/model/QueryFailReasonForDomainRealNameVerificationRequest.cc
 	src/model/QueryFailReasonForDomainRealNameVerificationResult.cc
+	src/model/QueryAdvancedDomainListRequest.cc
+	src/model/QueryAdvancedDomainListResult.cc
 	src/model/QueryTransferOutInfoRequest.cc
 	src/model/QueryTransferOutInfoResult.cc
 	src/model/SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest.cc
@@ -206,6 +220,8 @@ set(domain_src
 	src/model/SaveSingleTaskForCreatingOrderRedeemResult.cc
 	src/model/QueryTaskDetailListRequest.cc
 	src/model/QueryTaskDetailListResult.cc
+	src/model/SaveBatchDomainRemarkRequest.cc
+	src/model/SaveBatchDomainRemarkResult.cc
 	src/model/VerifyContactFieldRequest.cc
 	src/model/VerifyContactFieldResult.cc
 	src/model/RegistrantProfileRealNameVerificationRequest.cc
@@ -226,12 +242,16 @@ set(domain_src
 	src/model/QueryTransferInByInstanceIdResult.cc
 	src/model/SaveSingleTaskForUpdateProhibitionLockRequest.cc
 	src/model/SaveSingleTaskForUpdateProhibitionLockResult.cc
+	src/model/UpdateDomainToDomainGroupRequest.cc
+	src/model/UpdateDomainToDomainGroupResult.cc
 	src/model/QueryContactInfoRequest.cc
 	src/model/QueryContactInfoResult.cc
 	src/model/ReserveDomainRequest.cc
 	src/model/ReserveDomainResult.cc
 	src/model/TransferInResendMailTokenRequest.cc
 	src/model/TransferInResendMailTokenResult.cc
+	src/model/QueryDomainSuffixRequest.cc
+	src/model/QueryDomainSuffixResult.cc
 	src/model/SaveSingleTaskForQueryingTransferAuthorizationCodeRequest.cc
 	src/model/SaveSingleTaskForQueryingTransferAuthorizationCodeResult.cc
 	src/model/GetReserveDomainUrlRequest.cc
@@ -250,6 +270,8 @@ set(domain_src
 	src/model/BidDomainResult.cc
 	src/model/SaveSingleTaskForCancelingTransferOutRequest.cc
 	src/model/SaveSingleTaskForCancelingTransferOutResult.cc
+	src/model/SaveDomainGroupRequest.cc
+	src/model/SaveDomainGroupResult.cc
 	src/model/AcknowledgeTaskResultRequest.cc
 	src/model/AcknowledgeTaskResultResult.cc
 	src/model/SaveSingleTaskForApprovingTransferOutRequest.cc
@@ -260,6 +282,8 @@ set(domain_src
 	src/model/SaveBatchTaskForCreatingOrderTransferResult.cc
 	src/model/SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest.cc
 	src/model/SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResult.cc
+	src/model/DeleteDomainGroupRequest.cc
+	src/model/DeleteDomainGroupResult.cc
 	src/model/SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest.cc
 	src/model/SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResult.cc
 	src/model/QueryAuctionDetailRequest.cc

+ 48 - 0
domain/include/alibabacloud/domain/DomainClient.h

@@ -50,6 +50,8 @@
 #include "model/CheckTransferInFeasibilityResult.h"
 #include "model/QueryFailReasonForDomainRealNameVerificationRequest.h"
 #include "model/QueryFailReasonForDomainRealNameVerificationResult.h"
+#include "model/QueryAdvancedDomainListRequest.h"
+#include "model/QueryAdvancedDomainListResult.h"
 #include "model/QueryTransferOutInfoRequest.h"
 #include "model/QueryTransferOutInfoResult.h"
 #include "model/SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest.h"
@@ -58,6 +60,8 @@
 #include "model/SaveSingleTaskForCreatingOrderRedeemResult.h"
 #include "model/QueryTaskDetailListRequest.h"
 #include "model/QueryTaskDetailListResult.h"
+#include "model/SaveBatchDomainRemarkRequest.h"
+#include "model/SaveBatchDomainRemarkResult.h"
 #include "model/VerifyContactFieldRequest.h"
 #include "model/VerifyContactFieldResult.h"
 #include "model/RegistrantProfileRealNameVerificationRequest.h"
@@ -78,12 +82,16 @@
 #include "model/QueryTransferInByInstanceIdResult.h"
 #include "model/SaveSingleTaskForUpdateProhibitionLockRequest.h"
 #include "model/SaveSingleTaskForUpdateProhibitionLockResult.h"
+#include "model/UpdateDomainToDomainGroupRequest.h"
+#include "model/UpdateDomainToDomainGroupResult.h"
 #include "model/QueryContactInfoRequest.h"
 #include "model/QueryContactInfoResult.h"
 #include "model/ReserveDomainRequest.h"
 #include "model/ReserveDomainResult.h"
 #include "model/TransferInResendMailTokenRequest.h"
 #include "model/TransferInResendMailTokenResult.h"
+#include "model/QueryDomainSuffixRequest.h"
+#include "model/QueryDomainSuffixResult.h"
 #include "model/SaveSingleTaskForQueryingTransferAuthorizationCodeRequest.h"
 #include "model/SaveSingleTaskForQueryingTransferAuthorizationCodeResult.h"
 #include "model/GetReserveDomainUrlRequest.h"
@@ -102,6 +110,8 @@
 #include "model/BidDomainResult.h"
 #include "model/SaveSingleTaskForCancelingTransferOutRequest.h"
 #include "model/SaveSingleTaskForCancelingTransferOutResult.h"
+#include "model/SaveDomainGroupRequest.h"
+#include "model/SaveDomainGroupResult.h"
 #include "model/AcknowledgeTaskResultRequest.h"
 #include "model/AcknowledgeTaskResultResult.h"
 #include "model/SaveSingleTaskForApprovingTransferOutRequest.h"
@@ -112,6 +122,8 @@
 #include "model/SaveBatchTaskForCreatingOrderTransferResult.h"
 #include "model/SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest.h"
 #include "model/SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResult.h"
+#include "model/DeleteDomainGroupRequest.h"
+#include "model/DeleteDomainGroupResult.h"
 #include "model/SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest.h"
 #include "model/SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResult.h"
 #include "model/QueryAuctionDetailRequest.h"
@@ -219,6 +231,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryFailReasonForDomainRealNameVerificationResult> QueryFailReasonForDomainRealNameVerificationOutcome;
 			typedef std::future<QueryFailReasonForDomainRealNameVerificationOutcome> QueryFailReasonForDomainRealNameVerificationOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::QueryFailReasonForDomainRealNameVerificationRequest&, const QueryFailReasonForDomainRealNameVerificationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryFailReasonForDomainRealNameVerificationAsyncHandler;
+			typedef Outcome<Error, Model::QueryAdvancedDomainListResult> QueryAdvancedDomainListOutcome;
+			typedef std::future<QueryAdvancedDomainListOutcome> QueryAdvancedDomainListOutcomeCallable;
+			typedef std::function<void(const DomainClient*, const Model::QueryAdvancedDomainListRequest&, const QueryAdvancedDomainListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAdvancedDomainListAsyncHandler;
 			typedef Outcome<Error, Model::QueryTransferOutInfoResult> QueryTransferOutInfoOutcome;
 			typedef std::future<QueryTransferOutInfoOutcome> QueryTransferOutInfoOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::QueryTransferOutInfoRequest&, const QueryTransferOutInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryTransferOutInfoAsyncHandler;
@@ -231,6 +246,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryTaskDetailListResult> QueryTaskDetailListOutcome;
 			typedef std::future<QueryTaskDetailListOutcome> QueryTaskDetailListOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::QueryTaskDetailListRequest&, const QueryTaskDetailListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryTaskDetailListAsyncHandler;
+			typedef Outcome<Error, Model::SaveBatchDomainRemarkResult> SaveBatchDomainRemarkOutcome;
+			typedef std::future<SaveBatchDomainRemarkOutcome> SaveBatchDomainRemarkOutcomeCallable;
+			typedef std::function<void(const DomainClient*, const Model::SaveBatchDomainRemarkRequest&, const SaveBatchDomainRemarkOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveBatchDomainRemarkAsyncHandler;
 			typedef Outcome<Error, Model::VerifyContactFieldResult> VerifyContactFieldOutcome;
 			typedef std::future<VerifyContactFieldOutcome> VerifyContactFieldOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::VerifyContactFieldRequest&, const VerifyContactFieldOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> VerifyContactFieldAsyncHandler;
@@ -261,6 +279,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SaveSingleTaskForUpdateProhibitionLockResult> SaveSingleTaskForUpdateProhibitionLockOutcome;
 			typedef std::future<SaveSingleTaskForUpdateProhibitionLockOutcome> SaveSingleTaskForUpdateProhibitionLockOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::SaveSingleTaskForUpdateProhibitionLockRequest&, const SaveSingleTaskForUpdateProhibitionLockOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveSingleTaskForUpdateProhibitionLockAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDomainToDomainGroupResult> UpdateDomainToDomainGroupOutcome;
+			typedef std::future<UpdateDomainToDomainGroupOutcome> UpdateDomainToDomainGroupOutcomeCallable;
+			typedef std::function<void(const DomainClient*, const Model::UpdateDomainToDomainGroupRequest&, const UpdateDomainToDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDomainToDomainGroupAsyncHandler;
 			typedef Outcome<Error, Model::QueryContactInfoResult> QueryContactInfoOutcome;
 			typedef std::future<QueryContactInfoOutcome> QueryContactInfoOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::QueryContactInfoRequest&, const QueryContactInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryContactInfoAsyncHandler;
@@ -270,6 +291,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::TransferInResendMailTokenResult> TransferInResendMailTokenOutcome;
 			typedef std::future<TransferInResendMailTokenOutcome> TransferInResendMailTokenOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::TransferInResendMailTokenRequest&, const TransferInResendMailTokenOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransferInResendMailTokenAsyncHandler;
+			typedef Outcome<Error, Model::QueryDomainSuffixResult> QueryDomainSuffixOutcome;
+			typedef std::future<QueryDomainSuffixOutcome> QueryDomainSuffixOutcomeCallable;
+			typedef std::function<void(const DomainClient*, const Model::QueryDomainSuffixRequest&, const QueryDomainSuffixOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDomainSuffixAsyncHandler;
 			typedef Outcome<Error, Model::SaveSingleTaskForQueryingTransferAuthorizationCodeResult> SaveSingleTaskForQueryingTransferAuthorizationCodeOutcome;
 			typedef std::future<SaveSingleTaskForQueryingTransferAuthorizationCodeOutcome> SaveSingleTaskForQueryingTransferAuthorizationCodeOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::SaveSingleTaskForQueryingTransferAuthorizationCodeRequest&, const SaveSingleTaskForQueryingTransferAuthorizationCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveSingleTaskForQueryingTransferAuthorizationCodeAsyncHandler;
@@ -297,6 +321,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SaveSingleTaskForCancelingTransferOutResult> SaveSingleTaskForCancelingTransferOutOutcome;
 			typedef std::future<SaveSingleTaskForCancelingTransferOutOutcome> SaveSingleTaskForCancelingTransferOutOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::SaveSingleTaskForCancelingTransferOutRequest&, const SaveSingleTaskForCancelingTransferOutOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveSingleTaskForCancelingTransferOutAsyncHandler;
+			typedef Outcome<Error, Model::SaveDomainGroupResult> SaveDomainGroupOutcome;
+			typedef std::future<SaveDomainGroupOutcome> SaveDomainGroupOutcomeCallable;
+			typedef std::function<void(const DomainClient*, const Model::SaveDomainGroupRequest&, const SaveDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveDomainGroupAsyncHandler;
 			typedef Outcome<Error, Model::AcknowledgeTaskResultResult> AcknowledgeTaskResultOutcome;
 			typedef std::future<AcknowledgeTaskResultOutcome> AcknowledgeTaskResultOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::AcknowledgeTaskResultRequest&, const AcknowledgeTaskResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AcknowledgeTaskResultAsyncHandler;
@@ -312,6 +339,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResult> SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcome;
 			typedef std::future<SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcome> SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest&, const SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveTaskForUpdatingRegistrantInfoByIdentityCredentialAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDomainGroupResult> DeleteDomainGroupOutcome;
+			typedef std::future<DeleteDomainGroupOutcome> DeleteDomainGroupOutcomeCallable;
+			typedef std::function<void(const DomainClient*, const Model::DeleteDomainGroupRequest&, const DeleteDomainGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDomainGroupAsyncHandler;
 			typedef Outcome<Error, Model::SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResult> SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcome;
 			typedef std::future<SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcome> SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcomeCallable;
 			typedef std::function<void(const DomainClient*, const Model::SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest&, const SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDAsyncHandler;
@@ -443,6 +473,9 @@ namespace AlibabaCloud
 			QueryFailReasonForDomainRealNameVerificationOutcome queryFailReasonForDomainRealNameVerification(const Model::QueryFailReasonForDomainRealNameVerificationRequest &request)const;
 			void queryFailReasonForDomainRealNameVerificationAsync(const Model::QueryFailReasonForDomainRealNameVerificationRequest& request, const QueryFailReasonForDomainRealNameVerificationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryFailReasonForDomainRealNameVerificationOutcomeCallable queryFailReasonForDomainRealNameVerificationCallable(const Model::QueryFailReasonForDomainRealNameVerificationRequest& request) const;
+			QueryAdvancedDomainListOutcome queryAdvancedDomainList(const Model::QueryAdvancedDomainListRequest &request)const;
+			void queryAdvancedDomainListAsync(const Model::QueryAdvancedDomainListRequest& request, const QueryAdvancedDomainListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryAdvancedDomainListOutcomeCallable queryAdvancedDomainListCallable(const Model::QueryAdvancedDomainListRequest& request) const;
 			QueryTransferOutInfoOutcome queryTransferOutInfo(const Model::QueryTransferOutInfoRequest &request)const;
 			void queryTransferOutInfoAsync(const Model::QueryTransferOutInfoRequest& request, const QueryTransferOutInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryTransferOutInfoOutcomeCallable queryTransferOutInfoCallable(const Model::QueryTransferOutInfoRequest& request) const;
@@ -455,6 +488,9 @@ namespace AlibabaCloud
 			QueryTaskDetailListOutcome queryTaskDetailList(const Model::QueryTaskDetailListRequest &request)const;
 			void queryTaskDetailListAsync(const Model::QueryTaskDetailListRequest& request, const QueryTaskDetailListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryTaskDetailListOutcomeCallable queryTaskDetailListCallable(const Model::QueryTaskDetailListRequest& request) const;
+			SaveBatchDomainRemarkOutcome saveBatchDomainRemark(const Model::SaveBatchDomainRemarkRequest &request)const;
+			void saveBatchDomainRemarkAsync(const Model::SaveBatchDomainRemarkRequest& request, const SaveBatchDomainRemarkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveBatchDomainRemarkOutcomeCallable saveBatchDomainRemarkCallable(const Model::SaveBatchDomainRemarkRequest& request) const;
 			VerifyContactFieldOutcome verifyContactField(const Model::VerifyContactFieldRequest &request)const;
 			void verifyContactFieldAsync(const Model::VerifyContactFieldRequest& request, const VerifyContactFieldAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			VerifyContactFieldOutcomeCallable verifyContactFieldCallable(const Model::VerifyContactFieldRequest& request) const;
@@ -485,6 +521,9 @@ namespace AlibabaCloud
 			SaveSingleTaskForUpdateProhibitionLockOutcome saveSingleTaskForUpdateProhibitionLock(const Model::SaveSingleTaskForUpdateProhibitionLockRequest &request)const;
 			void saveSingleTaskForUpdateProhibitionLockAsync(const Model::SaveSingleTaskForUpdateProhibitionLockRequest& request, const SaveSingleTaskForUpdateProhibitionLockAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SaveSingleTaskForUpdateProhibitionLockOutcomeCallable saveSingleTaskForUpdateProhibitionLockCallable(const Model::SaveSingleTaskForUpdateProhibitionLockRequest& request) const;
+			UpdateDomainToDomainGroupOutcome updateDomainToDomainGroup(const Model::UpdateDomainToDomainGroupRequest &request)const;
+			void updateDomainToDomainGroupAsync(const Model::UpdateDomainToDomainGroupRequest& request, const UpdateDomainToDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDomainToDomainGroupOutcomeCallable updateDomainToDomainGroupCallable(const Model::UpdateDomainToDomainGroupRequest& request) const;
 			QueryContactInfoOutcome queryContactInfo(const Model::QueryContactInfoRequest &request)const;
 			void queryContactInfoAsync(const Model::QueryContactInfoRequest& request, const QueryContactInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryContactInfoOutcomeCallable queryContactInfoCallable(const Model::QueryContactInfoRequest& request) const;
@@ -494,6 +533,9 @@ namespace AlibabaCloud
 			TransferInResendMailTokenOutcome transferInResendMailToken(const Model::TransferInResendMailTokenRequest &request)const;
 			void transferInResendMailTokenAsync(const Model::TransferInResendMailTokenRequest& request, const TransferInResendMailTokenAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TransferInResendMailTokenOutcomeCallable transferInResendMailTokenCallable(const Model::TransferInResendMailTokenRequest& request) const;
+			QueryDomainSuffixOutcome queryDomainSuffix(const Model::QueryDomainSuffixRequest &request)const;
+			void queryDomainSuffixAsync(const Model::QueryDomainSuffixRequest& request, const QueryDomainSuffixAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDomainSuffixOutcomeCallable queryDomainSuffixCallable(const Model::QueryDomainSuffixRequest& request) const;
 			SaveSingleTaskForQueryingTransferAuthorizationCodeOutcome saveSingleTaskForQueryingTransferAuthorizationCode(const Model::SaveSingleTaskForQueryingTransferAuthorizationCodeRequest &request)const;
 			void saveSingleTaskForQueryingTransferAuthorizationCodeAsync(const Model::SaveSingleTaskForQueryingTransferAuthorizationCodeRequest& request, const SaveSingleTaskForQueryingTransferAuthorizationCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SaveSingleTaskForQueryingTransferAuthorizationCodeOutcomeCallable saveSingleTaskForQueryingTransferAuthorizationCodeCallable(const Model::SaveSingleTaskForQueryingTransferAuthorizationCodeRequest& request) const;
@@ -521,6 +563,9 @@ namespace AlibabaCloud
 			SaveSingleTaskForCancelingTransferOutOutcome saveSingleTaskForCancelingTransferOut(const Model::SaveSingleTaskForCancelingTransferOutRequest &request)const;
 			void saveSingleTaskForCancelingTransferOutAsync(const Model::SaveSingleTaskForCancelingTransferOutRequest& request, const SaveSingleTaskForCancelingTransferOutAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SaveSingleTaskForCancelingTransferOutOutcomeCallable saveSingleTaskForCancelingTransferOutCallable(const Model::SaveSingleTaskForCancelingTransferOutRequest& request) const;
+			SaveDomainGroupOutcome saveDomainGroup(const Model::SaveDomainGroupRequest &request)const;
+			void saveDomainGroupAsync(const Model::SaveDomainGroupRequest& request, const SaveDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveDomainGroupOutcomeCallable saveDomainGroupCallable(const Model::SaveDomainGroupRequest& request) const;
 			AcknowledgeTaskResultOutcome acknowledgeTaskResult(const Model::AcknowledgeTaskResultRequest &request)const;
 			void acknowledgeTaskResultAsync(const Model::AcknowledgeTaskResultRequest& request, const AcknowledgeTaskResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AcknowledgeTaskResultOutcomeCallable acknowledgeTaskResultCallable(const Model::AcknowledgeTaskResultRequest& request) const;
@@ -536,6 +581,9 @@ namespace AlibabaCloud
 			SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcome saveTaskForUpdatingRegistrantInfoByIdentityCredential(const Model::SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest &request)const;
 			void saveTaskForUpdatingRegistrantInfoByIdentityCredentialAsync(const Model::SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest& request, const SaveTaskForUpdatingRegistrantInfoByIdentityCredentialAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcomeCallable saveTaskForUpdatingRegistrantInfoByIdentityCredentialCallable(const Model::SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest& request) const;
+			DeleteDomainGroupOutcome deleteDomainGroup(const Model::DeleteDomainGroupRequest &request)const;
+			void deleteDomainGroupAsync(const Model::DeleteDomainGroupRequest& request, const DeleteDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDomainGroupOutcomeCallable deleteDomainGroupCallable(const Model::DeleteDomainGroupRequest& request) const;
 			SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcome saveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID(const Model::SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest &request)const;
 			void saveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDAsync(const Model::SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest& request, const SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcomeCallable saveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDCallable(const Model::SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest& request) const;

+ 54 - 0
domain/include/alibabacloud/domain/model/DeleteDomainGroupRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DOMAIN_MODEL_DELETEDOMAINGROUPREQUEST_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_DELETEDOMAINGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT DeleteDomainGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDomainGroupRequest();
+				~DeleteDomainGroupRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getDomainGroupId()const;
+				void setDomainGroupId(long domainGroupId);
+
+            private:
+				std::string userClientIp_;
+				std::string lang_;
+				long domainGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_DELETEDOMAINGROUPREQUEST_H_

+ 49 - 0
domain/include/alibabacloud/domain/model/DeleteDomainGroupResult.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_DOMAIN_MODEL_DELETEDOMAINGROUPRESULT_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_DELETEDOMAINGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT DeleteDomainGroupResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDomainGroupResult();
+				explicit DeleteDomainGroupResult(const std::string &payload);
+				~DeleteDomainGroupResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_DELETEDOMAINGROUPRESULT_H_

+ 123 - 0
domain/include/alibabacloud/domain/model/QueryAdvancedDomainListRequest.h

@@ -0,0 +1,123 @@
+/*
+ * 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_DOMAIN_MODEL_QUERYADVANCEDDOMAINLISTREQUEST_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_QUERYADVANCEDDOMAINLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT QueryAdvancedDomainListRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryAdvancedDomainListRequest();
+				~QueryAdvancedDomainListRequest();
+
+				std::string getProductDomainType()const;
+				void setProductDomainType(const std::string& productDomainType);
+				int getPageNum()const;
+				void setPageNum(int pageNum);
+				std::string getExcluded()const;
+				void setExcluded(const std::string& excluded);
+				int getStartLength()const;
+				void setStartLength(int startLength);
+				bool getExcludedSuffix()const;
+				void setExcludedSuffix(bool excludedSuffix);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				bool getExcludedPrefix()const;
+				void setExcludedPrefix(bool excludedPrefix);
+				std::string getKeyWord()const;
+				void setKeyWord(const std::string& keyWord);
+				bool getProductDomainTypeSort()const;
+				void setProductDomainTypeSort(bool productDomainTypeSort);
+				long getEndExpirationDate()const;
+				void setEndExpirationDate(long endExpirationDate);
+				std::string getSuffixs()const;
+				void setSuffixs(const std::string& suffixs);
+				bool getDomainNameSort()const;
+				void setDomainNameSort(bool domainNameSort);
+				bool getExpirationDateSort()const;
+				void setExpirationDateSort(bool expirationDateSort);
+				long getStartExpirationDate()const;
+				void setStartExpirationDate(long startExpirationDate);
+				int getDomainStatus()const;
+				void setDomainStatus(int domainStatus);
+				long getDomainGroupId()const;
+				void setDomainGroupId(long domainGroupId);
+				bool getKeyWordSuffix()const;
+				void setKeyWordSuffix(bool keyWordSuffix);
+				bool getKeyWordPrefix()const;
+				void setKeyWordPrefix(bool keyWordPrefix);
+				int getTradeType()const;
+				void setTradeType(int tradeType);
+				long getEndRegistrationDate()const;
+				void setEndRegistrationDate(long endRegistrationDate);
+				int getForm()const;
+				void setForm(int form);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				bool getRegistrationDateSort()const;
+				void setRegistrationDateSort(bool registrationDateSort);
+				long getStartRegistrationDate()const;
+				void setStartRegistrationDate(long startRegistrationDate);
+				int getEndLength()const;
+				void setEndLength(int endLength);
+
+            private:
+				std::string productDomainType_;
+				int pageNum_;
+				std::string excluded_;
+				int startLength_;
+				bool excludedSuffix_;
+				int pageSize_;
+				std::string lang_;
+				bool excludedPrefix_;
+				std::string keyWord_;
+				bool productDomainTypeSort_;
+				long endExpirationDate_;
+				std::string suffixs_;
+				bool domainNameSort_;
+				bool expirationDateSort_;
+				long startExpirationDate_;
+				int domainStatus_;
+				long domainGroupId_;
+				bool keyWordSuffix_;
+				bool keyWordPrefix_;
+				int tradeType_;
+				long endRegistrationDate_;
+				int form_;
+				std::string userClientIp_;
+				bool registrationDateSort_;
+				long startRegistrationDate_;
+				int endLength_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_QUERYADVANCEDDOMAINLISTREQUEST_H_

+ 83 - 0
domain/include/alibabacloud/domain/model/QueryAdvancedDomainListResult.h

@@ -0,0 +1,83 @@
+/*
+ * 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_DOMAIN_MODEL_QUERYADVANCEDDOMAINLISTRESULT_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_QUERYADVANCEDDOMAINLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT QueryAdvancedDomainListResult : public ServiceResult
+			{
+			public:
+				struct Domain
+				{
+					std::string registrantType;
+					std::string registrationDate;
+					long registrationDateLong;
+					int expirationCurrDateDiff;
+					std::string domainName;
+					std::string instanceId;
+					std::string domainGroupId;
+					std::string productId;
+					bool premium;
+					std::string domainAuditStatus;
+					std::string remark;
+					long expirationDateLong;
+					std::string domainType;
+					std::string expirationDateStatus;
+					std::string expirationDate;
+					std::string domainGroupName;
+					std::string domainStatus;
+				};
+
+
+				QueryAdvancedDomainListResult();
+				explicit QueryAdvancedDomainListResult(const std::string &payload);
+				~QueryAdvancedDomainListResult();
+				bool getPrePage()const;
+				int getCurrentPageNum()const;
+				int getPageSize()const;
+				int getTotalPageNum()const;
+				std::vector<Domain> getData()const;
+				int getTotalItemNum()const;
+				bool getNextPage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool prePage_;
+				int currentPageNum_;
+				int pageSize_;
+				int totalPageNum_;
+				std::vector<Domain> data_;
+				int totalItemNum_;
+				bool nextPage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_QUERYADVANCEDDOMAINLISTRESULT_H_

+ 3 - 0
domain/include/alibabacloud/domain/model/QueryDomainGroupListRequest.h

@@ -41,11 +41,14 @@ namespace AlibabaCloud
 				void setDomainGroupName(const std::string& domainGroupName);
 				std::string getLang()const;
 				void setLang(const std::string& lang);
+				bool getShowDeletingGroup()const;
+				void setShowDeletingGroup(bool showDeletingGroup);
 
             private:
 				std::string userClientIp_;
 				std::string domainGroupName_;
 				std::string lang_;
+				bool showDeletingGroup_;
 
 			};
 		}

+ 5 - 3
domain/include/alibabacloud/domain/model/QueryDomainGroupListResult.h

@@ -32,12 +32,14 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_DOMAIN_EXPORT QueryDomainGroupListResult : public ServiceResult
 			{
 			public:
-				struct Domain
+				struct DomainGroup
 				{
+					bool beingDeleted;
 					std::string creationDate;
 					std::string domainGroupName;
 					std::string modificationDate;
 					std::string domainGroupId;
+					std::string domainGroupStatus;
 					int totalNumber;
 				};
 
@@ -45,12 +47,12 @@ namespace AlibabaCloud
 				QueryDomainGroupListResult();
 				explicit QueryDomainGroupListResult(const std::string &payload);
 				~QueryDomainGroupListResult();
-				std::vector<Domain> getData()const;
+				std::vector<DomainGroup> getData()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::vector<Domain> data_;
+				std::vector<DomainGroup> data_;
 
 			};
 		}

+ 3 - 0
domain/include/alibabacloud/domain/model/QueryDomainListRequest.h

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setPageNum(int pageNum);
 				std::string getOrderByType()const;
 				void setOrderByType(const std::string& orderByType);
+				std::string getDomainGroupId()const;
+				void setDomainGroupId(const std::string& domainGroupId);
 				long getEndRegistrationDate()const;
 				void setEndRegistrationDate(long endRegistrationDate);
 				std::string getUserClientIp()const;
@@ -70,6 +72,7 @@ namespace AlibabaCloud
 				long startExpirationDate_;
 				int pageNum_;
 				std::string orderByType_;
+				std::string domainGroupId_;
 				long endRegistrationDate_;
 				std::string userClientIp_;
 				int pageSize_;

+ 2 - 0
domain/include/alibabacloud/domain/model/QueryDomainListResult.h

@@ -37,6 +37,7 @@ namespace AlibabaCloud
 					std::string registrantType;
 					std::string registrationDate;
 					long registrationDateLong;
+					int expirationCurrDateDiff;
 					std::string domainName;
 					std::string instanceId;
 					std::string domainGroupId;
@@ -48,6 +49,7 @@ namespace AlibabaCloud
 					std::string domainType;
 					std::string expirationDateStatus;
 					std::string expirationDate;
+					std::string domainGroupName;
 					std::string domainStatus;
 				};
 

+ 48 - 0
domain/include/alibabacloud/domain/model/QueryDomainSuffixRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_DOMAIN_MODEL_QUERYDOMAINSUFFIXREQUEST_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_QUERYDOMAINSUFFIXREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT QueryDomainSuffixRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDomainSuffixRequest();
+				~QueryDomainSuffixRequest();
+
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_QUERYDOMAINSUFFIXREQUEST_H_

+ 51 - 0
domain/include/alibabacloud/domain/model/QueryDomainSuffixResult.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_DOMAIN_MODEL_QUERYDOMAINSUFFIXRESULT_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_QUERYDOMAINSUFFIXRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT QueryDomainSuffixResult : public ServiceResult
+			{
+			public:
+
+
+				QueryDomainSuffixResult();
+				explicit QueryDomainSuffixResult(const std::string &payload);
+				~QueryDomainSuffixResult();
+				std::vector<std::string> getSuffixList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> suffixList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_QUERYDOMAINSUFFIXRESULT_H_

+ 54 - 0
domain/include/alibabacloud/domain/model/SaveBatchDomainRemarkRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DOMAIN_MODEL_SAVEBATCHDOMAINREMARKREQUEST_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_SAVEBATCHDOMAINREMARKREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT SaveBatchDomainRemarkRequest : public RpcServiceRequest
+			{
+
+			public:
+				SaveBatchDomainRemarkRequest();
+				~SaveBatchDomainRemarkRequest();
+
+				std::string getInstanceIds()const;
+				void setInstanceIds(const std::string& instanceIds);
+				std::string getRemark()const;
+				void setRemark(const std::string& remark);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+
+            private:
+				std::string instanceIds_;
+				std::string remark_;
+				std::string lang_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_SAVEBATCHDOMAINREMARKREQUEST_H_

+ 49 - 0
domain/include/alibabacloud/domain/model/SaveBatchDomainRemarkResult.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_DOMAIN_MODEL_SAVEBATCHDOMAINREMARKRESULT_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_SAVEBATCHDOMAINREMARKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT SaveBatchDomainRemarkResult : public ServiceResult
+			{
+			public:
+
+
+				SaveBatchDomainRemarkResult();
+				explicit SaveBatchDomainRemarkResult(const std::string &payload);
+				~SaveBatchDomainRemarkResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_SAVEBATCHDOMAINREMARKRESULT_H_

+ 57 - 0
domain/include/alibabacloud/domain/model/SaveDomainGroupRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DOMAIN_MODEL_SAVEDOMAINGROUPREQUEST_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_SAVEDOMAINGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT SaveDomainGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				SaveDomainGroupRequest();
+				~SaveDomainGroupRequest();
+
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getDomainGroupName()const;
+				void setDomainGroupName(const std::string& domainGroupName);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getDomainGroupId()const;
+				void setDomainGroupId(long domainGroupId);
+
+            private:
+				std::string userClientIp_;
+				std::string domainGroupName_;
+				std::string lang_;
+				long domainGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_SAVEDOMAINGROUPREQUEST_H_

+ 63 - 0
domain/include/alibabacloud/domain/model/SaveDomainGroupResult.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_DOMAIN_MODEL_SAVEDOMAINGROUPRESULT_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_SAVEDOMAINGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT SaveDomainGroupResult : public ServiceResult
+			{
+			public:
+
+
+				SaveDomainGroupResult();
+				explicit SaveDomainGroupResult(const std::string &payload);
+				~SaveDomainGroupResult();
+				bool getBeingDeleted()const;
+				std::string getCreationDate()const;
+				std::string getDomainGroupName()const;
+				std::string getModificationDate()const;
+				long getDomainGroupId()const;
+				std::string getDomainGroupStatus()const;
+				int getTotalNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool beingDeleted_;
+				std::string creationDate_;
+				std::string domainGroupName_;
+				std::string modificationDate_;
+				long domainGroupId_;
+				std::string domainGroupStatus_;
+				int totalNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_SAVEDOMAINGROUPRESULT_H_

+ 66 - 0
domain/include/alibabacloud/domain/model/UpdateDomainToDomainGroupRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DOMAIN_MODEL_UPDATEDOMAINTODOMAINGROUPREQUEST_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_UPDATEDOMAINTODOMAINGROUPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT UpdateDomainToDomainGroupRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateDomainToDomainGroupRequest();
+				~UpdateDomainToDomainGroupRequest();
+
+				int getDataSource()const;
+				void setDataSource(int dataSource);
+				std::string getUserClientIp()const;
+				void setUserClientIp(const std::string& userClientIp);
+				std::string getFileToUpload()const;
+				void setFileToUpload(const std::string& fileToUpload);
+				std::vector<std::string> getDomainName()const;
+				void setDomainName(const std::vector<std::string>& domainName);
+				bool getReplace()const;
+				void setReplace(bool replace);
+				std::string getLang()const;
+				void setLang(const std::string& lang);
+				long getDomainGroupId()const;
+				void setDomainGroupId(long domainGroupId);
+
+            private:
+				int dataSource_;
+				std::string userClientIp_;
+				std::string fileToUpload_;
+				std::vector<std::string> domainName_;
+				bool replace_;
+				std::string lang_;
+				long domainGroupId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_UPDATEDOMAINTODOMAINGROUPREQUEST_H_

+ 49 - 0
domain/include/alibabacloud/domain/model/UpdateDomainToDomainGroupResult.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_DOMAIN_MODEL_UPDATEDOMAINTODOMAINGROUPRESULT_H_
+#define ALIBABACLOUD_DOMAIN_MODEL_UPDATEDOMAINTODOMAINGROUPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/domain/DomainExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Domain
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DOMAIN_EXPORT UpdateDomainToDomainGroupResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateDomainToDomainGroupResult();
+				explicit UpdateDomainToDomainGroupResult(const std::string &payload);
+				~UpdateDomainToDomainGroupResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DOMAIN_MODEL_UPDATEDOMAINTODOMAINGROUPRESULT_H_

+ 216 - 0
domain/src/DomainClient.cc

@@ -555,6 +555,42 @@ DomainClient::QueryFailReasonForDomainRealNameVerificationOutcomeCallable Domain
 	return task->get_future();
 }
 
+DomainClient::QueryAdvancedDomainListOutcome DomainClient::queryAdvancedDomainList(const QueryAdvancedDomainListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryAdvancedDomainListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryAdvancedDomainListOutcome(QueryAdvancedDomainListResult(outcome.result()));
+	else
+		return QueryAdvancedDomainListOutcome(outcome.error());
+}
+
+void DomainClient::queryAdvancedDomainListAsync(const QueryAdvancedDomainListRequest& request, const QueryAdvancedDomainListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryAdvancedDomainList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DomainClient::QueryAdvancedDomainListOutcomeCallable DomainClient::queryAdvancedDomainListCallable(const QueryAdvancedDomainListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryAdvancedDomainListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryAdvancedDomainList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DomainClient::QueryTransferOutInfoOutcome DomainClient::queryTransferOutInfo(const QueryTransferOutInfoRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -699,6 +735,42 @@ DomainClient::QueryTaskDetailListOutcomeCallable DomainClient::queryTaskDetailLi
 	return task->get_future();
 }
 
+DomainClient::SaveBatchDomainRemarkOutcome DomainClient::saveBatchDomainRemark(const SaveBatchDomainRemarkRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SaveBatchDomainRemarkOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SaveBatchDomainRemarkOutcome(SaveBatchDomainRemarkResult(outcome.result()));
+	else
+		return SaveBatchDomainRemarkOutcome(outcome.error());
+}
+
+void DomainClient::saveBatchDomainRemarkAsync(const SaveBatchDomainRemarkRequest& request, const SaveBatchDomainRemarkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, saveBatchDomainRemark(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DomainClient::SaveBatchDomainRemarkOutcomeCallable DomainClient::saveBatchDomainRemarkCallable(const SaveBatchDomainRemarkRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SaveBatchDomainRemarkOutcome()>>(
+			[this, request]()
+			{
+			return this->saveBatchDomainRemark(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DomainClient::VerifyContactFieldOutcome DomainClient::verifyContactField(const VerifyContactFieldRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1059,6 +1131,42 @@ DomainClient::SaveSingleTaskForUpdateProhibitionLockOutcomeCallable DomainClient
 	return task->get_future();
 }
 
+DomainClient::UpdateDomainToDomainGroupOutcome DomainClient::updateDomainToDomainGroup(const UpdateDomainToDomainGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateDomainToDomainGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateDomainToDomainGroupOutcome(UpdateDomainToDomainGroupResult(outcome.result()));
+	else
+		return UpdateDomainToDomainGroupOutcome(outcome.error());
+}
+
+void DomainClient::updateDomainToDomainGroupAsync(const UpdateDomainToDomainGroupRequest& request, const UpdateDomainToDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateDomainToDomainGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DomainClient::UpdateDomainToDomainGroupOutcomeCallable DomainClient::updateDomainToDomainGroupCallable(const UpdateDomainToDomainGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateDomainToDomainGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->updateDomainToDomainGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DomainClient::QueryContactInfoOutcome DomainClient::queryContactInfo(const QueryContactInfoRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1275,42 @@ DomainClient::TransferInResendMailTokenOutcomeCallable DomainClient::transferInR
 	return task->get_future();
 }
 
+DomainClient::QueryDomainSuffixOutcome DomainClient::queryDomainSuffix(const QueryDomainSuffixRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryDomainSuffixOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryDomainSuffixOutcome(QueryDomainSuffixResult(outcome.result()));
+	else
+		return QueryDomainSuffixOutcome(outcome.error());
+}
+
+void DomainClient::queryDomainSuffixAsync(const QueryDomainSuffixRequest& request, const QueryDomainSuffixAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryDomainSuffix(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DomainClient::QueryDomainSuffixOutcomeCallable DomainClient::queryDomainSuffixCallable(const QueryDomainSuffixRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryDomainSuffixOutcome()>>(
+			[this, request]()
+			{
+			return this->queryDomainSuffix(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DomainClient::SaveSingleTaskForQueryingTransferAuthorizationCodeOutcome DomainClient::saveSingleTaskForQueryingTransferAuthorizationCode(const SaveSingleTaskForQueryingTransferAuthorizationCodeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1491,6 +1635,42 @@ DomainClient::SaveSingleTaskForCancelingTransferOutOutcomeCallable DomainClient:
 	return task->get_future();
 }
 
+DomainClient::SaveDomainGroupOutcome DomainClient::saveDomainGroup(const SaveDomainGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SaveDomainGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SaveDomainGroupOutcome(SaveDomainGroupResult(outcome.result()));
+	else
+		return SaveDomainGroupOutcome(outcome.error());
+}
+
+void DomainClient::saveDomainGroupAsync(const SaveDomainGroupRequest& request, const SaveDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, saveDomainGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DomainClient::SaveDomainGroupOutcomeCallable DomainClient::saveDomainGroupCallable(const SaveDomainGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SaveDomainGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->saveDomainGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DomainClient::AcknowledgeTaskResultOutcome DomainClient::acknowledgeTaskResult(const AcknowledgeTaskResultRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1671,6 +1851,42 @@ DomainClient::SaveTaskForUpdatingRegistrantInfoByIdentityCredentialOutcomeCallab
 	return task->get_future();
 }
 
+DomainClient::DeleteDomainGroupOutcome DomainClient::deleteDomainGroup(const DeleteDomainGroupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDomainGroupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDomainGroupOutcome(DeleteDomainGroupResult(outcome.result()));
+	else
+		return DeleteDomainGroupOutcome(outcome.error());
+}
+
+void DomainClient::deleteDomainGroupAsync(const DeleteDomainGroupRequest& request, const DeleteDomainGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDomainGroup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DomainClient::DeleteDomainGroupOutcomeCallable DomainClient::deleteDomainGroupCallable(const DeleteDomainGroupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDomainGroupOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDomainGroup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DomainClient::SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDOutcome DomainClient::saveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID(const SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 60 - 0
domain/src/model/DeleteDomainGroupRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/domain/model/DeleteDomainGroupRequest.h>
+
+using AlibabaCloud::Domain::Model::DeleteDomainGroupRequest;
+
+DeleteDomainGroupRequest::DeleteDomainGroupRequest() :
+	RpcServiceRequest("domain", "2018-01-29", "DeleteDomainGroup")
+{}
+
+DeleteDomainGroupRequest::~DeleteDomainGroupRequest()
+{}
+
+std::string DeleteDomainGroupRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void DeleteDomainGroupRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::string DeleteDomainGroupRequest::getLang()const
+{
+	return lang_;
+}
+
+void DeleteDomainGroupRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+long DeleteDomainGroupRequest::getDomainGroupId()const
+{
+	return domainGroupId_;
+}
+
+void DeleteDomainGroupRequest::setDomainGroupId(long domainGroupId)
+{
+	domainGroupId_ = domainGroupId;
+	setParameter("DomainGroupId", std::to_string(domainGroupId));
+}
+

+ 45 - 0
domain/src/model/DeleteDomainGroupResult.cc

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

+ 313 - 0
domain/src/model/QueryAdvancedDomainListRequest.cc

@@ -0,0 +1,313 @@
+/*
+ * 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/domain/model/QueryAdvancedDomainListRequest.h>
+
+using AlibabaCloud::Domain::Model::QueryAdvancedDomainListRequest;
+
+QueryAdvancedDomainListRequest::QueryAdvancedDomainListRequest() :
+	RpcServiceRequest("domain", "2018-01-29", "QueryAdvancedDomainList")
+{}
+
+QueryAdvancedDomainListRequest::~QueryAdvancedDomainListRequest()
+{}
+
+std::string QueryAdvancedDomainListRequest::getProductDomainType()const
+{
+	return productDomainType_;
+}
+
+void QueryAdvancedDomainListRequest::setProductDomainType(const std::string& productDomainType)
+{
+	productDomainType_ = productDomainType;
+	setParameter("ProductDomainType", productDomainType);
+}
+
+int QueryAdvancedDomainListRequest::getPageNum()const
+{
+	return pageNum_;
+}
+
+void QueryAdvancedDomainListRequest::setPageNum(int pageNum)
+{
+	pageNum_ = pageNum;
+	setParameter("PageNum", std::to_string(pageNum));
+}
+
+std::string QueryAdvancedDomainListRequest::getExcluded()const
+{
+	return excluded_;
+}
+
+void QueryAdvancedDomainListRequest::setExcluded(const std::string& excluded)
+{
+	excluded_ = excluded;
+	setParameter("Excluded", excluded);
+}
+
+int QueryAdvancedDomainListRequest::getStartLength()const
+{
+	return startLength_;
+}
+
+void QueryAdvancedDomainListRequest::setStartLength(int startLength)
+{
+	startLength_ = startLength;
+	setParameter("StartLength", std::to_string(startLength));
+}
+
+bool QueryAdvancedDomainListRequest::getExcludedSuffix()const
+{
+	return excludedSuffix_;
+}
+
+void QueryAdvancedDomainListRequest::setExcludedSuffix(bool excludedSuffix)
+{
+	excludedSuffix_ = excludedSuffix;
+	setParameter("ExcludedSuffix", std::to_string(excludedSuffix));
+}
+
+int QueryAdvancedDomainListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void QueryAdvancedDomainListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string QueryAdvancedDomainListRequest::getLang()const
+{
+	return lang_;
+}
+
+void QueryAdvancedDomainListRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+bool QueryAdvancedDomainListRequest::getExcludedPrefix()const
+{
+	return excludedPrefix_;
+}
+
+void QueryAdvancedDomainListRequest::setExcludedPrefix(bool excludedPrefix)
+{
+	excludedPrefix_ = excludedPrefix;
+	setParameter("ExcludedPrefix", std::to_string(excludedPrefix));
+}
+
+std::string QueryAdvancedDomainListRequest::getKeyWord()const
+{
+	return keyWord_;
+}
+
+void QueryAdvancedDomainListRequest::setKeyWord(const std::string& keyWord)
+{
+	keyWord_ = keyWord;
+	setParameter("KeyWord", keyWord);
+}
+
+bool QueryAdvancedDomainListRequest::getProductDomainTypeSort()const
+{
+	return productDomainTypeSort_;
+}
+
+void QueryAdvancedDomainListRequest::setProductDomainTypeSort(bool productDomainTypeSort)
+{
+	productDomainTypeSort_ = productDomainTypeSort;
+	setParameter("ProductDomainTypeSort", std::to_string(productDomainTypeSort));
+}
+
+long QueryAdvancedDomainListRequest::getEndExpirationDate()const
+{
+	return endExpirationDate_;
+}
+
+void QueryAdvancedDomainListRequest::setEndExpirationDate(long endExpirationDate)
+{
+	endExpirationDate_ = endExpirationDate;
+	setParameter("EndExpirationDate", std::to_string(endExpirationDate));
+}
+
+std::string QueryAdvancedDomainListRequest::getSuffixs()const
+{
+	return suffixs_;
+}
+
+void QueryAdvancedDomainListRequest::setSuffixs(const std::string& suffixs)
+{
+	suffixs_ = suffixs;
+	setParameter("Suffixs", suffixs);
+}
+
+bool QueryAdvancedDomainListRequest::getDomainNameSort()const
+{
+	return domainNameSort_;
+}
+
+void QueryAdvancedDomainListRequest::setDomainNameSort(bool domainNameSort)
+{
+	domainNameSort_ = domainNameSort;
+	setParameter("DomainNameSort", std::to_string(domainNameSort));
+}
+
+bool QueryAdvancedDomainListRequest::getExpirationDateSort()const
+{
+	return expirationDateSort_;
+}
+
+void QueryAdvancedDomainListRequest::setExpirationDateSort(bool expirationDateSort)
+{
+	expirationDateSort_ = expirationDateSort;
+	setParameter("ExpirationDateSort", std::to_string(expirationDateSort));
+}
+
+long QueryAdvancedDomainListRequest::getStartExpirationDate()const
+{
+	return startExpirationDate_;
+}
+
+void QueryAdvancedDomainListRequest::setStartExpirationDate(long startExpirationDate)
+{
+	startExpirationDate_ = startExpirationDate;
+	setParameter("StartExpirationDate", std::to_string(startExpirationDate));
+}
+
+int QueryAdvancedDomainListRequest::getDomainStatus()const
+{
+	return domainStatus_;
+}
+
+void QueryAdvancedDomainListRequest::setDomainStatus(int domainStatus)
+{
+	domainStatus_ = domainStatus;
+	setParameter("DomainStatus", std::to_string(domainStatus));
+}
+
+long QueryAdvancedDomainListRequest::getDomainGroupId()const
+{
+	return domainGroupId_;
+}
+
+void QueryAdvancedDomainListRequest::setDomainGroupId(long domainGroupId)
+{
+	domainGroupId_ = domainGroupId;
+	setParameter("DomainGroupId", std::to_string(domainGroupId));
+}
+
+bool QueryAdvancedDomainListRequest::getKeyWordSuffix()const
+{
+	return keyWordSuffix_;
+}
+
+void QueryAdvancedDomainListRequest::setKeyWordSuffix(bool keyWordSuffix)
+{
+	keyWordSuffix_ = keyWordSuffix;
+	setParameter("KeyWordSuffix", std::to_string(keyWordSuffix));
+}
+
+bool QueryAdvancedDomainListRequest::getKeyWordPrefix()const
+{
+	return keyWordPrefix_;
+}
+
+void QueryAdvancedDomainListRequest::setKeyWordPrefix(bool keyWordPrefix)
+{
+	keyWordPrefix_ = keyWordPrefix;
+	setParameter("KeyWordPrefix", std::to_string(keyWordPrefix));
+}
+
+int QueryAdvancedDomainListRequest::getTradeType()const
+{
+	return tradeType_;
+}
+
+void QueryAdvancedDomainListRequest::setTradeType(int tradeType)
+{
+	tradeType_ = tradeType;
+	setParameter("TradeType", std::to_string(tradeType));
+}
+
+long QueryAdvancedDomainListRequest::getEndRegistrationDate()const
+{
+	return endRegistrationDate_;
+}
+
+void QueryAdvancedDomainListRequest::setEndRegistrationDate(long endRegistrationDate)
+{
+	endRegistrationDate_ = endRegistrationDate;
+	setParameter("EndRegistrationDate", std::to_string(endRegistrationDate));
+}
+
+int QueryAdvancedDomainListRequest::getForm()const
+{
+	return form_;
+}
+
+void QueryAdvancedDomainListRequest::setForm(int form)
+{
+	form_ = form;
+	setParameter("Form", std::to_string(form));
+}
+
+std::string QueryAdvancedDomainListRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void QueryAdvancedDomainListRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+bool QueryAdvancedDomainListRequest::getRegistrationDateSort()const
+{
+	return registrationDateSort_;
+}
+
+void QueryAdvancedDomainListRequest::setRegistrationDateSort(bool registrationDateSort)
+{
+	registrationDateSort_ = registrationDateSort;
+	setParameter("RegistrationDateSort", std::to_string(registrationDateSort));
+}
+
+long QueryAdvancedDomainListRequest::getStartRegistrationDate()const
+{
+	return startRegistrationDate_;
+}
+
+void QueryAdvancedDomainListRequest::setStartRegistrationDate(long startRegistrationDate)
+{
+	startRegistrationDate_ = startRegistrationDate;
+	setParameter("StartRegistrationDate", std::to_string(startRegistrationDate));
+}
+
+int QueryAdvancedDomainListRequest::getEndLength()const
+{
+	return endLength_;
+}
+
+void QueryAdvancedDomainListRequest::setEndLength(int endLength)
+{
+	endLength_ = endLength;
+	setParameter("EndLength", std::to_string(endLength));
+}
+

+ 132 - 0
domain/src/model/QueryAdvancedDomainListResult.cc

@@ -0,0 +1,132 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/domain/model/QueryAdvancedDomainListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Domain;
+using namespace AlibabaCloud::Domain::Model;
+
+QueryAdvancedDomainListResult::QueryAdvancedDomainListResult() :
+	ServiceResult()
+{}
+
+QueryAdvancedDomainListResult::QueryAdvancedDomainListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryAdvancedDomainListResult::~QueryAdvancedDomainListResult()
+{}
+
+void QueryAdvancedDomainListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["Domain"];
+	for (auto value : allData)
+	{
+		Domain dataObject;
+		if(!value["DomainName"].isNull())
+			dataObject.domainName = value["DomainName"].asString();
+		if(!value["InstanceId"].isNull())
+			dataObject.instanceId = value["InstanceId"].asString();
+		if(!value["ExpirationDate"].isNull())
+			dataObject.expirationDate = value["ExpirationDate"].asString();
+		if(!value["RegistrationDate"].isNull())
+			dataObject.registrationDate = value["RegistrationDate"].asString();
+		if(!value["DomainType"].isNull())
+			dataObject.domainType = value["DomainType"].asString();
+		if(!value["DomainStatus"].isNull())
+			dataObject.domainStatus = value["DomainStatus"].asString();
+		if(!value["ProductId"].isNull())
+			dataObject.productId = value["ProductId"].asString();
+		if(!value["ExpirationDateLong"].isNull())
+			dataObject.expirationDateLong = std::stol(value["ExpirationDateLong"].asString());
+		if(!value["RegistrationDateLong"].isNull())
+			dataObject.registrationDateLong = std::stol(value["RegistrationDateLong"].asString());
+		if(!value["Premium"].isNull())
+			dataObject.premium = value["Premium"].asString() == "true";
+		if(!value["DomainAuditStatus"].isNull())
+			dataObject.domainAuditStatus = value["DomainAuditStatus"].asString();
+		if(!value["ExpirationDateStatus"].isNull())
+			dataObject.expirationDateStatus = value["ExpirationDateStatus"].asString();
+		if(!value["RegistrantType"].isNull())
+			dataObject.registrantType = value["RegistrantType"].asString();
+		if(!value["DomainGroupId"].isNull())
+			dataObject.domainGroupId = value["DomainGroupId"].asString();
+		if(!value["Remark"].isNull())
+			dataObject.remark = value["Remark"].asString();
+		if(!value["DomainGroupName"].isNull())
+			dataObject.domainGroupName = value["DomainGroupName"].asString();
+		if(!value["ExpirationCurrDateDiff"].isNull())
+			dataObject.expirationCurrDateDiff = std::stoi(value["ExpirationCurrDateDiff"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["TotalItemNum"].isNull())
+		totalItemNum_ = std::stoi(value["TotalItemNum"].asString());
+	if(!value["CurrentPageNum"].isNull())
+		currentPageNum_ = std::stoi(value["CurrentPageNum"].asString());
+	if(!value["TotalPageNum"].isNull())
+		totalPageNum_ = std::stoi(value["TotalPageNum"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PrePage"].isNull())
+		prePage_ = value["PrePage"].asString() == "true";
+	if(!value["NextPage"].isNull())
+		nextPage_ = value["NextPage"].asString() == "true";
+
+}
+
+bool QueryAdvancedDomainListResult::getPrePage()const
+{
+	return prePage_;
+}
+
+int QueryAdvancedDomainListResult::getCurrentPageNum()const
+{
+	return currentPageNum_;
+}
+
+int QueryAdvancedDomainListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int QueryAdvancedDomainListResult::getTotalPageNum()const
+{
+	return totalPageNum_;
+}
+
+std::vector<QueryAdvancedDomainListResult::Domain> QueryAdvancedDomainListResult::getData()const
+{
+	return data_;
+}
+
+int QueryAdvancedDomainListResult::getTotalItemNum()const
+{
+	return totalItemNum_;
+}
+
+bool QueryAdvancedDomainListResult::getNextPage()const
+{
+	return nextPage_;
+}
+

+ 11 - 0
domain/src/model/QueryDomainGroupListRequest.cc

@@ -58,3 +58,14 @@ void QueryDomainGroupListRequest::setLang(const std::string& lang)
 	setParameter("Lang", lang);
 }
 
+bool QueryDomainGroupListRequest::getShowDeletingGroup()const
+{
+	return showDeletingGroup_;
+}
+
+void QueryDomainGroupListRequest::setShowDeletingGroup(bool showDeletingGroup)
+{
+	showDeletingGroup_ = showDeletingGroup;
+	setParameter("ShowDeletingGroup", std::to_string(showDeletingGroup));
+}
+

+ 7 - 3
domain/src/model/QueryDomainGroupListResult.cc

@@ -40,10 +40,10 @@ void QueryDomainGroupListResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"]["Domain"];
+	auto allData = value["Data"]["DomainGroup"];
 	for (auto value : allData)
 	{
-		Domain dataObject;
+		DomainGroup dataObject;
 		if(!value["DomainGroupId"].isNull())
 			dataObject.domainGroupId = value["DomainGroupId"].asString();
 		if(!value["DomainGroupName"].isNull())
@@ -54,12 +54,16 @@ void QueryDomainGroupListResult::parse(const std::string &payload)
 			dataObject.creationDate = value["CreationDate"].asString();
 		if(!value["ModificationDate"].isNull())
 			dataObject.modificationDate = value["ModificationDate"].asString();
+		if(!value["DomainGroupStatus"].isNull())
+			dataObject.domainGroupStatus = value["DomainGroupStatus"].asString();
+		if(!value["BeingDeleted"].isNull())
+			dataObject.beingDeleted = value["BeingDeleted"].asString() == "true";
 		data_.push_back(dataObject);
 	}
 
 }
 
-std::vector<QueryDomainGroupListResult::Domain> QueryDomainGroupListResult::getData()const
+std::vector<QueryDomainGroupListResult::DomainGroup> QueryDomainGroupListResult::getData()const
 {
 	return data_;
 }

+ 11 - 0
domain/src/model/QueryDomainListRequest.cc

@@ -102,6 +102,17 @@ void QueryDomainListRequest::setOrderByType(const std::string& orderByType)
 	setParameter("OrderByType", orderByType);
 }
 
+std::string QueryDomainListRequest::getDomainGroupId()const
+{
+	return domainGroupId_;
+}
+
+void QueryDomainListRequest::setDomainGroupId(const std::string& domainGroupId)
+{
+	domainGroupId_ = domainGroupId;
+	setParameter("DomainGroupId", domainGroupId);
+}
+
 long QueryDomainListRequest::getEndRegistrationDate()const
 {
 	return endRegistrationDate_;

+ 4 - 0
domain/src/model/QueryDomainListResult.cc

@@ -74,6 +74,10 @@ void QueryDomainListResult::parse(const std::string &payload)
 			dataObject.domainGroupId = value["DomainGroupId"].asString();
 		if(!value["Remark"].isNull())
 			dataObject.remark = value["Remark"].asString();
+		if(!value["DomainGroupName"].isNull())
+			dataObject.domainGroupName = value["DomainGroupName"].asString();
+		if(!value["ExpirationCurrDateDiff"].isNull())
+			dataObject.expirationCurrDateDiff = std::stoi(value["ExpirationCurrDateDiff"].asString());
 		data_.push_back(dataObject);
 	}
 	if(!value["TotalItemNum"].isNull())

+ 38 - 0
domain/src/model/QueryDomainSuffixRequest.cc

@@ -0,0 +1,38 @@
+/*
+ * 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/domain/model/QueryDomainSuffixRequest.h>
+
+using AlibabaCloud::Domain::Model::QueryDomainSuffixRequest;
+
+QueryDomainSuffixRequest::QueryDomainSuffixRequest() :
+	RpcServiceRequest("domain", "2018-01-29", "QueryDomainSuffix")
+{}
+
+QueryDomainSuffixRequest::~QueryDomainSuffixRequest()
+{}
+
+std::string QueryDomainSuffixRequest::getLang()const
+{
+	return lang_;
+}
+
+void QueryDomainSuffixRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 53 - 0
domain/src/model/QueryDomainSuffixResult.cc

@@ -0,0 +1,53 @@
+/*
+ * 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/domain/model/QueryDomainSuffixResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Domain;
+using namespace AlibabaCloud::Domain::Model;
+
+QueryDomainSuffixResult::QueryDomainSuffixResult() :
+	ServiceResult()
+{}
+
+QueryDomainSuffixResult::QueryDomainSuffixResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryDomainSuffixResult::~QueryDomainSuffixResult()
+{}
+
+void QueryDomainSuffixResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allSuffixList = value["SuffixList"]["Suffix"];
+	for (const auto &item : allSuffixList)
+		suffixList_.push_back(item.asString());
+
+}
+
+std::vector<std::string> QueryDomainSuffixResult::getSuffixList()const
+{
+	return suffixList_;
+}
+

+ 60 - 0
domain/src/model/SaveBatchDomainRemarkRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/domain/model/SaveBatchDomainRemarkRequest.h>
+
+using AlibabaCloud::Domain::Model::SaveBatchDomainRemarkRequest;
+
+SaveBatchDomainRemarkRequest::SaveBatchDomainRemarkRequest() :
+	RpcServiceRequest("domain", "2018-01-29", "SaveBatchDomainRemark")
+{}
+
+SaveBatchDomainRemarkRequest::~SaveBatchDomainRemarkRequest()
+{}
+
+std::string SaveBatchDomainRemarkRequest::getInstanceIds()const
+{
+	return instanceIds_;
+}
+
+void SaveBatchDomainRemarkRequest::setInstanceIds(const std::string& instanceIds)
+{
+	instanceIds_ = instanceIds;
+	setParameter("InstanceIds", instanceIds);
+}
+
+std::string SaveBatchDomainRemarkRequest::getRemark()const
+{
+	return remark_;
+}
+
+void SaveBatchDomainRemarkRequest::setRemark(const std::string& remark)
+{
+	remark_ = remark;
+	setParameter("Remark", remark);
+}
+
+std::string SaveBatchDomainRemarkRequest::getLang()const
+{
+	return lang_;
+}
+
+void SaveBatchDomainRemarkRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+

+ 45 - 0
domain/src/model/SaveBatchDomainRemarkResult.cc

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

+ 71 - 0
domain/src/model/SaveDomainGroupRequest.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/domain/model/SaveDomainGroupRequest.h>
+
+using AlibabaCloud::Domain::Model::SaveDomainGroupRequest;
+
+SaveDomainGroupRequest::SaveDomainGroupRequest() :
+	RpcServiceRequest("domain", "2018-01-29", "SaveDomainGroup")
+{}
+
+SaveDomainGroupRequest::~SaveDomainGroupRequest()
+{}
+
+std::string SaveDomainGroupRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void SaveDomainGroupRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::string SaveDomainGroupRequest::getDomainGroupName()const
+{
+	return domainGroupName_;
+}
+
+void SaveDomainGroupRequest::setDomainGroupName(const std::string& domainGroupName)
+{
+	domainGroupName_ = domainGroupName;
+	setParameter("DomainGroupName", domainGroupName);
+}
+
+std::string SaveDomainGroupRequest::getLang()const
+{
+	return lang_;
+}
+
+void SaveDomainGroupRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+long SaveDomainGroupRequest::getDomainGroupId()const
+{
+	return domainGroupId_;
+}
+
+void SaveDomainGroupRequest::setDomainGroupId(long domainGroupId)
+{
+	domainGroupId_ = domainGroupId;
+	setParameter("DomainGroupId", std::to_string(domainGroupId));
+}
+

+ 94 - 0
domain/src/model/SaveDomainGroupResult.cc

@@ -0,0 +1,94 @@
+/*
+ * 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/domain/model/SaveDomainGroupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Domain;
+using namespace AlibabaCloud::Domain::Model;
+
+SaveDomainGroupResult::SaveDomainGroupResult() :
+	ServiceResult()
+{}
+
+SaveDomainGroupResult::SaveDomainGroupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SaveDomainGroupResult::~SaveDomainGroupResult()
+{}
+
+void SaveDomainGroupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["DomainGroupId"].isNull())
+		domainGroupId_ = std::stol(value["DomainGroupId"].asString());
+	if(!value["DomainGroupName"].isNull())
+		domainGroupName_ = value["DomainGroupName"].asString();
+	if(!value["TotalNumber"].isNull())
+		totalNumber_ = std::stoi(value["TotalNumber"].asString());
+	if(!value["CreationDate"].isNull())
+		creationDate_ = value["CreationDate"].asString();
+	if(!value["ModificationDate"].isNull())
+		modificationDate_ = value["ModificationDate"].asString();
+	if(!value["DomainGroupStatus"].isNull())
+		domainGroupStatus_ = value["DomainGroupStatus"].asString();
+	if(!value["BeingDeleted"].isNull())
+		beingDeleted_ = value["BeingDeleted"].asString() == "true";
+
+}
+
+bool SaveDomainGroupResult::getBeingDeleted()const
+{
+	return beingDeleted_;
+}
+
+std::string SaveDomainGroupResult::getCreationDate()const
+{
+	return creationDate_;
+}
+
+std::string SaveDomainGroupResult::getDomainGroupName()const
+{
+	return domainGroupName_;
+}
+
+std::string SaveDomainGroupResult::getModificationDate()const
+{
+	return modificationDate_;
+}
+
+long SaveDomainGroupResult::getDomainGroupId()const
+{
+	return domainGroupId_;
+}
+
+std::string SaveDomainGroupResult::getDomainGroupStatus()const
+{
+	return domainGroupStatus_;
+}
+
+int SaveDomainGroupResult::getTotalNumber()const
+{
+	return totalNumber_;
+}
+

+ 105 - 0
domain/src/model/UpdateDomainToDomainGroupRequest.cc

@@ -0,0 +1,105 @@
+/*
+ * 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/domain/model/UpdateDomainToDomainGroupRequest.h>
+
+using AlibabaCloud::Domain::Model::UpdateDomainToDomainGroupRequest;
+
+UpdateDomainToDomainGroupRequest::UpdateDomainToDomainGroupRequest() :
+	RpcServiceRequest("domain", "2018-01-29", "UpdateDomainToDomainGroup")
+{}
+
+UpdateDomainToDomainGroupRequest::~UpdateDomainToDomainGroupRequest()
+{}
+
+int UpdateDomainToDomainGroupRequest::getDataSource()const
+{
+	return dataSource_;
+}
+
+void UpdateDomainToDomainGroupRequest::setDataSource(int dataSource)
+{
+	dataSource_ = dataSource;
+	setParameter("DataSource", std::to_string(dataSource));
+}
+
+std::string UpdateDomainToDomainGroupRequest::getUserClientIp()const
+{
+	return userClientIp_;
+}
+
+void UpdateDomainToDomainGroupRequest::setUserClientIp(const std::string& userClientIp)
+{
+	userClientIp_ = userClientIp;
+	setParameter("UserClientIp", userClientIp);
+}
+
+std::string UpdateDomainToDomainGroupRequest::getFileToUpload()const
+{
+	return fileToUpload_;
+}
+
+void UpdateDomainToDomainGroupRequest::setFileToUpload(const std::string& fileToUpload)
+{
+	fileToUpload_ = fileToUpload;
+	setParameter("FileToUpload", fileToUpload);
+}
+
+std::vector<std::string> UpdateDomainToDomainGroupRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void UpdateDomainToDomainGroupRequest::setDomainName(const std::vector<std::string>& domainName)
+{
+	domainName_ = domainName;
+	for(int i = 0; i!= domainName.size(); i++)
+		setParameter("DomainName."+ std::to_string(i), domainName.at(i));
+}
+
+bool UpdateDomainToDomainGroupRequest::getReplace()const
+{
+	return replace_;
+}
+
+void UpdateDomainToDomainGroupRequest::setReplace(bool replace)
+{
+	replace_ = replace;
+	setParameter("Replace", std::to_string(replace));
+}
+
+std::string UpdateDomainToDomainGroupRequest::getLang()const
+{
+	return lang_;
+}
+
+void UpdateDomainToDomainGroupRequest::setLang(const std::string& lang)
+{
+	lang_ = lang;
+	setParameter("Lang", lang);
+}
+
+long UpdateDomainToDomainGroupRequest::getDomainGroupId()const
+{
+	return domainGroupId_;
+}
+
+void UpdateDomainToDomainGroupRequest::setDomainGroupId(long domainGroupId)
+{
+	domainGroupId_ = domainGroupId;
+	setParameter("DomainGroupId", std::to_string(domainGroupId));
+}
+

+ 45 - 0
domain/src/model/UpdateDomainToDomainGroupResult.cc

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