소스 검색

Supported more query conditions when searching resource group.

sdk-team 4 년 전
부모
커밋
fefb29dee6
59개의 변경된 파일2136개의 추가작업 그리고 5개의 파일을 삭제
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 28 0
      resourcemanager/CMakeLists.txt
  4. 56 0
      resourcemanager/include/alibabacloud/resourcemanager/ResourceManagerClient.h
  5. 7 0
      resourcemanager/include/alibabacloud/resourcemanager/model/CreateResourceAccountRequest.h
  6. 3 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountRequest.h
  7. 11 4
      resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountResult.h
  8. 1 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceDirectoryResult.h
  9. 39 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupListAclModeRequest.h
  10. 51 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupListAclModeResult.h
  11. 3 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupRequest.h
  12. 6 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupResult.h
  13. 7 0
      resourcemanager/include/alibabacloud/resourcemanager/model/InviteAccountToResourceDirectoryRequest.h
  14. 10 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsForParentRequest.h
  15. 6 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsForParentResult.h
  16. 10 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsRequest.h
  17. 6 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsResult.h
  18. 13 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListResourceGroupsRequest.h
  19. 8 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListResourceGroupsResult.h
  20. 51 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListTagKeysRequest.h
  21. 57 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListTagKeysResult.h
  22. 58 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListTagResourcesRequest.h
  23. 60 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListTagResourcesResult.h
  24. 54 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListTagValuesRequest.h
  25. 57 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListTagValuesResult.h
  26. 42 0
      resourcemanager/include/alibabacloud/resourcemanager/model/SetMemberDeletionPermissionRequest.h
  27. 55 0
      resourcemanager/include/alibabacloud/resourcemanager/model/SetMemberDeletionPermissionResult.h
  28. 52 0
      resourcemanager/include/alibabacloud/resourcemanager/model/TagResourcesRequest.h
  29. 49 0
      resourcemanager/include/alibabacloud/resourcemanager/model/TagResourcesResult.h
  30. 51 0
      resourcemanager/include/alibabacloud/resourcemanager/model/UntagResourcesRequest.h
  31. 49 0
      resourcemanager/include/alibabacloud/resourcemanager/model/UntagResourcesResult.h
  32. 252 0
      resourcemanager/src/ResourceManagerClient.cc
  33. 12 0
      resourcemanager/src/model/CreateResourceAccountRequest.cc
  34. 9 0
      resourcemanager/src/model/GetAccountRequest.cc
  35. 12 0
      resourcemanager/src/model/GetAccountResult.cc
  36. 2 0
      resourcemanager/src/model/GetResourceDirectoryResult.cc
  37. 27 0
      resourcemanager/src/model/GetResourceGroupListAclModeRequest.cc
  38. 51 0
      resourcemanager/src/model/GetResourceGroupListAclModeResult.cc
  39. 9 0
      resourcemanager/src/model/GetResourceGroupRequest.cc
  40. 10 0
      resourcemanager/src/model/GetResourceGroupResult.cc
  41. 12 0
      resourcemanager/src/model/InviteAccountToResourceDirectoryRequest.cc
  42. 21 0
      resourcemanager/src/model/ListAccountsForParentRequest.cc
  43. 10 0
      resourcemanager/src/model/ListAccountsForParentResult.cc
  44. 21 0
      resourcemanager/src/model/ListAccountsRequest.cc
  45. 10 0
      resourcemanager/src/model/ListAccountsResult.cc
  46. 32 0
      resourcemanager/src/model/ListResourceGroupsRequest.cc
  47. 17 0
      resourcemanager/src/model/ListResourceGroupsResult.cc
  48. 63 0
      resourcemanager/src/model/ListTagKeysRequest.cc
  49. 64 0
      resourcemanager/src/model/ListTagKeysResult.cc
  50. 77 0
      resourcemanager/src/model/ListTagResourcesRequest.cc
  51. 70 0
      resourcemanager/src/model/ListTagResourcesResult.cc
  52. 72 0
      resourcemanager/src/model/ListTagValuesRequest.cc
  53. 64 0
      resourcemanager/src/model/ListTagValuesResult.cc
  54. 36 0
      resourcemanager/src/model/SetMemberDeletionPermissionRequest.cc
  55. 65 0
      resourcemanager/src/model/SetMemberDeletionPermissionResult.cc
  56. 59 0
      resourcemanager/src/model/TagResourcesRequest.cc
  57. 44 0
      resourcemanager/src/model/TagResourcesResult.cc
  58. 67 0
      resourcemanager/src/model/UntagResourcesRequest.cc
  59. 44 0
      resourcemanager/src/model/UntagResourcesResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2022-08-03 Version: 1.36.1217
+- Supported more query conditions when searching resource group.
+
 2022-08-02 Version: 1.36.1216
 - Support ecs instance diagnostic features.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1216
+1.36.1217

+ 28 - 0
resourcemanager/CMakeLists.txt

@@ -103,6 +103,8 @@ set(resourcemanager_public_header_model
 	include/alibabacloud/resourcemanager/model/GetResourceDirectoryResult.h
 	include/alibabacloud/resourcemanager/model/GetResourceGroupRequest.h
 	include/alibabacloud/resourcemanager/model/GetResourceGroupResult.h
+	include/alibabacloud/resourcemanager/model/GetResourceGroupListAclModeRequest.h
+	include/alibabacloud/resourcemanager/model/GetResourceGroupListAclModeResult.h
 	include/alibabacloud/resourcemanager/model/GetRoleRequest.h
 	include/alibabacloud/resourcemanager/model/GetRoleResult.h
 	include/alibabacloud/resourcemanager/model/GetServiceLinkedRoleDeletionStatusRequest.h
@@ -143,6 +145,12 @@ set(resourcemanager_public_header_model
 	include/alibabacloud/resourcemanager/model/ListResourcesResult.h
 	include/alibabacloud/resourcemanager/model/ListRolesRequest.h
 	include/alibabacloud/resourcemanager/model/ListRolesResult.h
+	include/alibabacloud/resourcemanager/model/ListTagKeysRequest.h
+	include/alibabacloud/resourcemanager/model/ListTagKeysResult.h
+	include/alibabacloud/resourcemanager/model/ListTagResourcesRequest.h
+	include/alibabacloud/resourcemanager/model/ListTagResourcesResult.h
+	include/alibabacloud/resourcemanager/model/ListTagValuesRequest.h
+	include/alibabacloud/resourcemanager/model/ListTagValuesResult.h
 	include/alibabacloud/resourcemanager/model/ListTargetAttachmentsForControlPolicyRequest.h
 	include/alibabacloud/resourcemanager/model/ListTargetAttachmentsForControlPolicyResult.h
 	include/alibabacloud/resourcemanager/model/ListTrustedServiceStatusRequest.h
@@ -167,6 +175,12 @@ set(resourcemanager_public_header_model
 	include/alibabacloud/resourcemanager/model/SendVerificationCodeForEnableRDResult.h
 	include/alibabacloud/resourcemanager/model/SetDefaultPolicyVersionRequest.h
 	include/alibabacloud/resourcemanager/model/SetDefaultPolicyVersionResult.h
+	include/alibabacloud/resourcemanager/model/SetMemberDeletionPermissionRequest.h
+	include/alibabacloud/resourcemanager/model/SetMemberDeletionPermissionResult.h
+	include/alibabacloud/resourcemanager/model/TagResourcesRequest.h
+	include/alibabacloud/resourcemanager/model/TagResourcesResult.h
+	include/alibabacloud/resourcemanager/model/UntagResourcesRequest.h
+	include/alibabacloud/resourcemanager/model/UntagResourcesResult.h
 	include/alibabacloud/resourcemanager/model/UpdateAccountRequest.h
 	include/alibabacloud/resourcemanager/model/UpdateAccountResult.h
 	include/alibabacloud/resourcemanager/model/UpdateControlPolicyRequest.h
@@ -262,6 +276,8 @@ set(resourcemanager_src
 	src/model/GetResourceDirectoryResult.cc
 	src/model/GetResourceGroupRequest.cc
 	src/model/GetResourceGroupResult.cc
+	src/model/GetResourceGroupListAclModeRequest.cc
+	src/model/GetResourceGroupListAclModeResult.cc
 	src/model/GetRoleRequest.cc
 	src/model/GetRoleResult.cc
 	src/model/GetServiceLinkedRoleDeletionStatusRequest.cc
@@ -302,6 +318,12 @@ set(resourcemanager_src
 	src/model/ListResourcesResult.cc
 	src/model/ListRolesRequest.cc
 	src/model/ListRolesResult.cc
+	src/model/ListTagKeysRequest.cc
+	src/model/ListTagKeysResult.cc
+	src/model/ListTagResourcesRequest.cc
+	src/model/ListTagResourcesResult.cc
+	src/model/ListTagValuesRequest.cc
+	src/model/ListTagValuesResult.cc
 	src/model/ListTargetAttachmentsForControlPolicyRequest.cc
 	src/model/ListTargetAttachmentsForControlPolicyResult.cc
 	src/model/ListTrustedServiceStatusRequest.cc
@@ -326,6 +348,12 @@ set(resourcemanager_src
 	src/model/SendVerificationCodeForEnableRDResult.cc
 	src/model/SetDefaultPolicyVersionRequest.cc
 	src/model/SetDefaultPolicyVersionResult.cc
+	src/model/SetMemberDeletionPermissionRequest.cc
+	src/model/SetMemberDeletionPermissionResult.cc
+	src/model/TagResourcesRequest.cc
+	src/model/TagResourcesResult.cc
+	src/model/UntagResourcesRequest.cc
+	src/model/UntagResourcesResult.cc
 	src/model/UpdateAccountRequest.cc
 	src/model/UpdateAccountResult.cc
 	src/model/UpdateControlPolicyRequest.cc

+ 56 - 0
resourcemanager/include/alibabacloud/resourcemanager/ResourceManagerClient.h

@@ -104,6 +104,8 @@
 #include "model/GetResourceDirectoryResult.h"
 #include "model/GetResourceGroupRequest.h"
 #include "model/GetResourceGroupResult.h"
+#include "model/GetResourceGroupListAclModeRequest.h"
+#include "model/GetResourceGroupListAclModeResult.h"
 #include "model/GetRoleRequest.h"
 #include "model/GetRoleResult.h"
 #include "model/GetServiceLinkedRoleDeletionStatusRequest.h"
@@ -144,6 +146,12 @@
 #include "model/ListResourcesResult.h"
 #include "model/ListRolesRequest.h"
 #include "model/ListRolesResult.h"
+#include "model/ListTagKeysRequest.h"
+#include "model/ListTagKeysResult.h"
+#include "model/ListTagResourcesRequest.h"
+#include "model/ListTagResourcesResult.h"
+#include "model/ListTagValuesRequest.h"
+#include "model/ListTagValuesResult.h"
 #include "model/ListTargetAttachmentsForControlPolicyRequest.h"
 #include "model/ListTargetAttachmentsForControlPolicyResult.h"
 #include "model/ListTrustedServiceStatusRequest.h"
@@ -168,6 +176,12 @@
 #include "model/SendVerificationCodeForEnableRDResult.h"
 #include "model/SetDefaultPolicyVersionRequest.h"
 #include "model/SetDefaultPolicyVersionResult.h"
+#include "model/SetMemberDeletionPermissionRequest.h"
+#include "model/SetMemberDeletionPermissionResult.h"
+#include "model/TagResourcesRequest.h"
+#include "model/TagResourcesResult.h"
+#include "model/UntagResourcesRequest.h"
+#include "model/UntagResourcesResult.h"
 #include "model/UpdateAccountRequest.h"
 #include "model/UpdateAccountResult.h"
 #include "model/UpdateControlPolicyRequest.h"
@@ -310,6 +324,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetResourceGroupResult> GetResourceGroupOutcome;
 			typedef std::future<GetResourceGroupOutcome> GetResourceGroupOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::GetResourceGroupRequest&, const GetResourceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetResourceGroupAsyncHandler;
+			typedef Outcome<Error, Model::GetResourceGroupListAclModeResult> GetResourceGroupListAclModeOutcome;
+			typedef std::future<GetResourceGroupListAclModeOutcome> GetResourceGroupListAclModeOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::GetResourceGroupListAclModeRequest&, const GetResourceGroupListAclModeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetResourceGroupListAclModeAsyncHandler;
 			typedef Outcome<Error, Model::GetRoleResult> GetRoleOutcome;
 			typedef std::future<GetRoleOutcome> GetRoleOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::GetRoleRequest&, const GetRoleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetRoleAsyncHandler;
@@ -370,6 +387,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListRolesResult> ListRolesOutcome;
 			typedef std::future<ListRolesOutcome> ListRolesOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::ListRolesRequest&, const ListRolesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRolesAsyncHandler;
+			typedef Outcome<Error, Model::ListTagKeysResult> ListTagKeysOutcome;
+			typedef std::future<ListTagKeysOutcome> ListTagKeysOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::ListTagKeysRequest&, const ListTagKeysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagKeysAsyncHandler;
+			typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
+			typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::ListTagValuesResult> ListTagValuesOutcome;
+			typedef std::future<ListTagValuesOutcome> ListTagValuesOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::ListTagValuesRequest&, const ListTagValuesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagValuesAsyncHandler;
 			typedef Outcome<Error, Model::ListTargetAttachmentsForControlPolicyResult> ListTargetAttachmentsForControlPolicyOutcome;
 			typedef std::future<ListTargetAttachmentsForControlPolicyOutcome> ListTargetAttachmentsForControlPolicyOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::ListTargetAttachmentsForControlPolicyRequest&, const ListTargetAttachmentsForControlPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTargetAttachmentsForControlPolicyAsyncHandler;
@@ -406,6 +432,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetDefaultPolicyVersionResult> SetDefaultPolicyVersionOutcome;
 			typedef std::future<SetDefaultPolicyVersionOutcome> SetDefaultPolicyVersionOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::SetDefaultPolicyVersionRequest&, const SetDefaultPolicyVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDefaultPolicyVersionAsyncHandler;
+			typedef Outcome<Error, Model::SetMemberDeletionPermissionResult> SetMemberDeletionPermissionOutcome;
+			typedef std::future<SetMemberDeletionPermissionOutcome> SetMemberDeletionPermissionOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::SetMemberDeletionPermissionRequest&, const SetMemberDeletionPermissionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetMemberDeletionPermissionAsyncHandler;
+			typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
+			typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
+			typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
 			typedef Outcome<Error, Model::UpdateAccountResult> UpdateAccountOutcome;
 			typedef std::future<UpdateAccountOutcome> UpdateAccountOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::UpdateAccountRequest&, const UpdateAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAccountAsyncHandler;
@@ -549,6 +584,9 @@ namespace AlibabaCloud
 			GetResourceGroupOutcome getResourceGroup(const Model::GetResourceGroupRequest &request)const;
 			void getResourceGroupAsync(const Model::GetResourceGroupRequest& request, const GetResourceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetResourceGroupOutcomeCallable getResourceGroupCallable(const Model::GetResourceGroupRequest& request) const;
+			GetResourceGroupListAclModeOutcome getResourceGroupListAclMode(const Model::GetResourceGroupListAclModeRequest &request)const;
+			void getResourceGroupListAclModeAsync(const Model::GetResourceGroupListAclModeRequest& request, const GetResourceGroupListAclModeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetResourceGroupListAclModeOutcomeCallable getResourceGroupListAclModeCallable(const Model::GetResourceGroupListAclModeRequest& request) const;
 			GetRoleOutcome getRole(const Model::GetRoleRequest &request)const;
 			void getRoleAsync(const Model::GetRoleRequest& request, const GetRoleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetRoleOutcomeCallable getRoleCallable(const Model::GetRoleRequest& request) const;
@@ -609,6 +647,15 @@ namespace AlibabaCloud
 			ListRolesOutcome listRoles(const Model::ListRolesRequest &request)const;
 			void listRolesAsync(const Model::ListRolesRequest& request, const ListRolesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListRolesOutcomeCallable listRolesCallable(const Model::ListRolesRequest& request) const;
+			ListTagKeysOutcome listTagKeys(const Model::ListTagKeysRequest &request)const;
+			void listTagKeysAsync(const Model::ListTagKeysRequest& request, const ListTagKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagKeysOutcomeCallable listTagKeysCallable(const Model::ListTagKeysRequest& request) const;
+			ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
+			void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
+			ListTagValuesOutcome listTagValues(const Model::ListTagValuesRequest &request)const;
+			void listTagValuesAsync(const Model::ListTagValuesRequest& request, const ListTagValuesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTagValuesOutcomeCallable listTagValuesCallable(const Model::ListTagValuesRequest& request) const;
 			ListTargetAttachmentsForControlPolicyOutcome listTargetAttachmentsForControlPolicy(const Model::ListTargetAttachmentsForControlPolicyRequest &request)const;
 			void listTargetAttachmentsForControlPolicyAsync(const Model::ListTargetAttachmentsForControlPolicyRequest& request, const ListTargetAttachmentsForControlPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListTargetAttachmentsForControlPolicyOutcomeCallable listTargetAttachmentsForControlPolicyCallable(const Model::ListTargetAttachmentsForControlPolicyRequest& request) const;
@@ -645,6 +692,15 @@ namespace AlibabaCloud
 			SetDefaultPolicyVersionOutcome setDefaultPolicyVersion(const Model::SetDefaultPolicyVersionRequest &request)const;
 			void setDefaultPolicyVersionAsync(const Model::SetDefaultPolicyVersionRequest& request, const SetDefaultPolicyVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetDefaultPolicyVersionOutcomeCallable setDefaultPolicyVersionCallable(const Model::SetDefaultPolicyVersionRequest& request) const;
+			SetMemberDeletionPermissionOutcome setMemberDeletionPermission(const Model::SetMemberDeletionPermissionRequest &request)const;
+			void setMemberDeletionPermissionAsync(const Model::SetMemberDeletionPermissionRequest& request, const SetMemberDeletionPermissionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetMemberDeletionPermissionOutcomeCallable setMemberDeletionPermissionCallable(const Model::SetMemberDeletionPermissionRequest& request) const;
+			TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
+			void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
+			UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
+			void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
 			UpdateAccountOutcome updateAccount(const Model::UpdateAccountRequest &request)const;
 			void updateAccountAsync(const Model::UpdateAccountRequest& request, const UpdateAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateAccountOutcomeCallable updateAccountCallable(const Model::UpdateAccountRequest& request) const;

+ 7 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/CreateResourceAccountRequest.h

@@ -28,6 +28,10 @@ namespace ResourceManager {
 namespace Model {
 class ALIBABACLOUD_RESOURCEMANAGER_EXPORT CreateResourceAccountRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
 	CreateResourceAccountRequest();
 	~CreateResourceAccountRequest();
 	std::string getAccountNamePrefix() const;
@@ -36,6 +40,8 @@ public:
 	void setParentFolderId(const std::string &parentFolderId);
 	std::string getDisplayName() const;
 	void setDisplayName(const std::string &displayName);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	std::string getPayerAccountId() const;
 	void setPayerAccountId(const std::string &payerAccountId);
 
@@ -43,6 +49,7 @@ private:
 	std::string accountNamePrefix_;
 	std::string parentFolderId_;
 	std::string displayName_;
+	std::vector<Tag> tag_;
 	std::string payerAccountId_;
 };
 } // namespace Model

+ 3 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountRequest.h

@@ -32,9 +32,12 @@ public:
 	~GetAccountRequest();
 	std::string getAccountId() const;
 	void setAccountId(const std::string &accountId);
+	bool getIncludeTags() const;
+	void setIncludeTags(bool includeTags);
 
 private:
 	std::string accountId_;
+	bool includeTags_;
 };
 } // namespace Model
 } // namespace ResourceManager

+ 11 - 4
resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountResult.h

@@ -34,18 +34,25 @@ namespace AlibabaCloud
 			public:
 				struct Account
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
-					std::string identityInformation;
-					std::string joinMethod;
 					std::string modifyTime;
-					std::string type;
 					std::string resourceDirectoryId;
 					std::string accountId;
+					std::string folderId;
+					std::string identityInformation;
+					std::string joinMethod;
+					std::string type;
 					std::string displayName;
 					std::string joinTime;
-					std::string folderId;
+					std::vector<Tag> tags;
 					std::string accountName;
 					std::string resourceDirectoryPath;
+					std::string location;
 				};
 
 

+ 1 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceDirectoryResult.h

@@ -34,6 +34,7 @@ namespace AlibabaCloud
 			public:
 				struct ResourceDirectory
 				{
+					std::string identityInformation;
 					std::string resourceDirectoryId;
 					std::string scpStatus;
 					std::string memberDeletionStatus;

+ 39 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupListAclModeRequest.h

@@ -0,0 +1,39 @@
+/*
+ * 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_RESOURCEMANAGER_MODEL_GETRESOURCEGROUPLISTACLMODEREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETRESOURCEGROUPLISTACLMODEREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT GetResourceGroupListAclModeRequest : public RpcServiceRequest {
+public:
+	GetResourceGroupListAclModeRequest();
+	~GetResourceGroupListAclModeRequest();
+
+private:
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETRESOURCEGROUPLISTACLMODEREQUEST_H_

+ 51 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupListAclModeResult.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_RESOURCEMANAGER_MODEL_GETRESOURCEGROUPLISTACLMODERESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETRESOURCEGROUPLISTACLMODERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ResourceManager
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RESOURCEMANAGER_EXPORT GetResourceGroupListAclModeResult : public ServiceResult
+			{
+			public:
+
+
+				GetResourceGroupListAclModeResult();
+				explicit GetResourceGroupListAclModeResult(const std::string &payload);
+				~GetResourceGroupListAclModeResult();
+				std::string getMode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string mode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETRESOURCEGROUPLISTACLMODERESULT_H_

+ 3 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupRequest.h

@@ -32,9 +32,12 @@ public:
 	~GetResourceGroupRequest();
 	std::string getResourceGroupId() const;
 	void setResourceGroupId(const std::string &resourceGroupId);
+	bool getIncludeTags() const;
+	void setIncludeTags(bool includeTags);
 
 private:
 	std::string resourceGroupId_;
+	bool includeTags_;
 };
 } // namespace Model
 } // namespace ResourceManager

+ 6 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetResourceGroupResult.h

@@ -39,12 +39,18 @@ namespace AlibabaCloud
 						std::string status;
 						std::string regionId;
 					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::vector<RegionStatus> regionStatuses;
 					std::string accountId;
 					std::string displayName;
 					std::string id;
 					std::string createDate;
+					std::vector<Tag> tags;
 					std::string name;
 				};
 

+ 7 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/InviteAccountToResourceDirectoryRequest.h

@@ -28,18 +28,25 @@ namespace ResourceManager {
 namespace Model {
 class ALIBABACLOUD_RESOURCEMANAGER_EXPORT InviteAccountToResourceDirectoryRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
 	InviteAccountToResourceDirectoryRequest();
 	~InviteAccountToResourceDirectoryRequest();
 	std::string getNote() const;
 	void setNote(const std::string &note);
 	std::string getTargetType() const;
 	void setTargetType(const std::string &targetType);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 	std::string getTargetEntity() const;
 	void setTargetEntity(const std::string &targetEntity);
 
 private:
 	std::string note_;
 	std::string targetType_;
+	std::vector<Tag> tag_;
 	std::string targetEntity_;
 };
 } // namespace Model

+ 10 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsForParentRequest.h

@@ -28,6 +28,10 @@ namespace ResourceManager {
 namespace Model {
 class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListAccountsForParentRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
 	ListAccountsForParentRequest();
 	~ListAccountsForParentRequest();
 	std::string getQueryKeyword() const;
@@ -36,14 +40,20 @@ public:
 	void setPageNumber(int pageNumber);
 	std::string getParentFolderId() const;
 	void setParentFolderId(const std::string &parentFolderId);
+	bool getIncludeTags() const;
+	void setIncludeTags(bool includeTags);
 	int getPageSize() const;
 	void setPageSize(int pageSize);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 
 private:
 	std::string queryKeyword_;
 	int pageNumber_;
 	std::string parentFolderId_;
+	bool includeTags_;
 	int pageSize_;
+	std::vector<Tag> tag_;
 };
 } // namespace Model
 } // namespace ResourceManager

+ 6 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsForParentResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Account
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string joinMethod;
 					std::string modifyTime;
@@ -43,6 +48,7 @@ namespace AlibabaCloud
 					std::string displayName;
 					std::string joinTime;
 					std::string folderId;
+					std::vector<Account::Tag> tags;
 				};
 
 

+ 10 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsRequest.h

@@ -28,16 +28,26 @@ namespace ResourceManager {
 namespace Model {
 class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListAccountsRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
 	ListAccountsRequest();
 	~ListAccountsRequest();
 	int getPageNumber() const;
 	void setPageNumber(int pageNumber);
+	bool getIncludeTags() const;
+	void setIncludeTags(bool includeTags);
 	int getPageSize() const;
 	void setPageSize(int pageSize);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 
 private:
 	int pageNumber_;
+	bool includeTags_;
 	int pageSize_;
+	std::vector<Tag> tag_;
 };
 } // namespace Model
 } // namespace ResourceManager

+ 6 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListAccountsResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct Account
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string joinMethod;
 					std::string modifyTime;
@@ -43,6 +48,7 @@ namespace AlibabaCloud
 					std::string displayName;
 					std::string joinTime;
 					std::string folderId;
+					std::vector<Account::Tag> tags;
 					std::string resourceDirectoryPath;
 				};
 

+ 13 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListResourceGroupsRequest.h

@@ -28,6 +28,10 @@ namespace ResourceManager {
 namespace Model {
 class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListResourceGroupsRequest : public RpcServiceRequest {
 public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
 	ListResourceGroupsRequest();
 	~ListResourceGroupsRequest();
 	int getPageNumber() const;
@@ -36,6 +40,12 @@ public:
 	void setResourceGroupId(const std::string &resourceGroupId);
 	int getPageSize() const;
 	void setPageSize(int pageSize);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
+	std::vector<std::string> getResourceGroupIds() const;
+	void setResourceGroupIds(const std::vector<std::string> &resourceGroupIds);
+	bool getIncludeTags() const;
+	void setIncludeTags(bool includeTags);
 	std::string getDisplayName() const;
 	void setDisplayName(const std::string &displayName);
 	std::string getName() const;
@@ -47,6 +57,9 @@ private:
 	int pageNumber_;
 	std::string resourceGroupId_;
 	int pageSize_;
+	std::vector<Tag> tag_;
+	std::vector<std::string> resourceGroupIds_;
+	bool includeTags_;
 	std::string displayName_;
 	std::string name_;
 	std::string status_;

+ 8 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListResourceGroupsResult.h

@@ -34,11 +34,17 @@ namespace AlibabaCloud
 			public:
 				struct ResourceGroup
 				{
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::string accountId;
 					std::string displayName;
 					std::string id;
 					std::string createDate;
+					std::vector<ResourceGroup::Tag> tags;
 					std::string name;
 				};
 
@@ -50,6 +56,7 @@ namespace AlibabaCloud
 				int getPageSize()const;
 				int getPageNumber()const;
 				std::vector<ResourceGroup> getResourceGroups()const;
+				std::string getResourceGroupListAclMode()const;
 
 			protected:
 				void parse(const std::string &payload);
@@ -58,6 +65,7 @@ namespace AlibabaCloud
 				int pageSize_;
 				int pageNumber_;
 				std::vector<ResourceGroup> resourceGroups_;
+				std::string resourceGroupListAclMode_;
 
 			};
 		}

+ 51 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListTagKeysRequest.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_RESOURCEMANAGER_MODEL_LISTTAGKEYSREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGKEYSREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListTagKeysRequest : public RpcServiceRequest {
+public:
+	ListTagKeysRequest();
+	~ListTagKeysRequest();
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+	std::string getKeyFilter() const;
+	void setKeyFilter(const std::string &keyFilter);
+
+private:
+	std::string resourceType_;
+	std::string nextToken_;
+	int maxResults_;
+	std::string keyFilter_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGKEYSREQUEST_H_

+ 57 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListTagKeysResult.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_RESOURCEMANAGER_MODEL_LISTTAGKEYSRESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGKEYSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ResourceManager
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListTagKeysResult : public ServiceResult
+			{
+			public:
+				struct Tag
+				{
+					std::string key;
+				};
+
+
+				ListTagKeysResult();
+				explicit ListTagKeysResult(const std::string &payload);
+				~ListTagKeysResult();
+				std::string getNextToken()const;
+				std::vector<Tag> getTags()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<Tag> tags_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGKEYSRESULT_H_

+ 58 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListTagResourcesRequest.h

@@ -0,0 +1,58 @@
+/*
+ * 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_RESOURCEMANAGER_MODEL_LISTTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGRESOURCESREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListTagResourcesRequest : public RpcServiceRequest {
+public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
+	ListTagResourcesRequest();
+	~ListTagResourcesRequest();
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
+
+private:
+	std::vector<std::string> resourceId_;
+	std::string resourceType_;
+	std::string nextToken_;
+	int maxResults_;
+	std::vector<Tag> tag_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGRESOURCESREQUEST_H_

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

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

+ 54 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListTagValuesRequest.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_RESOURCEMANAGER_MODEL_LISTTAGVALUESREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGVALUESREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListTagValuesRequest : public RpcServiceRequest {
+public:
+	ListTagValuesRequest();
+	~ListTagValuesRequest();
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getValueFilter() const;
+	void setValueFilter(const std::string &valueFilter);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+	std::string getTagKey() const;
+	void setTagKey(const std::string &tagKey);
+
+private:
+	std::string resourceType_;
+	std::string valueFilter_;
+	std::string nextToken_;
+	int maxResults_;
+	std::string tagKey_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGVALUESREQUEST_H_

+ 57 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/ListTagValuesResult.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_RESOURCEMANAGER_MODEL_LISTTAGVALUESRESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGVALUESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ResourceManager
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RESOURCEMANAGER_EXPORT ListTagValuesResult : public ServiceResult
+			{
+			public:
+				struct Tag
+				{
+					std::string value;
+				};
+
+
+				ListTagValuesResult();
+				explicit ListTagValuesResult(const std::string &payload);
+				~ListTagValuesResult();
+				std::string getNextToken()const;
+				std::vector<Tag> getTags()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<Tag> tags_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_LISTTAGVALUESRESULT_H_

+ 42 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/SetMemberDeletionPermissionRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_RESOURCEMANAGER_MODEL_SETMEMBERDELETIONPERMISSIONREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_SETMEMBERDELETIONPERMISSIONREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT SetMemberDeletionPermissionRequest : public RpcServiceRequest {
+public:
+	SetMemberDeletionPermissionRequest();
+	~SetMemberDeletionPermissionRequest();
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	std::string status_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_SETMEMBERDELETIONPERMISSIONREQUEST_H_

+ 55 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/SetMemberDeletionPermissionResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_RESOURCEMANAGER_MODEL_SETMEMBERDELETIONPERMISSIONRESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_SETMEMBERDELETIONPERMISSIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ResourceManager
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RESOURCEMANAGER_EXPORT SetMemberDeletionPermissionResult : public ServiceResult
+			{
+			public:
+
+
+				SetMemberDeletionPermissionResult();
+				explicit SetMemberDeletionPermissionResult(const std::string &payload);
+				~SetMemberDeletionPermissionResult();
+				std::string getResourceDirectoryId()const;
+				std::string getMemberDeletionStatus()const;
+				std::string getManagementAccountId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string resourceDirectoryId_;
+				std::string memberDeletionStatus_;
+				std::string managementAccountId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_SETMEMBERDELETIONPERMISSIONRESULT_H_

+ 52 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/TagResourcesRequest.h

@@ -0,0 +1,52 @@
+/*
+ * 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_RESOURCEMANAGER_MODEL_TAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_TAGRESOURCESREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT TagResourcesRequest : public RpcServiceRequest {
+public:
+	struct Tag {
+		std::string value;
+		std::string key;
+	};
+	TagResourcesRequest();
+	~TagResourcesRequest();
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
+
+private:
+	std::vector<std::string> resourceId_;
+	std::string resourceType_;
+	std::vector<Tag> tag_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_TAGRESOURCESREQUEST_H_

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

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

+ 51 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/UntagResourcesRequest.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_RESOURCEMANAGER_MODEL_UNTAGRESOURCESREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_UNTAGRESOURCESREQUEST_H_
+
+#include <alibabacloud/resourcemanager/ResourceManagerExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace ResourceManager {
+namespace Model {
+class ALIBABACLOUD_RESOURCEMANAGER_EXPORT UntagResourcesRequest : public RpcServiceRequest {
+public:
+	UntagResourcesRequest();
+	~UntagResourcesRequest();
+	bool getAll() const;
+	void setAll(bool all);
+	std::vector<std::string> getResourceId() const;
+	void setResourceId(const std::vector<std::string> &resourceId);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::vector<std::string> getTagKey() const;
+	void setTagKey(const std::vector<std::string> &tagKey);
+
+private:
+	bool all_;
+	std::vector<std::string> resourceId_;
+	std::string resourceType_;
+	std::vector<std::string> tagKey_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_UNTAGRESOURCESREQUEST_H_

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

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

+ 252 - 0
resourcemanager/src/ResourceManagerClient.cc

@@ -1527,6 +1527,42 @@ ResourceManagerClient::GetResourceGroupOutcomeCallable ResourceManagerClient::ge
 	return task->get_future();
 }
 
+ResourceManagerClient::GetResourceGroupListAclModeOutcome ResourceManagerClient::getResourceGroupListAclMode(const GetResourceGroupListAclModeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetResourceGroupListAclModeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetResourceGroupListAclModeOutcome(GetResourceGroupListAclModeResult(outcome.result()));
+	else
+		return GetResourceGroupListAclModeOutcome(outcome.error());
+}
+
+void ResourceManagerClient::getResourceGroupListAclModeAsync(const GetResourceGroupListAclModeRequest& request, const GetResourceGroupListAclModeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getResourceGroupListAclMode(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::GetResourceGroupListAclModeOutcomeCallable ResourceManagerClient::getResourceGroupListAclModeCallable(const GetResourceGroupListAclModeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetResourceGroupListAclModeOutcome()>>(
+			[this, request]()
+			{
+			return this->getResourceGroupListAclMode(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ResourceManagerClient::GetRoleOutcome ResourceManagerClient::getRole(const GetRoleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2247,6 +2283,114 @@ ResourceManagerClient::ListRolesOutcomeCallable ResourceManagerClient::listRoles
 	return task->get_future();
 }
 
+ResourceManagerClient::ListTagKeysOutcome ResourceManagerClient::listTagKeys(const ListTagKeysRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagKeysOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagKeysOutcome(ListTagKeysResult(outcome.result()));
+	else
+		return ListTagKeysOutcome(outcome.error());
+}
+
+void ResourceManagerClient::listTagKeysAsync(const ListTagKeysRequest& request, const ListTagKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagKeys(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::ListTagKeysOutcomeCallable ResourceManagerClient::listTagKeysCallable(const ListTagKeysRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagKeysOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagKeys(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ResourceManagerClient::ListTagResourcesOutcome ResourceManagerClient::listTagResources(const ListTagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagResourcesOutcome(ListTagResourcesResult(outcome.result()));
+	else
+		return ListTagResourcesOutcome(outcome.error());
+}
+
+void ResourceManagerClient::listTagResourcesAsync(const ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::ListTagResourcesOutcomeCallable ResourceManagerClient::listTagResourcesCallable(const ListTagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ResourceManagerClient::ListTagValuesOutcome ResourceManagerClient::listTagValues(const ListTagValuesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTagValuesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTagValuesOutcome(ListTagValuesResult(outcome.result()));
+	else
+		return ListTagValuesOutcome(outcome.error());
+}
+
+void ResourceManagerClient::listTagValuesAsync(const ListTagValuesRequest& request, const ListTagValuesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTagValues(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::ListTagValuesOutcomeCallable ResourceManagerClient::listTagValuesCallable(const ListTagValuesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTagValuesOutcome()>>(
+			[this, request]()
+			{
+			return this->listTagValues(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ResourceManagerClient::ListTargetAttachmentsForControlPolicyOutcome ResourceManagerClient::listTargetAttachmentsForControlPolicy(const ListTargetAttachmentsForControlPolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2679,6 +2823,114 @@ ResourceManagerClient::SetDefaultPolicyVersionOutcomeCallable ResourceManagerCli
 	return task->get_future();
 }
 
+ResourceManagerClient::SetMemberDeletionPermissionOutcome ResourceManagerClient::setMemberDeletionPermission(const SetMemberDeletionPermissionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetMemberDeletionPermissionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetMemberDeletionPermissionOutcome(SetMemberDeletionPermissionResult(outcome.result()));
+	else
+		return SetMemberDeletionPermissionOutcome(outcome.error());
+}
+
+void ResourceManagerClient::setMemberDeletionPermissionAsync(const SetMemberDeletionPermissionRequest& request, const SetMemberDeletionPermissionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setMemberDeletionPermission(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::SetMemberDeletionPermissionOutcomeCallable ResourceManagerClient::setMemberDeletionPermissionCallable(const SetMemberDeletionPermissionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetMemberDeletionPermissionOutcome()>>(
+			[this, request]()
+			{
+			return this->setMemberDeletionPermission(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ResourceManagerClient::TagResourcesOutcome ResourceManagerClient::tagResources(const TagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TagResourcesOutcome(TagResourcesResult(outcome.result()));
+	else
+		return TagResourcesOutcome(outcome.error());
+}
+
+void ResourceManagerClient::tagResourcesAsync(const TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, tagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::TagResourcesOutcomeCallable ResourceManagerClient::tagResourcesCallable(const TagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->tagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ResourceManagerClient::UntagResourcesOutcome ResourceManagerClient::untagResources(const UntagResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UntagResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UntagResourcesOutcome(UntagResourcesResult(outcome.result()));
+	else
+		return UntagResourcesOutcome(outcome.error());
+}
+
+void ResourceManagerClient::untagResourcesAsync(const UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, untagResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::UntagResourcesOutcomeCallable ResourceManagerClient::untagResourcesCallable(const UntagResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UntagResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->untagResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ResourceManagerClient::UpdateAccountOutcome ResourceManagerClient::updateAccount(const UpdateAccountRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 12 - 0
resourcemanager/src/model/CreateResourceAccountRequest.cc

@@ -52,6 +52,18 @@ void CreateResourceAccountRequest::setDisplayName(const std::string &displayName
   setParameter(std::string("DisplayName"), displayName);
 }
 
+std::vector<CreateResourceAccountRequest::Tag> CreateResourceAccountRequest::getTag() const {
+  return tag_;
+}
+
+void CreateResourceAccountRequest::setTag(const std::vector<CreateResourceAccountRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+
 std::string CreateResourceAccountRequest::getPayerAccountId() const {
   return payerAccountId_;
 }

+ 9 - 0
resourcemanager/src/model/GetAccountRequest.cc

@@ -34,3 +34,12 @@ void GetAccountRequest::setAccountId(const std::string &accountId) {
   setParameter(std::string("AccountId"), accountId);
 }
 
+bool GetAccountRequest::getIncludeTags() const {
+  return includeTags_;
+}
+
+void GetAccountRequest::setIncludeTags(bool includeTags) {
+  includeTags_ = includeTags;
+  setParameter(std::string("IncludeTags"), includeTags ? "true" : "false");
+}
+

+ 12 - 0
resourcemanager/src/model/GetAccountResult.cc

@@ -64,6 +64,18 @@ void GetAccountResult::parse(const std::string &payload)
 		account_.accountName = accountNode["AccountName"].asString();
 	if(!accountNode["ResourceDirectoryPath"].isNull())
 		account_.resourceDirectoryPath = accountNode["ResourceDirectoryPath"].asString();
+	if(!accountNode["Location"].isNull())
+		account_.location = accountNode["Location"].asString();
+	auto allTagsNode = accountNode["Tags"]["Tag"];
+	for (auto accountNodeTagsTag : allTagsNode)
+	{
+		Account::Tag tagObject;
+		if(!accountNodeTagsTag["Key"].isNull())
+			tagObject.key = accountNodeTagsTag["Key"].asString();
+		if(!accountNodeTagsTag["Value"].isNull())
+			tagObject.value = accountNodeTagsTag["Value"].asString();
+		account_.tags.push_back(tagObject);
+	}
 
 }
 

+ 2 - 0
resourcemanager/src/model/GetResourceDirectoryResult.cc

@@ -56,6 +56,8 @@ void GetResourceDirectoryResult::parse(const std::string &payload)
 		resourceDirectory_.controlPolicyStatus = resourceDirectoryNode["ControlPolicyStatus"].asString();
 	if(!resourceDirectoryNode["MemberDeletionStatus"].isNull())
 		resourceDirectory_.memberDeletionStatus = resourceDirectoryNode["MemberDeletionStatus"].asString();
+	if(!resourceDirectoryNode["IdentityInformation"].isNull())
+		resourceDirectory_.identityInformation = resourceDirectoryNode["IdentityInformation"].asString();
 
 }
 

+ 27 - 0
resourcemanager/src/model/GetResourceGroupListAclModeRequest.cc

@@ -0,0 +1,27 @@
+/*
+ * 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/resourcemanager/model/GetResourceGroupListAclModeRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::GetResourceGroupListAclModeRequest;
+
+GetResourceGroupListAclModeRequest::GetResourceGroupListAclModeRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "GetResourceGroupListAclMode") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetResourceGroupListAclModeRequest::~GetResourceGroupListAclModeRequest() {}
+

+ 51 - 0
resourcemanager/src/model/GetResourceGroupListAclModeResult.cc

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

+ 9 - 0
resourcemanager/src/model/GetResourceGroupRequest.cc

@@ -34,3 +34,12 @@ void GetResourceGroupRequest::setResourceGroupId(const std::string &resourceGrou
   setParameter(std::string("ResourceGroupId"), resourceGroupId);
 }
 
+bool GetResourceGroupRequest::getIncludeTags() const {
+  return includeTags_;
+}
+
+void GetResourceGroupRequest::setIncludeTags(bool includeTags) {
+  includeTags_ = includeTags;
+  setParameter(std::string("IncludeTags"), includeTags ? "true" : "false");
+}
+

+ 10 - 0
resourcemanager/src/model/GetResourceGroupResult.cc

@@ -62,6 +62,16 @@ void GetResourceGroupResult::parse(const std::string &payload)
 			regionStatusObject.regionId = resourceGroupNodeRegionStatusesRegionStatus["RegionId"].asString();
 		resourceGroup_.regionStatuses.push_back(regionStatusObject);
 	}
+	auto allTagsNode = resourceGroupNode["Tags"]["Tag"];
+	for (auto resourceGroupNodeTagsTag : allTagsNode)
+	{
+		ResourceGroup::Tag tagObject;
+		if(!resourceGroupNodeTagsTag["TagKey"].isNull())
+			tagObject.tagKey = resourceGroupNodeTagsTag["TagKey"].asString();
+		if(!resourceGroupNodeTagsTag["TagValue"].isNull())
+			tagObject.tagValue = resourceGroupNodeTagsTag["TagValue"].asString();
+		resourceGroup_.tags.push_back(tagObject);
+	}
 
 }
 

+ 12 - 0
resourcemanager/src/model/InviteAccountToResourceDirectoryRequest.cc

@@ -43,6 +43,18 @@ void InviteAccountToResourceDirectoryRequest::setTargetType(const std::string &t
   setParameter(std::string("TargetType"), targetType);
 }
 
+std::vector<InviteAccountToResourceDirectoryRequest::Tag> InviteAccountToResourceDirectoryRequest::getTag() const {
+  return tag_;
+}
+
+void InviteAccountToResourceDirectoryRequest::setTag(const std::vector<InviteAccountToResourceDirectoryRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+
 std::string InviteAccountToResourceDirectoryRequest::getTargetEntity() const {
   return targetEntity_;
 }

+ 21 - 0
resourcemanager/src/model/ListAccountsForParentRequest.cc

@@ -52,6 +52,15 @@ void ListAccountsForParentRequest::setParentFolderId(const std::string &parentFo
   setParameter(std::string("ParentFolderId"), parentFolderId);
 }
 
+bool ListAccountsForParentRequest::getIncludeTags() const {
+  return includeTags_;
+}
+
+void ListAccountsForParentRequest::setIncludeTags(bool includeTags) {
+  includeTags_ = includeTags;
+  setParameter(std::string("IncludeTags"), includeTags ? "true" : "false");
+}
+
 int ListAccountsForParentRequest::getPageSize() const {
   return pageSize_;
 }
@@ -61,3 +70,15 @@ void ListAccountsForParentRequest::setPageSize(int pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<ListAccountsForParentRequest::Tag> ListAccountsForParentRequest::getTag() const {
+  return tag_;
+}
+
+void ListAccountsForParentRequest::setTag(const std::vector<ListAccountsForParentRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+

+ 10 - 0
resourcemanager/src/model/ListAccountsForParentResult.cc

@@ -61,6 +61,16 @@ void ListAccountsForParentResult::parse(const std::string &payload)
 			accountsObject.joinMethod = valueAccountsAccount["JoinMethod"].asString();
 		if(!valueAccountsAccount["ModifyTime"].isNull())
 			accountsObject.modifyTime = valueAccountsAccount["ModifyTime"].asString();
+		auto allTagsNode = valueAccountsAccount["Tags"]["Tag"];
+		for (auto valueAccountsAccountTagsTag : allTagsNode)
+		{
+			Account::Tag tagsObject;
+			if(!valueAccountsAccountTagsTag["Key"].isNull())
+				tagsObject.key = valueAccountsAccountTagsTag["Key"].asString();
+			if(!valueAccountsAccountTagsTag["Value"].isNull())
+				tagsObject.value = valueAccountsAccountTagsTag["Value"].asString();
+			accountsObject.tags.push_back(tagsObject);
+		}
 		accounts_.push_back(accountsObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 21 - 0
resourcemanager/src/model/ListAccountsRequest.cc

@@ -34,6 +34,15 @@ void ListAccountsRequest::setPageNumber(int pageNumber) {
   setParameter(std::string("PageNumber"), std::to_string(pageNumber));
 }
 
+bool ListAccountsRequest::getIncludeTags() const {
+  return includeTags_;
+}
+
+void ListAccountsRequest::setIncludeTags(bool includeTags) {
+  includeTags_ = includeTags;
+  setParameter(std::string("IncludeTags"), includeTags ? "true" : "false");
+}
+
 int ListAccountsRequest::getPageSize() const {
   return pageSize_;
 }
@@ -43,3 +52,15 @@ void ListAccountsRequest::setPageSize(int pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<ListAccountsRequest::Tag> ListAccountsRequest::getTag() const {
+  return tag_;
+}
+
+void ListAccountsRequest::setTag(const std::vector<ListAccountsRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+

+ 10 - 0
resourcemanager/src/model/ListAccountsResult.cc

@@ -63,6 +63,16 @@ void ListAccountsResult::parse(const std::string &payload)
 			accountsObject.modifyTime = valueAccountsAccount["ModifyTime"].asString();
 		if(!valueAccountsAccount["ResourceDirectoryPath"].isNull())
 			accountsObject.resourceDirectoryPath = valueAccountsAccount["ResourceDirectoryPath"].asString();
+		auto allTagsNode = valueAccountsAccount["Tags"]["Tag"];
+		for (auto valueAccountsAccountTagsTag : allTagsNode)
+		{
+			Account::Tag tagsObject;
+			if(!valueAccountsAccountTagsTag["Key"].isNull())
+				tagsObject.key = valueAccountsAccountTagsTag["Key"].asString();
+			if(!valueAccountsAccountTagsTag["Value"].isNull())
+				tagsObject.value = valueAccountsAccountTagsTag["Value"].asString();
+			accountsObject.tags.push_back(tagsObject);
+		}
 		accounts_.push_back(accountsObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 32 - 0
resourcemanager/src/model/ListResourceGroupsRequest.cc

@@ -52,6 +52,38 @@ void ListResourceGroupsRequest::setPageSize(int pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<ListResourceGroupsRequest::Tag> ListResourceGroupsRequest::getTag() const {
+  return tag_;
+}
+
+void ListResourceGroupsRequest::setTag(const std::vector<ListResourceGroupsRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+
+std::vector<ListResourceGroupsRequest::std::string> ListResourceGroupsRequest::getResourceGroupIds() const {
+  return resourceGroupIds_;
+}
+
+void ListResourceGroupsRequest::setResourceGroupIds(const std::vector<ListResourceGroupsRequest::std::string> &resourceGroupIds) {
+  resourceGroupIds_ = resourceGroupIds;
+  for(int dep1 = 0; dep1 != resourceGroupIds.size(); dep1++) {
+    setParameter(std::string("ResourceGroupIds") + "." + std::to_string(dep1 + 1), resourceGroupIds[dep1]);
+  }
+}
+
+bool ListResourceGroupsRequest::getIncludeTags() const {
+  return includeTags_;
+}
+
+void ListResourceGroupsRequest::setIncludeTags(bool includeTags) {
+  includeTags_ = includeTags;
+  setParameter(std::string("IncludeTags"), includeTags ? "true" : "false");
+}
+
 std::string ListResourceGroupsRequest::getDisplayName() const {
   return displayName_;
 }

+ 17 - 0
resourcemanager/src/model/ListResourceGroupsResult.cc

@@ -55,6 +55,16 @@ void ListResourceGroupsResult::parse(const std::string &payload)
 			resourceGroupsObject.createDate = valueResourceGroupsResourceGroup["CreateDate"].asString();
 		if(!valueResourceGroupsResourceGroup["Id"].isNull())
 			resourceGroupsObject.id = valueResourceGroupsResourceGroup["Id"].asString();
+		auto allTagsNode = valueResourceGroupsResourceGroup["Tags"]["Tag"];
+		for (auto valueResourceGroupsResourceGroupTagsTag : allTagsNode)
+		{
+			ResourceGroup::Tag tagsObject;
+			if(!valueResourceGroupsResourceGroupTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = valueResourceGroupsResourceGroupTagsTag["TagKey"].asString();
+			if(!valueResourceGroupsResourceGroupTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = valueResourceGroupsResourceGroupTagsTag["TagValue"].asString();
+			resourceGroupsObject.tags.push_back(tagsObject);
+		}
 		resourceGroups_.push_back(resourceGroupsObject);
 	}
 	if(!value["TotalCount"].isNull())
@@ -63,6 +73,8 @@ void ListResourceGroupsResult::parse(const std::string &payload)
 		pageSize_ = std::stoi(value["PageSize"].asString());
 	if(!value["PageNumber"].isNull())
 		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["ResourceGroupListAclMode"].isNull())
+		resourceGroupListAclMode_ = value["ResourceGroupListAclMode"].asString();
 
 }
 
@@ -86,3 +98,8 @@ std::vector<ListResourceGroupsResult::ResourceGroup> ListResourceGroupsResult::g
 	return resourceGroups_;
 }
 
+std::string ListResourceGroupsResult::getResourceGroupListAclMode()const
+{
+	return resourceGroupListAclMode_;
+}
+

+ 63 - 0
resourcemanager/src/model/ListTagKeysRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/resourcemanager/model/ListTagKeysRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::ListTagKeysRequest;
+
+ListTagKeysRequest::ListTagKeysRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "ListTagKeys") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListTagKeysRequest::~ListTagKeysRequest() {}
+
+std::string ListTagKeysRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void ListTagKeysRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string ListTagKeysRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void ListTagKeysRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+int ListTagKeysRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void ListTagKeysRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+
+std::string ListTagKeysRequest::getKeyFilter() const {
+  return keyFilter_;
+}
+
+void ListTagKeysRequest::setKeyFilter(const std::string &keyFilter) {
+  keyFilter_ = keyFilter;
+  setParameter(std::string("KeyFilter"), keyFilter);
+}
+

+ 64 - 0
resourcemanager/src/model/ListTagKeysResult.cc

@@ -0,0 +1,64 @@
+/*
+ * 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/resourcemanager/model/ListTagKeysResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+ListTagKeysResult::ListTagKeysResult() :
+	ServiceResult()
+{}
+
+ListTagKeysResult::ListTagKeysResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListTagKeysResult::~ListTagKeysResult()
+{}
+
+void ListTagKeysResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Key"].isNull())
+			tagsObject.key = valueTagsTag["Key"].asString();
+		tags_.push_back(tagsObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string ListTagKeysResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<ListTagKeysResult::Tag> ListTagKeysResult::getTags()const
+{
+	return tags_;
+}
+

+ 77 - 0
resourcemanager/src/model/ListTagResourcesRequest.cc

@@ -0,0 +1,77 @@
+/*
+ * 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/resourcemanager/model/ListTagResourcesRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::ListTagResourcesRequest;
+
+ListTagResourcesRequest::ListTagResourcesRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "ListTagResources") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListTagResourcesRequest::~ListTagResourcesRequest() {}
+
+std::vector<ListTagResourcesRequest::std::string> ListTagResourcesRequest::getResourceId() const {
+  return resourceId_;
+}
+
+void ListTagResourcesRequest::setResourceId(const std::vector<ListTagResourcesRequest::std::string> &resourceId) {
+  resourceId_ = resourceId;
+  for(int dep1 = 0; dep1 != resourceId.size(); dep1++) {
+    setParameter(std::string("ResourceId") + "." + std::to_string(dep1 + 1), resourceId[dep1]);
+  }
+}
+
+std::string ListTagResourcesRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void ListTagResourcesRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string ListTagResourcesRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void ListTagResourcesRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+int ListTagResourcesRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void ListTagResourcesRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+
+std::vector<ListTagResourcesRequest::Tag> ListTagResourcesRequest::getTag() const {
+  return tag_;
+}
+
+void ListTagResourcesRequest::setTag(const std::vector<ListTagResourcesRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+

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

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

+ 72 - 0
resourcemanager/src/model/ListTagValuesRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/resourcemanager/model/ListTagValuesRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::ListTagValuesRequest;
+
+ListTagValuesRequest::ListTagValuesRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "ListTagValues") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListTagValuesRequest::~ListTagValuesRequest() {}
+
+std::string ListTagValuesRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void ListTagValuesRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string ListTagValuesRequest::getValueFilter() const {
+  return valueFilter_;
+}
+
+void ListTagValuesRequest::setValueFilter(const std::string &valueFilter) {
+  valueFilter_ = valueFilter;
+  setParameter(std::string("ValueFilter"), valueFilter);
+}
+
+std::string ListTagValuesRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void ListTagValuesRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+int ListTagValuesRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void ListTagValuesRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+
+std::string ListTagValuesRequest::getTagKey() const {
+  return tagKey_;
+}
+
+void ListTagValuesRequest::setTagKey(const std::string &tagKey) {
+  tagKey_ = tagKey;
+  setParameter(std::string("TagKey"), tagKey);
+}
+

+ 64 - 0
resourcemanager/src/model/ListTagValuesResult.cc

@@ -0,0 +1,64 @@
+/*
+ * 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/resourcemanager/model/ListTagValuesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+ListTagValuesResult::ListTagValuesResult() :
+	ServiceResult()
+{}
+
+ListTagValuesResult::ListTagValuesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListTagValuesResult::~ListTagValuesResult()
+{}
+
+void ListTagValuesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Value"].isNull())
+			tagsObject.value = valueTagsTag["Value"].asString();
+		tags_.push_back(tagsObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string ListTagValuesResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<ListTagValuesResult::Tag> ListTagValuesResult::getTags()const
+{
+	return tags_;
+}
+

+ 36 - 0
resourcemanager/src/model/SetMemberDeletionPermissionRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/resourcemanager/model/SetMemberDeletionPermissionRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::SetMemberDeletionPermissionRequest;
+
+SetMemberDeletionPermissionRequest::SetMemberDeletionPermissionRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "SetMemberDeletionPermission") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+SetMemberDeletionPermissionRequest::~SetMemberDeletionPermissionRequest() {}
+
+std::string SetMemberDeletionPermissionRequest::getStatus() const {
+  return status_;
+}
+
+void SetMemberDeletionPermissionRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 65 - 0
resourcemanager/src/model/SetMemberDeletionPermissionResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/resourcemanager/model/SetMemberDeletionPermissionResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+SetMemberDeletionPermissionResult::SetMemberDeletionPermissionResult() :
+	ServiceResult()
+{}
+
+SetMemberDeletionPermissionResult::SetMemberDeletionPermissionResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SetMemberDeletionPermissionResult::~SetMemberDeletionPermissionResult()
+{}
+
+void SetMemberDeletionPermissionResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["MemberDeletionStatus"].isNull())
+		memberDeletionStatus_ = value["MemberDeletionStatus"].asString();
+	if(!value["ManagementAccountId"].isNull())
+		managementAccountId_ = value["ManagementAccountId"].asString();
+	if(!value["ResourceDirectoryId"].isNull())
+		resourceDirectoryId_ = value["ResourceDirectoryId"].asString();
+
+}
+
+std::string SetMemberDeletionPermissionResult::getResourceDirectoryId()const
+{
+	return resourceDirectoryId_;
+}
+
+std::string SetMemberDeletionPermissionResult::getMemberDeletionStatus()const
+{
+	return memberDeletionStatus_;
+}
+
+std::string SetMemberDeletionPermissionResult::getManagementAccountId()const
+{
+	return managementAccountId_;
+}
+

+ 59 - 0
resourcemanager/src/model/TagResourcesRequest.cc

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/resourcemanager/model/TagResourcesRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::TagResourcesRequest;
+
+TagResourcesRequest::TagResourcesRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "TagResources") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+TagResourcesRequest::~TagResourcesRequest() {}
+
+std::vector<TagResourcesRequest::std::string> TagResourcesRequest::getResourceId() const {
+  return resourceId_;
+}
+
+void TagResourcesRequest::setResourceId(const std::vector<TagResourcesRequest::std::string> &resourceId) {
+  resourceId_ = resourceId;
+  for(int dep1 = 0; dep1 != resourceId.size(); dep1++) {
+    setParameter(std::string("ResourceId") + "." + std::to_string(dep1 + 1), resourceId[dep1]);
+  }
+}
+
+std::string TagResourcesRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void TagResourcesRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::vector<TagResourcesRequest::Tag> TagResourcesRequest::getTag() const {
+  return tag_;
+}
+
+void TagResourcesRequest::setTag(const std::vector<TagResourcesRequest::Tag> &tag) {
+  tag_ = tag;
+  for(int dep1 = 0; dep1 != tag.size(); dep1++) {
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Value", tag[dep1].value);
+    setParameter(std::string("Tag") + "." + std::to_string(dep1 + 1) + ".Key", tag[dep1].key);
+  }
+}
+

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

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

+ 67 - 0
resourcemanager/src/model/UntagResourcesRequest.cc

@@ -0,0 +1,67 @@
+/*
+ * 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/resourcemanager/model/UntagResourcesRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::UntagResourcesRequest;
+
+UntagResourcesRequest::UntagResourcesRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "UntagResources") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UntagResourcesRequest::~UntagResourcesRequest() {}
+
+bool UntagResourcesRequest::getAll() const {
+  return all_;
+}
+
+void UntagResourcesRequest::setAll(bool all) {
+  all_ = all;
+  setParameter(std::string("All"), all ? "true" : "false");
+}
+
+std::vector<UntagResourcesRequest::std::string> UntagResourcesRequest::getResourceId() const {
+  return resourceId_;
+}
+
+void UntagResourcesRequest::setResourceId(const std::vector<UntagResourcesRequest::std::string> &resourceId) {
+  resourceId_ = resourceId;
+  for(int dep1 = 0; dep1 != resourceId.size(); dep1++) {
+    setParameter(std::string("ResourceId") + "." + std::to_string(dep1 + 1), resourceId[dep1]);
+  }
+}
+
+std::string UntagResourcesRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void UntagResourcesRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::vector<UntagResourcesRequest::std::string> UntagResourcesRequest::getTagKey() const {
+  return tagKey_;
+}
+
+void UntagResourcesRequest::setTagKey(const std::vector<UntagResourcesRequest::std::string> &tagKey) {
+  tagKey_ = tagKey;
+  for(int dep1 = 0; dep1 != tagKey.size(); dep1++) {
+    setParameter(std::string("TagKey") + "." + std::to_string(dep1 + 1), tagKey[dep1]);
+  }
+}
+

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

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