Bläddra i källkod

Supported more language for resourcemanager.

sdk-team 3 år sedan
förälder
incheckning
2f4318d56c
22 ändrade filer med 1000 tillägg och 1 borttagningar
  1. 1 1
      VERSION
  2. 16 0
      resourcemanager/CMakeLists.txt
  3. 32 0
      resourcemanager/include/alibabacloud/resourcemanager/ResourceManagerClient.h
  4. 42 0
      resourcemanager/include/alibabacloud/resourcemanager/model/CheckAccountDeleteRequest.h
  5. 49 0
      resourcemanager/include/alibabacloud/resourcemanager/model/CheckAccountDeleteResult.h
  6. 45 0
      resourcemanager/include/alibabacloud/resourcemanager/model/DeleteAccountRequest.h
  7. 51 0
      resourcemanager/include/alibabacloud/resourcemanager/model/DeleteAccountResult.h
  8. 42 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionCheckResultRequest.h
  9. 70 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionCheckResultResult.h
  10. 42 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionStatusRequest.h
  11. 65 0
      resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionStatusResult.h
  12. 1 0
      resourcemanager/include/alibabacloud/resourcemanager/model/ListDelegatedServicesForAccountResult.h
  13. 144 0
      resourcemanager/src/ResourceManagerClient.cc
  14. 36 0
      resourcemanager/src/model/CheckAccountDeleteRequest.cc
  15. 44 0
      resourcemanager/src/model/CheckAccountDeleteResult.cc
  16. 47 0
      resourcemanager/src/model/DeleteAccountRequest.cc
  17. 51 0
      resourcemanager/src/model/DeleteAccountResult.cc
  18. 36 0
      resourcemanager/src/model/GetAccountDeletionCheckResultRequest.cc
  19. 78 0
      resourcemanager/src/model/GetAccountDeletionCheckResultResult.cc
  20. 36 0
      resourcemanager/src/model/GetAccountDeletionStatusRequest.cc
  21. 70 0
      resourcemanager/src/model/GetAccountDeletionStatusResult.cc
  22. 2 0
      resourcemanager/src/model/ListDelegatedServicesForAccountResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1306
+1.36.1307

+ 16 - 0
resourcemanager/CMakeLists.txt

@@ -35,6 +35,8 @@ set(resourcemanager_public_header_model
 	include/alibabacloud/resourcemanager/model/CancelHandshakeResult.h
 	include/alibabacloud/resourcemanager/model/CancelPromoteResourceAccountRequest.h
 	include/alibabacloud/resourcemanager/model/CancelPromoteResourceAccountResult.h
+	include/alibabacloud/resourcemanager/model/CheckAccountDeleteRequest.h
+	include/alibabacloud/resourcemanager/model/CheckAccountDeleteResult.h
 	include/alibabacloud/resourcemanager/model/CreateCloudAccountRequest.h
 	include/alibabacloud/resourcemanager/model/CreateCloudAccountResult.h
 	include/alibabacloud/resourcemanager/model/CreateControlPolicyRequest.h
@@ -55,6 +57,8 @@ set(resourcemanager_public_header_model
 	include/alibabacloud/resourcemanager/model/CreateServiceLinkedRoleResult.h
 	include/alibabacloud/resourcemanager/model/DeclineHandshakeRequest.h
 	include/alibabacloud/resourcemanager/model/DeclineHandshakeResult.h
+	include/alibabacloud/resourcemanager/model/DeleteAccountRequest.h
+	include/alibabacloud/resourcemanager/model/DeleteAccountResult.h
 	include/alibabacloud/resourcemanager/model/DeleteControlPolicyRequest.h
 	include/alibabacloud/resourcemanager/model/DeleteControlPolicyResult.h
 	include/alibabacloud/resourcemanager/model/DeleteFolderRequest.h
@@ -85,6 +89,10 @@ set(resourcemanager_public_header_model
 	include/alibabacloud/resourcemanager/model/EnableResourceDirectoryResult.h
 	include/alibabacloud/resourcemanager/model/GetAccountRequest.h
 	include/alibabacloud/resourcemanager/model/GetAccountResult.h
+	include/alibabacloud/resourcemanager/model/GetAccountDeletionCheckResultRequest.h
+	include/alibabacloud/resourcemanager/model/GetAccountDeletionCheckResultResult.h
+	include/alibabacloud/resourcemanager/model/GetAccountDeletionStatusRequest.h
+	include/alibabacloud/resourcemanager/model/GetAccountDeletionStatusResult.h
 	include/alibabacloud/resourcemanager/model/GetControlPolicyRequest.h
 	include/alibabacloud/resourcemanager/model/GetControlPolicyResult.h
 	include/alibabacloud/resourcemanager/model/GetControlPolicyEnablementStatusRequest.h
@@ -208,6 +216,8 @@ set(resourcemanager_src
 	src/model/CancelHandshakeResult.cc
 	src/model/CancelPromoteResourceAccountRequest.cc
 	src/model/CancelPromoteResourceAccountResult.cc
+	src/model/CheckAccountDeleteRequest.cc
+	src/model/CheckAccountDeleteResult.cc
 	src/model/CreateCloudAccountRequest.cc
 	src/model/CreateCloudAccountResult.cc
 	src/model/CreateControlPolicyRequest.cc
@@ -228,6 +238,8 @@ set(resourcemanager_src
 	src/model/CreateServiceLinkedRoleResult.cc
 	src/model/DeclineHandshakeRequest.cc
 	src/model/DeclineHandshakeResult.cc
+	src/model/DeleteAccountRequest.cc
+	src/model/DeleteAccountResult.cc
 	src/model/DeleteControlPolicyRequest.cc
 	src/model/DeleteControlPolicyResult.cc
 	src/model/DeleteFolderRequest.cc
@@ -258,6 +270,10 @@ set(resourcemanager_src
 	src/model/EnableResourceDirectoryResult.cc
 	src/model/GetAccountRequest.cc
 	src/model/GetAccountResult.cc
+	src/model/GetAccountDeletionCheckResultRequest.cc
+	src/model/GetAccountDeletionCheckResultResult.cc
+	src/model/GetAccountDeletionStatusRequest.cc
+	src/model/GetAccountDeletionStatusResult.cc
 	src/model/GetControlPolicyRequest.cc
 	src/model/GetControlPolicyResult.cc
 	src/model/GetControlPolicyEnablementStatusRequest.cc

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

@@ -36,6 +36,8 @@
 #include "model/CancelHandshakeResult.h"
 #include "model/CancelPromoteResourceAccountRequest.h"
 #include "model/CancelPromoteResourceAccountResult.h"
+#include "model/CheckAccountDeleteRequest.h"
+#include "model/CheckAccountDeleteResult.h"
 #include "model/CreateCloudAccountRequest.h"
 #include "model/CreateCloudAccountResult.h"
 #include "model/CreateControlPolicyRequest.h"
@@ -56,6 +58,8 @@
 #include "model/CreateServiceLinkedRoleResult.h"
 #include "model/DeclineHandshakeRequest.h"
 #include "model/DeclineHandshakeResult.h"
+#include "model/DeleteAccountRequest.h"
+#include "model/DeleteAccountResult.h"
 #include "model/DeleteControlPolicyRequest.h"
 #include "model/DeleteControlPolicyResult.h"
 #include "model/DeleteFolderRequest.h"
@@ -86,6 +90,10 @@
 #include "model/EnableResourceDirectoryResult.h"
 #include "model/GetAccountRequest.h"
 #include "model/GetAccountResult.h"
+#include "model/GetAccountDeletionCheckResultRequest.h"
+#include "model/GetAccountDeletionCheckResultResult.h"
+#include "model/GetAccountDeletionStatusRequest.h"
+#include "model/GetAccountDeletionStatusResult.h"
 #include "model/GetControlPolicyRequest.h"
 #include "model/GetControlPolicyResult.h"
 #include "model/GetControlPolicyEnablementStatusRequest.h"
@@ -222,6 +230,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CancelPromoteResourceAccountResult> CancelPromoteResourceAccountOutcome;
 			typedef std::future<CancelPromoteResourceAccountOutcome> CancelPromoteResourceAccountOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::CancelPromoteResourceAccountRequest&, const CancelPromoteResourceAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelPromoteResourceAccountAsyncHandler;
+			typedef Outcome<Error, Model::CheckAccountDeleteResult> CheckAccountDeleteOutcome;
+			typedef std::future<CheckAccountDeleteOutcome> CheckAccountDeleteOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::CheckAccountDeleteRequest&, const CheckAccountDeleteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckAccountDeleteAsyncHandler;
 			typedef Outcome<Error, Model::CreateCloudAccountResult> CreateCloudAccountOutcome;
 			typedef std::future<CreateCloudAccountOutcome> CreateCloudAccountOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::CreateCloudAccountRequest&, const CreateCloudAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCloudAccountAsyncHandler;
@@ -252,6 +263,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeclineHandshakeResult> DeclineHandshakeOutcome;
 			typedef std::future<DeclineHandshakeOutcome> DeclineHandshakeOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::DeclineHandshakeRequest&, const DeclineHandshakeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeclineHandshakeAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAccountResult> DeleteAccountOutcome;
+			typedef std::future<DeleteAccountOutcome> DeleteAccountOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::DeleteAccountRequest&, const DeleteAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAccountAsyncHandler;
 			typedef Outcome<Error, Model::DeleteControlPolicyResult> DeleteControlPolicyOutcome;
 			typedef std::future<DeleteControlPolicyOutcome> DeleteControlPolicyOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::DeleteControlPolicyRequest&, const DeleteControlPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteControlPolicyAsyncHandler;
@@ -297,6 +311,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetAccountResult> GetAccountOutcome;
 			typedef std::future<GetAccountOutcome> GetAccountOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::GetAccountRequest&, const GetAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccountAsyncHandler;
+			typedef Outcome<Error, Model::GetAccountDeletionCheckResultResult> GetAccountDeletionCheckResultOutcome;
+			typedef std::future<GetAccountDeletionCheckResultOutcome> GetAccountDeletionCheckResultOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::GetAccountDeletionCheckResultRequest&, const GetAccountDeletionCheckResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccountDeletionCheckResultAsyncHandler;
+			typedef Outcome<Error, Model::GetAccountDeletionStatusResult> GetAccountDeletionStatusOutcome;
+			typedef std::future<GetAccountDeletionStatusOutcome> GetAccountDeletionStatusOutcomeCallable;
+			typedef std::function<void(const ResourceManagerClient*, const Model::GetAccountDeletionStatusRequest&, const GetAccountDeletionStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccountDeletionStatusAsyncHandler;
 			typedef Outcome<Error, Model::GetControlPolicyResult> GetControlPolicyOutcome;
 			typedef std::future<GetControlPolicyOutcome> GetControlPolicyOutcomeCallable;
 			typedef std::function<void(const ResourceManagerClient*, const Model::GetControlPolicyRequest&, const GetControlPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetControlPolicyAsyncHandler;
@@ -482,6 +502,9 @@ namespace AlibabaCloud
 			CancelPromoteResourceAccountOutcome cancelPromoteResourceAccount(const Model::CancelPromoteResourceAccountRequest &request)const;
 			void cancelPromoteResourceAccountAsync(const Model::CancelPromoteResourceAccountRequest& request, const CancelPromoteResourceAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CancelPromoteResourceAccountOutcomeCallable cancelPromoteResourceAccountCallable(const Model::CancelPromoteResourceAccountRequest& request) const;
+			CheckAccountDeleteOutcome checkAccountDelete(const Model::CheckAccountDeleteRequest &request)const;
+			void checkAccountDeleteAsync(const Model::CheckAccountDeleteRequest& request, const CheckAccountDeleteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CheckAccountDeleteOutcomeCallable checkAccountDeleteCallable(const Model::CheckAccountDeleteRequest& request) const;
 			CreateCloudAccountOutcome createCloudAccount(const Model::CreateCloudAccountRequest &request)const;
 			void createCloudAccountAsync(const Model::CreateCloudAccountRequest& request, const CreateCloudAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCloudAccountOutcomeCallable createCloudAccountCallable(const Model::CreateCloudAccountRequest& request) const;
@@ -512,6 +535,9 @@ namespace AlibabaCloud
 			DeclineHandshakeOutcome declineHandshake(const Model::DeclineHandshakeRequest &request)const;
 			void declineHandshakeAsync(const Model::DeclineHandshakeRequest& request, const DeclineHandshakeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeclineHandshakeOutcomeCallable declineHandshakeCallable(const Model::DeclineHandshakeRequest& request) const;
+			DeleteAccountOutcome deleteAccount(const Model::DeleteAccountRequest &request)const;
+			void deleteAccountAsync(const Model::DeleteAccountRequest& request, const DeleteAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAccountOutcomeCallable deleteAccountCallable(const Model::DeleteAccountRequest& request) const;
 			DeleteControlPolicyOutcome deleteControlPolicy(const Model::DeleteControlPolicyRequest &request)const;
 			void deleteControlPolicyAsync(const Model::DeleteControlPolicyRequest& request, const DeleteControlPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteControlPolicyOutcomeCallable deleteControlPolicyCallable(const Model::DeleteControlPolicyRequest& request) const;
@@ -557,6 +583,12 @@ namespace AlibabaCloud
 			GetAccountOutcome getAccount(const Model::GetAccountRequest &request)const;
 			void getAccountAsync(const Model::GetAccountRequest& request, const GetAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetAccountOutcomeCallable getAccountCallable(const Model::GetAccountRequest& request) const;
+			GetAccountDeletionCheckResultOutcome getAccountDeletionCheckResult(const Model::GetAccountDeletionCheckResultRequest &request)const;
+			void getAccountDeletionCheckResultAsync(const Model::GetAccountDeletionCheckResultRequest& request, const GetAccountDeletionCheckResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccountDeletionCheckResultOutcomeCallable getAccountDeletionCheckResultCallable(const Model::GetAccountDeletionCheckResultRequest& request) const;
+			GetAccountDeletionStatusOutcome getAccountDeletionStatus(const Model::GetAccountDeletionStatusRequest &request)const;
+			void getAccountDeletionStatusAsync(const Model::GetAccountDeletionStatusRequest& request, const GetAccountDeletionStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccountDeletionStatusOutcomeCallable getAccountDeletionStatusCallable(const Model::GetAccountDeletionStatusRequest& request) const;
 			GetControlPolicyOutcome getControlPolicy(const Model::GetControlPolicyRequest &request)const;
 			void getControlPolicyAsync(const Model::GetControlPolicyRequest& request, const GetControlPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetControlPolicyOutcomeCallable getControlPolicyCallable(const Model::GetControlPolicyRequest& request) const;

+ 42 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/CheckAccountDeleteRequest.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_CHECKACCOUNTDELETEREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_CHECKACCOUNTDELETEREQUEST_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 CheckAccountDeleteRequest : public RpcServiceRequest {
+public:
+	CheckAccountDeleteRequest();
+	~CheckAccountDeleteRequest();
+	std::string getAccountId() const;
+	void setAccountId(const std::string &accountId);
+
+private:
+	std::string accountId_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_CHECKACCOUNTDELETEREQUEST_H_

+ 49 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/CheckAccountDeleteResult.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_CHECKACCOUNTDELETERESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_CHECKACCOUNTDELETERESULT_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 CheckAccountDeleteResult : public ServiceResult
+			{
+			public:
+
+
+				CheckAccountDeleteResult();
+				explicit CheckAccountDeleteResult(const std::string &payload);
+				~CheckAccountDeleteResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_CHECKACCOUNTDELETERESULT_H_

+ 45 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/DeleteAccountRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_RESOURCEMANAGER_MODEL_DELETEACCOUNTREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_DELETEACCOUNTREQUEST_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 DeleteAccountRequest : public RpcServiceRequest {
+public:
+	DeleteAccountRequest();
+	~DeleteAccountRequest();
+	std::vector<std::string> getAbandonableCheckId() const;
+	void setAbandonableCheckId(const std::vector<std::string> &abandonableCheckId);
+	std::string getAccountId() const;
+	void setAccountId(const std::string &accountId);
+
+private:
+	std::vector<std::string> abandonableCheckId_;
+	std::string accountId_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_DELETEACCOUNTREQUEST_H_

+ 51 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/DeleteAccountResult.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_DELETEACCOUNTRESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_DELETEACCOUNTRESULT_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 DeleteAccountResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAccountResult();
+				explicit DeleteAccountResult(const std::string &payload);
+				~DeleteAccountResult();
+				std::string getDeletionType()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string deletionType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_DELETEACCOUNTRESULT_H_

+ 42 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionCheckResultRequest.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_GETACCOUNTDELETIONCHECKRESULTREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONCHECKRESULTREQUEST_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 GetAccountDeletionCheckResultRequest : public RpcServiceRequest {
+public:
+	GetAccountDeletionCheckResultRequest();
+	~GetAccountDeletionCheckResultRequest();
+	std::string getAccountId() const;
+	void setAccountId(const std::string &accountId);
+
+private:
+	std::string accountId_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONCHECKRESULTREQUEST_H_

+ 70 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionCheckResultResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONCHECKRESULTRESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONCHECKRESULTRESULT_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 GetAccountDeletionCheckResultResult : public ServiceResult
+			{
+			public:
+				struct AccountDeletionCheckResultInfo
+				{
+					struct Reason
+					{
+						std::string checkName;
+						std::string description;
+						std::string checkId;
+					};
+					struct Check
+					{
+						std::string checkName;
+						std::string description;
+						std::string checkId;
+					};
+					std::vector<Check> abandonableChecks;
+					std::string status;
+					std::vector<Reason> notAllowReason;
+					std::string allowDelete;
+				};
+
+
+				GetAccountDeletionCheckResultResult();
+				explicit GetAccountDeletionCheckResultResult(const std::string &payload);
+				~GetAccountDeletionCheckResultResult();
+				AccountDeletionCheckResultInfo getAccountDeletionCheckResultInfo()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				AccountDeletionCheckResultInfo accountDeletionCheckResultInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONCHECKRESULTRESULT_H_

+ 42 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionStatusRequest.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_GETACCOUNTDELETIONSTATUSREQUEST_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONSTATUSREQUEST_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 GetAccountDeletionStatusRequest : public RpcServiceRequest {
+public:
+	GetAccountDeletionStatusRequest();
+	~GetAccountDeletionStatusRequest();
+	std::string getAccountId() const;
+	void setAccountId(const std::string &accountId);
+
+private:
+	std::string accountId_;
+};
+} // namespace Model
+} // namespace ResourceManager
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONSTATUSREQUEST_H_

+ 65 - 0
resourcemanager/include/alibabacloud/resourcemanager/model/GetAccountDeletionStatusResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONSTATUSRESULT_H_
+#define ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONSTATUSRESULT_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 GetAccountDeletionStatusResult : public ServiceResult
+			{
+			public:
+				struct RdAccountDeletionStatus
+				{
+					struct FailReasonListItem
+					{
+						std::string description;
+						std::string name;
+					};
+					std::string status;
+					std::vector<FailReasonListItem> failReasonList;
+					std::string accountId;
+					std::string deletionType;
+					std::string createTime;
+					std::string deletionTime;
+				};
+
+
+				GetAccountDeletionStatusResult();
+				explicit GetAccountDeletionStatusResult(const std::string &payload);
+				~GetAccountDeletionStatusResult();
+				RdAccountDeletionStatus getRdAccountDeletionStatus()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				RdAccountDeletionStatus rdAccountDeletionStatus_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RESOURCEMANAGER_MODEL_GETACCOUNTDELETIONSTATUSRESULT_H_

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

@@ -34,6 +34,7 @@ namespace AlibabaCloud
 			public:
 				struct DelegatedService
 				{
+					std::string status;
 					std::string delegationEnabledTime;
 					std::string servicePrincipal;
 				};

+ 144 - 0
resourcemanager/src/ResourceManagerClient.cc

@@ -303,6 +303,42 @@ ResourceManagerClient::CancelPromoteResourceAccountOutcomeCallable ResourceManag
 	return task->get_future();
 }
 
+ResourceManagerClient::CheckAccountDeleteOutcome ResourceManagerClient::checkAccountDelete(const CheckAccountDeleteRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CheckAccountDeleteOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CheckAccountDeleteOutcome(CheckAccountDeleteResult(outcome.result()));
+	else
+		return CheckAccountDeleteOutcome(outcome.error());
+}
+
+void ResourceManagerClient::checkAccountDeleteAsync(const CheckAccountDeleteRequest& request, const CheckAccountDeleteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, checkAccountDelete(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::CheckAccountDeleteOutcomeCallable ResourceManagerClient::checkAccountDeleteCallable(const CheckAccountDeleteRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CheckAccountDeleteOutcome()>>(
+			[this, request]()
+			{
+			return this->checkAccountDelete(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ResourceManagerClient::CreateCloudAccountOutcome ResourceManagerClient::createCloudAccount(const CreateCloudAccountRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -663,6 +699,42 @@ ResourceManagerClient::DeclineHandshakeOutcomeCallable ResourceManagerClient::de
 	return task->get_future();
 }
 
+ResourceManagerClient::DeleteAccountOutcome ResourceManagerClient::deleteAccount(const DeleteAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteAccountOutcome(DeleteAccountResult(outcome.result()));
+	else
+		return DeleteAccountOutcome(outcome.error());
+}
+
+void ResourceManagerClient::deleteAccountAsync(const DeleteAccountRequest& request, const DeleteAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::DeleteAccountOutcomeCallable ResourceManagerClient::deleteAccountCallable(const DeleteAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ResourceManagerClient::DeleteControlPolicyOutcome ResourceManagerClient::deleteControlPolicy(const DeleteControlPolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1203,6 +1275,78 @@ ResourceManagerClient::GetAccountOutcomeCallable ResourceManagerClient::getAccou
 	return task->get_future();
 }
 
+ResourceManagerClient::GetAccountDeletionCheckResultOutcome ResourceManagerClient::getAccountDeletionCheckResult(const GetAccountDeletionCheckResultRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccountDeletionCheckResultOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccountDeletionCheckResultOutcome(GetAccountDeletionCheckResultResult(outcome.result()));
+	else
+		return GetAccountDeletionCheckResultOutcome(outcome.error());
+}
+
+void ResourceManagerClient::getAccountDeletionCheckResultAsync(const GetAccountDeletionCheckResultRequest& request, const GetAccountDeletionCheckResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccountDeletionCheckResult(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::GetAccountDeletionCheckResultOutcomeCallable ResourceManagerClient::getAccountDeletionCheckResultCallable(const GetAccountDeletionCheckResultRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccountDeletionCheckResultOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccountDeletionCheckResult(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ResourceManagerClient::GetAccountDeletionStatusOutcome ResourceManagerClient::getAccountDeletionStatus(const GetAccountDeletionStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccountDeletionStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccountDeletionStatusOutcome(GetAccountDeletionStatusResult(outcome.result()));
+	else
+		return GetAccountDeletionStatusOutcome(outcome.error());
+}
+
+void ResourceManagerClient::getAccountDeletionStatusAsync(const GetAccountDeletionStatusRequest& request, const GetAccountDeletionStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccountDeletionStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ResourceManagerClient::GetAccountDeletionStatusOutcomeCallable ResourceManagerClient::getAccountDeletionStatusCallable(const GetAccountDeletionStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccountDeletionStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccountDeletionStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ResourceManagerClient::GetControlPolicyOutcome ResourceManagerClient::getControlPolicy(const GetControlPolicyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 36 - 0
resourcemanager/src/model/CheckAccountDeleteRequest.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/CheckAccountDeleteRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::CheckAccountDeleteRequest;
+
+CheckAccountDeleteRequest::CheckAccountDeleteRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "CheckAccountDelete") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CheckAccountDeleteRequest::~CheckAccountDeleteRequest() {}
+
+std::string CheckAccountDeleteRequest::getAccountId() const {
+  return accountId_;
+}
+
+void CheckAccountDeleteRequest::setAccountId(const std::string &accountId) {
+  accountId_ = accountId;
+  setParameter(std::string("AccountId"), accountId);
+}
+

+ 44 - 0
resourcemanager/src/model/CheckAccountDeleteResult.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/CheckAccountDeleteResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+CheckAccountDeleteResult::CheckAccountDeleteResult() :
+	ServiceResult()
+{}
+
+CheckAccountDeleteResult::CheckAccountDeleteResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CheckAccountDeleteResult::~CheckAccountDeleteResult()
+{}
+
+void CheckAccountDeleteResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 47 - 0
resourcemanager/src/model/DeleteAccountRequest.cc

@@ -0,0 +1,47 @@
+/*
+ * 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/DeleteAccountRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::DeleteAccountRequest;
+
+DeleteAccountRequest::DeleteAccountRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "DeleteAccount") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteAccountRequest::~DeleteAccountRequest() {}
+
+std::vector<DeleteAccountRequest::std::string> DeleteAccountRequest::getAbandonableCheckId() const {
+  return abandonableCheckId_;
+}
+
+void DeleteAccountRequest::setAbandonableCheckId(const std::vector<DeleteAccountRequest::std::string> &abandonableCheckId) {
+  abandonableCheckId_ = abandonableCheckId;
+  for(int dep1 = 0; dep1 != abandonableCheckId.size(); dep1++) {
+    setParameter(std::string("AbandonableCheckId") + "." + std::to_string(dep1 + 1), abandonableCheckId[dep1]);
+  }
+}
+
+std::string DeleteAccountRequest::getAccountId() const {
+  return accountId_;
+}
+
+void DeleteAccountRequest::setAccountId(const std::string &accountId) {
+  accountId_ = accountId;
+  setParameter(std::string("AccountId"), accountId);
+}
+

+ 51 - 0
resourcemanager/src/model/DeleteAccountResult.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/DeleteAccountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+DeleteAccountResult::DeleteAccountResult() :
+	ServiceResult()
+{}
+
+DeleteAccountResult::DeleteAccountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteAccountResult::~DeleteAccountResult()
+{}
+
+void DeleteAccountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["DeletionType"].isNull())
+		deletionType_ = value["DeletionType"].asString();
+
+}
+
+std::string DeleteAccountResult::getDeletionType()const
+{
+	return deletionType_;
+}
+

+ 36 - 0
resourcemanager/src/model/GetAccountDeletionCheckResultRequest.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/GetAccountDeletionCheckResultRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::GetAccountDeletionCheckResultRequest;
+
+GetAccountDeletionCheckResultRequest::GetAccountDeletionCheckResultRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "GetAccountDeletionCheckResult") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccountDeletionCheckResultRequest::~GetAccountDeletionCheckResultRequest() {}
+
+std::string GetAccountDeletionCheckResultRequest::getAccountId() const {
+  return accountId_;
+}
+
+void GetAccountDeletionCheckResultRequest::setAccountId(const std::string &accountId) {
+  accountId_ = accountId;
+  setParameter(std::string("AccountId"), accountId);
+}
+

+ 78 - 0
resourcemanager/src/model/GetAccountDeletionCheckResultResult.cc

@@ -0,0 +1,78 @@
+/*
+ * 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/GetAccountDeletionCheckResultResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+GetAccountDeletionCheckResultResult::GetAccountDeletionCheckResultResult() :
+	ServiceResult()
+{}
+
+GetAccountDeletionCheckResultResult::GetAccountDeletionCheckResultResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccountDeletionCheckResultResult::~GetAccountDeletionCheckResultResult()
+{}
+
+void GetAccountDeletionCheckResultResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto accountDeletionCheckResultInfoNode = value["AccountDeletionCheckResultInfo"];
+	if(!accountDeletionCheckResultInfoNode["Status"].isNull())
+		accountDeletionCheckResultInfo_.status = accountDeletionCheckResultInfoNode["Status"].asString();
+	if(!accountDeletionCheckResultInfoNode["AllowDelete"].isNull())
+		accountDeletionCheckResultInfo_.allowDelete = accountDeletionCheckResultInfoNode["AllowDelete"].asString();
+	auto allNotAllowReasonNode = accountDeletionCheckResultInfoNode["NotAllowReason"]["reason"];
+	for (auto accountDeletionCheckResultInfoNodeNotAllowReasonreason : allNotAllowReasonNode)
+	{
+		AccountDeletionCheckResultInfo::Reason reasonObject;
+		if(!accountDeletionCheckResultInfoNodeNotAllowReasonreason["Description"].isNull())
+			reasonObject.description = accountDeletionCheckResultInfoNodeNotAllowReasonreason["Description"].asString();
+		if(!accountDeletionCheckResultInfoNodeNotAllowReasonreason["CheckId"].isNull())
+			reasonObject.checkId = accountDeletionCheckResultInfoNodeNotAllowReasonreason["CheckId"].asString();
+		if(!accountDeletionCheckResultInfoNodeNotAllowReasonreason["CheckName"].isNull())
+			reasonObject.checkName = accountDeletionCheckResultInfoNodeNotAllowReasonreason["CheckName"].asString();
+		accountDeletionCheckResultInfo_.notAllowReason.push_back(reasonObject);
+	}
+	auto allAbandonableChecksNode = accountDeletionCheckResultInfoNode["AbandonableChecks"]["check"];
+	for (auto accountDeletionCheckResultInfoNodeAbandonableCheckscheck : allAbandonableChecksNode)
+	{
+		AccountDeletionCheckResultInfo::Check checkObject;
+		if(!accountDeletionCheckResultInfoNodeAbandonableCheckscheck["Description"].isNull())
+			checkObject.description = accountDeletionCheckResultInfoNodeAbandonableCheckscheck["Description"].asString();
+		if(!accountDeletionCheckResultInfoNodeAbandonableCheckscheck["CheckId"].isNull())
+			checkObject.checkId = accountDeletionCheckResultInfoNodeAbandonableCheckscheck["CheckId"].asString();
+		if(!accountDeletionCheckResultInfoNodeAbandonableCheckscheck["CheckName"].isNull())
+			checkObject.checkName = accountDeletionCheckResultInfoNodeAbandonableCheckscheck["CheckName"].asString();
+		accountDeletionCheckResultInfo_.abandonableChecks.push_back(checkObject);
+	}
+
+}
+
+GetAccountDeletionCheckResultResult::AccountDeletionCheckResultInfo GetAccountDeletionCheckResultResult::getAccountDeletionCheckResultInfo()const
+{
+	return accountDeletionCheckResultInfo_;
+}
+

+ 36 - 0
resourcemanager/src/model/GetAccountDeletionStatusRequest.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/GetAccountDeletionStatusRequest.h>
+
+using AlibabaCloud::ResourceManager::Model::GetAccountDeletionStatusRequest;
+
+GetAccountDeletionStatusRequest::GetAccountDeletionStatusRequest()
+    : RpcServiceRequest("resourcemanager", "2020-03-31", "GetAccountDeletionStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccountDeletionStatusRequest::~GetAccountDeletionStatusRequest() {}
+
+std::string GetAccountDeletionStatusRequest::getAccountId() const {
+  return accountId_;
+}
+
+void GetAccountDeletionStatusRequest::setAccountId(const std::string &accountId) {
+  accountId_ = accountId;
+  setParameter(std::string("AccountId"), accountId);
+}
+

+ 70 - 0
resourcemanager/src/model/GetAccountDeletionStatusResult.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/GetAccountDeletionStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ResourceManager;
+using namespace AlibabaCloud::ResourceManager::Model;
+
+GetAccountDeletionStatusResult::GetAccountDeletionStatusResult() :
+	ServiceResult()
+{}
+
+GetAccountDeletionStatusResult::GetAccountDeletionStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccountDeletionStatusResult::~GetAccountDeletionStatusResult()
+{}
+
+void GetAccountDeletionStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto rdAccountDeletionStatusNode = value["RdAccountDeletionStatus"];
+	if(!rdAccountDeletionStatusNode["Status"].isNull())
+		rdAccountDeletionStatus_.status = rdAccountDeletionStatusNode["Status"].asString();
+	if(!rdAccountDeletionStatusNode["AccountId"].isNull())
+		rdAccountDeletionStatus_.accountId = rdAccountDeletionStatusNode["AccountId"].asString();
+	if(!rdAccountDeletionStatusNode["CreateTime"].isNull())
+		rdAccountDeletionStatus_.createTime = rdAccountDeletionStatusNode["CreateTime"].asString();
+	if(!rdAccountDeletionStatusNode["DeletionTime"].isNull())
+		rdAccountDeletionStatus_.deletionTime = rdAccountDeletionStatusNode["DeletionTime"].asString();
+	if(!rdAccountDeletionStatusNode["DeletionType"].isNull())
+		rdAccountDeletionStatus_.deletionType = rdAccountDeletionStatusNode["DeletionType"].asString();
+	auto allFailReasonListNode = rdAccountDeletionStatusNode["FailReasonList"]["failReasonListItem"];
+	for (auto rdAccountDeletionStatusNodeFailReasonListfailReasonListItem : allFailReasonListNode)
+	{
+		RdAccountDeletionStatus::FailReasonListItem failReasonListItemObject;
+		if(!rdAccountDeletionStatusNodeFailReasonListfailReasonListItem["Name"].isNull())
+			failReasonListItemObject.name = rdAccountDeletionStatusNodeFailReasonListfailReasonListItem["Name"].asString();
+		if(!rdAccountDeletionStatusNodeFailReasonListfailReasonListItem["Description"].isNull())
+			failReasonListItemObject.description = rdAccountDeletionStatusNodeFailReasonListfailReasonListItem["Description"].asString();
+		rdAccountDeletionStatus_.failReasonList.push_back(failReasonListItemObject);
+	}
+
+}
+
+GetAccountDeletionStatusResult::RdAccountDeletionStatus GetAccountDeletionStatusResult::getRdAccountDeletionStatus()const
+{
+	return rdAccountDeletionStatus_;
+}
+

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

@@ -47,6 +47,8 @@ void ListDelegatedServicesForAccountResult::parse(const std::string &payload)
 			delegatedServicesObject.delegationEnabledTime = valueDelegatedServicesDelegatedService["DelegationEnabledTime"].asString();
 		if(!valueDelegatedServicesDelegatedService["ServicePrincipal"].isNull())
 			delegatedServicesObject.servicePrincipal = valueDelegatedServicesDelegatedService["ServicePrincipal"].asString();
+		if(!valueDelegatedServicesDelegatedService["Status"].isNull())
+			delegatedServicesObject.status = valueDelegatedServicesDelegatedService["Status"].asString();
 		delegatedServices_.push_back(delegatedServicesObject);
 	}