sdk-team 4 лет назад
Родитель
Сommit
015109df88
62 измененных файлов с 2679 добавлено и 1082 удалено
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 24 0
      actiontrail/CMakeLists.txt
  4. 48 0
      actiontrail/include/alibabacloud/actiontrail/ActiontrailClient.h
  5. 34 40
      actiontrail/include/alibabacloud/actiontrail/model/CreateDeliveryHistoryJobRequest.h
  6. 55 61
      actiontrail/include/alibabacloud/actiontrail/model/CreateTrailRequest.h
  7. 2 2
      actiontrail/include/alibabacloud/actiontrail/model/CreateTrailResult.h
  8. 31 37
      actiontrail/include/alibabacloud/actiontrail/model/DeleteDeliveryHistoryJobRequest.h
  9. 31 37
      actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailRequest.h
  10. 31 37
      actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsRequest.h
  11. 37 43
      actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h
  12. 6 5
      actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsResult.h
  13. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedEventsRequest.h
  14. 60 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedEventsResult.h
  15. 42 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedInfoRequest.h
  16. 71 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedInfoResult.h
  17. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedIpsRequest.h
  18. 60 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedIpsResult.h
  19. 42 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedProductsRequest.h
  20. 60 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedProductsResult.h
  21. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedResourcesRequest.h
  22. 61 0
      actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedResourcesResult.h
  23. 42 0
      actiontrail/include/alibabacloud/actiontrail/model/GetDeliveryHistoryJobRequest.h
  24. 72 0
      actiontrail/include/alibabacloud/actiontrail/model/GetDeliveryHistoryJobResult.h
  25. 34 40
      actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h
  26. 2 2
      actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusResult.h
  27. 34 40
      actiontrail/include/alibabacloud/actiontrail/model/ListDeliveryHistoryJobsRequest.h
  28. 50 58
      actiontrail/include/alibabacloud/actiontrail/model/LookupEventsRequest.h
  29. 31 37
      actiontrail/include/alibabacloud/actiontrail/model/StartLoggingRequest.h
  30. 31 37
      actiontrail/include/alibabacloud/actiontrail/model/StopLoggingRequest.h
  31. 52 58
      actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailRequest.h
  32. 2 2
      actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailResult.h
  33. 219 3
      actiontrail/src/ActiontrailClient.cc
  34. 26 32
      actiontrail/src/model/CreateDeliveryHistoryJobRequest.cc
  35. 61 81
      actiontrail/src/model/CreateTrailRequest.cc
  36. 6 6
      actiontrail/src/model/CreateTrailResult.cc
  37. 21 25
      actiontrail/src/model/DeleteDeliveryHistoryJobRequest.cc
  38. 21 25
      actiontrail/src/model/DeleteTrailRequest.cc
  39. 21 25
      actiontrail/src/model/DescribeRegionsRequest.cc
  40. 31 39
      actiontrail/src/model/DescribeTrailsRequest.cc
  41. 26 24
      actiontrail/src/model/DescribeTrailsResult.cc
  42. 63 0
      actiontrail/src/model/GetAccessKeyLastUsedEventsRequest.cc
  43. 70 0
      actiontrail/src/model/GetAccessKeyLastUsedEventsResult.cc
  44. 36 0
      actiontrail/src/model/GetAccessKeyLastUsedInfoRequest.cc
  45. 121 0
      actiontrail/src/model/GetAccessKeyLastUsedInfoResult.cc
  46. 63 0
      actiontrail/src/model/GetAccessKeyLastUsedIpsRequest.cc
  47. 70 0
      actiontrail/src/model/GetAccessKeyLastUsedIpsResult.cc
  48. 36 0
      actiontrail/src/model/GetAccessKeyLastUsedProductsRequest.cc
  49. 67 0
      actiontrail/src/model/GetAccessKeyLastUsedProductsResult.cc
  50. 63 0
      actiontrail/src/model/GetAccessKeyLastUsedResourcesRequest.cc
  51. 72 0
      actiontrail/src/model/GetAccessKeyLastUsedResourcesResult.cc
  52. 36 0
      actiontrail/src/model/GetDeliveryHistoryJobRequest.cc
  53. 115 0
      actiontrail/src/model/GetDeliveryHistoryJobResult.cc
  54. 26 32
      actiontrail/src/model/GetTrailStatusRequest.cc
  55. 14 14
      actiontrail/src/model/GetTrailStatusResult.cc
  56. 26 32
      actiontrail/src/model/ListDeliveryHistoryJobsRequest.cc
  57. 12 12
      actiontrail/src/model/ListDeliveryHistoryJobsResult.cc
  58. 51 65
      actiontrail/src/model/LookupEventsRequest.cc
  59. 21 25
      actiontrail/src/model/StartLoggingRequest.cc
  60. 21 25
      actiontrail/src/model/StopLoggingRequest.cc
  61. 56 74
      actiontrail/src/model/UpdateTrailRequest.cc
  62. 6 6
      actiontrail/src/model/UpdateTrailResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2022-07-08 Version: 1.36.1169
+- Support AK Audit API.
+
 2022-07-04 Version: 1.36.1168
 - Add API QueryEmbeddedStaus.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1168
+1.36.1169

+ 24 - 0
actiontrail/CMakeLists.txt

@@ -33,6 +33,18 @@ set(actiontrail_public_header_model
 	include/alibabacloud/actiontrail/model/DescribeRegionsResult.h
 	include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h
 	include/alibabacloud/actiontrail/model/DescribeTrailsResult.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedEventsRequest.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedEventsResult.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedInfoRequest.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedInfoResult.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedIpsRequest.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedIpsResult.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedProductsRequest.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedProductsResult.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedResourcesRequest.h
+	include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedResourcesResult.h
+	include/alibabacloud/actiontrail/model/GetDeliveryHistoryJobRequest.h
+	include/alibabacloud/actiontrail/model/GetDeliveryHistoryJobResult.h
 	include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h
 	include/alibabacloud/actiontrail/model/GetTrailStatusResult.h
 	include/alibabacloud/actiontrail/model/ListDeliveryHistoryJobsRequest.h
@@ -60,6 +72,18 @@ set(actiontrail_src
 	src/model/DescribeRegionsResult.cc
 	src/model/DescribeTrailsRequest.cc
 	src/model/DescribeTrailsResult.cc
+	src/model/GetAccessKeyLastUsedEventsRequest.cc
+	src/model/GetAccessKeyLastUsedEventsResult.cc
+	src/model/GetAccessKeyLastUsedInfoRequest.cc
+	src/model/GetAccessKeyLastUsedInfoResult.cc
+	src/model/GetAccessKeyLastUsedIpsRequest.cc
+	src/model/GetAccessKeyLastUsedIpsResult.cc
+	src/model/GetAccessKeyLastUsedProductsRequest.cc
+	src/model/GetAccessKeyLastUsedProductsResult.cc
+	src/model/GetAccessKeyLastUsedResourcesRequest.cc
+	src/model/GetAccessKeyLastUsedResourcesResult.cc
+	src/model/GetDeliveryHistoryJobRequest.cc
+	src/model/GetDeliveryHistoryJobResult.cc
 	src/model/GetTrailStatusRequest.cc
 	src/model/GetTrailStatusResult.cc
 	src/model/ListDeliveryHistoryJobsRequest.cc

+ 48 - 0
actiontrail/include/alibabacloud/actiontrail/ActiontrailClient.h

@@ -34,6 +34,18 @@
 #include "model/DescribeRegionsResult.h"
 #include "model/DescribeTrailsRequest.h"
 #include "model/DescribeTrailsResult.h"
+#include "model/GetAccessKeyLastUsedEventsRequest.h"
+#include "model/GetAccessKeyLastUsedEventsResult.h"
+#include "model/GetAccessKeyLastUsedInfoRequest.h"
+#include "model/GetAccessKeyLastUsedInfoResult.h"
+#include "model/GetAccessKeyLastUsedIpsRequest.h"
+#include "model/GetAccessKeyLastUsedIpsResult.h"
+#include "model/GetAccessKeyLastUsedProductsRequest.h"
+#include "model/GetAccessKeyLastUsedProductsResult.h"
+#include "model/GetAccessKeyLastUsedResourcesRequest.h"
+#include "model/GetAccessKeyLastUsedResourcesResult.h"
+#include "model/GetDeliveryHistoryJobRequest.h"
+#include "model/GetDeliveryHistoryJobResult.h"
 #include "model/GetTrailStatusRequest.h"
 #include "model/GetTrailStatusResult.h"
 #include "model/ListDeliveryHistoryJobsRequest.h"
@@ -73,6 +85,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeTrailsResult> DescribeTrailsOutcome;
 			typedef std::future<DescribeTrailsOutcome> DescribeTrailsOutcomeCallable;
 			typedef std::function<void(const ActiontrailClient*, const Model::DescribeTrailsRequest&, const DescribeTrailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTrailsAsyncHandler;
+			typedef Outcome<Error, Model::GetAccessKeyLastUsedEventsResult> GetAccessKeyLastUsedEventsOutcome;
+			typedef std::future<GetAccessKeyLastUsedEventsOutcome> GetAccessKeyLastUsedEventsOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::GetAccessKeyLastUsedEventsRequest&, const GetAccessKeyLastUsedEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccessKeyLastUsedEventsAsyncHandler;
+			typedef Outcome<Error, Model::GetAccessKeyLastUsedInfoResult> GetAccessKeyLastUsedInfoOutcome;
+			typedef std::future<GetAccessKeyLastUsedInfoOutcome> GetAccessKeyLastUsedInfoOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::GetAccessKeyLastUsedInfoRequest&, const GetAccessKeyLastUsedInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccessKeyLastUsedInfoAsyncHandler;
+			typedef Outcome<Error, Model::GetAccessKeyLastUsedIpsResult> GetAccessKeyLastUsedIpsOutcome;
+			typedef std::future<GetAccessKeyLastUsedIpsOutcome> GetAccessKeyLastUsedIpsOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::GetAccessKeyLastUsedIpsRequest&, const GetAccessKeyLastUsedIpsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccessKeyLastUsedIpsAsyncHandler;
+			typedef Outcome<Error, Model::GetAccessKeyLastUsedProductsResult> GetAccessKeyLastUsedProductsOutcome;
+			typedef std::future<GetAccessKeyLastUsedProductsOutcome> GetAccessKeyLastUsedProductsOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::GetAccessKeyLastUsedProductsRequest&, const GetAccessKeyLastUsedProductsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccessKeyLastUsedProductsAsyncHandler;
+			typedef Outcome<Error, Model::GetAccessKeyLastUsedResourcesResult> GetAccessKeyLastUsedResourcesOutcome;
+			typedef std::future<GetAccessKeyLastUsedResourcesOutcome> GetAccessKeyLastUsedResourcesOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::GetAccessKeyLastUsedResourcesRequest&, const GetAccessKeyLastUsedResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAccessKeyLastUsedResourcesAsyncHandler;
+			typedef Outcome<Error, Model::GetDeliveryHistoryJobResult> GetDeliveryHistoryJobOutcome;
+			typedef std::future<GetDeliveryHistoryJobOutcome> GetDeliveryHistoryJobOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::GetDeliveryHistoryJobRequest&, const GetDeliveryHistoryJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDeliveryHistoryJobAsyncHandler;
 			typedef Outcome<Error, Model::GetTrailStatusResult> GetTrailStatusOutcome;
 			typedef std::future<GetTrailStatusOutcome> GetTrailStatusOutcomeCallable;
 			typedef std::function<void(const ActiontrailClient*, const Model::GetTrailStatusRequest&, const GetTrailStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTrailStatusAsyncHandler;
@@ -114,6 +144,24 @@ namespace AlibabaCloud
 			DescribeTrailsOutcome describeTrails(const Model::DescribeTrailsRequest &request)const;
 			void describeTrailsAsync(const Model::DescribeTrailsRequest& request, const DescribeTrailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTrailsOutcomeCallable describeTrailsCallable(const Model::DescribeTrailsRequest& request) const;
+			GetAccessKeyLastUsedEventsOutcome getAccessKeyLastUsedEvents(const Model::GetAccessKeyLastUsedEventsRequest &request)const;
+			void getAccessKeyLastUsedEventsAsync(const Model::GetAccessKeyLastUsedEventsRequest& request, const GetAccessKeyLastUsedEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccessKeyLastUsedEventsOutcomeCallable getAccessKeyLastUsedEventsCallable(const Model::GetAccessKeyLastUsedEventsRequest& request) const;
+			GetAccessKeyLastUsedInfoOutcome getAccessKeyLastUsedInfo(const Model::GetAccessKeyLastUsedInfoRequest &request)const;
+			void getAccessKeyLastUsedInfoAsync(const Model::GetAccessKeyLastUsedInfoRequest& request, const GetAccessKeyLastUsedInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccessKeyLastUsedInfoOutcomeCallable getAccessKeyLastUsedInfoCallable(const Model::GetAccessKeyLastUsedInfoRequest& request) const;
+			GetAccessKeyLastUsedIpsOutcome getAccessKeyLastUsedIps(const Model::GetAccessKeyLastUsedIpsRequest &request)const;
+			void getAccessKeyLastUsedIpsAsync(const Model::GetAccessKeyLastUsedIpsRequest& request, const GetAccessKeyLastUsedIpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccessKeyLastUsedIpsOutcomeCallable getAccessKeyLastUsedIpsCallable(const Model::GetAccessKeyLastUsedIpsRequest& request) const;
+			GetAccessKeyLastUsedProductsOutcome getAccessKeyLastUsedProducts(const Model::GetAccessKeyLastUsedProductsRequest &request)const;
+			void getAccessKeyLastUsedProductsAsync(const Model::GetAccessKeyLastUsedProductsRequest& request, const GetAccessKeyLastUsedProductsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccessKeyLastUsedProductsOutcomeCallable getAccessKeyLastUsedProductsCallable(const Model::GetAccessKeyLastUsedProductsRequest& request) const;
+			GetAccessKeyLastUsedResourcesOutcome getAccessKeyLastUsedResources(const Model::GetAccessKeyLastUsedResourcesRequest &request)const;
+			void getAccessKeyLastUsedResourcesAsync(const Model::GetAccessKeyLastUsedResourcesRequest& request, const GetAccessKeyLastUsedResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAccessKeyLastUsedResourcesOutcomeCallable getAccessKeyLastUsedResourcesCallable(const Model::GetAccessKeyLastUsedResourcesRequest& request) const;
+			GetDeliveryHistoryJobOutcome getDeliveryHistoryJob(const Model::GetDeliveryHistoryJobRequest &request)const;
+			void getDeliveryHistoryJobAsync(const Model::GetDeliveryHistoryJobRequest& request, const GetDeliveryHistoryJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDeliveryHistoryJobOutcomeCallable getDeliveryHistoryJobCallable(const Model::GetDeliveryHistoryJobRequest& request) const;
 			GetTrailStatusOutcome getTrailStatus(const Model::GetTrailStatusRequest &request)const;
 			void getTrailStatusAsync(const Model::GetTrailStatusRequest& request, const GetTrailStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetTrailStatusOutcomeCallable getTrailStatusCallable(const Model::GetTrailStatusRequest& request) const;

+ 34 - 40
actiontrail/include/alibabacloud/actiontrail/model/CreateDeliveryHistoryJobRequest.h

@@ -1,51 +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_ACTIONTRAIL_MODEL_CREATEDELIVERYHISTORYJOBREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATEDELIVERYHISTORYJOBREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT CreateDeliveryHistoryJobRequest : public RpcServiceRequest
-			{
-
-			public:
-				CreateDeliveryHistoryJobRequest();
-				~CreateDeliveryHistoryJobRequest();
-
-				std::string getClientToken()const;
-				void setClientToken(const std::string& clientToken);
-				std::string getTrailName()const;
-				void setTrailName(const std::string& trailName);
-
-            private:
-				std::string clientToken_;
-				std::string trailName_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATEDELIVERYHISTORYJOBREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATEDELIVERYHISTORYJOBREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATEDELIVERYHISTORYJOBREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT CreateDeliveryHistoryJobRequest : public RpcServiceRequest {
+public:
+	CreateDeliveryHistoryJobRequest();
+	~CreateDeliveryHistoryJobRequest();
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getTrailName() const;
+	void setTrailName(const std::string &trailName);
+
+private:
+	std::string clientToken_;
+	std::string trailName_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATEDELIVERYHISTORYJOBREQUEST_H_

+ 55 - 61
actiontrail/include/alibabacloud/actiontrail/model/CreateTrailRequest.h

@@ -1,72 +1,66 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT CreateTrailRequest : public RpcServiceRequest
-			{
-
-			public:
-				CreateTrailRequest();
-				~CreateTrailRequest();
-
-				std::string getSlsProjectArn()const;
-				void setSlsProjectArn(const std::string& slsProjectArn);
-				std::string getSlsWriteRoleArn()const;
-				void setSlsWriteRoleArn(const std::string& slsWriteRoleArn);
-				bool getIsOrganizationTrail()const;
-				void setIsOrganizationTrail(bool isOrganizationTrail);
-				std::string getOssKeyPrefix()const;
-				void setOssKeyPrefix(const std::string& ossKeyPrefix);
-				std::string getOssWriteRoleArn()const;
-				void setOssWriteRoleArn(const std::string& ossWriteRoleArn);
-				std::string getEventRW()const;
-				void setEventRW(const std::string& eventRW);
-				std::string getName()const;
-				void setName(const std::string& name);
-				std::string getOssBucketName()const;
-				void setOssBucketName(const std::string& ossBucketName);
-				std::string getTrailRegion()const;
-				void setTrailRegion(const std::string& trailRegion);
-
-            private:
-				std::string slsProjectArn_;
-				std::string slsWriteRoleArn_;
-				bool isOrganizationTrail_;
-				std::string ossKeyPrefix_;
-				std::string ossWriteRoleArn_;
-				std::string eventRW_;
-				std::string name_;
-				std::string ossBucketName_;
-				std::string trailRegion_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT CreateTrailRequest : public RpcServiceRequest {
+public:
+	CreateTrailRequest();
+	~CreateTrailRequest();
+	std::string getSlsProjectArn() const;
+	void setSlsProjectArn(const std::string &slsProjectArn);
+	std::string getSlsWriteRoleArn() const;
+	void setSlsWriteRoleArn(const std::string &slsWriteRoleArn);
+	bool getIsOrganizationTrail() const;
+	void setIsOrganizationTrail(bool isOrganizationTrail);
+	std::string getOssKeyPrefix() const;
+	void setOssKeyPrefix(const std::string &ossKeyPrefix);
+	std::string getOssWriteRoleArn() const;
+	void setOssWriteRoleArn(const std::string &ossWriteRoleArn);
+	std::string getEventRW() const;
+	void setEventRW(const std::string &eventRW);
+	std::string getName() const;
+	void setName(const std::string &name);
+	std::string getOssBucketName() const;
+	void setOssBucketName(const std::string &ossBucketName);
+	std::string getTrailRegion() const;
+	void setTrailRegion(const std::string &trailRegion);
+
+private:
+	std::string slsProjectArn_;
+	std::string slsWriteRoleArn_;
+	bool isOrganizationTrail_;
+	std::string ossKeyPrefix_;
+	std::string ossWriteRoleArn_;
+	std::string eventRW_;
+	std::string name_;
+	std::string ossBucketName_;
+	std::string trailRegion_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_

+ 2 - 2
actiontrail/include/alibabacloud/actiontrail/model/CreateTrailResult.h

@@ -42,8 +42,8 @@ namespace AlibabaCloud
 				std::string getHomeRegion()const;
 				std::string getOssKeyPrefix()const;
 				std::string getOssBucketName()const;
-				std::string getSlsWriteRoleArn()const;
 				std::string getOssWriteRoleArn()const;
+				std::string getSlsWriteRoleArn()const;
 				std::string getTrailRegion()const;
 				std::string getName()const;
 
@@ -55,8 +55,8 @@ namespace AlibabaCloud
 				std::string homeRegion_;
 				std::string ossKeyPrefix_;
 				std::string ossBucketName_;
-				std::string slsWriteRoleArn_;
 				std::string ossWriteRoleArn_;
+				std::string slsWriteRoleArn_;
 				std::string trailRegion_;
 				std::string name_;
 

+ 31 - 37
actiontrail/include/alibabacloud/actiontrail/model/DeleteDeliveryHistoryJobRequest.h

@@ -1,48 +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_ACTIONTRAIL_MODEL_DELETEDELIVERYHISTORYJOBREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETEDELIVERYHISTORYJOBREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT DeleteDeliveryHistoryJobRequest : public RpcServiceRequest
-			{
-
-			public:
-				DeleteDeliveryHistoryJobRequest();
-				~DeleteDeliveryHistoryJobRequest();
-
-				int getJobId()const;
-				void setJobId(int jobId);
-
-            private:
-				int jobId_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETEDELIVERYHISTORYJOBREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETEDELIVERYHISTORYJOBREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETEDELIVERYHISTORYJOBREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT DeleteDeliveryHistoryJobRequest : public RpcServiceRequest {
+public:
+	DeleteDeliveryHistoryJobRequest();
+	~DeleteDeliveryHistoryJobRequest();
+	int getJobId() const;
+	void setJobId(int jobId);
+
+private:
+	int jobId_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETEDELIVERYHISTORYJOBREQUEST_H_

+ 31 - 37
actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailRequest.h

@@ -1,48 +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_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT DeleteTrailRequest : public RpcServiceRequest
-			{
-
-			public:
-				DeleteTrailRequest();
-				~DeleteTrailRequest();
-
-				std::string getName()const;
-				void setName(const std::string& name);
-
-            private:
-				std::string name_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT DeleteTrailRequest : public RpcServiceRequest {
+public:
+	DeleteTrailRequest();
+	~DeleteTrailRequest();
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	std::string name_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_

+ 31 - 37
actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsRequest.h

@@ -1,48 +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_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT DescribeRegionsRequest : public RpcServiceRequest
-			{
-
-			public:
-				DescribeRegionsRequest();
-				~DescribeRegionsRequest();
-
-				std::string getAcceptLanguage()const;
-				void setAcceptLanguage(const std::string& acceptLanguage);
-
-            private:
-				std::string acceptLanguage_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT DescribeRegionsRequest : public RpcServiceRequest {
+public:
+	DescribeRegionsRequest();
+	~DescribeRegionsRequest();
+	std::string getAcceptLanguage() const;
+	void setAcceptLanguage(const std::string &acceptLanguage);
+
+private:
+	std::string acceptLanguage_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 37 - 43
actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h

@@ -1,54 +1,48 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT DescribeTrailsRequest : public RpcServiceRequest
-			{
-
-			public:
-				DescribeTrailsRequest();
-				~DescribeTrailsRequest();
-
-				bool getIncludeOrganizationTrail()const;
-				void setIncludeOrganizationTrail(bool includeOrganizationTrail);
-				bool getIncludeShadowTrails()const;
-				void setIncludeShadowTrails(bool includeShadowTrails);
-				std::string getNameList()const;
-				void setNameList(const std::string& nameList);
-
-            private:
-				bool includeOrganizationTrail_;
-				bool includeShadowTrails_;
-				std::string nameList_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT DescribeTrailsRequest : public RpcServiceRequest {
+public:
+	DescribeTrailsRequest();
+	~DescribeTrailsRequest();
+	bool getIncludeOrganizationTrail() const;
+	void setIncludeOrganizationTrail(bool includeOrganizationTrail);
+	bool getIncludeShadowTrails() const;
+	void setIncludeShadowTrails(bool includeShadowTrails);
+	std::string getNameList() const;
+	void setNameList(const std::string &nameList);
+
+private:
+	bool includeOrganizationTrail_;
+	bool includeShadowTrails_;
+	std::string nameList_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_

+ 6 - 5
actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsResult.h

@@ -36,23 +36,24 @@ namespace AlibabaCloud
 				{
 					std::string status;
 					std::string homeRegion;
-					std::string startLoggingTime;
 					std::string createTime;
+					std::string startLoggingTime;
 					std::string stopLoggingTime;
-					std::string organizationId;
 					std::string slsWriteRoleArn;
-					std::string ossBucketLocation;
+					std::string organizationId;
 					std::string trailRegion;
-					std::string name;
+					std::string ossBucketLocation;
 					bool isOrganizationTrail;
+					std::string name;
 					std::string slsProjectArn;
 					std::string eventRW;
-					std::string ossKeyPrefix;
 					std::string updateTime;
+					std::string ossKeyPrefix;
 					std::string region;
 					std::string ossBucketName;
 					std::string ossWriteRoleArn;
 					long isShadowTrail;
+					std::string trailArn;
 				};
 
 

+ 51 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedEventsRequest.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDEVENTSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDEVENTSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedEventsRequest : public RpcServiceRequest {
+public:
+	GetAccessKeyLastUsedEventsRequest();
+	~GetAccessKeyLastUsedEventsRequest();
+	std::string getAccessKey() const;
+	void setAccessKey(const std::string &accessKey);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::string getPageSize() const;
+	void setPageSize(const std::string &pageSize);
+	std::string getServiceName() const;
+	void setServiceName(const std::string &serviceName);
+
+private:
+	std::string accessKey_;
+	std::string nextToken_;
+	std::string pageSize_;
+	std::string serviceName_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDEVENTSREQUEST_H_

+ 60 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedEventsResult.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDEVENTSRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDEVENTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedEventsResult : public ServiceResult
+			{
+			public:
+				struct EventsItem
+				{
+					std::string eventName;
+					long usedTimestamp;
+					std::string detail;
+					std::string source;
+				};
+
+
+				GetAccessKeyLastUsedEventsResult();
+				explicit GetAccessKeyLastUsedEventsResult(const std::string &payload);
+				~GetAccessKeyLastUsedEventsResult();
+				std::string getNextToken()const;
+				std::vector<EventsItem> getEvents()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<EventsItem> events_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDEVENTSRESULT_H_

+ 42 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedInfoRequest.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDINFOREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDINFOREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedInfoRequest : public RpcServiceRequest {
+public:
+	GetAccessKeyLastUsedInfoRequest();
+	~GetAccessKeyLastUsedInfoRequest();
+	std::string getAccessKey() const;
+	void setAccessKey(const std::string &accessKey);
+
+private:
+	std::string accessKey_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDINFOREQUEST_H_

+ 71 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedInfoResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDINFORESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedInfoResult : public ServiceResult
+			{
+			public:
+
+
+				GetAccessKeyLastUsedInfoResult();
+				explicit GetAccessKeyLastUsedInfoResult(const std::string &payload);
+				~GetAccessKeyLastUsedInfoResult();
+				std::string getAccountId()const;
+				std::string getUserName()const;
+				std::string getOwnerId()const;
+				std::string getServiceName()const;
+				std::string getAccessKeyId()const;
+				std::string getServiceNameCn()const;
+				std::string getServiceNameEn()const;
+				std::string getAccountType()const;
+				long getUsedTimestamp()const;
+				std::string getDetail()const;
+				std::string getSource()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string accountId_;
+				std::string userName_;
+				std::string ownerId_;
+				std::string serviceName_;
+				std::string accessKeyId_;
+				std::string serviceNameCn_;
+				std::string serviceNameEn_;
+				std::string accountType_;
+				long usedTimestamp_;
+				std::string detail_;
+				std::string source_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDINFORESULT_H_

+ 51 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedIpsRequest.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDIPSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDIPSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedIpsRequest : public RpcServiceRequest {
+public:
+	GetAccessKeyLastUsedIpsRequest();
+	~GetAccessKeyLastUsedIpsRequest();
+	std::string getAccessKey() const;
+	void setAccessKey(const std::string &accessKey);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::string getPageSize() const;
+	void setPageSize(const std::string &pageSize);
+	std::string getServiceName() const;
+	void setServiceName(const std::string &serviceName);
+
+private:
+	std::string accessKey_;
+	std::string nextToken_;
+	std::string pageSize_;
+	std::string serviceName_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDIPSREQUEST_H_

+ 60 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedIpsResult.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDIPSRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDIPSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedIpsResult : public ServiceResult
+			{
+			public:
+				struct IpsItem
+				{
+					std::string ip;
+					long usedTimestamp;
+					std::string detail;
+					std::string source;
+				};
+
+
+				GetAccessKeyLastUsedIpsResult();
+				explicit GetAccessKeyLastUsedIpsResult(const std::string &payload);
+				~GetAccessKeyLastUsedIpsResult();
+				std::string getNextToken()const;
+				std::vector<IpsItem> getIps()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<IpsItem> ips_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDIPSRESULT_H_

+ 42 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedProductsRequest.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDPRODUCTSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDPRODUCTSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedProductsRequest : public RpcServiceRequest {
+public:
+	GetAccessKeyLastUsedProductsRequest();
+	~GetAccessKeyLastUsedProductsRequest();
+	std::string getAccessKey() const;
+	void setAccessKey(const std::string &accessKey);
+
+private:
+	std::string accessKey_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDPRODUCTSREQUEST_H_

+ 60 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedProductsResult.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDPRODUCTSRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDPRODUCTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedProductsResult : public ServiceResult
+			{
+			public:
+				struct ProductsItem
+				{
+					std::string serviceName;
+					std::string serviceNameCn;
+					std::string serviceNameEn;
+					long usedTimestamp;
+					std::string detail;
+					std::string source;
+				};
+
+
+				GetAccessKeyLastUsedProductsResult();
+				explicit GetAccessKeyLastUsedProductsResult(const std::string &payload);
+				~GetAccessKeyLastUsedProductsResult();
+				std::vector<ProductsItem> getProducts()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ProductsItem> products_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDPRODUCTSRESULT_H_

+ 51 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedResourcesRequest.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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDRESOURCESREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDRESOURCESREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedResourcesRequest : public RpcServiceRequest {
+public:
+	GetAccessKeyLastUsedResourcesRequest();
+	~GetAccessKeyLastUsedResourcesRequest();
+	std::string getAccessKey() const;
+	void setAccessKey(const std::string &accessKey);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::string getPageSize() const;
+	void setPageSize(const std::string &pageSize);
+	std::string getServiceName() const;
+	void setServiceName(const std::string &serviceName);
+
+private:
+	std::string accessKey_;
+	std::string nextToken_;
+	std::string pageSize_;
+	std::string serviceName_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDRESOURCESREQUEST_H_

+ 61 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetAccessKeyLastUsedResourcesResult.h

@@ -0,0 +1,61 @@
+/*
+ * 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_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDRESOURCESRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDRESOURCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetAccessKeyLastUsedResourcesResult : public ServiceResult
+			{
+			public:
+				struct ResourcesItem
+				{
+					std::string resourceName;
+					std::string resourceType;
+					long usedTimestamp;
+					std::string detail;
+					std::string source;
+				};
+
+
+				GetAccessKeyLastUsedResourcesResult();
+				explicit GetAccessKeyLastUsedResourcesResult(const std::string &payload);
+				~GetAccessKeyLastUsedResourcesResult();
+				std::string getNextToken()const;
+				std::vector<ResourcesItem> getResources()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::vector<ResourcesItem> resources_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETACCESSKEYLASTUSEDRESOURCESRESULT_H_

+ 42 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetDeliveryHistoryJobRequest.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_ACTIONTRAIL_MODEL_GETDELIVERYHISTORYJOBREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETDELIVERYHISTORYJOBREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetDeliveryHistoryJobRequest : public RpcServiceRequest {
+public:
+	GetDeliveryHistoryJobRequest();
+	~GetDeliveryHistoryJobRequest();
+	long getJobId() const;
+	void setJobId(long jobId);
+
+private:
+	long jobId_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETDELIVERYHISTORYJOBREQUEST_H_

+ 72 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetDeliveryHistoryJobResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_GETDELIVERYHISTORYJOBRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETDELIVERYHISTORYJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetDeliveryHistoryJobResult : public ServiceResult
+			{
+			public:
+				struct StatusItem
+				{
+					int status;
+					std::string region;
+				};
+
+
+				GetDeliveryHistoryJobResult();
+				explicit GetDeliveryHistoryJobResult(const std::string &payload);
+				~GetDeliveryHistoryJobResult();
+				std::vector<StatusItem> getStatus()const;
+				int getJobStatus()const;
+				std::string getCreatedTime()const;
+				std::string getEndTime()const;
+				std::string getHomeRegion()const;
+				std::string getStartTime()const;
+				std::string getTrailName()const;
+				std::string getUpdatedTime()const;
+				long getJobId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<StatusItem> status_;
+				int jobStatus_;
+				std::string createdTime_;
+				std::string endTime_;
+				std::string homeRegion_;
+				std::string startTime_;
+				std::string trailName_;
+				std::string updatedTime_;
+				long jobId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETDELIVERYHISTORYJOBRESULT_H_

+ 34 - 40
actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h

@@ -1,51 +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_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetTrailStatusRequest : public RpcServiceRequest
-			{
-
-			public:
-				GetTrailStatusRequest();
-				~GetTrailStatusRequest();
-
-				std::string getName()const;
-				void setName(const std::string& name);
-				bool getIsOrganizationTrail()const;
-				void setIsOrganizationTrail(bool isOrganizationTrail);
-
-            private:
-				std::string name_;
-				bool isOrganizationTrail_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT GetTrailStatusRequest : public RpcServiceRequest {
+public:
+	GetTrailStatusRequest();
+	~GetTrailStatusRequest();
+	std::string getName() const;
+	void setName(const std::string &name);
+	bool getIsOrganizationTrail() const;
+	void setIsOrganizationTrail(bool isOrganizationTrail);
+
+private:
+	std::string name_;
+	bool isOrganizationTrail_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_

+ 2 - 2
actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusResult.h

@@ -44,8 +44,8 @@ namespace AlibabaCloud
 				std::string getLatestDeliveryError()const;
 				std::string getStopLoggingTime()const;
 				bool getSlsLogStoreStatus()const;
-				std::string getLatestDeliveryTime()const;
 				bool getIsLogging()const;
+				std::string getLatestDeliveryTime()const;
 
 			protected:
 				void parse(const std::string &payload);
@@ -57,8 +57,8 @@ namespace AlibabaCloud
 				std::string latestDeliveryError_;
 				std::string stopLoggingTime_;
 				bool slsLogStoreStatus_;
-				std::string latestDeliveryTime_;
 				bool isLogging_;
+				std::string latestDeliveryTime_;
 
 			};
 		}

+ 34 - 40
actiontrail/include/alibabacloud/actiontrail/model/ListDeliveryHistoryJobsRequest.h

@@ -1,51 +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_ACTIONTRAIL_MODEL_LISTDELIVERYHISTORYJOBSREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_LISTDELIVERYHISTORYJOBSREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT ListDeliveryHistoryJobsRequest : public RpcServiceRequest
-			{
-
-			public:
-				ListDeliveryHistoryJobsRequest();
-				~ListDeliveryHistoryJobsRequest();
-
-				int getPageNumber()const;
-				void setPageNumber(int pageNumber);
-				int getPageSize()const;
-				void setPageSize(int pageSize);
-
-            private:
-				int pageNumber_;
-				int pageSize_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_LISTDELIVERYHISTORYJOBSREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_LISTDELIVERYHISTORYJOBSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_LISTDELIVERYHISTORYJOBSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT ListDeliveryHistoryJobsRequest : public RpcServiceRequest {
+public:
+	ListDeliveryHistoryJobsRequest();
+	~ListDeliveryHistoryJobsRequest();
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	int pageNumber_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_LISTDELIVERYHISTORYJOBSREQUEST_H_

+ 50 - 58
actiontrail/include/alibabacloud/actiontrail/model/LookupEventsRequest.h

@@ -1,69 +1,61 @@
 /*
  * 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_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT LookupEventsRequest : public RpcServiceRequest
-			{
-			public:
-				struct LookupAttribute
-				{
-					std::string value;
-					std::string key;
-				};
-
-			public:
-				LookupEventsRequest();
-				~LookupEventsRequest();
-
-				std::string getEndTime()const;
-				void setEndTime(const std::string& endTime);
-				std::string getStartTime()const;
-				void setStartTime(const std::string& startTime);
-				std::string getNextToken()const;
-				void setNextToken(const std::string& nextToken);
-				std::vector<LookupAttribute> getLookupAttribute()const;
-				void setLookupAttribute(const std::vector<LookupAttribute>& lookupAttribute);
-				std::string getMaxResults()const;
-				void setMaxResults(const std::string& maxResults);
-				std::string getDirection()const;
-				void setDirection(const std::string& direction);
-
-            private:
-				std::string endTime_;
-				std::string startTime_;
-				std::string nextToken_;
-				std::vector<LookupAttribute> lookupAttribute_;
-				std::string maxResults_;
-				std::string direction_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT LookupEventsRequest : public RpcServiceRequest {
+public:
+	struct LookupAttribute {
+		std::string value;
+		std::string key;
+	};
+	LookupEventsRequest();
+	~LookupEventsRequest();
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::vector<LookupAttribute> getLookupAttribute() const;
+	void setLookupAttribute(const std::vector<LookupAttribute> &lookupAttribute);
+	std::string getMaxResults() const;
+	void setMaxResults(const std::string &maxResults);
+	std::string getDirection() const;
+	void setDirection(const std::string &direction);
+
+private:
+	std::string endTime_;
+	std::string startTime_;
+	std::string nextToken_;
+	std::vector<LookupAttribute> lookupAttribute_;
+	std::string maxResults_;
+	std::string direction_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_

+ 31 - 37
actiontrail/include/alibabacloud/actiontrail/model/StartLoggingRequest.h

@@ -1,48 +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_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT StartLoggingRequest : public RpcServiceRequest
-			{
-
-			public:
-				StartLoggingRequest();
-				~StartLoggingRequest();
-
-				std::string getName()const;
-				void setName(const std::string& name);
-
-            private:
-				std::string name_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT StartLoggingRequest : public RpcServiceRequest {
+public:
+	StartLoggingRequest();
+	~StartLoggingRequest();
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	std::string name_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_

+ 31 - 37
actiontrail/include/alibabacloud/actiontrail/model/StopLoggingRequest.h

@@ -1,48 +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_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT StopLoggingRequest : public RpcServiceRequest
-			{
-
-			public:
-				StopLoggingRequest();
-				~StopLoggingRequest();
-
-				std::string getName()const;
-				void setName(const std::string& name);
-
-            private:
-				std::string name_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT StopLoggingRequest : public RpcServiceRequest {
+public:
+	StopLoggingRequest();
+	~StopLoggingRequest();
+	std::string getName() const;
+	void setName(const std::string &name);
+
+private:
+	std::string name_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_

+ 52 - 58
actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailRequest.h

@@ -1,69 +1,63 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_
-#define ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_
-
-#include <string>
-#include <vector>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <alibabacloud/actiontrail/ActiontrailExport.h>
-
-namespace AlibabaCloud
-{
-	namespace Actiontrail
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_ACTIONTRAIL_EXPORT UpdateTrailRequest : public RpcServiceRequest
-			{
-
-			public:
-				UpdateTrailRequest();
-				~UpdateTrailRequest();
-
-				std::string getSlsProjectArn()const;
-				void setSlsProjectArn(const std::string& slsProjectArn);
-				std::string getSlsWriteRoleArn()const;
-				void setSlsWriteRoleArn(const std::string& slsWriteRoleArn);
-				std::string getOssKeyPrefix()const;
-				void setOssKeyPrefix(const std::string& ossKeyPrefix);
-				std::string getOssWriteRoleArn()const;
-				void setOssWriteRoleArn(const std::string& ossWriteRoleArn);
-				std::string getEventRW()const;
-				void setEventRW(const std::string& eventRW);
-				std::string getName()const;
-				void setName(const std::string& name);
-				std::string getOssBucketName()const;
-				void setOssBucketName(const std::string& ossBucketName);
-				std::string getTrailRegion()const;
-				void setTrailRegion(const std::string& trailRegion);
-
-            private:
-				std::string slsProjectArn_;
-				std::string slsWriteRoleArn_;
-				std::string ossKeyPrefix_;
-				std::string ossWriteRoleArn_;
-				std::string eventRW_;
-				std::string name_;
-				std::string ossBucketName_;
-				std::string trailRegion_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_
+
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Actiontrail {
+namespace Model {
+class ALIBABACLOUD_ACTIONTRAIL_EXPORT UpdateTrailRequest : public RpcServiceRequest {
+public:
+	UpdateTrailRequest();
+	~UpdateTrailRequest();
+	std::string getSlsProjectArn() const;
+	void setSlsProjectArn(const std::string &slsProjectArn);
+	std::string getSlsWriteRoleArn() const;
+	void setSlsWriteRoleArn(const std::string &slsWriteRoleArn);
+	std::string getOssKeyPrefix() const;
+	void setOssKeyPrefix(const std::string &ossKeyPrefix);
+	std::string getOssWriteRoleArn() const;
+	void setOssWriteRoleArn(const std::string &ossWriteRoleArn);
+	std::string getEventRW() const;
+	void setEventRW(const std::string &eventRW);
+	std::string getName() const;
+	void setName(const std::string &name);
+	std::string getOssBucketName() const;
+	void setOssBucketName(const std::string &ossBucketName);
+	std::string getTrailRegion() const;
+	void setTrailRegion(const std::string &trailRegion);
+
+private:
+	std::string slsProjectArn_;
+	std::string slsWriteRoleArn_;
+	std::string ossKeyPrefix_;
+	std::string ossWriteRoleArn_;
+	std::string eventRW_;
+	std::string name_;
+	std::string ossBucketName_;
+	std::string trailRegion_;
+};
+} // namespace Model
+} // namespace Actiontrail
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_

+ 2 - 2
actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailResult.h

@@ -42,8 +42,8 @@ namespace AlibabaCloud
 				std::string getHomeRegion()const;
 				std::string getOssKeyPrefix()const;
 				std::string getOssBucketName()const;
-				std::string getSlsWriteRoleArn()const;
 				std::string getOssWriteRoleArn()const;
+				std::string getSlsWriteRoleArn()const;
 				std::string getTrailRegion()const;
 				std::string getName()const;
 
@@ -55,8 +55,8 @@ namespace AlibabaCloud
 				std::string homeRegion_;
 				std::string ossKeyPrefix_;
 				std::string ossBucketName_;
-				std::string slsWriteRoleArn_;
 				std::string ossWriteRoleArn_;
+				std::string slsWriteRoleArn_;
 				std::string trailRegion_;
 				std::string name_;
 

+ 219 - 3
actiontrail/src/ActiontrailClient.cc

@@ -31,21 +31,21 @@ ActiontrailClient::ActiontrailClient(const Credentials &credentials, const Clien
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "actiontrail");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 ActiontrailClient::ActiontrailClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "actiontrail");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 ActiontrailClient::ActiontrailClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "actiontrail");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 ActiontrailClient::~ActiontrailClient()
@@ -267,6 +267,222 @@ ActiontrailClient::DescribeTrailsOutcomeCallable ActiontrailClient::describeTrai
 	return task->get_future();
 }
 
+ActiontrailClient::GetAccessKeyLastUsedEventsOutcome ActiontrailClient::getAccessKeyLastUsedEvents(const GetAccessKeyLastUsedEventsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccessKeyLastUsedEventsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccessKeyLastUsedEventsOutcome(GetAccessKeyLastUsedEventsResult(outcome.result()));
+	else
+		return GetAccessKeyLastUsedEventsOutcome(outcome.error());
+}
+
+void ActiontrailClient::getAccessKeyLastUsedEventsAsync(const GetAccessKeyLastUsedEventsRequest& request, const GetAccessKeyLastUsedEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccessKeyLastUsedEvents(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetAccessKeyLastUsedEventsOutcomeCallable ActiontrailClient::getAccessKeyLastUsedEventsCallable(const GetAccessKeyLastUsedEventsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccessKeyLastUsedEventsOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccessKeyLastUsedEvents(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::GetAccessKeyLastUsedInfoOutcome ActiontrailClient::getAccessKeyLastUsedInfo(const GetAccessKeyLastUsedInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccessKeyLastUsedInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccessKeyLastUsedInfoOutcome(GetAccessKeyLastUsedInfoResult(outcome.result()));
+	else
+		return GetAccessKeyLastUsedInfoOutcome(outcome.error());
+}
+
+void ActiontrailClient::getAccessKeyLastUsedInfoAsync(const GetAccessKeyLastUsedInfoRequest& request, const GetAccessKeyLastUsedInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccessKeyLastUsedInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetAccessKeyLastUsedInfoOutcomeCallable ActiontrailClient::getAccessKeyLastUsedInfoCallable(const GetAccessKeyLastUsedInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccessKeyLastUsedInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccessKeyLastUsedInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::GetAccessKeyLastUsedIpsOutcome ActiontrailClient::getAccessKeyLastUsedIps(const GetAccessKeyLastUsedIpsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccessKeyLastUsedIpsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccessKeyLastUsedIpsOutcome(GetAccessKeyLastUsedIpsResult(outcome.result()));
+	else
+		return GetAccessKeyLastUsedIpsOutcome(outcome.error());
+}
+
+void ActiontrailClient::getAccessKeyLastUsedIpsAsync(const GetAccessKeyLastUsedIpsRequest& request, const GetAccessKeyLastUsedIpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccessKeyLastUsedIps(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetAccessKeyLastUsedIpsOutcomeCallable ActiontrailClient::getAccessKeyLastUsedIpsCallable(const GetAccessKeyLastUsedIpsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccessKeyLastUsedIpsOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccessKeyLastUsedIps(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::GetAccessKeyLastUsedProductsOutcome ActiontrailClient::getAccessKeyLastUsedProducts(const GetAccessKeyLastUsedProductsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccessKeyLastUsedProductsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccessKeyLastUsedProductsOutcome(GetAccessKeyLastUsedProductsResult(outcome.result()));
+	else
+		return GetAccessKeyLastUsedProductsOutcome(outcome.error());
+}
+
+void ActiontrailClient::getAccessKeyLastUsedProductsAsync(const GetAccessKeyLastUsedProductsRequest& request, const GetAccessKeyLastUsedProductsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccessKeyLastUsedProducts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetAccessKeyLastUsedProductsOutcomeCallable ActiontrailClient::getAccessKeyLastUsedProductsCallable(const GetAccessKeyLastUsedProductsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccessKeyLastUsedProductsOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccessKeyLastUsedProducts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::GetAccessKeyLastUsedResourcesOutcome ActiontrailClient::getAccessKeyLastUsedResources(const GetAccessKeyLastUsedResourcesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetAccessKeyLastUsedResourcesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetAccessKeyLastUsedResourcesOutcome(GetAccessKeyLastUsedResourcesResult(outcome.result()));
+	else
+		return GetAccessKeyLastUsedResourcesOutcome(outcome.error());
+}
+
+void ActiontrailClient::getAccessKeyLastUsedResourcesAsync(const GetAccessKeyLastUsedResourcesRequest& request, const GetAccessKeyLastUsedResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getAccessKeyLastUsedResources(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetAccessKeyLastUsedResourcesOutcomeCallable ActiontrailClient::getAccessKeyLastUsedResourcesCallable(const GetAccessKeyLastUsedResourcesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetAccessKeyLastUsedResourcesOutcome()>>(
+			[this, request]()
+			{
+			return this->getAccessKeyLastUsedResources(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::GetDeliveryHistoryJobOutcome ActiontrailClient::getDeliveryHistoryJob(const GetDeliveryHistoryJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetDeliveryHistoryJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetDeliveryHistoryJobOutcome(GetDeliveryHistoryJobResult(outcome.result()));
+	else
+		return GetDeliveryHistoryJobOutcome(outcome.error());
+}
+
+void ActiontrailClient::getDeliveryHistoryJobAsync(const GetDeliveryHistoryJobRequest& request, const GetDeliveryHistoryJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getDeliveryHistoryJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetDeliveryHistoryJobOutcomeCallable ActiontrailClient::getDeliveryHistoryJobCallable(const GetDeliveryHistoryJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetDeliveryHistoryJobOutcome()>>(
+			[this, request]()
+			{
+			return this->getDeliveryHistoryJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ActiontrailClient::GetTrailStatusOutcome ActiontrailClient::getTrailStatus(const GetTrailStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 26 - 32
actiontrail/src/model/CreateDeliveryHistoryJobRequest.cc

@@ -1,51 +1,45 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#include <alibabacloud/actiontrail/model/CreateDeliveryHistoryJobRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::CreateDeliveryHistoryJobRequest;
-
-CreateDeliveryHistoryJobRequest::CreateDeliveryHistoryJobRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "CreateDeliveryHistoryJob")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-CreateDeliveryHistoryJobRequest::~CreateDeliveryHistoryJobRequest()
-{}
-
-std::string CreateDeliveryHistoryJobRequest::getClientToken()const
-{
-	return clientToken_;
+ */
+
+#include <alibabacloud/actiontrail/model/CreateDeliveryHistoryJobRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::CreateDeliveryHistoryJobRequest;
+
+CreateDeliveryHistoryJobRequest::CreateDeliveryHistoryJobRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "CreateDeliveryHistoryJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateDeliveryHistoryJobRequest::~CreateDeliveryHistoryJobRequest() {}
+
+std::string CreateDeliveryHistoryJobRequest::getClientToken() const {
+  return clientToken_;
 }
 
-void CreateDeliveryHistoryJobRequest::setClientToken(const std::string& clientToken)
-{
-	clientToken_ = clientToken;
-	setParameter("ClientToken", clientToken);
+void CreateDeliveryHistoryJobRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
 }
 
-std::string CreateDeliveryHistoryJobRequest::getTrailName()const
-{
-	return trailName_;
+std::string CreateDeliveryHistoryJobRequest::getTrailName() const {
+  return trailName_;
 }
 
-void CreateDeliveryHistoryJobRequest::setTrailName(const std::string& trailName)
-{
-	trailName_ = trailName;
-	setParameter("TrailName", trailName);
+void CreateDeliveryHistoryJobRequest::setTrailName(const std::string &trailName) {
+  trailName_ = trailName;
+  setParameter(std::string("TrailName"), trailName);
 }
 

+ 61 - 81
actiontrail/src/model/CreateTrailRequest.cc

@@ -1,128 +1,108 @@
 /*
  * 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/actiontrail/model/CreateTrailRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::CreateTrailRequest;
-
-CreateTrailRequest::CreateTrailRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "CreateTrail")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-CreateTrailRequest::~CreateTrailRequest()
-{}
-
-std::string CreateTrailRequest::getSlsProjectArn()const
-{
-	return slsProjectArn_;
+ */
+
+#include <alibabacloud/actiontrail/model/CreateTrailRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::CreateTrailRequest;
+
+CreateTrailRequest::CreateTrailRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "CreateTrail") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateTrailRequest::~CreateTrailRequest() {}
+
+std::string CreateTrailRequest::getSlsProjectArn() const {
+  return slsProjectArn_;
 }
 
-void CreateTrailRequest::setSlsProjectArn(const std::string& slsProjectArn)
-{
-	slsProjectArn_ = slsProjectArn;
-	setParameter("SlsProjectArn", slsProjectArn);
+void CreateTrailRequest::setSlsProjectArn(const std::string &slsProjectArn) {
+  slsProjectArn_ = slsProjectArn;
+  setParameter(std::string("SlsProjectArn"), slsProjectArn);
 }
 
-std::string CreateTrailRequest::getSlsWriteRoleArn()const
-{
-	return slsWriteRoleArn_;
+std::string CreateTrailRequest::getSlsWriteRoleArn() const {
+  return slsWriteRoleArn_;
 }
 
-void CreateTrailRequest::setSlsWriteRoleArn(const std::string& slsWriteRoleArn)
-{
-	slsWriteRoleArn_ = slsWriteRoleArn;
-	setParameter("SlsWriteRoleArn", slsWriteRoleArn);
+void CreateTrailRequest::setSlsWriteRoleArn(const std::string &slsWriteRoleArn) {
+  slsWriteRoleArn_ = slsWriteRoleArn;
+  setParameter(std::string("SlsWriteRoleArn"), slsWriteRoleArn);
 }
 
-bool CreateTrailRequest::getIsOrganizationTrail()const
-{
-	return isOrganizationTrail_;
+bool CreateTrailRequest::getIsOrganizationTrail() const {
+  return isOrganizationTrail_;
 }
 
-void CreateTrailRequest::setIsOrganizationTrail(bool isOrganizationTrail)
-{
-	isOrganizationTrail_ = isOrganizationTrail;
-	setParameter("IsOrganizationTrail", isOrganizationTrail ? "true" : "false");
+void CreateTrailRequest::setIsOrganizationTrail(bool isOrganizationTrail) {
+  isOrganizationTrail_ = isOrganizationTrail;
+  setParameter(std::string("IsOrganizationTrail"), isOrganizationTrail ? "true" : "false");
 }
 
-std::string CreateTrailRequest::getOssKeyPrefix()const
-{
-	return ossKeyPrefix_;
+std::string CreateTrailRequest::getOssKeyPrefix() const {
+  return ossKeyPrefix_;
 }
 
-void CreateTrailRequest::setOssKeyPrefix(const std::string& ossKeyPrefix)
-{
-	ossKeyPrefix_ = ossKeyPrefix;
-	setParameter("OssKeyPrefix", ossKeyPrefix);
+void CreateTrailRequest::setOssKeyPrefix(const std::string &ossKeyPrefix) {
+  ossKeyPrefix_ = ossKeyPrefix;
+  setParameter(std::string("OssKeyPrefix"), ossKeyPrefix);
 }
 
-std::string CreateTrailRequest::getOssWriteRoleArn()const
-{
-	return ossWriteRoleArn_;
+std::string CreateTrailRequest::getOssWriteRoleArn() const {
+  return ossWriteRoleArn_;
 }
 
-void CreateTrailRequest::setOssWriteRoleArn(const std::string& ossWriteRoleArn)
-{
-	ossWriteRoleArn_ = ossWriteRoleArn;
-	setParameter("OssWriteRoleArn", ossWriteRoleArn);
+void CreateTrailRequest::setOssWriteRoleArn(const std::string &ossWriteRoleArn) {
+  ossWriteRoleArn_ = ossWriteRoleArn;
+  setParameter(std::string("OssWriteRoleArn"), ossWriteRoleArn);
 }
 
-std::string CreateTrailRequest::getEventRW()const
-{
-	return eventRW_;
+std::string CreateTrailRequest::getEventRW() const {
+  return eventRW_;
 }
 
-void CreateTrailRequest::setEventRW(const std::string& eventRW)
-{
-	eventRW_ = eventRW;
-	setParameter("EventRW", eventRW);
+void CreateTrailRequest::setEventRW(const std::string &eventRW) {
+  eventRW_ = eventRW;
+  setParameter(std::string("EventRW"), eventRW);
 }
 
-std::string CreateTrailRequest::getName()const
-{
-	return name_;
+std::string CreateTrailRequest::getName() const {
+  return name_;
 }
 
-void CreateTrailRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
+void CreateTrailRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
 }
 
-std::string CreateTrailRequest::getOssBucketName()const
-{
-	return ossBucketName_;
+std::string CreateTrailRequest::getOssBucketName() const {
+  return ossBucketName_;
 }
 
-void CreateTrailRequest::setOssBucketName(const std::string& ossBucketName)
-{
-	ossBucketName_ = ossBucketName;
-	setParameter("OssBucketName", ossBucketName);
+void CreateTrailRequest::setOssBucketName(const std::string &ossBucketName) {
+  ossBucketName_ = ossBucketName;
+  setParameter(std::string("OssBucketName"), ossBucketName);
 }
 
-std::string CreateTrailRequest::getTrailRegion()const
-{
-	return trailRegion_;
+std::string CreateTrailRequest::getTrailRegion() const {
+  return trailRegion_;
 }
 
-void CreateTrailRequest::setTrailRegion(const std::string& trailRegion)
-{
-	trailRegion_ = trailRegion;
-	setParameter("TrailRegion", trailRegion);
+void CreateTrailRequest::setTrailRegion(const std::string &trailRegion) {
+  trailRegion_ = trailRegion;
+  setParameter(std::string("TrailRegion"), trailRegion);
 }
 

+ 6 - 6
actiontrail/src/model/CreateTrailResult.cc

@@ -41,6 +41,8 @@ void CreateTrailResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["SlsProjectArn"].isNull())
 		slsProjectArn_ = value["SlsProjectArn"].asString();
+	if(!value["OssWriteRoleArn"].isNull())
+		ossWriteRoleArn_ = value["OssWriteRoleArn"].asString();
 	if(!value["EventRW"].isNull())
 		eventRW_ = value["EventRW"].asString();
 	if(!value["HomeRegion"].isNull())
@@ -51,8 +53,6 @@ void CreateTrailResult::parse(const std::string &payload)
 		ossBucketName_ = value["OssBucketName"].asString();
 	if(!value["SlsWriteRoleArn"].isNull())
 		slsWriteRoleArn_ = value["SlsWriteRoleArn"].asString();
-	if(!value["OssWriteRoleArn"].isNull())
-		ossWriteRoleArn_ = value["OssWriteRoleArn"].asString();
 	if(!value["TrailRegion"].isNull())
 		trailRegion_ = value["TrailRegion"].asString();
 	if(!value["Name"].isNull())
@@ -85,14 +85,14 @@ std::string CreateTrailResult::getOssBucketName()const
 	return ossBucketName_;
 }
 
-std::string CreateTrailResult::getSlsWriteRoleArn()const
+std::string CreateTrailResult::getOssWriteRoleArn()const
 {
-	return slsWriteRoleArn_;
+	return ossWriteRoleArn_;
 }
 
-std::string CreateTrailResult::getOssWriteRoleArn()const
+std::string CreateTrailResult::getSlsWriteRoleArn()const
 {
-	return ossWriteRoleArn_;
+	return slsWriteRoleArn_;
 }
 
 std::string CreateTrailResult::getTrailRegion()const

+ 21 - 25
actiontrail/src/model/DeleteDeliveryHistoryJobRequest.cc

@@ -1,40 +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/actiontrail/model/DeleteDeliveryHistoryJobRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::DeleteDeliveryHistoryJobRequest;
-
-DeleteDeliveryHistoryJobRequest::DeleteDeliveryHistoryJobRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "DeleteDeliveryHistoryJob")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-DeleteDeliveryHistoryJobRequest::~DeleteDeliveryHistoryJobRequest()
-{}
-
-int DeleteDeliveryHistoryJobRequest::getJobId()const
-{
-	return jobId_;
+ */
+
+#include <alibabacloud/actiontrail/model/DeleteDeliveryHistoryJobRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::DeleteDeliveryHistoryJobRequest;
+
+DeleteDeliveryHistoryJobRequest::DeleteDeliveryHistoryJobRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "DeleteDeliveryHistoryJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDeliveryHistoryJobRequest::~DeleteDeliveryHistoryJobRequest() {}
+
+int DeleteDeliveryHistoryJobRequest::getJobId() const {
+  return jobId_;
 }
 
-void DeleteDeliveryHistoryJobRequest::setJobId(int jobId)
-{
-	jobId_ = jobId;
-	setParameter("JobId", std::to_string(jobId));
+void DeleteDeliveryHistoryJobRequest::setJobId(int jobId) {
+  jobId_ = jobId;
+  setParameter(std::string("JobId"), std::to_string(jobId));
 }
 

+ 21 - 25
actiontrail/src/model/DeleteTrailRequest.cc

@@ -1,40 +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/actiontrail/model/DeleteTrailRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::DeleteTrailRequest;
-
-DeleteTrailRequest::DeleteTrailRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "DeleteTrail")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-DeleteTrailRequest::~DeleteTrailRequest()
-{}
-
-std::string DeleteTrailRequest::getName()const
-{
-	return name_;
+ */
+
+#include <alibabacloud/actiontrail/model/DeleteTrailRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::DeleteTrailRequest;
+
+DeleteTrailRequest::DeleteTrailRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "DeleteTrail") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteTrailRequest::~DeleteTrailRequest() {}
+
+std::string DeleteTrailRequest::getName() const {
+  return name_;
 }
 
-void DeleteTrailRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
+void DeleteTrailRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
 }
 

+ 21 - 25
actiontrail/src/model/DescribeRegionsRequest.cc

@@ -1,40 +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/actiontrail/model/DescribeRegionsRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::DescribeRegionsRequest;
-
-DescribeRegionsRequest::DescribeRegionsRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "DescribeRegions")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-DescribeRegionsRequest::~DescribeRegionsRequest()
-{}
-
-std::string DescribeRegionsRequest::getAcceptLanguage()const
-{
-	return acceptLanguage_;
+ */
+
+#include <alibabacloud/actiontrail/model/DescribeRegionsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::DescribeRegionsRequest;
+
+DescribeRegionsRequest::DescribeRegionsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "DescribeRegions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRegionsRequest::~DescribeRegionsRequest() {}
+
+std::string DescribeRegionsRequest::getAcceptLanguage() const {
+  return acceptLanguage_;
 }
 
-void DescribeRegionsRequest::setAcceptLanguage(const std::string& acceptLanguage)
-{
-	acceptLanguage_ = acceptLanguage;
-	setParameter("AcceptLanguage", acceptLanguage);
+void DescribeRegionsRequest::setAcceptLanguage(const std::string &acceptLanguage) {
+  acceptLanguage_ = acceptLanguage;
+  setParameter(std::string("AcceptLanguage"), acceptLanguage);
 }
 

+ 31 - 39
actiontrail/src/model/DescribeTrailsRequest.cc

@@ -1,62 +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.
- */
-
-#include <alibabacloud/actiontrail/model/DescribeTrailsRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::DescribeTrailsRequest;
-
-DescribeTrailsRequest::DescribeTrailsRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "DescribeTrails")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-DescribeTrailsRequest::~DescribeTrailsRequest()
-{}
-
-bool DescribeTrailsRequest::getIncludeOrganizationTrail()const
-{
-	return includeOrganizationTrail_;
+ */
+
+#include <alibabacloud/actiontrail/model/DescribeTrailsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::DescribeTrailsRequest;
+
+DescribeTrailsRequest::DescribeTrailsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "DescribeTrails") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeTrailsRequest::~DescribeTrailsRequest() {}
+
+bool DescribeTrailsRequest::getIncludeOrganizationTrail() const {
+  return includeOrganizationTrail_;
 }
 
-void DescribeTrailsRequest::setIncludeOrganizationTrail(bool includeOrganizationTrail)
-{
-	includeOrganizationTrail_ = includeOrganizationTrail;
-	setParameter("IncludeOrganizationTrail", includeOrganizationTrail ? "true" : "false");
+void DescribeTrailsRequest::setIncludeOrganizationTrail(bool includeOrganizationTrail) {
+  includeOrganizationTrail_ = includeOrganizationTrail;
+  setParameter(std::string("IncludeOrganizationTrail"), includeOrganizationTrail ? "true" : "false");
 }
 
-bool DescribeTrailsRequest::getIncludeShadowTrails()const
-{
-	return includeShadowTrails_;
+bool DescribeTrailsRequest::getIncludeShadowTrails() const {
+  return includeShadowTrails_;
 }
 
-void DescribeTrailsRequest::setIncludeShadowTrails(bool includeShadowTrails)
-{
-	includeShadowTrails_ = includeShadowTrails;
-	setParameter("IncludeShadowTrails", includeShadowTrails ? "true" : "false");
+void DescribeTrailsRequest::setIncludeShadowTrails(bool includeShadowTrails) {
+  includeShadowTrails_ = includeShadowTrails;
+  setParameter(std::string("IncludeShadowTrails"), includeShadowTrails ? "true" : "false");
 }
 
-std::string DescribeTrailsRequest::getNameList()const
-{
-	return nameList_;
+std::string DescribeTrailsRequest::getNameList() const {
+  return nameList_;
 }
 
-void DescribeTrailsRequest::setNameList(const std::string& nameList)
-{
-	nameList_ = nameList;
-	setParameter("NameList", nameList);
+void DescribeTrailsRequest::setNameList(const std::string &nameList) {
+  nameList_ = nameList;
+  setParameter(std::string("NameList"), nameList);
 }
 

+ 26 - 24
actiontrail/src/model/DescribeTrailsResult.cc

@@ -43,44 +43,46 @@ void DescribeTrailsResult::parse(const std::string &payload)
 	for (auto valueTrailListTrail : allTrailListNode)
 	{
 		Trail trailListObject;
+		if(!valueTrailListTrail["TrailRegion"].isNull())
+			trailListObject.trailRegion = valueTrailListTrail["TrailRegion"].asString();
 		if(!valueTrailListTrail["Status"].isNull())
 			trailListObject.status = valueTrailListTrail["Status"].asString();
+		if(!valueTrailListTrail["UpdateTime"].isNull())
+			trailListObject.updateTime = valueTrailListTrail["UpdateTime"].asString();
 		if(!valueTrailListTrail["HomeRegion"].isNull())
 			trailListObject.homeRegion = valueTrailListTrail["HomeRegion"].asString();
-		if(!valueTrailListTrail["StartLoggingTime"].isNull())
-			trailListObject.startLoggingTime = valueTrailListTrail["StartLoggingTime"].asString();
 		if(!valueTrailListTrail["CreateTime"].isNull())
 			trailListObject.createTime = valueTrailListTrail["CreateTime"].asString();
-		if(!valueTrailListTrail["StopLoggingTime"].isNull())
-			trailListObject.stopLoggingTime = valueTrailListTrail["StopLoggingTime"].asString();
-		if(!valueTrailListTrail["OrganizationId"].isNull())
-			trailListObject.organizationId = valueTrailListTrail["OrganizationId"].asString();
+		if(!valueTrailListTrail["OssKeyPrefix"].isNull())
+			trailListObject.ossKeyPrefix = valueTrailListTrail["OssKeyPrefix"].asString();
+		if(!valueTrailListTrail["EventRW"].isNull())
+			trailListObject.eventRW = valueTrailListTrail["EventRW"].asString();
+		if(!valueTrailListTrail["StartLoggingTime"].isNull())
+			trailListObject.startLoggingTime = valueTrailListTrail["StartLoggingTime"].asString();
+		if(!valueTrailListTrail["OssWriteRoleArn"].isNull())
+			trailListObject.ossWriteRoleArn = valueTrailListTrail["OssWriteRoleArn"].asString();
+		if(!valueTrailListTrail["SlsProjectArn"].isNull())
+			trailListObject.slsProjectArn = valueTrailListTrail["SlsProjectArn"].asString();
+		if(!valueTrailListTrail["IsOrganizationTrail"].isNull())
+			trailListObject.isOrganizationTrail = valueTrailListTrail["IsOrganizationTrail"].asString() == "true";
 		if(!valueTrailListTrail["SlsWriteRoleArn"].isNull())
 			trailListObject.slsWriteRoleArn = valueTrailListTrail["SlsWriteRoleArn"].asString();
-		if(!valueTrailListTrail["OssBucketLocation"].isNull())
-			trailListObject.ossBucketLocation = valueTrailListTrail["OssBucketLocation"].asString();
-		if(!valueTrailListTrail["TrailRegion"].isNull())
-			trailListObject.trailRegion = valueTrailListTrail["TrailRegion"].asString();
+		if(!valueTrailListTrail["StopLoggingTime"].isNull())
+			trailListObject.stopLoggingTime = valueTrailListTrail["StopLoggingTime"].asString();
 		if(!valueTrailListTrail["Name"].isNull())
 			trailListObject.name = valueTrailListTrail["Name"].asString();
-		if(!valueTrailListTrail["IsOrganizationTrail"].isNull())
-			trailListObject.isOrganizationTrail = valueTrailListTrail["IsOrganizationTrail"].asString() == "true";
-		if(!valueTrailListTrail["SlsProjectArn"].isNull())
-			trailListObject.slsProjectArn = valueTrailListTrail["SlsProjectArn"].asString();
-		if(!valueTrailListTrail["EventRW"].isNull())
-			trailListObject.eventRW = valueTrailListTrail["EventRW"].asString();
-		if(!valueTrailListTrail["OssKeyPrefix"].isNull())
-			trailListObject.ossKeyPrefix = valueTrailListTrail["OssKeyPrefix"].asString();
-		if(!valueTrailListTrail["UpdateTime"].isNull())
-			trailListObject.updateTime = valueTrailListTrail["UpdateTime"].asString();
-		if(!valueTrailListTrail["Region"].isNull())
-			trailListObject.region = valueTrailListTrail["Region"].asString();
 		if(!valueTrailListTrail["OssBucketName"].isNull())
 			trailListObject.ossBucketName = valueTrailListTrail["OssBucketName"].asString();
-		if(!valueTrailListTrail["OssWriteRoleArn"].isNull())
-			trailListObject.ossWriteRoleArn = valueTrailListTrail["OssWriteRoleArn"].asString();
+		if(!valueTrailListTrail["Region"].isNull())
+			trailListObject.region = valueTrailListTrail["Region"].asString();
+		if(!valueTrailListTrail["OrganizationId"].isNull())
+			trailListObject.organizationId = valueTrailListTrail["OrganizationId"].asString();
+		if(!valueTrailListTrail["OssBucketLocation"].isNull())
+			trailListObject.ossBucketLocation = valueTrailListTrail["OssBucketLocation"].asString();
 		if(!valueTrailListTrail["IsShadowTrail"].isNull())
 			trailListObject.isShadowTrail = std::stol(valueTrailListTrail["IsShadowTrail"].asString());
+		if(!valueTrailListTrail["TrailArn"].isNull())
+			trailListObject.trailArn = valueTrailListTrail["TrailArn"].asString();
 		trailList_.push_back(trailListObject);
 	}
 

+ 63 - 0
actiontrail/src/model/GetAccessKeyLastUsedEventsRequest.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/actiontrail/model/GetAccessKeyLastUsedEventsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetAccessKeyLastUsedEventsRequest;
+
+GetAccessKeyLastUsedEventsRequest::GetAccessKeyLastUsedEventsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetAccessKeyLastUsedEvents") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccessKeyLastUsedEventsRequest::~GetAccessKeyLastUsedEventsRequest() {}
+
+std::string GetAccessKeyLastUsedEventsRequest::getAccessKey() const {
+  return accessKey_;
+}
+
+void GetAccessKeyLastUsedEventsRequest::setAccessKey(const std::string &accessKey) {
+  accessKey_ = accessKey;
+  setParameter(std::string("AccessKey"), accessKey);
+}
+
+std::string GetAccessKeyLastUsedEventsRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void GetAccessKeyLastUsedEventsRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+std::string GetAccessKeyLastUsedEventsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void GetAccessKeyLastUsedEventsRequest::setPageSize(const std::string &pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), pageSize);
+}
+
+std::string GetAccessKeyLastUsedEventsRequest::getServiceName() const {
+  return serviceName_;
+}
+
+void GetAccessKeyLastUsedEventsRequest::setServiceName(const std::string &serviceName) {
+  serviceName_ = serviceName;
+  setParameter(std::string("ServiceName"), serviceName);
+}
+

+ 70 - 0
actiontrail/src/model/GetAccessKeyLastUsedEventsResult.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/actiontrail/model/GetAccessKeyLastUsedEventsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetAccessKeyLastUsedEventsResult::GetAccessKeyLastUsedEventsResult() :
+	ServiceResult()
+{}
+
+GetAccessKeyLastUsedEventsResult::GetAccessKeyLastUsedEventsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccessKeyLastUsedEventsResult::~GetAccessKeyLastUsedEventsResult()
+{}
+
+void GetAccessKeyLastUsedEventsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allEventsNode = value["Events"]["EventsItem"];
+	for (auto valueEventsEventsItem : allEventsNode)
+	{
+		EventsItem eventsObject;
+		if(!valueEventsEventsItem["UsedTimestamp"].isNull())
+			eventsObject.usedTimestamp = std::stol(valueEventsEventsItem["UsedTimestamp"].asString());
+		if(!valueEventsEventsItem["Detail"].isNull())
+			eventsObject.detail = valueEventsEventsItem["Detail"].asString();
+		if(!valueEventsEventsItem["EventName"].isNull())
+			eventsObject.eventName = valueEventsEventsItem["EventName"].asString();
+		if(!valueEventsEventsItem["Source"].isNull())
+			eventsObject.source = valueEventsEventsItem["Source"].asString();
+		events_.push_back(eventsObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string GetAccessKeyLastUsedEventsResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<GetAccessKeyLastUsedEventsResult::EventsItem> GetAccessKeyLastUsedEventsResult::getEvents()const
+{
+	return events_;
+}
+

+ 36 - 0
actiontrail/src/model/GetAccessKeyLastUsedInfoRequest.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/actiontrail/model/GetAccessKeyLastUsedInfoRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetAccessKeyLastUsedInfoRequest;
+
+GetAccessKeyLastUsedInfoRequest::GetAccessKeyLastUsedInfoRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetAccessKeyLastUsedInfo") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccessKeyLastUsedInfoRequest::~GetAccessKeyLastUsedInfoRequest() {}
+
+std::string GetAccessKeyLastUsedInfoRequest::getAccessKey() const {
+  return accessKey_;
+}
+
+void GetAccessKeyLastUsedInfoRequest::setAccessKey(const std::string &accessKey) {
+  accessKey_ = accessKey;
+  setParameter(std::string("AccessKey"), accessKey);
+}
+

+ 121 - 0
actiontrail/src/model/GetAccessKeyLastUsedInfoResult.cc

@@ -0,0 +1,121 @@
+/*
+ * 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/actiontrail/model/GetAccessKeyLastUsedInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetAccessKeyLastUsedInfoResult::GetAccessKeyLastUsedInfoResult() :
+	ServiceResult()
+{}
+
+GetAccessKeyLastUsedInfoResult::GetAccessKeyLastUsedInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccessKeyLastUsedInfoResult::~GetAccessKeyLastUsedInfoResult()
+{}
+
+void GetAccessKeyLastUsedInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["AccessKeyId"].isNull())
+		accessKeyId_ = value["AccessKeyId"].asString();
+	if(!value["AccountId"].isNull())
+		accountId_ = value["AccountId"].asString();
+	if(!value["OwnerId"].isNull())
+		ownerId_ = value["OwnerId"].asString();
+	if(!value["UserName"].isNull())
+		userName_ = value["UserName"].asString();
+	if(!value["AccountType"].isNull())
+		accountType_ = value["AccountType"].asString();
+	if(!value["UsedTimestamp"].isNull())
+		usedTimestamp_ = std::stol(value["UsedTimestamp"].asString());
+	if(!value["Detail"].isNull())
+		detail_ = value["Detail"].asString();
+	if(!value["Source"].isNull())
+		source_ = value["Source"].asString();
+	if(!value["ServiceName"].isNull())
+		serviceName_ = value["ServiceName"].asString();
+	if(!value["ServiceNameCn"].isNull())
+		serviceNameCn_ = value["ServiceNameCn"].asString();
+	if(!value["ServiceNameEn"].isNull())
+		serviceNameEn_ = value["ServiceNameEn"].asString();
+
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getAccountId()const
+{
+	return accountId_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getUserName()const
+{
+	return userName_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getOwnerId()const
+{
+	return ownerId_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getServiceName()const
+{
+	return serviceName_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getServiceNameCn()const
+{
+	return serviceNameCn_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getServiceNameEn()const
+{
+	return serviceNameEn_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getAccountType()const
+{
+	return accountType_;
+}
+
+long GetAccessKeyLastUsedInfoResult::getUsedTimestamp()const
+{
+	return usedTimestamp_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getDetail()const
+{
+	return detail_;
+}
+
+std::string GetAccessKeyLastUsedInfoResult::getSource()const
+{
+	return source_;
+}
+

+ 63 - 0
actiontrail/src/model/GetAccessKeyLastUsedIpsRequest.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/actiontrail/model/GetAccessKeyLastUsedIpsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetAccessKeyLastUsedIpsRequest;
+
+GetAccessKeyLastUsedIpsRequest::GetAccessKeyLastUsedIpsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetAccessKeyLastUsedIps") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccessKeyLastUsedIpsRequest::~GetAccessKeyLastUsedIpsRequest() {}
+
+std::string GetAccessKeyLastUsedIpsRequest::getAccessKey() const {
+  return accessKey_;
+}
+
+void GetAccessKeyLastUsedIpsRequest::setAccessKey(const std::string &accessKey) {
+  accessKey_ = accessKey;
+  setParameter(std::string("AccessKey"), accessKey);
+}
+
+std::string GetAccessKeyLastUsedIpsRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void GetAccessKeyLastUsedIpsRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+std::string GetAccessKeyLastUsedIpsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void GetAccessKeyLastUsedIpsRequest::setPageSize(const std::string &pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), pageSize);
+}
+
+std::string GetAccessKeyLastUsedIpsRequest::getServiceName() const {
+  return serviceName_;
+}
+
+void GetAccessKeyLastUsedIpsRequest::setServiceName(const std::string &serviceName) {
+  serviceName_ = serviceName;
+  setParameter(std::string("ServiceName"), serviceName);
+}
+

+ 70 - 0
actiontrail/src/model/GetAccessKeyLastUsedIpsResult.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/actiontrail/model/GetAccessKeyLastUsedIpsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetAccessKeyLastUsedIpsResult::GetAccessKeyLastUsedIpsResult() :
+	ServiceResult()
+{}
+
+GetAccessKeyLastUsedIpsResult::GetAccessKeyLastUsedIpsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccessKeyLastUsedIpsResult::~GetAccessKeyLastUsedIpsResult()
+{}
+
+void GetAccessKeyLastUsedIpsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allIpsNode = value["Ips"]["IpsItem"];
+	for (auto valueIpsIpsItem : allIpsNode)
+	{
+		IpsItem ipsObject;
+		if(!valueIpsIpsItem["UsedTimestamp"].isNull())
+			ipsObject.usedTimestamp = std::stol(valueIpsIpsItem["UsedTimestamp"].asString());
+		if(!valueIpsIpsItem["Detail"].isNull())
+			ipsObject.detail = valueIpsIpsItem["Detail"].asString();
+		if(!valueIpsIpsItem["Source"].isNull())
+			ipsObject.source = valueIpsIpsItem["Source"].asString();
+		if(!valueIpsIpsItem["Ip"].isNull())
+			ipsObject.ip = valueIpsIpsItem["Ip"].asString();
+		ips_.push_back(ipsObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string GetAccessKeyLastUsedIpsResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<GetAccessKeyLastUsedIpsResult::IpsItem> GetAccessKeyLastUsedIpsResult::getIps()const
+{
+	return ips_;
+}
+

+ 36 - 0
actiontrail/src/model/GetAccessKeyLastUsedProductsRequest.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/actiontrail/model/GetAccessKeyLastUsedProductsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetAccessKeyLastUsedProductsRequest;
+
+GetAccessKeyLastUsedProductsRequest::GetAccessKeyLastUsedProductsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetAccessKeyLastUsedProducts") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccessKeyLastUsedProductsRequest::~GetAccessKeyLastUsedProductsRequest() {}
+
+std::string GetAccessKeyLastUsedProductsRequest::getAccessKey() const {
+  return accessKey_;
+}
+
+void GetAccessKeyLastUsedProductsRequest::setAccessKey(const std::string &accessKey) {
+  accessKey_ = accessKey;
+  setParameter(std::string("AccessKey"), accessKey);
+}
+

+ 67 - 0
actiontrail/src/model/GetAccessKeyLastUsedProductsResult.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/actiontrail/model/GetAccessKeyLastUsedProductsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetAccessKeyLastUsedProductsResult::GetAccessKeyLastUsedProductsResult() :
+	ServiceResult()
+{}
+
+GetAccessKeyLastUsedProductsResult::GetAccessKeyLastUsedProductsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccessKeyLastUsedProductsResult::~GetAccessKeyLastUsedProductsResult()
+{}
+
+void GetAccessKeyLastUsedProductsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allProductsNode = value["Products"]["ProductsItem"];
+	for (auto valueProductsProductsItem : allProductsNode)
+	{
+		ProductsItem productsObject;
+		if(!valueProductsProductsItem["UsedTimestamp"].isNull())
+			productsObject.usedTimestamp = std::stol(valueProductsProductsItem["UsedTimestamp"].asString());
+		if(!valueProductsProductsItem["Detail"].isNull())
+			productsObject.detail = valueProductsProductsItem["Detail"].asString();
+		if(!valueProductsProductsItem["Source"].isNull())
+			productsObject.source = valueProductsProductsItem["Source"].asString();
+		if(!valueProductsProductsItem["ServiceName"].isNull())
+			productsObject.serviceName = valueProductsProductsItem["ServiceName"].asString();
+		if(!valueProductsProductsItem["ServiceNameCn"].isNull())
+			productsObject.serviceNameCn = valueProductsProductsItem["ServiceNameCn"].asString();
+		if(!valueProductsProductsItem["ServiceNameEn"].isNull())
+			productsObject.serviceNameEn = valueProductsProductsItem["ServiceNameEn"].asString();
+		products_.push_back(productsObject);
+	}
+
+}
+
+std::vector<GetAccessKeyLastUsedProductsResult::ProductsItem> GetAccessKeyLastUsedProductsResult::getProducts()const
+{
+	return products_;
+}
+

+ 63 - 0
actiontrail/src/model/GetAccessKeyLastUsedResourcesRequest.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/actiontrail/model/GetAccessKeyLastUsedResourcesRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetAccessKeyLastUsedResourcesRequest;
+
+GetAccessKeyLastUsedResourcesRequest::GetAccessKeyLastUsedResourcesRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetAccessKeyLastUsedResources") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetAccessKeyLastUsedResourcesRequest::~GetAccessKeyLastUsedResourcesRequest() {}
+
+std::string GetAccessKeyLastUsedResourcesRequest::getAccessKey() const {
+  return accessKey_;
+}
+
+void GetAccessKeyLastUsedResourcesRequest::setAccessKey(const std::string &accessKey) {
+  accessKey_ = accessKey;
+  setParameter(std::string("AccessKey"), accessKey);
+}
+
+std::string GetAccessKeyLastUsedResourcesRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void GetAccessKeyLastUsedResourcesRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+std::string GetAccessKeyLastUsedResourcesRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void GetAccessKeyLastUsedResourcesRequest::setPageSize(const std::string &pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), pageSize);
+}
+
+std::string GetAccessKeyLastUsedResourcesRequest::getServiceName() const {
+  return serviceName_;
+}
+
+void GetAccessKeyLastUsedResourcesRequest::setServiceName(const std::string &serviceName) {
+  serviceName_ = serviceName;
+  setParameter(std::string("ServiceName"), serviceName);
+}
+

+ 72 - 0
actiontrail/src/model/GetAccessKeyLastUsedResourcesResult.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/actiontrail/model/GetAccessKeyLastUsedResourcesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetAccessKeyLastUsedResourcesResult::GetAccessKeyLastUsedResourcesResult() :
+	ServiceResult()
+{}
+
+GetAccessKeyLastUsedResourcesResult::GetAccessKeyLastUsedResourcesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetAccessKeyLastUsedResourcesResult::~GetAccessKeyLastUsedResourcesResult()
+{}
+
+void GetAccessKeyLastUsedResourcesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allResourcesNode = value["Resources"]["ResourcesItem"];
+	for (auto valueResourcesResourcesItem : allResourcesNode)
+	{
+		ResourcesItem resourcesObject;
+		if(!valueResourcesResourcesItem["UsedTimestamp"].isNull())
+			resourcesObject.usedTimestamp = std::stol(valueResourcesResourcesItem["UsedTimestamp"].asString());
+		if(!valueResourcesResourcesItem["Detail"].isNull())
+			resourcesObject.detail = valueResourcesResourcesItem["Detail"].asString();
+		if(!valueResourcesResourcesItem["ResourceName"].isNull())
+			resourcesObject.resourceName = valueResourcesResourcesItem["ResourceName"].asString();
+		if(!valueResourcesResourcesItem["ResourceType"].isNull())
+			resourcesObject.resourceType = valueResourcesResourcesItem["ResourceType"].asString();
+		if(!valueResourcesResourcesItem["Source"].isNull())
+			resourcesObject.source = valueResourcesResourcesItem["Source"].asString();
+		resources_.push_back(resourcesObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+
+}
+
+std::string GetAccessKeyLastUsedResourcesResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::vector<GetAccessKeyLastUsedResourcesResult::ResourcesItem> GetAccessKeyLastUsedResourcesResult::getResources()const
+{
+	return resources_;
+}
+

+ 36 - 0
actiontrail/src/model/GetDeliveryHistoryJobRequest.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/actiontrail/model/GetDeliveryHistoryJobRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetDeliveryHistoryJobRequest;
+
+GetDeliveryHistoryJobRequest::GetDeliveryHistoryJobRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetDeliveryHistoryJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetDeliveryHistoryJobRequest::~GetDeliveryHistoryJobRequest() {}
+
+long GetDeliveryHistoryJobRequest::getJobId() const {
+  return jobId_;
+}
+
+void GetDeliveryHistoryJobRequest::setJobId(long jobId) {
+  jobId_ = jobId;
+  setParameter(std::string("JobId"), std::to_string(jobId));
+}
+

+ 115 - 0
actiontrail/src/model/GetDeliveryHistoryJobResult.cc

@@ -0,0 +1,115 @@
+/*
+ * 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/actiontrail/model/GetDeliveryHistoryJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetDeliveryHistoryJobResult::GetDeliveryHistoryJobResult() :
+	ServiceResult()
+{}
+
+GetDeliveryHistoryJobResult::GetDeliveryHistoryJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetDeliveryHistoryJobResult::~GetDeliveryHistoryJobResult()
+{}
+
+void GetDeliveryHistoryJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allStatusNode = value["Status"]["StatusItem"];
+	for (auto valueStatusStatusItem : allStatusNode)
+	{
+		StatusItem statusObject;
+		if(!valueStatusStatusItem["Status"].isNull())
+			statusObject.status = std::stoi(valueStatusStatusItem["Status"].asString());
+		if(!valueStatusStatusItem["Region"].isNull())
+			statusObject.region = valueStatusStatusItem["Region"].asString();
+		status_.push_back(statusObject);
+	}
+	if(!value["JobStatus"].isNull())
+		jobStatus_ = std::stoi(value["JobStatus"].asString());
+	if(!value["CreatedTime"].isNull())
+		createdTime_ = value["CreatedTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["TrailName"].isNull())
+		trailName_ = value["TrailName"].asString();
+	if(!value["UpdatedTime"].isNull())
+		updatedTime_ = value["UpdatedTime"].asString();
+	if(!value["JobId"].isNull())
+		jobId_ = std::stol(value["JobId"].asString());
+	if(!value["HomeRegion"].isNull())
+		homeRegion_ = value["HomeRegion"].asString();
+
+}
+
+std::vector<GetDeliveryHistoryJobResult::StatusItem> GetDeliveryHistoryJobResult::getStatus()const
+{
+	return status_;
+}
+
+int GetDeliveryHistoryJobResult::getJobStatus()const
+{
+	return jobStatus_;
+}
+
+std::string GetDeliveryHistoryJobResult::getCreatedTime()const
+{
+	return createdTime_;
+}
+
+std::string GetDeliveryHistoryJobResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string GetDeliveryHistoryJobResult::getHomeRegion()const
+{
+	return homeRegion_;
+}
+
+std::string GetDeliveryHistoryJobResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string GetDeliveryHistoryJobResult::getTrailName()const
+{
+	return trailName_;
+}
+
+std::string GetDeliveryHistoryJobResult::getUpdatedTime()const
+{
+	return updatedTime_;
+}
+
+long GetDeliveryHistoryJobResult::getJobId()const
+{
+	return jobId_;
+}
+

+ 26 - 32
actiontrail/src/model/GetTrailStatusRequest.cc

@@ -1,51 +1,45 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#include <alibabacloud/actiontrail/model/GetTrailStatusRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::GetTrailStatusRequest;
-
-GetTrailStatusRequest::GetTrailStatusRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "GetTrailStatus")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-GetTrailStatusRequest::~GetTrailStatusRequest()
-{}
-
-std::string GetTrailStatusRequest::getName()const
-{
-	return name_;
+ */
+
+#include <alibabacloud/actiontrail/model/GetTrailStatusRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::GetTrailStatusRequest;
+
+GetTrailStatusRequest::GetTrailStatusRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "GetTrailStatus") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetTrailStatusRequest::~GetTrailStatusRequest() {}
+
+std::string GetTrailStatusRequest::getName() const {
+  return name_;
 }
 
-void GetTrailStatusRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
+void GetTrailStatusRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
 }
 
-bool GetTrailStatusRequest::getIsOrganizationTrail()const
-{
-	return isOrganizationTrail_;
+bool GetTrailStatusRequest::getIsOrganizationTrail() const {
+  return isOrganizationTrail_;
 }
 
-void GetTrailStatusRequest::setIsOrganizationTrail(bool isOrganizationTrail)
-{
-	isOrganizationTrail_ = isOrganizationTrail;
-	setParameter("IsOrganizationTrail", isOrganizationTrail ? "true" : "false");
+void GetTrailStatusRequest::setIsOrganizationTrail(bool isOrganizationTrail) {
+  isOrganizationTrail_ = isOrganizationTrail;
+  setParameter(std::string("IsOrganizationTrail"), isOrganizationTrail ? "true" : "false");
 }
 

+ 14 - 14
actiontrail/src/model/GetTrailStatusResult.cc

@@ -39,24 +39,24 @@ void GetTrailStatusResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	if(!value["LatestDeliveryLogServiceTime"].isNull())
-		latestDeliveryLogServiceTime_ = value["LatestDeliveryLogServiceTime"].asString();
-	if(!value["LatestDeliveryLogServiceError"].isNull())
-		latestDeliveryLogServiceError_ = value["LatestDeliveryLogServiceError"].asString();
 	if(!value["StartLoggingTime"].isNull())
 		startLoggingTime_ = value["StartLoggingTime"].asString();
-	if(!value["OssBucketStatus"].isNull())
-		ossBucketStatus_ = value["OssBucketStatus"].asString() == "true";
 	if(!value["LatestDeliveryError"].isNull())
 		latestDeliveryError_ = value["LatestDeliveryError"].asString();
 	if(!value["StopLoggingTime"].isNull())
 		stopLoggingTime_ = value["StopLoggingTime"].asString();
-	if(!value["SlsLogStoreStatus"].isNull())
-		slsLogStoreStatus_ = value["SlsLogStoreStatus"].asString() == "true";
-	if(!value["LatestDeliveryTime"].isNull())
-		latestDeliveryTime_ = value["LatestDeliveryTime"].asString();
 	if(!value["IsLogging"].isNull())
 		isLogging_ = value["IsLogging"].asString() == "true";
+	if(!value["LatestDeliveryTime"].isNull())
+		latestDeliveryTime_ = value["LatestDeliveryTime"].asString();
+	if(!value["LatestDeliveryLogServiceError"].isNull())
+		latestDeliveryLogServiceError_ = value["LatestDeliveryLogServiceError"].asString();
+	if(!value["LatestDeliveryLogServiceTime"].isNull())
+		latestDeliveryLogServiceTime_ = value["LatestDeliveryLogServiceTime"].asString();
+	if(!value["OssBucketStatus"].isNull())
+		ossBucketStatus_ = value["OssBucketStatus"].asString() == "true";
+	if(!value["SlsLogStoreStatus"].isNull())
+		slsLogStoreStatus_ = value["SlsLogStoreStatus"].asString() == "true";
 
 }
 
@@ -95,13 +95,13 @@ bool GetTrailStatusResult::getSlsLogStoreStatus()const
 	return slsLogStoreStatus_;
 }
 
-std::string GetTrailStatusResult::getLatestDeliveryTime()const
+bool GetTrailStatusResult::getIsLogging()const
 {
-	return latestDeliveryTime_;
+	return isLogging_;
 }
 
-bool GetTrailStatusResult::getIsLogging()const
+std::string GetTrailStatusResult::getLatestDeliveryTime()const
 {
-	return isLogging_;
+	return latestDeliveryTime_;
 }
 

+ 26 - 32
actiontrail/src/model/ListDeliveryHistoryJobsRequest.cc

@@ -1,51 +1,45 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#include <alibabacloud/actiontrail/model/ListDeliveryHistoryJobsRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::ListDeliveryHistoryJobsRequest;
-
-ListDeliveryHistoryJobsRequest::ListDeliveryHistoryJobsRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "ListDeliveryHistoryJobs")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-ListDeliveryHistoryJobsRequest::~ListDeliveryHistoryJobsRequest()
-{}
-
-int ListDeliveryHistoryJobsRequest::getPageNumber()const
-{
-	return pageNumber_;
+ */
+
+#include <alibabacloud/actiontrail/model/ListDeliveryHistoryJobsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::ListDeliveryHistoryJobsRequest;
+
+ListDeliveryHistoryJobsRequest::ListDeliveryHistoryJobsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "ListDeliveryHistoryJobs") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListDeliveryHistoryJobsRequest::~ListDeliveryHistoryJobsRequest() {}
+
+int ListDeliveryHistoryJobsRequest::getPageNumber() const {
+  return pageNumber_;
 }
 
-void ListDeliveryHistoryJobsRequest::setPageNumber(int pageNumber)
-{
-	pageNumber_ = pageNumber;
-	setParameter("PageNumber", std::to_string(pageNumber));
+void ListDeliveryHistoryJobsRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
 }
 
-int ListDeliveryHistoryJobsRequest::getPageSize()const
-{
-	return pageSize_;
+int ListDeliveryHistoryJobsRequest::getPageSize() const {
+  return pageSize_;
 }
 
-void ListDeliveryHistoryJobsRequest::setPageSize(int pageSize)
-{
-	pageSize_ = pageSize;
-	setParameter("PageSize", std::to_string(pageSize));
+void ListDeliveryHistoryJobsRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 

+ 12 - 12
actiontrail/src/model/ListDeliveryHistoryJobsResult.cc

@@ -45,28 +45,28 @@ void ListDeliveryHistoryJobsResult::parse(const std::string &payload)
 		DeliveryHistoryJob deliveryHistoryJobsObject;
 		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["TrailName"].isNull())
 			deliveryHistoryJobsObject.trailName = valueDeliveryHistoryJobsDeliveryHistoryJob["TrailName"].asString();
-		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["CreatedTime"].isNull())
-			deliveryHistoryJobsObject.createdTime = valueDeliveryHistoryJobsDeliveryHistoryJob["CreatedTime"].asString();
-		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["UpdatedTime"].isNull())
-			deliveryHistoryJobsObject.updatedTime = valueDeliveryHistoryJobsDeliveryHistoryJob["UpdatedTime"].asString();
-		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["HomeRegion"].isNull())
-			deliveryHistoryJobsObject.homeRegion = valueDeliveryHistoryJobsDeliveryHistoryJob["HomeRegion"].asString();
-		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["StartTime"].isNull())
-			deliveryHistoryJobsObject.startTime = valueDeliveryHistoryJobsDeliveryHistoryJob["StartTime"].asString();
 		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["EndTime"].isNull())
 			deliveryHistoryJobsObject.endTime = valueDeliveryHistoryJobsDeliveryHistoryJob["EndTime"].asString();
-		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["JobId"].isNull())
-			deliveryHistoryJobsObject.jobId = std::stol(valueDeliveryHistoryJobsDeliveryHistoryJob["JobId"].asString());
+		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["StartTime"].isNull())
+			deliveryHistoryJobsObject.startTime = valueDeliveryHistoryJobsDeliveryHistoryJob["StartTime"].asString();
 		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["JobStatus"].isNull())
 			deliveryHistoryJobsObject.jobStatus = std::stoi(valueDeliveryHistoryJobsDeliveryHistoryJob["JobStatus"].asString());
+		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["HomeRegion"].isNull())
+			deliveryHistoryJobsObject.homeRegion = valueDeliveryHistoryJobsDeliveryHistoryJob["HomeRegion"].asString();
+		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["UpdatedTime"].isNull())
+			deliveryHistoryJobsObject.updatedTime = valueDeliveryHistoryJobsDeliveryHistoryJob["UpdatedTime"].asString();
+		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["JobId"].isNull())
+			deliveryHistoryJobsObject.jobId = std::stol(valueDeliveryHistoryJobsDeliveryHistoryJob["JobId"].asString());
+		if(!valueDeliveryHistoryJobsDeliveryHistoryJob["CreatedTime"].isNull())
+			deliveryHistoryJobsObject.createdTime = valueDeliveryHistoryJobsDeliveryHistoryJob["CreatedTime"].asString();
 		deliveryHistoryJobs_.push_back(deliveryHistoryJobsObject);
 	}
 	if(!value["TotalCount"].isNull())
 		totalCount_ = std::stoi(value["TotalCount"].asString());
-	if(!value["PageNumber"].isNull())
-		pageNumber_ = std::stoi(value["PageNumber"].asString());
 	if(!value["PageSize"].isNull())
 		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
 
 }
 

+ 51 - 65
actiontrail/src/model/LookupEventsRequest.cc

@@ -1,100 +1,86 @@
 /*
  * 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/actiontrail/model/LookupEventsRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::LookupEventsRequest;
-
-LookupEventsRequest::LookupEventsRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "LookupEvents")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-LookupEventsRequest::~LookupEventsRequest()
-{}
-
-std::string LookupEventsRequest::getEndTime()const
-{
-	return endTime_;
+ */
+
+#include <alibabacloud/actiontrail/model/LookupEventsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::LookupEventsRequest;
+
+LookupEventsRequest::LookupEventsRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "LookupEvents") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+LookupEventsRequest::~LookupEventsRequest() {}
+
+std::string LookupEventsRequest::getEndTime() const {
+  return endTime_;
 }
 
-void LookupEventsRequest::setEndTime(const std::string& endTime)
-{
-	endTime_ = endTime;
-	setParameter("EndTime", endTime);
+void LookupEventsRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
 }
 
-std::string LookupEventsRequest::getStartTime()const
-{
-	return startTime_;
+std::string LookupEventsRequest::getStartTime() const {
+  return startTime_;
 }
 
-void LookupEventsRequest::setStartTime(const std::string& startTime)
-{
-	startTime_ = startTime;
-	setParameter("StartTime", startTime);
+void LookupEventsRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
 }
 
-std::string LookupEventsRequest::getNextToken()const
-{
-	return nextToken_;
+std::string LookupEventsRequest::getNextToken() const {
+  return nextToken_;
 }
 
-void LookupEventsRequest::setNextToken(const std::string& nextToken)
-{
-	nextToken_ = nextToken;
-	setParameter("NextToken", nextToken);
+void LookupEventsRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
 }
 
-std::vector<LookupEventsRequest::LookupAttribute> LookupEventsRequest::getLookupAttribute()const
-{
-	return lookupAttribute_;
+std::vector<LookupEventsRequest::LookupAttribute> LookupEventsRequest::getLookupAttribute() const {
+  return lookupAttribute_;
 }
 
-void LookupEventsRequest::setLookupAttribute(const std::vector<LookupAttribute>& lookupAttribute)
-{
-	lookupAttribute_ = lookupAttribute;
-	for(int dep1 = 0; dep1!= lookupAttribute.size(); dep1++) {
-		auto lookupAttributeObj = lookupAttribute.at(dep1);
-		std::string lookupAttributeObjStr = "LookupAttribute." + std::to_string(dep1 + 1);
-		setParameter(lookupAttributeObjStr + ".Value", lookupAttributeObj.value);
-		setParameter(lookupAttributeObjStr + ".Key", lookupAttributeObj.key);
-	}
+void LookupEventsRequest::setLookupAttribute(const std::vector<LookupEventsRequest::LookupAttribute> &lookupAttribute) {
+  lookupAttribute_ = lookupAttribute;
+  for(int dep1 = 0; dep1 != lookupAttribute.size(); dep1++) {
+  auto lookupAttributeObj = lookupAttribute.at(dep1);
+  std::string lookupAttributeObjStr = std::string("LookupAttribute") + "." + std::to_string(dep1 + 1);
+    setParameter(lookupAttributeObjStr + ".Value", lookupAttributeObj.value);
+    setParameter(lookupAttributeObjStr + ".Key", lookupAttributeObj.key);
+  }
 }
 
-std::string LookupEventsRequest::getMaxResults()const
-{
-	return maxResults_;
+std::string LookupEventsRequest::getMaxResults() const {
+  return maxResults_;
 }
 
-void LookupEventsRequest::setMaxResults(const std::string& maxResults)
-{
-	maxResults_ = maxResults;
-	setParameter("MaxResults", maxResults);
+void LookupEventsRequest::setMaxResults(const std::string &maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), maxResults);
 }
 
-std::string LookupEventsRequest::getDirection()const
-{
-	return direction_;
+std::string LookupEventsRequest::getDirection() const {
+  return direction_;
 }
 
-void LookupEventsRequest::setDirection(const std::string& direction)
-{
-	direction_ = direction;
-	setParameter("Direction", direction);
+void LookupEventsRequest::setDirection(const std::string &direction) {
+  direction_ = direction;
+  setParameter(std::string("Direction"), direction);
 }
 

+ 21 - 25
actiontrail/src/model/StartLoggingRequest.cc

@@ -1,40 +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/actiontrail/model/StartLoggingRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::StartLoggingRequest;
-
-StartLoggingRequest::StartLoggingRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "StartLogging")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-StartLoggingRequest::~StartLoggingRequest()
-{}
-
-std::string StartLoggingRequest::getName()const
-{
-	return name_;
+ */
+
+#include <alibabacloud/actiontrail/model/StartLoggingRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::StartLoggingRequest;
+
+StartLoggingRequest::StartLoggingRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "StartLogging") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+StartLoggingRequest::~StartLoggingRequest() {}
+
+std::string StartLoggingRequest::getName() const {
+  return name_;
 }
 
-void StartLoggingRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
+void StartLoggingRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
 }
 

+ 21 - 25
actiontrail/src/model/StopLoggingRequest.cc

@@ -1,40 +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/actiontrail/model/StopLoggingRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::StopLoggingRequest;
-
-StopLoggingRequest::StopLoggingRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "StopLogging")
-{
-	setMethod(HttpRequest::Method::Get);
-}
-
-StopLoggingRequest::~StopLoggingRequest()
-{}
-
-std::string StopLoggingRequest::getName()const
-{
-	return name_;
+ */
+
+#include <alibabacloud/actiontrail/model/StopLoggingRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::StopLoggingRequest;
+
+StopLoggingRequest::StopLoggingRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "StopLogging") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+StopLoggingRequest::~StopLoggingRequest() {}
+
+std::string StopLoggingRequest::getName() const {
+  return name_;
 }
 
-void StopLoggingRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
+void StopLoggingRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
 }
 

+ 56 - 74
actiontrail/src/model/UpdateTrailRequest.cc

@@ -1,117 +1,99 @@
 /*
  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */
-
-#include <alibabacloud/actiontrail/model/UpdateTrailRequest.h>
-
-using AlibabaCloud::Actiontrail::Model::UpdateTrailRequest;
-
-UpdateTrailRequest::UpdateTrailRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "UpdateTrail")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-UpdateTrailRequest::~UpdateTrailRequest()
-{}
-
-std::string UpdateTrailRequest::getSlsProjectArn()const
-{
-	return slsProjectArn_;
+ */
+
+#include <alibabacloud/actiontrail/model/UpdateTrailRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::UpdateTrailRequest;
+
+UpdateTrailRequest::UpdateTrailRequest()
+    : RpcServiceRequest("actiontrail", "2020-07-06", "UpdateTrail") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateTrailRequest::~UpdateTrailRequest() {}
+
+std::string UpdateTrailRequest::getSlsProjectArn() const {
+  return slsProjectArn_;
 }
 
-void UpdateTrailRequest::setSlsProjectArn(const std::string& slsProjectArn)
-{
-	slsProjectArn_ = slsProjectArn;
-	setParameter("SlsProjectArn", slsProjectArn);
+void UpdateTrailRequest::setSlsProjectArn(const std::string &slsProjectArn) {
+  slsProjectArn_ = slsProjectArn;
+  setParameter(std::string("SlsProjectArn"), slsProjectArn);
 }
 
-std::string UpdateTrailRequest::getSlsWriteRoleArn()const
-{
-	return slsWriteRoleArn_;
+std::string UpdateTrailRequest::getSlsWriteRoleArn() const {
+  return slsWriteRoleArn_;
 }
 
-void UpdateTrailRequest::setSlsWriteRoleArn(const std::string& slsWriteRoleArn)
-{
-	slsWriteRoleArn_ = slsWriteRoleArn;
-	setParameter("SlsWriteRoleArn", slsWriteRoleArn);
+void UpdateTrailRequest::setSlsWriteRoleArn(const std::string &slsWriteRoleArn) {
+  slsWriteRoleArn_ = slsWriteRoleArn;
+  setParameter(std::string("SlsWriteRoleArn"), slsWriteRoleArn);
 }
 
-std::string UpdateTrailRequest::getOssKeyPrefix()const
-{
-	return ossKeyPrefix_;
+std::string UpdateTrailRequest::getOssKeyPrefix() const {
+  return ossKeyPrefix_;
 }
 
-void UpdateTrailRequest::setOssKeyPrefix(const std::string& ossKeyPrefix)
-{
-	ossKeyPrefix_ = ossKeyPrefix;
-	setParameter("OssKeyPrefix", ossKeyPrefix);
+void UpdateTrailRequest::setOssKeyPrefix(const std::string &ossKeyPrefix) {
+  ossKeyPrefix_ = ossKeyPrefix;
+  setParameter(std::string("OssKeyPrefix"), ossKeyPrefix);
 }
 
-std::string UpdateTrailRequest::getOssWriteRoleArn()const
-{
-	return ossWriteRoleArn_;
+std::string UpdateTrailRequest::getOssWriteRoleArn() const {
+  return ossWriteRoleArn_;
 }
 
-void UpdateTrailRequest::setOssWriteRoleArn(const std::string& ossWriteRoleArn)
-{
-	ossWriteRoleArn_ = ossWriteRoleArn;
-	setParameter("OssWriteRoleArn", ossWriteRoleArn);
+void UpdateTrailRequest::setOssWriteRoleArn(const std::string &ossWriteRoleArn) {
+  ossWriteRoleArn_ = ossWriteRoleArn;
+  setParameter(std::string("OssWriteRoleArn"), ossWriteRoleArn);
 }
 
-std::string UpdateTrailRequest::getEventRW()const
-{
-	return eventRW_;
+std::string UpdateTrailRequest::getEventRW() const {
+  return eventRW_;
 }
 
-void UpdateTrailRequest::setEventRW(const std::string& eventRW)
-{
-	eventRW_ = eventRW;
-	setParameter("EventRW", eventRW);
+void UpdateTrailRequest::setEventRW(const std::string &eventRW) {
+  eventRW_ = eventRW;
+  setParameter(std::string("EventRW"), eventRW);
 }
 
-std::string UpdateTrailRequest::getName()const
-{
-	return name_;
+std::string UpdateTrailRequest::getName() const {
+  return name_;
 }
 
-void UpdateTrailRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
+void UpdateTrailRequest::setName(const std::string &name) {
+  name_ = name;
+  setParameter(std::string("Name"), name);
 }
 
-std::string UpdateTrailRequest::getOssBucketName()const
-{
-	return ossBucketName_;
+std::string UpdateTrailRequest::getOssBucketName() const {
+  return ossBucketName_;
 }
 
-void UpdateTrailRequest::setOssBucketName(const std::string& ossBucketName)
-{
-	ossBucketName_ = ossBucketName;
-	setParameter("OssBucketName", ossBucketName);
+void UpdateTrailRequest::setOssBucketName(const std::string &ossBucketName) {
+  ossBucketName_ = ossBucketName;
+  setParameter(std::string("OssBucketName"), ossBucketName);
 }
 
-std::string UpdateTrailRequest::getTrailRegion()const
-{
-	return trailRegion_;
+std::string UpdateTrailRequest::getTrailRegion() const {
+  return trailRegion_;
 }
 
-void UpdateTrailRequest::setTrailRegion(const std::string& trailRegion)
-{
-	trailRegion_ = trailRegion;
-	setParameter("TrailRegion", trailRegion);
+void UpdateTrailRequest::setTrailRegion(const std::string &trailRegion) {
+  trailRegion_ = trailRegion;
+  setParameter(std::string("TrailRegion"), trailRegion);
 }
 

+ 6 - 6
actiontrail/src/model/UpdateTrailResult.cc

@@ -41,6 +41,8 @@ void UpdateTrailResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["SlsProjectArn"].isNull())
 		slsProjectArn_ = value["SlsProjectArn"].asString();
+	if(!value["OssWriteRoleArn"].isNull())
+		ossWriteRoleArn_ = value["OssWriteRoleArn"].asString();
 	if(!value["EventRW"].isNull())
 		eventRW_ = value["EventRW"].asString();
 	if(!value["HomeRegion"].isNull())
@@ -51,8 +53,6 @@ void UpdateTrailResult::parse(const std::string &payload)
 		ossBucketName_ = value["OssBucketName"].asString();
 	if(!value["SlsWriteRoleArn"].isNull())
 		slsWriteRoleArn_ = value["SlsWriteRoleArn"].asString();
-	if(!value["OssWriteRoleArn"].isNull())
-		ossWriteRoleArn_ = value["OssWriteRoleArn"].asString();
 	if(!value["TrailRegion"].isNull())
 		trailRegion_ = value["TrailRegion"].asString();
 	if(!value["Name"].isNull())
@@ -85,14 +85,14 @@ std::string UpdateTrailResult::getOssBucketName()const
 	return ossBucketName_;
 }
 
-std::string UpdateTrailResult::getSlsWriteRoleArn()const
+std::string UpdateTrailResult::getOssWriteRoleArn()const
 {
-	return slsWriteRoleArn_;
+	return ossWriteRoleArn_;
 }
 
-std::string UpdateTrailResult::getOssWriteRoleArn()const
+std::string UpdateTrailResult::getSlsWriteRoleArn()const
 {
-	return ossWriteRoleArn_;
+	return slsWriteRoleArn_;
 }
 
 std::string UpdateTrailResult::getTrailRegion()const