Преглед изворни кода

Generated 2020-07-06, 2017-12-04 for Actiontrail.

sdk-team пре 5 година
родитељ
комит
2f2b5d5ffe
38 измењених фајлова са 2683 додато и 38 уклоњено
  1. 3 0
      CHANGELOG
  2. 34 2
      actiontrail/CMakeLists.txt
  3. 64 0
      actiontrail/include/alibabacloud/actiontrail/ActiontrailClient.h
  4. 78 0
      actiontrail/include/alibabacloud/actiontrail/model/CreateTrailRequest.h
  5. 69 0
      actiontrail/include/alibabacloud/actiontrail/model/CreateTrailResult.h
  6. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailRequest.h
  7. 49 0
      actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailResult.h
  8. 48 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsRequest.h
  9. 59 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsResult.h
  10. 54 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h
  11. 70 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsResult.h
  12. 54 0
      actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h
  13. 59 0
      actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusResult.h
  14. 36 15
      actiontrail/include/alibabacloud/actiontrail/model/LookupEventsRequest.h
  15. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/StartLoggingRequest.h
  16. 53 0
      actiontrail/include/alibabacloud/actiontrail/model/StartLoggingResult.h
  17. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/StopLoggingRequest.h
  18. 49 0
      actiontrail/include/alibabacloud/actiontrail/model/StopLoggingResult.h
  19. 75 0
      actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailRequest.h
  20. 69 0
      actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailResult.h
  21. 288 0
      actiontrail/src/ActiontrailClient.cc
  22. 150 0
      actiontrail/src/model/CreateTrailRequest.cc
  23. 114 0
      actiontrail/src/model/CreateTrailResult.cc
  24. 51 0
      actiontrail/src/model/DeleteTrailRequest.cc
  25. 44 0
      actiontrail/src/model/DeleteTrailResult.cc
  26. 40 0
      actiontrail/src/model/DescribeRegionsRequest.cc
  27. 58 0
      actiontrail/src/model/DescribeRegionsResult.cc
  28. 62 0
      actiontrail/src/model/DescribeTrailsRequest.cc
  29. 87 0
      actiontrail/src/model/DescribeTrailsResult.cc
  30. 62 0
      actiontrail/src/model/GetTrailStatusRequest.cc
  31. 79 0
      actiontrail/src/model/GetTrailStatusResult.cc
  32. 115 21
      actiontrail/src/model/LookupEventsRequest.cc
  33. 51 0
      actiontrail/src/model/StartLoggingRequest.cc
  34. 58 0
      actiontrail/src/model/StartLoggingResult.cc
  35. 51 0
      actiontrail/src/model/StopLoggingRequest.cc
  36. 44 0
      actiontrail/src/model/StopLoggingResult.cc
  37. 139 0
      actiontrail/src/model/UpdateTrailRequest.cc
  38. 114 0
      actiontrail/src/model/UpdateTrailResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-11-26 Version: patch
+- Generated 2020-07-06, 2017-12-04 for `Actiontrail`.
+
 2020-11-26 Version: patch
 - Generated 2020-07-06 for `Actiontrail`.
 

+ 34 - 2
actiontrail/CMakeLists.txt

@@ -23,23 +23,55 @@ set(actiontrail_public_header
 set(actiontrail_public_header_model 
 	include/alibabacloud/actiontrail/model/CreateDeliveryHistoryJobRequest.h
 	include/alibabacloud/actiontrail/model/CreateDeliveryHistoryJobResult.h
+	include/alibabacloud/actiontrail/model/CreateTrailRequest.h
+	include/alibabacloud/actiontrail/model/CreateTrailResult.h
 	include/alibabacloud/actiontrail/model/DeleteDeliveryHistoryJobRequest.h
 	include/alibabacloud/actiontrail/model/DeleteDeliveryHistoryJobResult.h
+	include/alibabacloud/actiontrail/model/DeleteTrailRequest.h
+	include/alibabacloud/actiontrail/model/DeleteTrailResult.h
+	include/alibabacloud/actiontrail/model/DescribeRegionsRequest.h
+	include/alibabacloud/actiontrail/model/DescribeRegionsResult.h
+	include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h
+	include/alibabacloud/actiontrail/model/DescribeTrailsResult.h
+	include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h
+	include/alibabacloud/actiontrail/model/GetTrailStatusResult.h
 	include/alibabacloud/actiontrail/model/ListDeliveryHistoryJobsRequest.h
 	include/alibabacloud/actiontrail/model/ListDeliveryHistoryJobsResult.h
 	include/alibabacloud/actiontrail/model/LookupEventsRequest.h
-	include/alibabacloud/actiontrail/model/LookupEventsResult.h )
+	include/alibabacloud/actiontrail/model/LookupEventsResult.h
+	include/alibabacloud/actiontrail/model/StartLoggingRequest.h
+	include/alibabacloud/actiontrail/model/StartLoggingResult.h
+	include/alibabacloud/actiontrail/model/StopLoggingRequest.h
+	include/alibabacloud/actiontrail/model/StopLoggingResult.h
+	include/alibabacloud/actiontrail/model/UpdateTrailRequest.h
+	include/alibabacloud/actiontrail/model/UpdateTrailResult.h )
 
 set(actiontrail_src 
 	src/ActiontrailClient.cc
 	src/model/CreateDeliveryHistoryJobRequest.cc
 	src/model/CreateDeliveryHistoryJobResult.cc
+	src/model/CreateTrailRequest.cc
+	src/model/CreateTrailResult.cc
 	src/model/DeleteDeliveryHistoryJobRequest.cc
 	src/model/DeleteDeliveryHistoryJobResult.cc
+	src/model/DeleteTrailRequest.cc
+	src/model/DeleteTrailResult.cc
+	src/model/DescribeRegionsRequest.cc
+	src/model/DescribeRegionsResult.cc
+	src/model/DescribeTrailsRequest.cc
+	src/model/DescribeTrailsResult.cc
+	src/model/GetTrailStatusRequest.cc
+	src/model/GetTrailStatusResult.cc
 	src/model/ListDeliveryHistoryJobsRequest.cc
 	src/model/ListDeliveryHistoryJobsResult.cc
 	src/model/LookupEventsRequest.cc
-	src/model/LookupEventsResult.cc )
+	src/model/LookupEventsResult.cc
+	src/model/StartLoggingRequest.cc
+	src/model/StartLoggingResult.cc
+	src/model/StopLoggingRequest.cc
+	src/model/StopLoggingResult.cc
+	src/model/UpdateTrailRequest.cc
+	src/model/UpdateTrailResult.cc )
 
 add_library(actiontrail ${LIB_TYPE}
 	${actiontrail_public_header}

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

@@ -24,12 +24,28 @@
 #include "ActiontrailExport.h"
 #include "model/CreateDeliveryHistoryJobRequest.h"
 #include "model/CreateDeliveryHistoryJobResult.h"
+#include "model/CreateTrailRequest.h"
+#include "model/CreateTrailResult.h"
 #include "model/DeleteDeliveryHistoryJobRequest.h"
 #include "model/DeleteDeliveryHistoryJobResult.h"
+#include "model/DeleteTrailRequest.h"
+#include "model/DeleteTrailResult.h"
+#include "model/DescribeRegionsRequest.h"
+#include "model/DescribeRegionsResult.h"
+#include "model/DescribeTrailsRequest.h"
+#include "model/DescribeTrailsResult.h"
+#include "model/GetTrailStatusRequest.h"
+#include "model/GetTrailStatusResult.h"
 #include "model/ListDeliveryHistoryJobsRequest.h"
 #include "model/ListDeliveryHistoryJobsResult.h"
 #include "model/LookupEventsRequest.h"
 #include "model/LookupEventsResult.h"
+#include "model/StartLoggingRequest.h"
+#include "model/StartLoggingResult.h"
+#include "model/StopLoggingRequest.h"
+#include "model/StopLoggingResult.h"
+#include "model/UpdateTrailRequest.h"
+#include "model/UpdateTrailResult.h"
 
 
 namespace AlibabaCloud
@@ -42,15 +58,39 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateDeliveryHistoryJobResult> CreateDeliveryHistoryJobOutcome;
 			typedef std::future<CreateDeliveryHistoryJobOutcome> CreateDeliveryHistoryJobOutcomeCallable;
 			typedef std::function<void(const ActiontrailClient*, const Model::CreateDeliveryHistoryJobRequest&, const CreateDeliveryHistoryJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDeliveryHistoryJobAsyncHandler;
+			typedef Outcome<Error, Model::CreateTrailResult> CreateTrailOutcome;
+			typedef std::future<CreateTrailOutcome> CreateTrailOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::CreateTrailRequest&, const CreateTrailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTrailAsyncHandler;
 			typedef Outcome<Error, Model::DeleteDeliveryHistoryJobResult> DeleteDeliveryHistoryJobOutcome;
 			typedef std::future<DeleteDeliveryHistoryJobOutcome> DeleteDeliveryHistoryJobOutcomeCallable;
 			typedef std::function<void(const ActiontrailClient*, const Model::DeleteDeliveryHistoryJobRequest&, const DeleteDeliveryHistoryJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeliveryHistoryJobAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTrailResult> DeleteTrailOutcome;
+			typedef std::future<DeleteTrailOutcome> DeleteTrailOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::DeleteTrailRequest&, const DeleteTrailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTrailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
+			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			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::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;
 			typedef Outcome<Error, Model::ListDeliveryHistoryJobsResult> ListDeliveryHistoryJobsOutcome;
 			typedef std::future<ListDeliveryHistoryJobsOutcome> ListDeliveryHistoryJobsOutcomeCallable;
 			typedef std::function<void(const ActiontrailClient*, const Model::ListDeliveryHistoryJobsRequest&, const ListDeliveryHistoryJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDeliveryHistoryJobsAsyncHandler;
 			typedef Outcome<Error, Model::LookupEventsResult> LookupEventsOutcome;
 			typedef std::future<LookupEventsOutcome> LookupEventsOutcomeCallable;
 			typedef std::function<void(const ActiontrailClient*, const Model::LookupEventsRequest&, const LookupEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> LookupEventsAsyncHandler;
+			typedef Outcome<Error, Model::StartLoggingResult> StartLoggingOutcome;
+			typedef std::future<StartLoggingOutcome> StartLoggingOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::StartLoggingRequest&, const StartLoggingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartLoggingAsyncHandler;
+			typedef Outcome<Error, Model::StopLoggingResult> StopLoggingOutcome;
+			typedef std::future<StopLoggingOutcome> StopLoggingOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::StopLoggingRequest&, const StopLoggingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopLoggingAsyncHandler;
+			typedef Outcome<Error, Model::UpdateTrailResult> UpdateTrailOutcome;
+			typedef std::future<UpdateTrailOutcome> UpdateTrailOutcomeCallable;
+			typedef std::function<void(const ActiontrailClient*, const Model::UpdateTrailRequest&, const UpdateTrailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTrailAsyncHandler;
 
 			ActiontrailClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			ActiontrailClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -59,15 +99,39 @@ namespace AlibabaCloud
 			CreateDeliveryHistoryJobOutcome createDeliveryHistoryJob(const Model::CreateDeliveryHistoryJobRequest &request)const;
 			void createDeliveryHistoryJobAsync(const Model::CreateDeliveryHistoryJobRequest& request, const CreateDeliveryHistoryJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDeliveryHistoryJobOutcomeCallable createDeliveryHistoryJobCallable(const Model::CreateDeliveryHistoryJobRequest& request) const;
+			CreateTrailOutcome createTrail(const Model::CreateTrailRequest &request)const;
+			void createTrailAsync(const Model::CreateTrailRequest& request, const CreateTrailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateTrailOutcomeCallable createTrailCallable(const Model::CreateTrailRequest& request) const;
 			DeleteDeliveryHistoryJobOutcome deleteDeliveryHistoryJob(const Model::DeleteDeliveryHistoryJobRequest &request)const;
 			void deleteDeliveryHistoryJobAsync(const Model::DeleteDeliveryHistoryJobRequest& request, const DeleteDeliveryHistoryJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDeliveryHistoryJobOutcomeCallable deleteDeliveryHistoryJobCallable(const Model::DeleteDeliveryHistoryJobRequest& request) const;
+			DeleteTrailOutcome deleteTrail(const Model::DeleteTrailRequest &request)const;
+			void deleteTrailAsync(const Model::DeleteTrailRequest& request, const DeleteTrailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTrailOutcomeCallable deleteTrailCallable(const Model::DeleteTrailRequest& request) const;
+			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
+			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
+			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;
+			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;
 			ListDeliveryHistoryJobsOutcome listDeliveryHistoryJobs(const Model::ListDeliveryHistoryJobsRequest &request)const;
 			void listDeliveryHistoryJobsAsync(const Model::ListDeliveryHistoryJobsRequest& request, const ListDeliveryHistoryJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListDeliveryHistoryJobsOutcomeCallable listDeliveryHistoryJobsCallable(const Model::ListDeliveryHistoryJobsRequest& request) const;
 			LookupEventsOutcome lookupEvents(const Model::LookupEventsRequest &request)const;
 			void lookupEventsAsync(const Model::LookupEventsRequest& request, const LookupEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			LookupEventsOutcomeCallable lookupEventsCallable(const Model::LookupEventsRequest& request) const;
+			StartLoggingOutcome startLogging(const Model::StartLoggingRequest &request)const;
+			void startLoggingAsync(const Model::StartLoggingRequest& request, const StartLoggingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartLoggingOutcomeCallable startLoggingCallable(const Model::StartLoggingRequest& request) const;
+			StopLoggingOutcome stopLogging(const Model::StopLoggingRequest &request)const;
+			void stopLoggingAsync(const Model::StopLoggingRequest& request, const StopLoggingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopLoggingOutcomeCallable stopLoggingCallable(const Model::StopLoggingRequest& request) const;
+			UpdateTrailOutcome updateTrail(const Model::UpdateTrailRequest &request)const;
+			void updateTrailAsync(const Model::UpdateTrailRequest& request, const UpdateTrailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateTrailOutcomeCallable updateTrailCallable(const Model::UpdateTrailRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 78 - 0
actiontrail/include/alibabacloud/actiontrail/model/CreateTrailRequest.h

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				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 getMnsTopicArn()const;
+				void setMnsTopicArn(const std::string& mnsTopicArn);
+				std::string getRoleName()const;
+				void setRoleName(const std::string& roleName);
+				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 accessKeyId_;
+				std::string slsWriteRoleArn_;
+				bool isOrganizationTrail_;
+				std::string ossKeyPrefix_;
+				std::string mnsTopicArn_;
+				std::string roleName_;
+				std::string eventRW_;
+				std::string name_;
+				std::string ossBucketName_;
+				std::string trailRegion_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILREQUEST_H_

+ 69 - 0
actiontrail/include/alibabacloud/actiontrail/model/CreateTrailResult.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILRESULT_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 CreateTrailResult : public ServiceResult
+			{
+			public:
+
+
+				CreateTrailResult();
+				explicit CreateTrailResult(const std::string &payload);
+				~CreateTrailResult();
+				std::string getSlsProjectArn()const;
+				std::string getMnsTopicArn()const;
+				std::string getRoleName()const;
+				std::string getEventRW()const;
+				std::string getHomeRegion()const;
+				std::string getOssKeyPrefix()const;
+				std::string getOssBucketName()const;
+				std::string getSlsWriteRoleArn()const;
+				std::string getTrailRegion()const;
+				std::string getName()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string slsProjectArn_;
+				std::string mnsTopicArn_;
+				std::string roleName_;
+				std::string eventRW_;
+				std::string homeRegion_;
+				std::string ossKeyPrefix_;
+				std::string ossBucketName_;
+				std::string slsWriteRoleArn_;
+				std::string trailRegion_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_CREATETRAILRESULT_H_

+ 51 - 0
actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailRequest.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_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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getName()const;
+				void setName(const std::string& name);
+
+            private:
+				std::string accessKeyId_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DELETETRAILREQUEST_H_

+ 49 - 0
actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailResult.h

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

+ 48 - 0
actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsRequest.h

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSREQUEST_H_

+ 59 - 0
actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSRESULT_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 DescribeRegionsResult : public ServiceResult
+			{
+			public:
+				struct Regions
+				{
+					struct RegionItem
+					{
+						std::string regionId;
+					};
+					std::vector<RegionItem> region;
+				};
+
+
+				DescribeRegionsResult();
+				explicit DescribeRegionsResult(const std::string &payload);
+				~DescribeRegionsResult();
+				Regions getRegions()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Regions regions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBEREGIONSRESULT_H_

+ 54 - 0
actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_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 getIncludeShadowTrails()const;
+				void setIncludeShadowTrails(bool includeShadowTrails);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getNameList()const;
+				void setNameList(const std::string& nameList);
+
+            private:
+				bool includeShadowTrails_;
+				std::string accessKeyId_;
+				std::string nameList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSREQUEST_H_

+ 70 - 0
actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSRESULT_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 DescribeTrailsResult : public ServiceResult
+			{
+			public:
+				struct TrailListItem
+				{
+					std::string status;
+					std::string mnsTopicArn;
+					std::string homeRegion;
+					std::string createTime;
+					std::string startLoggingTime;
+					std::string stopLoggingTime;
+					std::string slsWriteRoleArn;
+					std::string trailRegion;
+					std::string name;
+					bool isOrganizationTrail;
+					std::string slsProjectArn;
+					std::string roleName;
+					std::string eventRW;
+					std::string ossKeyPrefix;
+					std::string updateTime;
+					std::string ossBucketName;
+				};
+
+
+				DescribeTrailsResult();
+				explicit DescribeTrailsResult(const std::string &payload);
+				~DescribeTrailsResult();
+				std::vector<TrailListItem> getTrailList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<TrailListItem> trailList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_DESCRIBETRAILSRESULT_H_

+ 54 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				bool getIsOrganizationTrail()const;
+				void setIsOrganizationTrail(bool isOrganizationTrail);
+
+            private:
+				std::string accessKeyId_;
+				std::string name_;
+				bool isOrganizationTrail_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSREQUEST_H_

+ 59 - 0
actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSRESULT_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 GetTrailStatusResult : public ServiceResult
+			{
+			public:
+
+
+				GetTrailStatusResult();
+				explicit GetTrailStatusResult(const std::string &payload);
+				~GetTrailStatusResult();
+				std::string getStartLoggingTime()const;
+				std::string getLatestDeliveryError()const;
+				std::string getStopLoggingTime()const;
+				bool getIsLogging()const;
+				std::string getLatestDeliveryTime()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string startLoggingTime_;
+				std::string latestDeliveryError_;
+				std::string stopLoggingTime_;
+				bool isLogging_;
+				std::string latestDeliveryTime_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_GETTRAILSTATUSRESULT_H_

+ 36 - 15
actiontrail/include/alibabacloud/actiontrail/model/LookupEventsRequest.h

@@ -30,37 +30,58 @@ namespace AlibabaCloud
 		{
 			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 getRequest()const;
+				void setRequest(const std::string& request);
 				std::string getStartTime()const;
 				void setStartTime(const std::string& startTime);
+				std::string getEventName()const;
+				void setEventName(const std::string& eventName);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getNextToken()const;
 				void setNextToken(const std::string& nextToken);
-				std::vector<LookupAttribute> getLookupAttribute()const;
-				void setLookupAttribute(const std::vector<LookupAttribute>& lookupAttribute);
+				std::string getServiceName()const;
+				void setServiceName(const std::string& serviceName);
+				std::string getEvent()const;
+				void setEvent(const std::string& event);
+				std::string getEventAccessKeyId()const;
+				void setEventAccessKeyId(const std::string& eventAccessKeyId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getEventRW()const;
+				void setEventRW(const std::string& eventRW);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
 				std::string getMaxResults()const;
 				void setMaxResults(const std::string& maxResults);
-				std::string getDirection()const;
-				void setDirection(const std::string& direction);
+				std::string getEventType()const;
+				void setEventType(const std::string& eventType);
+				std::string getResourceName()const;
+				void setResourceName(const std::string& resourceName);
+				std::string getUser()const;
+				void setUser(const std::string& user);
 
             private:
-				std::string endTime_;
+				std::string request_;
 				std::string startTime_;
+				std::string eventName_;
+				std::string accessKeyId_;
 				std::string nextToken_;
-				std::vector<LookupAttribute> lookupAttribute_;
+				std::string serviceName_;
+				std::string event_;
+				std::string eventAccessKeyId_;
+				std::string endTime_;
+				std::string eventRW_;
+				std::string resourceType_;
 				std::string maxResults_;
-				std::string direction_;
+				std::string eventType_;
+				std::string resourceName_;
+				std::string user_;
 
 			};
 		}

+ 51 - 0
actiontrail/include/alibabacloud/actiontrail/model/StartLoggingRequest.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_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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getName()const;
+				void setName(const std::string& name);
+
+            private:
+				std::string accessKeyId_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGREQUEST_H_

+ 53 - 0
actiontrail/include/alibabacloud/actiontrail/model/StartLoggingResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGRESULT_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 StartLoggingResult : public ServiceResult
+			{
+			public:
+
+
+				StartLoggingResult();
+				explicit StartLoggingResult(const std::string &payload);
+				~StartLoggingResult();
+				std::string getParam()const;
+				std::string getResult()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string param_;
+				std::string result_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STARTLOGGINGRESULT_H_

+ 51 - 0
actiontrail/include/alibabacloud/actiontrail/model/StopLoggingRequest.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_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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getName()const;
+				void setName(const std::string& name);
+
+            private:
+				std::string accessKeyId_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_STOPLOGGINGREQUEST_H_

+ 49 - 0
actiontrail/include/alibabacloud/actiontrail/model/StopLoggingResult.h

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

+ 75 - 0
actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailRequest.h

@@ -0,0 +1,75 @@
+/*
+ * 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 getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSlsWriteRoleArn()const;
+				void setSlsWriteRoleArn(const std::string& slsWriteRoleArn);
+				std::string getOssKeyPrefix()const;
+				void setOssKeyPrefix(const std::string& ossKeyPrefix);
+				std::string getMnsTopicArn()const;
+				void setMnsTopicArn(const std::string& mnsTopicArn);
+				std::string getRoleName()const;
+				void setRoleName(const std::string& roleName);
+				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 accessKeyId_;
+				std::string slsWriteRoleArn_;
+				std::string ossKeyPrefix_;
+				std::string mnsTopicArn_;
+				std::string roleName_;
+				std::string eventRW_;
+				std::string name_;
+				std::string ossBucketName_;
+				std::string trailRegion_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILREQUEST_H_

+ 69 - 0
actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailResult.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILRESULT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILRESULT_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 UpdateTrailResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateTrailResult();
+				explicit UpdateTrailResult(const std::string &payload);
+				~UpdateTrailResult();
+				std::string getSlsProjectArn()const;
+				std::string getMnsTopicArn()const;
+				std::string getRoleName()const;
+				std::string getEventRW()const;
+				std::string getHomeRegion()const;
+				std::string getOssKeyPrefix()const;
+				std::string getOssBucketName()const;
+				std::string getSlsWriteRoleArn()const;
+				std::string getTrailRegion()const;
+				std::string getName()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string slsProjectArn_;
+				std::string mnsTopicArn_;
+				std::string roleName_;
+				std::string eventRW_;
+				std::string homeRegion_;
+				std::string ossKeyPrefix_;
+				std::string ossBucketName_;
+				std::string slsWriteRoleArn_;
+				std::string trailRegion_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_UPDATETRAILRESULT_H_

+ 288 - 0
actiontrail/src/ActiontrailClient.cc

@@ -87,6 +87,42 @@ ActiontrailClient::CreateDeliveryHistoryJobOutcomeCallable ActiontrailClient::cr
 	return task->get_future();
 }
 
+ActiontrailClient::CreateTrailOutcome ActiontrailClient::createTrail(const CreateTrailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateTrailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateTrailOutcome(CreateTrailResult(outcome.result()));
+	else
+		return CreateTrailOutcome(outcome.error());
+}
+
+void ActiontrailClient::createTrailAsync(const CreateTrailRequest& request, const CreateTrailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createTrail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::CreateTrailOutcomeCallable ActiontrailClient::createTrailCallable(const CreateTrailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateTrailOutcome()>>(
+			[this, request]()
+			{
+			return this->createTrail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ActiontrailClient::DeleteDeliveryHistoryJobOutcome ActiontrailClient::deleteDeliveryHistoryJob(const DeleteDeliveryHistoryJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -123,6 +159,150 @@ ActiontrailClient::DeleteDeliveryHistoryJobOutcomeCallable ActiontrailClient::de
 	return task->get_future();
 }
 
+ActiontrailClient::DeleteTrailOutcome ActiontrailClient::deleteTrail(const DeleteTrailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteTrailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteTrailOutcome(DeleteTrailResult(outcome.result()));
+	else
+		return DeleteTrailOutcome(outcome.error());
+}
+
+void ActiontrailClient::deleteTrailAsync(const DeleteTrailRequest& request, const DeleteTrailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteTrail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::DeleteTrailOutcomeCallable ActiontrailClient::deleteTrailCallable(const DeleteTrailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteTrailOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteTrail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::DescribeRegionsOutcome ActiontrailClient::describeRegions(const DescribeRegionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRegionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
+	else
+		return DescribeRegionsOutcome(outcome.error());
+}
+
+void ActiontrailClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRegions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::DescribeRegionsOutcomeCallable ActiontrailClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRegions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::DescribeTrailsOutcome ActiontrailClient::describeTrails(const DescribeTrailsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeTrailsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeTrailsOutcome(DescribeTrailsResult(outcome.result()));
+	else
+		return DescribeTrailsOutcome(outcome.error());
+}
+
+void ActiontrailClient::describeTrailsAsync(const DescribeTrailsRequest& request, const DescribeTrailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeTrails(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::DescribeTrailsOutcomeCallable ActiontrailClient::describeTrailsCallable(const DescribeTrailsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeTrailsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeTrails(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::GetTrailStatusOutcome ActiontrailClient::getTrailStatus(const GetTrailStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetTrailStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetTrailStatusOutcome(GetTrailStatusResult(outcome.result()));
+	else
+		return GetTrailStatusOutcome(outcome.error());
+}
+
+void ActiontrailClient::getTrailStatusAsync(const GetTrailStatusRequest& request, const GetTrailStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getTrailStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::GetTrailStatusOutcomeCallable ActiontrailClient::getTrailStatusCallable(const GetTrailStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetTrailStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->getTrailStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ActiontrailClient::ListDeliveryHistoryJobsOutcome ActiontrailClient::listDeliveryHistoryJobs(const ListDeliveryHistoryJobsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -195,3 +375,111 @@ ActiontrailClient::LookupEventsOutcomeCallable ActiontrailClient::lookupEventsCa
 	return task->get_future();
 }
 
+ActiontrailClient::StartLoggingOutcome ActiontrailClient::startLogging(const StartLoggingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartLoggingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartLoggingOutcome(StartLoggingResult(outcome.result()));
+	else
+		return StartLoggingOutcome(outcome.error());
+}
+
+void ActiontrailClient::startLoggingAsync(const StartLoggingRequest& request, const StartLoggingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startLogging(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::StartLoggingOutcomeCallable ActiontrailClient::startLoggingCallable(const StartLoggingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartLoggingOutcome()>>(
+			[this, request]()
+			{
+			return this->startLogging(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::StopLoggingOutcome ActiontrailClient::stopLogging(const StopLoggingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopLoggingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopLoggingOutcome(StopLoggingResult(outcome.result()));
+	else
+		return StopLoggingOutcome(outcome.error());
+}
+
+void ActiontrailClient::stopLoggingAsync(const StopLoggingRequest& request, const StopLoggingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopLogging(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::StopLoggingOutcomeCallable ActiontrailClient::stopLoggingCallable(const StopLoggingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopLoggingOutcome()>>(
+			[this, request]()
+			{
+			return this->stopLogging(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ActiontrailClient::UpdateTrailOutcome ActiontrailClient::updateTrail(const UpdateTrailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateTrailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateTrailOutcome(UpdateTrailResult(outcome.result()));
+	else
+		return UpdateTrailOutcome(outcome.error());
+}
+
+void ActiontrailClient::updateTrailAsync(const UpdateTrailRequest& request, const UpdateTrailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateTrail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::UpdateTrailOutcomeCallable ActiontrailClient::updateTrailCallable(const UpdateTrailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateTrailOutcome()>>(
+			[this, request]()
+			{
+			return this->updateTrail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 150 - 0
actiontrail/src/model/CreateTrailRequest.cc

@@ -0,0 +1,150 @@
+/*
+ * 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", "2017-12-04", "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);
+}
+
+std::string CreateTrailRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateTrailRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateTrailRequest::getSlsWriteRoleArn()const
+{
+	return slsWriteRoleArn_;
+}
+
+void CreateTrailRequest::setSlsWriteRoleArn(const std::string& slsWriteRoleArn)
+{
+	slsWriteRoleArn_ = slsWriteRoleArn;
+	setParameter("SlsWriteRoleArn", slsWriteRoleArn);
+}
+
+bool CreateTrailRequest::getIsOrganizationTrail()const
+{
+	return isOrganizationTrail_;
+}
+
+void CreateTrailRequest::setIsOrganizationTrail(bool isOrganizationTrail)
+{
+	isOrganizationTrail_ = isOrganizationTrail;
+	setParameter("IsOrganizationTrail", isOrganizationTrail ? "true" : "false");
+}
+
+std::string CreateTrailRequest::getOssKeyPrefix()const
+{
+	return ossKeyPrefix_;
+}
+
+void CreateTrailRequest::setOssKeyPrefix(const std::string& ossKeyPrefix)
+{
+	ossKeyPrefix_ = ossKeyPrefix;
+	setParameter("OssKeyPrefix", ossKeyPrefix);
+}
+
+std::string CreateTrailRequest::getMnsTopicArn()const
+{
+	return mnsTopicArn_;
+}
+
+void CreateTrailRequest::setMnsTopicArn(const std::string& mnsTopicArn)
+{
+	mnsTopicArn_ = mnsTopicArn;
+	setParameter("MnsTopicArn", mnsTopicArn);
+}
+
+std::string CreateTrailRequest::getRoleName()const
+{
+	return roleName_;
+}
+
+void CreateTrailRequest::setRoleName(const std::string& roleName)
+{
+	roleName_ = roleName;
+	setParameter("RoleName", roleName);
+}
+
+std::string CreateTrailRequest::getEventRW()const
+{
+	return eventRW_;
+}
+
+void CreateTrailRequest::setEventRW(const std::string& eventRW)
+{
+	eventRW_ = eventRW;
+	setParameter("EventRW", eventRW);
+}
+
+std::string CreateTrailRequest::getName()const
+{
+	return name_;
+}
+
+void CreateTrailRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string CreateTrailRequest::getOssBucketName()const
+{
+	return ossBucketName_;
+}
+
+void CreateTrailRequest::setOssBucketName(const std::string& ossBucketName)
+{
+	ossBucketName_ = ossBucketName;
+	setParameter("OssBucketName", ossBucketName);
+}
+
+std::string CreateTrailRequest::getTrailRegion()const
+{
+	return trailRegion_;
+}
+
+void CreateTrailRequest::setTrailRegion(const std::string& trailRegion)
+{
+	trailRegion_ = trailRegion;
+	setParameter("TrailRegion", trailRegion);
+}
+

+ 114 - 0
actiontrail/src/model/CreateTrailResult.cc

@@ -0,0 +1,114 @@
+/*
+ * 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/CreateTrailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+CreateTrailResult::CreateTrailResult() :
+	ServiceResult()
+{}
+
+CreateTrailResult::CreateTrailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateTrailResult::~CreateTrailResult()
+{}
+
+void CreateTrailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Name"].isNull())
+		name_ = value["Name"].asString();
+	if(!value["HomeRegion"].isNull())
+		homeRegion_ = value["HomeRegion"].asString();
+	if(!value["OssBucketName"].isNull())
+		ossBucketName_ = value["OssBucketName"].asString();
+	if(!value["OssKeyPrefix"].isNull())
+		ossKeyPrefix_ = value["OssKeyPrefix"].asString();
+	if(!value["RoleName"].isNull())
+		roleName_ = value["RoleName"].asString();
+	if(!value["SlsProjectArn"].isNull())
+		slsProjectArn_ = value["SlsProjectArn"].asString();
+	if(!value["SlsWriteRoleArn"].isNull())
+		slsWriteRoleArn_ = value["SlsWriteRoleArn"].asString();
+	if(!value["EventRW"].isNull())
+		eventRW_ = value["EventRW"].asString();
+	if(!value["TrailRegion"].isNull())
+		trailRegion_ = value["TrailRegion"].asString();
+	if(!value["MnsTopicArn"].isNull())
+		mnsTopicArn_ = value["MnsTopicArn"].asString();
+
+}
+
+std::string CreateTrailResult::getSlsProjectArn()const
+{
+	return slsProjectArn_;
+}
+
+std::string CreateTrailResult::getMnsTopicArn()const
+{
+	return mnsTopicArn_;
+}
+
+std::string CreateTrailResult::getRoleName()const
+{
+	return roleName_;
+}
+
+std::string CreateTrailResult::getEventRW()const
+{
+	return eventRW_;
+}
+
+std::string CreateTrailResult::getHomeRegion()const
+{
+	return homeRegion_;
+}
+
+std::string CreateTrailResult::getOssKeyPrefix()const
+{
+	return ossKeyPrefix_;
+}
+
+std::string CreateTrailResult::getOssBucketName()const
+{
+	return ossBucketName_;
+}
+
+std::string CreateTrailResult::getSlsWriteRoleArn()const
+{
+	return slsWriteRoleArn_;
+}
+
+std::string CreateTrailResult::getTrailRegion()const
+{
+	return trailRegion_;
+}
+
+std::string CreateTrailResult::getName()const
+{
+	return name_;
+}
+

+ 51 - 0
actiontrail/src/model/DeleteTrailRequest.cc

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

+ 44 - 0
actiontrail/src/model/DeleteTrailResult.cc

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

+ 40 - 0
actiontrail/src/model/DescribeRegionsRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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", "2017-12-04", "DescribeRegions")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRegionsRequest::~DescribeRegionsRequest()
+{}
+
+std::string DescribeRegionsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeRegionsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 58 - 0
actiontrail/src/model/DescribeRegionsResult.cc

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

+ 62 - 0
actiontrail/src/model/DescribeTrailsRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/actiontrail/model/DescribeTrailsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::DescribeTrailsRequest;
+
+DescribeTrailsRequest::DescribeTrailsRequest() :
+	RpcServiceRequest("actiontrail", "2017-12-04", "DescribeTrails")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeTrailsRequest::~DescribeTrailsRequest()
+{}
+
+bool DescribeTrailsRequest::getIncludeShadowTrails()const
+{
+	return includeShadowTrails_;
+}
+
+void DescribeTrailsRequest::setIncludeShadowTrails(bool includeShadowTrails)
+{
+	includeShadowTrails_ = includeShadowTrails;
+	setParameter("IncludeShadowTrails", includeShadowTrails ? "true" : "false");
+}
+
+std::string DescribeTrailsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeTrailsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeTrailsRequest::getNameList()const
+{
+	return nameList_;
+}
+
+void DescribeTrailsRequest::setNameList(const std::string& nameList)
+{
+	nameList_ = nameList;
+	setParameter("NameList", nameList);
+}
+

+ 87 - 0
actiontrail/src/model/DescribeTrailsResult.cc

@@ -0,0 +1,87 @@
+/*
+ * 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/DescribeTrailsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+DescribeTrailsResult::DescribeTrailsResult() :
+	ServiceResult()
+{}
+
+DescribeTrailsResult::DescribeTrailsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeTrailsResult::~DescribeTrailsResult()
+{}
+
+void DescribeTrailsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTrailListNode = value["TrailList"]["TrailListItem"];
+	for (auto valueTrailListTrailListItem : allTrailListNode)
+	{
+		TrailListItem trailListObject;
+		if(!valueTrailListTrailListItem["Name"].isNull())
+			trailListObject.name = valueTrailListTrailListItem["Name"].asString();
+		if(!valueTrailListTrailListItem["HomeRegion"].isNull())
+			trailListObject.homeRegion = valueTrailListTrailListItem["HomeRegion"].asString();
+		if(!valueTrailListTrailListItem["RoleName"].isNull())
+			trailListObject.roleName = valueTrailListTrailListItem["RoleName"].asString();
+		if(!valueTrailListTrailListItem["OssBucketName"].isNull())
+			trailListObject.ossBucketName = valueTrailListTrailListItem["OssBucketName"].asString();
+		if(!valueTrailListTrailListItem["OssKeyPrefix"].isNull())
+			trailListObject.ossKeyPrefix = valueTrailListTrailListItem["OssKeyPrefix"].asString();
+		if(!valueTrailListTrailListItem["EventRW"].isNull())
+			trailListObject.eventRW = valueTrailListTrailListItem["EventRW"].asString();
+		if(!valueTrailListTrailListItem["SlsWriteRoleArn"].isNull())
+			trailListObject.slsWriteRoleArn = valueTrailListTrailListItem["SlsWriteRoleArn"].asString();
+		if(!valueTrailListTrailListItem["SlsProjectArn"].isNull())
+			trailListObject.slsProjectArn = valueTrailListTrailListItem["SlsProjectArn"].asString();
+		if(!valueTrailListTrailListItem["Status"].isNull())
+			trailListObject.status = valueTrailListTrailListItem["Status"].asString();
+		if(!valueTrailListTrailListItem["TrailRegion"].isNull())
+			trailListObject.trailRegion = valueTrailListTrailListItem["TrailRegion"].asString();
+		if(!valueTrailListTrailListItem["CreateTime"].isNull())
+			trailListObject.createTime = valueTrailListTrailListItem["CreateTime"].asString();
+		if(!valueTrailListTrailListItem["UpdateTime"].isNull())
+			trailListObject.updateTime = valueTrailListTrailListItem["UpdateTime"].asString();
+		if(!valueTrailListTrailListItem["StartLoggingTime"].isNull())
+			trailListObject.startLoggingTime = valueTrailListTrailListItem["StartLoggingTime"].asString();
+		if(!valueTrailListTrailListItem["StopLoggingTime"].isNull())
+			trailListObject.stopLoggingTime = valueTrailListTrailListItem["StopLoggingTime"].asString();
+		if(!valueTrailListTrailListItem["MnsTopicArn"].isNull())
+			trailListObject.mnsTopicArn = valueTrailListTrailListItem["MnsTopicArn"].asString();
+		if(!valueTrailListTrailListItem["IsOrganizationTrail"].isNull())
+			trailListObject.isOrganizationTrail = valueTrailListTrailListItem["IsOrganizationTrail"].asString() == "true";
+		trailList_.push_back(trailListObject);
+	}
+
+}
+
+std::vector<DescribeTrailsResult::TrailListItem> DescribeTrailsResult::getTrailList()const
+{
+	return trailList_;
+}
+

+ 62 - 0
actiontrail/src/model/GetTrailStatusRequest.cc

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

+ 79 - 0
actiontrail/src/model/GetTrailStatusResult.cc

@@ -0,0 +1,79 @@
+/*
+ * 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/GetTrailStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+GetTrailStatusResult::GetTrailStatusResult() :
+	ServiceResult()
+{}
+
+GetTrailStatusResult::GetTrailStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetTrailStatusResult::~GetTrailStatusResult()
+{}
+
+void GetTrailStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["IsLogging"].isNull())
+		isLogging_ = value["IsLogging"].asString() == "true";
+	if(!value["LatestDeliveryError"].isNull())
+		latestDeliveryError_ = value["LatestDeliveryError"].asString();
+	if(!value["LatestDeliveryTime"].isNull())
+		latestDeliveryTime_ = value["LatestDeliveryTime"].asString();
+	if(!value["StartLoggingTime"].isNull())
+		startLoggingTime_ = value["StartLoggingTime"].asString();
+	if(!value["StopLoggingTime"].isNull())
+		stopLoggingTime_ = value["StopLoggingTime"].asString();
+
+}
+
+std::string GetTrailStatusResult::getStartLoggingTime()const
+{
+	return startLoggingTime_;
+}
+
+std::string GetTrailStatusResult::getLatestDeliveryError()const
+{
+	return latestDeliveryError_;
+}
+
+std::string GetTrailStatusResult::getStopLoggingTime()const
+{
+	return stopLoggingTime_;
+}
+
+bool GetTrailStatusResult::getIsLogging()const
+{
+	return isLogging_;
+}
+
+std::string GetTrailStatusResult::getLatestDeliveryTime()const
+{
+	return latestDeliveryTime_;
+}
+

+ 115 - 21
actiontrail/src/model/LookupEventsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Actiontrail::Model::LookupEventsRequest;
 
 LookupEventsRequest::LookupEventsRequest() :
-	RpcServiceRequest("actiontrail", "2020-07-06", "LookupEvents")
+	RpcServiceRequest("actiontrail", "2017-12-04", "LookupEvents")
 {
 	setMethod(HttpRequest::Method::Post);
 }
@@ -27,15 +27,15 @@ LookupEventsRequest::LookupEventsRequest() :
 LookupEventsRequest::~LookupEventsRequest()
 {}
 
-std::string LookupEventsRequest::getEndTime()const
+std::string LookupEventsRequest::getRequest()const
 {
-	return endTime_;
+	return request_;
 }
 
-void LookupEventsRequest::setEndTime(const std::string& endTime)
+void LookupEventsRequest::setRequest(const std::string& request)
 {
-	endTime_ = endTime;
-	setParameter("EndTime", endTime);
+	request_ = request;
+	setParameter("Request", request);
 }
 
 std::string LookupEventsRequest::getStartTime()const
@@ -49,6 +49,28 @@ void LookupEventsRequest::setStartTime(const std::string& startTime)
 	setParameter("StartTime", startTime);
 }
 
+std::string LookupEventsRequest::getEventName()const
+{
+	return eventName_;
+}
+
+void LookupEventsRequest::setEventName(const std::string& eventName)
+{
+	eventName_ = eventName;
+	setParameter("EventName", eventName);
+}
+
+std::string LookupEventsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void LookupEventsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
 std::string LookupEventsRequest::getNextToken()const
 {
 	return nextToken_;
@@ -60,20 +82,70 @@ void LookupEventsRequest::setNextToken(const std::string& nextToken)
 	setParameter("NextToken", nextToken);
 }
 
-std::vector<LookupEventsRequest::LookupAttribute> LookupEventsRequest::getLookupAttribute()const
+std::string LookupEventsRequest::getServiceName()const
+{
+	return serviceName_;
+}
+
+void LookupEventsRequest::setServiceName(const std::string& serviceName)
+{
+	serviceName_ = serviceName;
+	setParameter("ServiceName", serviceName);
+}
+
+std::string LookupEventsRequest::getEvent()const
+{
+	return event_;
+}
+
+void LookupEventsRequest::setEvent(const std::string& event)
+{
+	event_ = event;
+	setParameter("Event", event);
+}
+
+std::string LookupEventsRequest::getEventAccessKeyId()const
+{
+	return eventAccessKeyId_;
+}
+
+void LookupEventsRequest::setEventAccessKeyId(const std::string& eventAccessKeyId)
 {
-	return lookupAttribute_;
+	eventAccessKeyId_ = eventAccessKeyId;
+	setParameter("EventAccessKeyId", eventAccessKeyId);
 }
 
-void LookupEventsRequest::setLookupAttribute(const std::vector<LookupAttribute>& lookupAttribute)
+std::string LookupEventsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void LookupEventsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string LookupEventsRequest::getEventRW()const
+{
+	return eventRW_;
+}
+
+void LookupEventsRequest::setEventRW(const std::string& eventRW)
+{
+	eventRW_ = eventRW;
+	setParameter("EventRW", eventRW);
+}
+
+std::string LookupEventsRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void LookupEventsRequest::setResourceType(const std::string& resourceType)
 {
-	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);
-	}
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
 }
 
 std::string LookupEventsRequest::getMaxResults()const
@@ -87,14 +159,36 @@ void LookupEventsRequest::setMaxResults(const std::string& maxResults)
 	setParameter("MaxResults", maxResults);
 }
 
-std::string LookupEventsRequest::getDirection()const
+std::string LookupEventsRequest::getEventType()const
+{
+	return eventType_;
+}
+
+void LookupEventsRequest::setEventType(const std::string& eventType)
+{
+	eventType_ = eventType;
+	setParameter("EventType", eventType);
+}
+
+std::string LookupEventsRequest::getResourceName()const
+{
+	return resourceName_;
+}
+
+void LookupEventsRequest::setResourceName(const std::string& resourceName)
+{
+	resourceName_ = resourceName;
+	setParameter("ResourceName", resourceName);
+}
+
+std::string LookupEventsRequest::getUser()const
 {
-	return direction_;
+	return user_;
 }
 
-void LookupEventsRequest::setDirection(const std::string& direction)
+void LookupEventsRequest::setUser(const std::string& user)
 {
-	direction_ = direction;
-	setParameter("Direction", direction);
+	user_ = user;
+	setParameter("User", user);
 }
 

+ 51 - 0
actiontrail/src/model/StartLoggingRequest.cc

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

+ 58 - 0
actiontrail/src/model/StartLoggingResult.cc

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

+ 51 - 0
actiontrail/src/model/StopLoggingRequest.cc

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

+ 44 - 0
actiontrail/src/model/StopLoggingResult.cc

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

+ 139 - 0
actiontrail/src/model/UpdateTrailRequest.cc

@@ -0,0 +1,139 @@
+/*
+ * 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", "2017-12-04", "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);
+}
+
+std::string UpdateTrailRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void UpdateTrailRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string UpdateTrailRequest::getSlsWriteRoleArn()const
+{
+	return slsWriteRoleArn_;
+}
+
+void UpdateTrailRequest::setSlsWriteRoleArn(const std::string& slsWriteRoleArn)
+{
+	slsWriteRoleArn_ = slsWriteRoleArn;
+	setParameter("SlsWriteRoleArn", slsWriteRoleArn);
+}
+
+std::string UpdateTrailRequest::getOssKeyPrefix()const
+{
+	return ossKeyPrefix_;
+}
+
+void UpdateTrailRequest::setOssKeyPrefix(const std::string& ossKeyPrefix)
+{
+	ossKeyPrefix_ = ossKeyPrefix;
+	setParameter("OssKeyPrefix", ossKeyPrefix);
+}
+
+std::string UpdateTrailRequest::getMnsTopicArn()const
+{
+	return mnsTopicArn_;
+}
+
+void UpdateTrailRequest::setMnsTopicArn(const std::string& mnsTopicArn)
+{
+	mnsTopicArn_ = mnsTopicArn;
+	setParameter("MnsTopicArn", mnsTopicArn);
+}
+
+std::string UpdateTrailRequest::getRoleName()const
+{
+	return roleName_;
+}
+
+void UpdateTrailRequest::setRoleName(const std::string& roleName)
+{
+	roleName_ = roleName;
+	setParameter("RoleName", roleName);
+}
+
+std::string UpdateTrailRequest::getEventRW()const
+{
+	return eventRW_;
+}
+
+void UpdateTrailRequest::setEventRW(const std::string& eventRW)
+{
+	eventRW_ = eventRW;
+	setParameter("EventRW", eventRW);
+}
+
+std::string UpdateTrailRequest::getName()const
+{
+	return name_;
+}
+
+void UpdateTrailRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string UpdateTrailRequest::getOssBucketName()const
+{
+	return ossBucketName_;
+}
+
+void UpdateTrailRequest::setOssBucketName(const std::string& ossBucketName)
+{
+	ossBucketName_ = ossBucketName;
+	setParameter("OssBucketName", ossBucketName);
+}
+
+std::string UpdateTrailRequest::getTrailRegion()const
+{
+	return trailRegion_;
+}
+
+void UpdateTrailRequest::setTrailRegion(const std::string& trailRegion)
+{
+	trailRegion_ = trailRegion;
+	setParameter("TrailRegion", trailRegion);
+}
+

+ 114 - 0
actiontrail/src/model/UpdateTrailResult.cc

@@ -0,0 +1,114 @@
+/*
+ * 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/UpdateTrailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+UpdateTrailResult::UpdateTrailResult() :
+	ServiceResult()
+{}
+
+UpdateTrailResult::UpdateTrailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateTrailResult::~UpdateTrailResult()
+{}
+
+void UpdateTrailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Name"].isNull())
+		name_ = value["Name"].asString();
+	if(!value["HomeRegion"].isNull())
+		homeRegion_ = value["HomeRegion"].asString();
+	if(!value["OssBucketName"].isNull())
+		ossBucketName_ = value["OssBucketName"].asString();
+	if(!value["OssKeyPrefix"].isNull())
+		ossKeyPrefix_ = value["OssKeyPrefix"].asString();
+	if(!value["RoleName"].isNull())
+		roleName_ = value["RoleName"].asString();
+	if(!value["SlsProjectArn"].isNull())
+		slsProjectArn_ = value["SlsProjectArn"].asString();
+	if(!value["SlsWriteRoleArn"].isNull())
+		slsWriteRoleArn_ = value["SlsWriteRoleArn"].asString();
+	if(!value["EventRW"].isNull())
+		eventRW_ = value["EventRW"].asString();
+	if(!value["TrailRegion"].isNull())
+		trailRegion_ = value["TrailRegion"].asString();
+	if(!value["MnsTopicArn"].isNull())
+		mnsTopicArn_ = value["MnsTopicArn"].asString();
+
+}
+
+std::string UpdateTrailResult::getSlsProjectArn()const
+{
+	return slsProjectArn_;
+}
+
+std::string UpdateTrailResult::getMnsTopicArn()const
+{
+	return mnsTopicArn_;
+}
+
+std::string UpdateTrailResult::getRoleName()const
+{
+	return roleName_;
+}
+
+std::string UpdateTrailResult::getEventRW()const
+{
+	return eventRW_;
+}
+
+std::string UpdateTrailResult::getHomeRegion()const
+{
+	return homeRegion_;
+}
+
+std::string UpdateTrailResult::getOssKeyPrefix()const
+{
+	return ossKeyPrefix_;
+}
+
+std::string UpdateTrailResult::getOssBucketName()const
+{
+	return ossBucketName_;
+}
+
+std::string UpdateTrailResult::getSlsWriteRoleArn()const
+{
+	return slsWriteRoleArn_;
+}
+
+std::string UpdateTrailResult::getTrailRegion()const
+{
+	return trailRegion_;
+}
+
+std::string UpdateTrailResult::getName()const
+{
+	return name_;
+}
+