فهرست منبع

ACTIONTRAIL SDK Auto Released By zhenhuan,Version:1.53.14

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 سال پیش
والد
کامیت
a6c4713c85

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-03-06 Version: 1.53.14
+1, Release ActionTrail Go API.
+
 2019-03-06 Version: 1.53.13
 1, Update Service Code.
 

+ 81 - 0
services/actiontrail/client.go

@@ -0,0 +1,81 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 117 - 0
services/actiontrail/create_trail.go

@@ -0,0 +1,117 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateTrail invokes the actiontrail.CreateTrail API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/createtrail.html
+func (client *Client) CreateTrail(request *CreateTrailRequest) (response *CreateTrailResponse, err error) {
+	response = CreateCreateTrailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateTrailWithChan invokes the actiontrail.CreateTrail API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/createtrail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTrailWithChan(request *CreateTrailRequest) (<-chan *CreateTrailResponse, <-chan error) {
+	responseChan := make(chan *CreateTrailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateTrail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateTrailWithCallback invokes the actiontrail.CreateTrail API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/createtrail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTrailWithCallback(request *CreateTrailRequest, callback func(response *CreateTrailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateTrailResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateTrail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateTrailRequest is the request struct for api CreateTrail
+type CreateTrailRequest struct {
+	*requests.RpcRequest
+	SlsProjectArn   string `position:"Query" name:"SlsProjectArn"`
+	SlsWriteRoleArn string `position:"Query" name:"SlsWriteRoleArn"`
+	RoleName        string `position:"Query" name:"RoleName"`
+	Name            string `position:"Query" name:"Name"`
+	OssBucketName   string `position:"Query" name:"OssBucketName"`
+	OssKeyPrefix    string `position:"Query" name:"OssKeyPrefix"`
+	EventRW         string `position:"Query" name:"EventRW"`
+}
+
+// CreateTrailResponse is the response struct for api CreateTrail
+type CreateTrailResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	Name            string `json:"Name" xml:"Name"`
+	HomeRegion      string `json:"HomeRegion" xml:"HomeRegion"`
+	OssBucketName   string `json:"OssBucketName" xml:"OssBucketName"`
+	OssKeyPrefix    string `json:"OssKeyPrefix" xml:"OssKeyPrefix"`
+	RoleName        string `json:"RoleName" xml:"RoleName"`
+	SlsProjectArn   string `json:"SlsProjectArn" xml:"SlsProjectArn"`
+	SlsWriteRoleArn string `json:"SlsWriteRoleArn" xml:"SlsWriteRoleArn"`
+	EventRW         string `json:"EventRW" xml:"EventRW"`
+}
+
+// CreateCreateTrailRequest creates a request to invoke CreateTrail API
+func CreateCreateTrailRequest() (request *CreateTrailRequest) {
+	request = &CreateTrailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "CreateTrail", "", "")
+	return
+}
+
+// CreateCreateTrailResponse creates a response to parse from CreateTrail response
+func CreateCreateTrailResponse() (response *CreateTrailResponse) {
+	response = &CreateTrailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/actiontrail/delete_trail.go

@@ -0,0 +1,103 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteTrail invokes the actiontrail.DeleteTrail API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/deletetrail.html
+func (client *Client) DeleteTrail(request *DeleteTrailRequest) (response *DeleteTrailResponse, err error) {
+	response = CreateDeleteTrailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTrailWithChan invokes the actiontrail.DeleteTrail API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/deletetrail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTrailWithChan(request *DeleteTrailRequest) (<-chan *DeleteTrailResponse, <-chan error) {
+	responseChan := make(chan *DeleteTrailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTrail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTrailWithCallback invokes the actiontrail.DeleteTrail API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/deletetrail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTrailWithCallback(request *DeleteTrailRequest, callback func(response *DeleteTrailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTrailResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTrail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTrailRequest is the request struct for api DeleteTrail
+type DeleteTrailRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// DeleteTrailResponse is the response struct for api DeleteTrail
+type DeleteTrailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteTrailRequest creates a request to invoke DeleteTrail API
+func CreateDeleteTrailRequest() (request *DeleteTrailRequest) {
+	request = &DeleteTrailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "DeleteTrail", "", "")
+	return
+}
+
+// CreateDeleteTrailResponse creates a response to parse from DeleteTrail response
+func CreateDeleteTrailResponse() (response *DeleteTrailResponse) {
+	response = &DeleteTrailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/actiontrail/describe_regions.go

@@ -0,0 +1,103 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRegions invokes the actiontrail.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the actiontrail.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithChan(request *DescribeRegionsRequest) (<-chan *DescribeRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRegionsWithCallback invokes the actiontrail.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsRequest, callback func(response *DescribeRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRegionsRequest is the request struct for api DescribeRegions
+type DescribeRegionsRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Regions   Regions `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "DescribeRegions", "", "")
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/actiontrail/describe_trails.go

@@ -0,0 +1,105 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTrails invokes the actiontrail.DescribeTrails API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/describetrails.html
+func (client *Client) DescribeTrails(request *DescribeTrailsRequest) (response *DescribeTrailsResponse, err error) {
+	response = CreateDescribeTrailsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTrailsWithChan invokes the actiontrail.DescribeTrails API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/describetrails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrailsWithChan(request *DescribeTrailsRequest) (<-chan *DescribeTrailsResponse, <-chan error) {
+	responseChan := make(chan *DescribeTrailsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTrails(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTrailsWithCallback invokes the actiontrail.DescribeTrails API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/describetrails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrailsWithCallback(request *DescribeTrailsRequest, callback func(response *DescribeTrailsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTrailsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTrails(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTrailsRequest is the request struct for api DescribeTrails
+type DescribeTrailsRequest struct {
+	*requests.RpcRequest
+	NameList            string           `position:"Query" name:"NameList"`
+	IncludeShadowTrails requests.Boolean `position:"Query" name:"IncludeShadowTrails"`
+}
+
+// DescribeTrailsResponse is the response struct for api DescribeTrails
+type DescribeTrailsResponse struct {
+	*responses.BaseResponse
+	RequestId string          `json:"RequestId" xml:"RequestId"`
+	TrailList []TrailListItem `json:"TrailList" xml:"TrailList"`
+}
+
+// CreateDescribeTrailsRequest creates a request to invoke DescribeTrails API
+func CreateDescribeTrailsRequest() (request *DescribeTrailsRequest) {
+	request = &DescribeTrailsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "DescribeTrails", "", "")
+	return
+}
+
+// CreateDescribeTrailsResponse creates a response to parse from DescribeTrails response
+func CreateDescribeTrailsResponse() (response *DescribeTrailsResponse) {
+	response = &DescribeTrailsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/actiontrail/get_trail_status.go

@@ -0,0 +1,108 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetTrailStatus invokes the actiontrail.GetTrailStatus API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/gettrailstatus.html
+func (client *Client) GetTrailStatus(request *GetTrailStatusRequest) (response *GetTrailStatusResponse, err error) {
+	response = CreateGetTrailStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTrailStatusWithChan invokes the actiontrail.GetTrailStatus API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/gettrailstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTrailStatusWithChan(request *GetTrailStatusRequest) (<-chan *GetTrailStatusResponse, <-chan error) {
+	responseChan := make(chan *GetTrailStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTrailStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTrailStatusWithCallback invokes the actiontrail.GetTrailStatus API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/gettrailstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTrailStatusWithCallback(request *GetTrailStatusRequest, callback func(response *GetTrailStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTrailStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTrailStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTrailStatusRequest is the request struct for api GetTrailStatus
+type GetTrailStatusRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// GetTrailStatusResponse is the response struct for api GetTrailStatus
+type GetTrailStatusResponse struct {
+	*responses.BaseResponse
+	RequestId           string `json:"RequestId" xml:"RequestId"`
+	IsLogging           bool   `json:"IsLogging" xml:"IsLogging"`
+	LatestDeliveryError string `json:"LatestDeliveryError" xml:"LatestDeliveryError"`
+	LatestDeliveryTime  string `json:"LatestDeliveryTime" xml:"LatestDeliveryTime"`
+	StartLoggingTime    string `json:"StartLoggingTime" xml:"StartLoggingTime"`
+	StopLoggingTime     string `json:"StopLoggingTime" xml:"StopLoggingTime"`
+}
+
+// CreateGetTrailStatusRequest creates a request to invoke GetTrailStatus API
+func CreateGetTrailStatusRequest() (request *GetTrailStatusRequest) {
+	request = &GetTrailStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "GetTrailStatus", "", "")
+	return
+}
+
+// CreateGetTrailStatusResponse creates a response to parse from GetTrailStatus response
+func CreateGetTrailStatusResponse() (response *GetTrailStatusResponse) {
+	response = &GetTrailStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/actiontrail/lookup_events.go

@@ -0,0 +1,120 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// LookupEvents invokes the actiontrail.LookupEvents API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/lookupevents.html
+func (client *Client) LookupEvents(request *LookupEventsRequest) (response *LookupEventsResponse, err error) {
+	response = CreateLookupEventsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// LookupEventsWithChan invokes the actiontrail.LookupEvents API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/lookupevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) LookupEventsWithChan(request *LookupEventsRequest) (<-chan *LookupEventsResponse, <-chan error) {
+	responseChan := make(chan *LookupEventsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.LookupEvents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// LookupEventsWithCallback invokes the actiontrail.LookupEvents API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/lookupevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) LookupEventsWithCallback(request *LookupEventsRequest, callback func(response *LookupEventsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *LookupEventsResponse
+		var err error
+		defer close(result)
+		response, err = client.LookupEvents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// LookupEventsRequest is the request struct for api LookupEvents
+type LookupEventsRequest struct {
+	*requests.RpcRequest
+	Request          string `position:"Query" name:"Request"`
+	EventAccessKeyId string `position:"Query" name:"EventAccessKeyId"`
+	EndTime          string `position:"Query" name:"EndTime"`
+	EventRW          string `position:"Query" name:"EventRW"`
+	StartTime        string `position:"Query" name:"StartTime"`
+	ResourceType     string `position:"Query" name:"ResourceType"`
+	EventName        string `position:"Query" name:"EventName"`
+	NextToken        string `position:"Query" name:"NextToken"`
+	MaxResults       string `position:"Query" name:"MaxResults"`
+	EventType        string `position:"Query" name:"EventType"`
+	ServiceName      string `position:"Query" name:"ServiceName"`
+	ResourceName     string `position:"Query" name:"ResourceName"`
+	Event            string `position:"Query" name:"Event"`
+	User             string `position:"Query" name:"User"`
+}
+
+// LookupEventsResponse is the response struct for api LookupEvents
+type LookupEventsResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	NextToken string   `json:"NextToken" xml:"NextToken"`
+	StartTime string   `json:"StartTime" xml:"StartTime"`
+	EndTime   string   `json:"EndTime" xml:"EndTime"`
+	Events    []string `json:"Events" xml:"Events"`
+}
+
+// CreateLookupEventsRequest creates a request to invoke LookupEvents API
+func CreateLookupEventsRequest() (request *LookupEventsRequest) {
+	request = &LookupEventsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "LookupEvents", "", "")
+	return
+}
+
+// CreateLookupEventsResponse creates a response to parse from LookupEvents response
+func CreateLookupEventsResponse() (response *LookupEventsResponse) {
+	response = &LookupEventsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/actiontrail/start_logging.go

@@ -0,0 +1,105 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StartLogging invokes the actiontrail.StartLogging API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/startlogging.html
+func (client *Client) StartLogging(request *StartLoggingRequest) (response *StartLoggingResponse, err error) {
+	response = CreateStartLoggingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartLoggingWithChan invokes the actiontrail.StartLogging API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/startlogging.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartLoggingWithChan(request *StartLoggingRequest) (<-chan *StartLoggingResponse, <-chan error) {
+	responseChan := make(chan *StartLoggingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartLogging(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartLoggingWithCallback invokes the actiontrail.StartLogging API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/startlogging.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartLoggingWithCallback(request *StartLoggingRequest, callback func(response *StartLoggingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartLoggingResponse
+		var err error
+		defer close(result)
+		response, err = client.StartLogging(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartLoggingRequest is the request struct for api StartLogging
+type StartLoggingRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// StartLoggingResponse is the response struct for api StartLogging
+type StartLoggingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Param     string `json:"Param" xml:"Param"`
+	Result    string `json:"Result" xml:"Result"`
+}
+
+// CreateStartLoggingRequest creates a request to invoke StartLogging API
+func CreateStartLoggingRequest() (request *StartLoggingRequest) {
+	request = &StartLoggingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "StartLogging", "", "")
+	return
+}
+
+// CreateStartLoggingResponse creates a response to parse from StartLogging response
+func CreateStartLoggingResponse() (response *StartLoggingResponse) {
+	response = &StartLoggingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/actiontrail/stop_logging.go

@@ -0,0 +1,105 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// StopLogging invokes the actiontrail.StopLogging API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/stoplogging.html
+func (client *Client) StopLogging(request *StopLoggingRequest) (response *StopLoggingResponse, err error) {
+	response = CreateStopLoggingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopLoggingWithChan invokes the actiontrail.StopLogging API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/stoplogging.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopLoggingWithChan(request *StopLoggingRequest) (<-chan *StopLoggingResponse, <-chan error) {
+	responseChan := make(chan *StopLoggingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopLogging(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopLoggingWithCallback invokes the actiontrail.StopLogging API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/stoplogging.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopLoggingWithCallback(request *StopLoggingRequest, callback func(response *StopLoggingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopLoggingResponse
+		var err error
+		defer close(result)
+		response, err = client.StopLogging(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopLoggingRequest is the request struct for api StopLogging
+type StopLoggingRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// StopLoggingResponse is the response struct for api StopLogging
+type StopLoggingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Param     string `json:"Param" xml:"Param"`
+	Result    string `json:"Result" xml:"Result"`
+}
+
+// CreateStopLoggingRequest creates a request to invoke StopLogging API
+func CreateStopLoggingRequest() (request *StopLoggingRequest) {
+	request = &StopLoggingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "StopLogging", "", "")
+	return
+}
+
+// CreateStopLoggingResponse creates a response to parse from StopLogging response
+func CreateStopLoggingResponse() (response *StopLoggingResponse) {
+	response = &StopLoggingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/actiontrail/struct_events.go

@@ -0,0 +1,21 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Events is a nested struct in actiontrail response
+type Events struct {
+	Events []string `json:"Events" xml:"Events"`
+}

+ 21 - 0
services/actiontrail/struct_region.go

@@ -0,0 +1,21 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Region is a nested struct in actiontrail response
+type Region struct {
+	RegionItem []RegionItem `json:"RegionItem" xml:"RegionItem"`
+}

+ 21 - 0
services/actiontrail/struct_region_item.go

@@ -0,0 +1,21 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// RegionItem is a nested struct in actiontrail response
+type RegionItem struct {
+	RegionId string `json:"RegionId" xml:"RegionId"`
+}

+ 21 - 0
services/actiontrail/struct_regions.go

@@ -0,0 +1,21 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Regions is a nested struct in actiontrail response
+type Regions struct {
+	Region []RegionItem `json:"Region" xml:"Region"`
+}

+ 21 - 0
services/actiontrail/struct_trail_list.go

@@ -0,0 +1,21 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TrailList is a nested struct in actiontrail response
+type TrailList struct {
+	TrailListItem []TrailListItem `json:"TrailListItem" xml:"TrailListItem"`
+}

+ 32 - 0
services/actiontrail/struct_trail_list_item.go

@@ -0,0 +1,32 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TrailListItem is a nested struct in actiontrail response
+type TrailListItem struct {
+	Name                      string `json:"Name" xml:"Name"`
+	HomeRegion                string `json:"HomeRegion" xml:"HomeRegion"`
+	RoleName                  string `json:"RoleName" xml:"RoleName"`
+	Status                    string `json:"Status" xml:"Status"`
+	IncludeGlobalServiceEvent string `json:"IncludeGlobalServiceEvent" xml:"IncludeGlobalServiceEvent"`
+	OssBucketName             string `json:"OssBucketName" xml:"OssBucketName"`
+	OssKeyPrefix              string `json:"OssKeyPrefix" xml:"OssKeyPrefix"`
+	Region                    string `json:"Region" xml:"Region"`
+	EventRW                   string `json:"EventRW" xml:"EventRW"`
+	Type                      string `json:"Type" xml:"Type"`
+	SlsWriteRoleArn           string `json:"SlsWriteRoleArn" xml:"SlsWriteRoleArn"`
+	SlsProjectArn             string `json:"SlsProjectArn" xml:"SlsProjectArn"`
+}

+ 119 - 0
services/actiontrail/update_trail.go

@@ -0,0 +1,119 @@
+package actiontrail
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateTrail invokes the actiontrail.UpdateTrail API synchronously
+// api document: https://help.aliyun.com/api/actiontrail/updatetrail.html
+func (client *Client) UpdateTrail(request *UpdateTrailRequest) (response *UpdateTrailResponse, err error) {
+	response = CreateUpdateTrailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateTrailWithChan invokes the actiontrail.UpdateTrail API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/updatetrail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateTrailWithChan(request *UpdateTrailRequest) (<-chan *UpdateTrailResponse, <-chan error) {
+	responseChan := make(chan *UpdateTrailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateTrail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateTrailWithCallback invokes the actiontrail.UpdateTrail API asynchronously
+// api document: https://help.aliyun.com/api/actiontrail/updatetrail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateTrailWithCallback(request *UpdateTrailRequest, callback func(response *UpdateTrailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateTrailResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateTrail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateTrailRequest is the request struct for api UpdateTrail
+type UpdateTrailRequest struct {
+	*requests.RpcRequest
+	SlsProjectArn   string `position:"Query" name:"SlsProjectArn"`
+	SlsWriteRoleArn string `position:"Query" name:"SlsWriteRoleArn"`
+	RoleName        string `position:"Query" name:"RoleName"`
+	Name            string `position:"Query" name:"Name"`
+	OssBucketName   string `position:"Query" name:"OssBucketName"`
+	OssKeyPrefix    string `position:"Query" name:"OssKeyPrefix"`
+	EventRW         string `position:"Query" name:"EventRW"`
+}
+
+// UpdateTrailResponse is the response struct for api UpdateTrail
+type UpdateTrailResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	Param           string `json:"Param" xml:"Param"`
+	Result          string `json:"Result" xml:"Result"`
+	Name            string `json:"Name" xml:"Name"`
+	HomeRegion      string `json:"HomeRegion" xml:"HomeRegion"`
+	OssBucketName   string `json:"OssBucketName" xml:"OssBucketName"`
+	OssKeyPrefix    string `json:"OssKeyPrefix" xml:"OssKeyPrefix"`
+	RoleName        string `json:"RoleName" xml:"RoleName"`
+	SlsProjectArn   string `json:"SlsProjectArn" xml:"SlsProjectArn"`
+	SlsWriteRoleArn string `json:"SlsWriteRoleArn" xml:"SlsWriteRoleArn"`
+	EventRW         string `json:"EventRW" xml:"EventRW"`
+}
+
+// CreateUpdateTrailRequest creates a request to invoke UpdateTrail API
+func CreateUpdateTrailRequest() (request *UpdateTrailRequest) {
+	request = &UpdateTrailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Actiontrail", "2017-12-04", "UpdateTrail", "", "")
+	return
+}
+
+// CreateUpdateTrailResponse creates a response to parse from UpdateTrail response
+func CreateUpdateTrailResponse() (response *UpdateTrailResponse) {
+	response = &UpdateTrailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}