Browse Source

Update DescribeTrails Response.

sdk-team 5 năm trước cách đây
mục cha
commit
5fa60dfc8c
41 tập tin đã thay đổi với 3205 bổ sung0 xóa
  1. 3 0
      CHANGELOG
  2. 118 0
      actiontrail/CMakeLists.txt
  3. 118 0
      actiontrail/include/alibabacloud/actiontrail/ActiontrailClient.h
  4. 32 0
      actiontrail/include/alibabacloud/actiontrail/ActiontrailExport.h
  5. 78 0
      actiontrail/include/alibabacloud/actiontrail/model/CreateTrailRequest.h
  6. 69 0
      actiontrail/include/alibabacloud/actiontrail/model/CreateTrailResult.h
  7. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailRequest.h
  8. 49 0
      actiontrail/include/alibabacloud/actiontrail/model/DeleteTrailResult.h
  9. 48 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsRequest.h
  10. 59 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeRegionsResult.h
  11. 54 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsRequest.h
  12. 70 0
      actiontrail/include/alibabacloud/actiontrail/model/DescribeTrailsResult.h
  13. 54 0
      actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusRequest.h
  14. 59 0
      actiontrail/include/alibabacloud/actiontrail/model/GetTrailStatusResult.h
  15. 90 0
      actiontrail/include/alibabacloud/actiontrail/model/LookupEventsRequest.h
  16. 57 0
      actiontrail/include/alibabacloud/actiontrail/model/LookupEventsResult.h
  17. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/StartLoggingRequest.h
  18. 53 0
      actiontrail/include/alibabacloud/actiontrail/model/StartLoggingResult.h
  19. 51 0
      actiontrail/include/alibabacloud/actiontrail/model/StopLoggingRequest.h
  20. 49 0
      actiontrail/include/alibabacloud/actiontrail/model/StopLoggingResult.h
  21. 75 0
      actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailRequest.h
  22. 69 0
      actiontrail/include/alibabacloud/actiontrail/model/UpdateTrailResult.h
  23. 377 0
      actiontrail/src/ActiontrailClient.cc
  24. 150 0
      actiontrail/src/model/CreateTrailRequest.cc
  25. 114 0
      actiontrail/src/model/CreateTrailResult.cc
  26. 51 0
      actiontrail/src/model/DeleteTrailRequest.cc
  27. 44 0
      actiontrail/src/model/DeleteTrailResult.cc
  28. 40 0
      actiontrail/src/model/DescribeRegionsRequest.cc
  29. 58 0
      actiontrail/src/model/DescribeRegionsResult.cc
  30. 62 0
      actiontrail/src/model/DescribeTrailsRequest.cc
  31. 87 0
      actiontrail/src/model/DescribeTrailsResult.cc
  32. 62 0
      actiontrail/src/model/GetTrailStatusRequest.cc
  33. 79 0
      actiontrail/src/model/GetTrailStatusResult.cc
  34. 194 0
      actiontrail/src/model/LookupEventsRequest.cc
  35. 73 0
      actiontrail/src/model/LookupEventsResult.cc
  36. 51 0
      actiontrail/src/model/StartLoggingRequest.cc
  37. 58 0
      actiontrail/src/model/StartLoggingResult.cc
  38. 51 0
      actiontrail/src/model/StopLoggingRequest.cc
  39. 44 0
      actiontrail/src/model/StopLoggingResult.cc
  40. 139 0
      actiontrail/src/model/UpdateTrailRequest.cc
  41. 114 0
      actiontrail/src/model/UpdateTrailResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-11-12 Version: patch
+- Update DescribeTrails Response.
+
 2020-11-05 Version: patch
 - Support modifyInstnaceType.
 

+ 118 - 0
actiontrail/CMakeLists.txt

@@ -0,0 +1,118 @@
+#
+# 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.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(actiontrail_public_header 
+	include/alibabacloud/actiontrail/ActiontrailClient.h
+	include/alibabacloud/actiontrail/ActiontrailExport.h )
+
+set(actiontrail_public_header_model 
+	include/alibabacloud/actiontrail/model/CreateTrailRequest.h
+	include/alibabacloud/actiontrail/model/CreateTrailResult.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/LookupEventsRequest.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/CreateTrailRequest.cc
+	src/model/CreateTrailResult.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/LookupEventsRequest.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}
+	${actiontrail_public_header_model}
+	${actiontrail_src})
+
+set_target_properties(actiontrail
+	PROPERTIES
+	LINKER_LANGUAGE CXX
+	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}actiontrail
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(actiontrail
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_ACTIONTRAIL_LIBRARY)
+endif()
+
+target_include_directories(actiontrail
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(actiontrail
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(actiontrail
+		jsoncpp)
+	target_include_directories(actiontrail
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(actiontrail
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(actiontrail
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(actiontrail
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(actiontrail
+		jsoncpp)
+endif()
+
+install(FILES ${actiontrail_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/actiontrail)
+install(FILES ${actiontrail_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/actiontrail/model)
+install(TARGETS actiontrail
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

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

@@ -0,0 +1,118 @@
+/*
+ * 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_ACTIONTRAILCLIENT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_ACTIONTRAILCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "ActiontrailExport.h"
+#include "model/CreateTrailRequest.h"
+#include "model/CreateTrailResult.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/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
+{
+	namespace Actiontrail
+	{
+		class ALIBABACLOUD_ACTIONTRAIL_EXPORT ActiontrailClient : public RpcServiceClient
+		{
+		public:
+			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::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::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);
+			ActiontrailClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~ActiontrailClient();
+			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;
+			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;
+			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_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_ACTIONTRAIL_ACTIONTRAILCLIENT_H_

+ 32 - 0
actiontrail/include/alibabacloud/actiontrail/ActiontrailExport.h

@@ -0,0 +1,32 @@
+/*
+ * 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_ACTIONTRAILEXPORT_H_
+#define ALIBABACLOUD_ACTIONTRAIL_ACTIONTRAILEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_ACTIONTRAIL_LIBRARY)
+#		define ALIBABACLOUD_ACTIONTRAIL_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_ACTIONTRAIL_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_ACTIONTRAIL_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_ACTIONTRAIL_ACTIONTRAILEXPORT_H_

+ 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_

+ 90 - 0
actiontrail/include/alibabacloud/actiontrail/model/LookupEventsRequest.h

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
+#define ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/actiontrail/ActiontrailExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Actiontrail
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACTIONTRAIL_EXPORT LookupEventsRequest : public RpcServiceRequest
+			{
+
+			public:
+				LookupEventsRequest();
+				~LookupEventsRequest();
+
+				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::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 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 request_;
+				std::string startTime_;
+				std::string eventName_;
+				std::string accessKeyId_;
+				std::string nextToken_;
+				std::string serviceName_;
+				std::string event_;
+				std::string eventAccessKeyId_;
+				std::string endTime_;
+				std::string eventRW_;
+				std::string resourceType_;
+				std::string maxResults_;
+				std::string eventType_;
+				std::string resourceName_;
+				std::string user_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACTIONTRAIL_MODEL_LOOKUPEVENTSREQUEST_H_

+ 57 - 0
actiontrail/include/alibabacloud/actiontrail/model/LookupEventsResult.h

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

+ 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_

+ 377 - 0
actiontrail/src/ActiontrailClient.cc

@@ -0,0 +1,377 @@
+/*
+ * 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/ActiontrailClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "Actiontrail";
+}
+
+ActiontrailClient::ActiontrailClient(const Credentials &credentials, const ClientConfiguration &configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "actiontrail");
+}
+
+ActiontrailClient::ActiontrailClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "actiontrail");
+}
+
+ActiontrailClient::ActiontrailClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "actiontrail");
+}
+
+ActiontrailClient::~ActiontrailClient()
+{}
+
+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::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::LookupEventsOutcome ActiontrailClient::lookupEvents(const LookupEventsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return LookupEventsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return LookupEventsOutcome(LookupEventsResult(outcome.result()));
+	else
+		return LookupEventsOutcome(outcome.error());
+}
+
+void ActiontrailClient::lookupEventsAsync(const LookupEventsRequest& request, const LookupEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, lookupEvents(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ActiontrailClient::LookupEventsOutcomeCallable ActiontrailClient::lookupEventsCallable(const LookupEventsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<LookupEventsOutcome()>>(
+			[this, request]()
+			{
+			return this->lookupEvents(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	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_;
+}
+

+ 194 - 0
actiontrail/src/model/LookupEventsRequest.cc

@@ -0,0 +1,194 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/actiontrail/model/LookupEventsRequest.h>
+
+using AlibabaCloud::Actiontrail::Model::LookupEventsRequest;
+
+LookupEventsRequest::LookupEventsRequest() :
+	RpcServiceRequest("actiontrail", "2017-12-04", "LookupEvents")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+LookupEventsRequest::~LookupEventsRequest()
+{}
+
+std::string LookupEventsRequest::getRequest()const
+{
+	return request_;
+}
+
+void LookupEventsRequest::setRequest(const std::string& request)
+{
+	request_ = request;
+	setParameter("Request", request);
+}
+
+std::string LookupEventsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void LookupEventsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = 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_;
+}
+
+void LookupEventsRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+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)
+{
+	eventAccessKeyId_ = eventAccessKeyId;
+	setParameter("EventAccessKeyId", eventAccessKeyId);
+}
+
+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)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+std::string LookupEventsRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void LookupEventsRequest::setMaxResults(const std::string& maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", maxResults);
+}
+
+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 user_;
+}
+
+void LookupEventsRequest::setUser(const std::string& user)
+{
+	user_ = user;
+	setParameter("User", user);
+}
+

+ 73 - 0
actiontrail/src/model/LookupEventsResult.cc

@@ -0,0 +1,73 @@
+/*
+ * 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/LookupEventsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Actiontrail;
+using namespace AlibabaCloud::Actiontrail::Model;
+
+LookupEventsResult::LookupEventsResult() :
+	ServiceResult()
+{}
+
+LookupEventsResult::LookupEventsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+LookupEventsResult::~LookupEventsResult()
+{}
+
+void LookupEventsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allEvents = value["Events"]["Events"];
+	for (const auto &item : allEvents)
+		events_.push_back(item.asString());
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+
+}
+
+std::string LookupEventsResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+std::string LookupEventsResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::vector<std::string> LookupEventsResult::getEvents()const
+{
+	return events_;
+}
+
+std::string LookupEventsResult::getStartTime()const
+{
+	return startTime_;
+}
+

+ 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_;
+}
+