// Code generated by mockery v1.0.0. DO NOT EDIT.

package mocks

import (
	cloudtrail "github.com/aws/aws-sdk-go/service/cloudtrail"

	context "context"

	mock "github.com/stretchr/testify/mock"

	request "github.com/aws/aws-sdk-go/aws/request"
)

// CloudTrailAPI is an autogenerated mock type for the CloudTrailAPI type
type CloudTrailAPI struct {
	mock.Mock
}

// AddTags provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) AddTags(_a0 *cloudtrail.AddTagsInput) (*cloudtrail.AddTagsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.AddTagsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.AddTagsInput) *cloudtrail.AddTagsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.AddTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.AddTagsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// AddTagsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) AddTagsRequest(_a0 *cloudtrail.AddTagsInput) (*request.Request, *cloudtrail.AddTagsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.AddTagsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.AddTagsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.AddTagsInput) *cloudtrail.AddTagsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.AddTagsOutput)
		}
	}

	return r0, r1
}

// AddTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) AddTagsWithContext(_a0 context.Context, _a1 *cloudtrail.AddTagsInput, _a2 ...request.Option) (*cloudtrail.AddTagsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.AddTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.AddTagsInput, ...request.Option) *cloudtrail.AddTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.AddTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.AddTagsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CancelQuery provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) CancelQuery(_a0 *cloudtrail.CancelQueryInput) (*cloudtrail.CancelQueryOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.CancelQueryOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.CancelQueryInput) *cloudtrail.CancelQueryOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.CancelQueryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.CancelQueryInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CancelQueryRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) CancelQueryRequest(_a0 *cloudtrail.CancelQueryInput) (*request.Request, *cloudtrail.CancelQueryOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.CancelQueryInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.CancelQueryOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.CancelQueryInput) *cloudtrail.CancelQueryOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.CancelQueryOutput)
		}
	}

	return r0, r1
}

// CancelQueryWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) CancelQueryWithContext(_a0 context.Context, _a1 *cloudtrail.CancelQueryInput, _a2 ...request.Option) (*cloudtrail.CancelQueryOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.CancelQueryOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.CancelQueryInput, ...request.Option) *cloudtrail.CancelQueryOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.CancelQueryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.CancelQueryInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateEventDataStore provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) CreateEventDataStore(_a0 *cloudtrail.CreateEventDataStoreInput) (*cloudtrail.CreateEventDataStoreOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.CreateEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.CreateEventDataStoreInput) *cloudtrail.CreateEventDataStoreOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.CreateEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.CreateEventDataStoreInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateEventDataStoreRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) CreateEventDataStoreRequest(_a0 *cloudtrail.CreateEventDataStoreInput) (*request.Request, *cloudtrail.CreateEventDataStoreOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.CreateEventDataStoreInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.CreateEventDataStoreOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.CreateEventDataStoreInput) *cloudtrail.CreateEventDataStoreOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.CreateEventDataStoreOutput)
		}
	}

	return r0, r1
}

// CreateEventDataStoreWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) CreateEventDataStoreWithContext(_a0 context.Context, _a1 *cloudtrail.CreateEventDataStoreInput, _a2 ...request.Option) (*cloudtrail.CreateEventDataStoreOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.CreateEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.CreateEventDataStoreInput, ...request.Option) *cloudtrail.CreateEventDataStoreOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.CreateEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.CreateEventDataStoreInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateTrail provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) CreateTrail(_a0 *cloudtrail.CreateTrailInput) (*cloudtrail.CreateTrailOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.CreateTrailOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.CreateTrailInput) *cloudtrail.CreateTrailOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.CreateTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.CreateTrailInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateTrailRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) CreateTrailRequest(_a0 *cloudtrail.CreateTrailInput) (*request.Request, *cloudtrail.CreateTrailOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.CreateTrailInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.CreateTrailOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.CreateTrailInput) *cloudtrail.CreateTrailOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.CreateTrailOutput)
		}
	}

	return r0, r1
}

// CreateTrailWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) CreateTrailWithContext(_a0 context.Context, _a1 *cloudtrail.CreateTrailInput, _a2 ...request.Option) (*cloudtrail.CreateTrailOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.CreateTrailOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.CreateTrailInput, ...request.Option) *cloudtrail.CreateTrailOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.CreateTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.CreateTrailInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteEventDataStore provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DeleteEventDataStore(_a0 *cloudtrail.DeleteEventDataStoreInput) (*cloudtrail.DeleteEventDataStoreOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.DeleteEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.DeleteEventDataStoreInput) *cloudtrail.DeleteEventDataStoreOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DeleteEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.DeleteEventDataStoreInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteEventDataStoreRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DeleteEventDataStoreRequest(_a0 *cloudtrail.DeleteEventDataStoreInput) (*request.Request, *cloudtrail.DeleteEventDataStoreOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.DeleteEventDataStoreInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.DeleteEventDataStoreOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.DeleteEventDataStoreInput) *cloudtrail.DeleteEventDataStoreOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.DeleteEventDataStoreOutput)
		}
	}

	return r0, r1
}

// DeleteEventDataStoreWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) DeleteEventDataStoreWithContext(_a0 context.Context, _a1 *cloudtrail.DeleteEventDataStoreInput, _a2 ...request.Option) (*cloudtrail.DeleteEventDataStoreOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.DeleteEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.DeleteEventDataStoreInput, ...request.Option) *cloudtrail.DeleteEventDataStoreOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DeleteEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.DeleteEventDataStoreInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteTrail provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DeleteTrail(_a0 *cloudtrail.DeleteTrailInput) (*cloudtrail.DeleteTrailOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.DeleteTrailOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.DeleteTrailInput) *cloudtrail.DeleteTrailOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DeleteTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.DeleteTrailInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteTrailRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DeleteTrailRequest(_a0 *cloudtrail.DeleteTrailInput) (*request.Request, *cloudtrail.DeleteTrailOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.DeleteTrailInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.DeleteTrailOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.DeleteTrailInput) *cloudtrail.DeleteTrailOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.DeleteTrailOutput)
		}
	}

	return r0, r1
}

// DeleteTrailWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) DeleteTrailWithContext(_a0 context.Context, _a1 *cloudtrail.DeleteTrailInput, _a2 ...request.Option) (*cloudtrail.DeleteTrailOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.DeleteTrailOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.DeleteTrailInput, ...request.Option) *cloudtrail.DeleteTrailOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DeleteTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.DeleteTrailInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeQuery provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DescribeQuery(_a0 *cloudtrail.DescribeQueryInput) (*cloudtrail.DescribeQueryOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.DescribeQueryOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.DescribeQueryInput) *cloudtrail.DescribeQueryOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DescribeQueryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.DescribeQueryInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeQueryRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DescribeQueryRequest(_a0 *cloudtrail.DescribeQueryInput) (*request.Request, *cloudtrail.DescribeQueryOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.DescribeQueryInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.DescribeQueryOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.DescribeQueryInput) *cloudtrail.DescribeQueryOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.DescribeQueryOutput)
		}
	}

	return r0, r1
}

// DescribeQueryWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) DescribeQueryWithContext(_a0 context.Context, _a1 *cloudtrail.DescribeQueryInput, _a2 ...request.Option) (*cloudtrail.DescribeQueryOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.DescribeQueryOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.DescribeQueryInput, ...request.Option) *cloudtrail.DescribeQueryOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DescribeQueryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.DescribeQueryInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeTrails provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DescribeTrails(_a0 *cloudtrail.DescribeTrailsInput) (*cloudtrail.DescribeTrailsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.DescribeTrailsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.DescribeTrailsInput) *cloudtrail.DescribeTrailsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DescribeTrailsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.DescribeTrailsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeTrailsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) DescribeTrailsRequest(_a0 *cloudtrail.DescribeTrailsInput) (*request.Request, *cloudtrail.DescribeTrailsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.DescribeTrailsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.DescribeTrailsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.DescribeTrailsInput) *cloudtrail.DescribeTrailsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.DescribeTrailsOutput)
		}
	}

	return r0, r1
}

// DescribeTrailsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) DescribeTrailsWithContext(_a0 context.Context, _a1 *cloudtrail.DescribeTrailsInput, _a2 ...request.Option) (*cloudtrail.DescribeTrailsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.DescribeTrailsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.DescribeTrailsInput, ...request.Option) *cloudtrail.DescribeTrailsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.DescribeTrailsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.DescribeTrailsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetEventDataStore provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetEventDataStore(_a0 *cloudtrail.GetEventDataStoreInput) (*cloudtrail.GetEventDataStoreOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.GetEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetEventDataStoreInput) *cloudtrail.GetEventDataStoreOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetEventDataStoreInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetEventDataStoreRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetEventDataStoreRequest(_a0 *cloudtrail.GetEventDataStoreInput) (*request.Request, *cloudtrail.GetEventDataStoreOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetEventDataStoreInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.GetEventDataStoreOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetEventDataStoreInput) *cloudtrail.GetEventDataStoreOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.GetEventDataStoreOutput)
		}
	}

	return r0, r1
}

// GetEventDataStoreWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) GetEventDataStoreWithContext(_a0 context.Context, _a1 *cloudtrail.GetEventDataStoreInput, _a2 ...request.Option) (*cloudtrail.GetEventDataStoreOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.GetEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetEventDataStoreInput, ...request.Option) *cloudtrail.GetEventDataStoreOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.GetEventDataStoreInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetEventSelectors provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetEventSelectors(_a0 *cloudtrail.GetEventSelectorsInput) (*cloudtrail.GetEventSelectorsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.GetEventSelectorsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetEventSelectorsInput) *cloudtrail.GetEventSelectorsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetEventSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetEventSelectorsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetEventSelectorsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetEventSelectorsRequest(_a0 *cloudtrail.GetEventSelectorsInput) (*request.Request, *cloudtrail.GetEventSelectorsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetEventSelectorsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.GetEventSelectorsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetEventSelectorsInput) *cloudtrail.GetEventSelectorsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.GetEventSelectorsOutput)
		}
	}

	return r0, r1
}

// GetEventSelectorsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) GetEventSelectorsWithContext(_a0 context.Context, _a1 *cloudtrail.GetEventSelectorsInput, _a2 ...request.Option) (*cloudtrail.GetEventSelectorsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.GetEventSelectorsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetEventSelectorsInput, ...request.Option) *cloudtrail.GetEventSelectorsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetEventSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.GetEventSelectorsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetInsightSelectors provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetInsightSelectors(_a0 *cloudtrail.GetInsightSelectorsInput) (*cloudtrail.GetInsightSelectorsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.GetInsightSelectorsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetInsightSelectorsInput) *cloudtrail.GetInsightSelectorsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetInsightSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetInsightSelectorsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetInsightSelectorsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetInsightSelectorsRequest(_a0 *cloudtrail.GetInsightSelectorsInput) (*request.Request, *cloudtrail.GetInsightSelectorsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetInsightSelectorsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.GetInsightSelectorsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetInsightSelectorsInput) *cloudtrail.GetInsightSelectorsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.GetInsightSelectorsOutput)
		}
	}

	return r0, r1
}

// GetInsightSelectorsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) GetInsightSelectorsWithContext(_a0 context.Context, _a1 *cloudtrail.GetInsightSelectorsInput, _a2 ...request.Option) (*cloudtrail.GetInsightSelectorsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.GetInsightSelectorsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetInsightSelectorsInput, ...request.Option) *cloudtrail.GetInsightSelectorsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetInsightSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.GetInsightSelectorsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetQueryResults provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetQueryResults(_a0 *cloudtrail.GetQueryResultsInput) (*cloudtrail.GetQueryResultsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.GetQueryResultsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetQueryResultsInput) *cloudtrail.GetQueryResultsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetQueryResultsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetQueryResultsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetQueryResultsPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) GetQueryResultsPages(_a0 *cloudtrail.GetQueryResultsInput, _a1 func(*cloudtrail.GetQueryResultsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetQueryResultsInput, func(*cloudtrail.GetQueryResultsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// GetQueryResultsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) GetQueryResultsPagesWithContext(_a0 context.Context, _a1 *cloudtrail.GetQueryResultsInput, _a2 func(*cloudtrail.GetQueryResultsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetQueryResultsInput, func(*cloudtrail.GetQueryResultsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// GetQueryResultsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetQueryResultsRequest(_a0 *cloudtrail.GetQueryResultsInput) (*request.Request, *cloudtrail.GetQueryResultsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetQueryResultsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.GetQueryResultsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetQueryResultsInput) *cloudtrail.GetQueryResultsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.GetQueryResultsOutput)
		}
	}

	return r0, r1
}

// GetQueryResultsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) GetQueryResultsWithContext(_a0 context.Context, _a1 *cloudtrail.GetQueryResultsInput, _a2 ...request.Option) (*cloudtrail.GetQueryResultsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.GetQueryResultsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetQueryResultsInput, ...request.Option) *cloudtrail.GetQueryResultsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetQueryResultsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.GetQueryResultsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTrail provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetTrail(_a0 *cloudtrail.GetTrailInput) (*cloudtrail.GetTrailOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.GetTrailOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetTrailInput) *cloudtrail.GetTrailOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetTrailInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTrailRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetTrailRequest(_a0 *cloudtrail.GetTrailInput) (*request.Request, *cloudtrail.GetTrailOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetTrailInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.GetTrailOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetTrailInput) *cloudtrail.GetTrailOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.GetTrailOutput)
		}
	}

	return r0, r1
}

// GetTrailStatus provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetTrailStatus(_a0 *cloudtrail.GetTrailStatusInput) (*cloudtrail.GetTrailStatusOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.GetTrailStatusOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetTrailStatusInput) *cloudtrail.GetTrailStatusOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetTrailStatusOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetTrailStatusInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTrailStatusRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) GetTrailStatusRequest(_a0 *cloudtrail.GetTrailStatusInput) (*request.Request, *cloudtrail.GetTrailStatusOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.GetTrailStatusInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.GetTrailStatusOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.GetTrailStatusInput) *cloudtrail.GetTrailStatusOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.GetTrailStatusOutput)
		}
	}

	return r0, r1
}

// GetTrailStatusWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) GetTrailStatusWithContext(_a0 context.Context, _a1 *cloudtrail.GetTrailStatusInput, _a2 ...request.Option) (*cloudtrail.GetTrailStatusOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.GetTrailStatusOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetTrailStatusInput, ...request.Option) *cloudtrail.GetTrailStatusOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetTrailStatusOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.GetTrailStatusInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTrailWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) GetTrailWithContext(_a0 context.Context, _a1 *cloudtrail.GetTrailInput, _a2 ...request.Option) (*cloudtrail.GetTrailOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.GetTrailOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.GetTrailInput, ...request.Option) *cloudtrail.GetTrailOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.GetTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.GetTrailInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListEventDataStores provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListEventDataStores(_a0 *cloudtrail.ListEventDataStoresInput) (*cloudtrail.ListEventDataStoresOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.ListEventDataStoresOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListEventDataStoresInput) *cloudtrail.ListEventDataStoresOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListEventDataStoresOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListEventDataStoresInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListEventDataStoresPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) ListEventDataStoresPages(_a0 *cloudtrail.ListEventDataStoresInput, _a1 func(*cloudtrail.ListEventDataStoresOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListEventDataStoresInput, func(*cloudtrail.ListEventDataStoresOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListEventDataStoresPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) ListEventDataStoresPagesWithContext(_a0 context.Context, _a1 *cloudtrail.ListEventDataStoresInput, _a2 func(*cloudtrail.ListEventDataStoresOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListEventDataStoresInput, func(*cloudtrail.ListEventDataStoresOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListEventDataStoresRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListEventDataStoresRequest(_a0 *cloudtrail.ListEventDataStoresInput) (*request.Request, *cloudtrail.ListEventDataStoresOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListEventDataStoresInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.ListEventDataStoresOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListEventDataStoresInput) *cloudtrail.ListEventDataStoresOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.ListEventDataStoresOutput)
		}
	}

	return r0, r1
}

// ListEventDataStoresWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) ListEventDataStoresWithContext(_a0 context.Context, _a1 *cloudtrail.ListEventDataStoresInput, _a2 ...request.Option) (*cloudtrail.ListEventDataStoresOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.ListEventDataStoresOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListEventDataStoresInput, ...request.Option) *cloudtrail.ListEventDataStoresOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListEventDataStoresOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.ListEventDataStoresInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPublicKeys provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListPublicKeys(_a0 *cloudtrail.ListPublicKeysInput) (*cloudtrail.ListPublicKeysOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.ListPublicKeysOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListPublicKeysInput) *cloudtrail.ListPublicKeysOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListPublicKeysOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListPublicKeysInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPublicKeysPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) ListPublicKeysPages(_a0 *cloudtrail.ListPublicKeysInput, _a1 func(*cloudtrail.ListPublicKeysOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListPublicKeysInput, func(*cloudtrail.ListPublicKeysOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListPublicKeysPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) ListPublicKeysPagesWithContext(_a0 context.Context, _a1 *cloudtrail.ListPublicKeysInput, _a2 func(*cloudtrail.ListPublicKeysOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListPublicKeysInput, func(*cloudtrail.ListPublicKeysOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListPublicKeysRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListPublicKeysRequest(_a0 *cloudtrail.ListPublicKeysInput) (*request.Request, *cloudtrail.ListPublicKeysOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListPublicKeysInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.ListPublicKeysOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListPublicKeysInput) *cloudtrail.ListPublicKeysOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.ListPublicKeysOutput)
		}
	}

	return r0, r1
}

// ListPublicKeysWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) ListPublicKeysWithContext(_a0 context.Context, _a1 *cloudtrail.ListPublicKeysInput, _a2 ...request.Option) (*cloudtrail.ListPublicKeysOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.ListPublicKeysOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListPublicKeysInput, ...request.Option) *cloudtrail.ListPublicKeysOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListPublicKeysOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.ListPublicKeysInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListQueries provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListQueries(_a0 *cloudtrail.ListQueriesInput) (*cloudtrail.ListQueriesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.ListQueriesOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListQueriesInput) *cloudtrail.ListQueriesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListQueriesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListQueriesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListQueriesPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) ListQueriesPages(_a0 *cloudtrail.ListQueriesInput, _a1 func(*cloudtrail.ListQueriesOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListQueriesInput, func(*cloudtrail.ListQueriesOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListQueriesPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) ListQueriesPagesWithContext(_a0 context.Context, _a1 *cloudtrail.ListQueriesInput, _a2 func(*cloudtrail.ListQueriesOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListQueriesInput, func(*cloudtrail.ListQueriesOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListQueriesRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListQueriesRequest(_a0 *cloudtrail.ListQueriesInput) (*request.Request, *cloudtrail.ListQueriesOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListQueriesInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.ListQueriesOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListQueriesInput) *cloudtrail.ListQueriesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.ListQueriesOutput)
		}
	}

	return r0, r1
}

// ListQueriesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) ListQueriesWithContext(_a0 context.Context, _a1 *cloudtrail.ListQueriesInput, _a2 ...request.Option) (*cloudtrail.ListQueriesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.ListQueriesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListQueriesInput, ...request.Option) *cloudtrail.ListQueriesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListQueriesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.ListQueriesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTags provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListTags(_a0 *cloudtrail.ListTagsInput) (*cloudtrail.ListTagsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.ListTagsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListTagsInput) *cloudtrail.ListTagsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListTagsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTagsPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) ListTagsPages(_a0 *cloudtrail.ListTagsInput, _a1 func(*cloudtrail.ListTagsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListTagsInput, func(*cloudtrail.ListTagsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTagsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) ListTagsPagesWithContext(_a0 context.Context, _a1 *cloudtrail.ListTagsInput, _a2 func(*cloudtrail.ListTagsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListTagsInput, func(*cloudtrail.ListTagsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTagsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListTagsRequest(_a0 *cloudtrail.ListTagsInput) (*request.Request, *cloudtrail.ListTagsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListTagsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.ListTagsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListTagsInput) *cloudtrail.ListTagsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.ListTagsOutput)
		}
	}

	return r0, r1
}

// ListTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) ListTagsWithContext(_a0 context.Context, _a1 *cloudtrail.ListTagsInput, _a2 ...request.Option) (*cloudtrail.ListTagsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.ListTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListTagsInput, ...request.Option) *cloudtrail.ListTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.ListTagsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTrails provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListTrails(_a0 *cloudtrail.ListTrailsInput) (*cloudtrail.ListTrailsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.ListTrailsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListTrailsInput) *cloudtrail.ListTrailsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListTrailsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListTrailsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTrailsPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) ListTrailsPages(_a0 *cloudtrail.ListTrailsInput, _a1 func(*cloudtrail.ListTrailsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListTrailsInput, func(*cloudtrail.ListTrailsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTrailsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) ListTrailsPagesWithContext(_a0 context.Context, _a1 *cloudtrail.ListTrailsInput, _a2 func(*cloudtrail.ListTrailsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListTrailsInput, func(*cloudtrail.ListTrailsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTrailsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) ListTrailsRequest(_a0 *cloudtrail.ListTrailsInput) (*request.Request, *cloudtrail.ListTrailsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.ListTrailsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.ListTrailsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.ListTrailsInput) *cloudtrail.ListTrailsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.ListTrailsOutput)
		}
	}

	return r0, r1
}

// ListTrailsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) ListTrailsWithContext(_a0 context.Context, _a1 *cloudtrail.ListTrailsInput, _a2 ...request.Option) (*cloudtrail.ListTrailsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.ListTrailsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.ListTrailsInput, ...request.Option) *cloudtrail.ListTrailsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.ListTrailsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.ListTrailsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// LookupEvents provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) LookupEvents(_a0 *cloudtrail.LookupEventsInput) (*cloudtrail.LookupEventsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.LookupEventsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.LookupEventsInput) *cloudtrail.LookupEventsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.LookupEventsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.LookupEventsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// LookupEventsPages provides a mock function with given fields: _a0, _a1
func (_m *CloudTrailAPI) LookupEventsPages(_a0 *cloudtrail.LookupEventsInput, _a1 func(*cloudtrail.LookupEventsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudtrail.LookupEventsInput, func(*cloudtrail.LookupEventsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LookupEventsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *CloudTrailAPI) LookupEventsPagesWithContext(_a0 context.Context, _a1 *cloudtrail.LookupEventsInput, _a2 func(*cloudtrail.LookupEventsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.LookupEventsInput, func(*cloudtrail.LookupEventsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// LookupEventsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) LookupEventsRequest(_a0 *cloudtrail.LookupEventsInput) (*request.Request, *cloudtrail.LookupEventsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.LookupEventsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.LookupEventsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.LookupEventsInput) *cloudtrail.LookupEventsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.LookupEventsOutput)
		}
	}

	return r0, r1
}

// LookupEventsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) LookupEventsWithContext(_a0 context.Context, _a1 *cloudtrail.LookupEventsInput, _a2 ...request.Option) (*cloudtrail.LookupEventsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.LookupEventsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.LookupEventsInput, ...request.Option) *cloudtrail.LookupEventsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.LookupEventsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.LookupEventsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PutEventSelectors provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) PutEventSelectors(_a0 *cloudtrail.PutEventSelectorsInput) (*cloudtrail.PutEventSelectorsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.PutEventSelectorsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.PutEventSelectorsInput) *cloudtrail.PutEventSelectorsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.PutEventSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.PutEventSelectorsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PutEventSelectorsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) PutEventSelectorsRequest(_a0 *cloudtrail.PutEventSelectorsInput) (*request.Request, *cloudtrail.PutEventSelectorsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.PutEventSelectorsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.PutEventSelectorsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.PutEventSelectorsInput) *cloudtrail.PutEventSelectorsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.PutEventSelectorsOutput)
		}
	}

	return r0, r1
}

// PutEventSelectorsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) PutEventSelectorsWithContext(_a0 context.Context, _a1 *cloudtrail.PutEventSelectorsInput, _a2 ...request.Option) (*cloudtrail.PutEventSelectorsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.PutEventSelectorsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.PutEventSelectorsInput, ...request.Option) *cloudtrail.PutEventSelectorsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.PutEventSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.PutEventSelectorsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PutInsightSelectors provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) PutInsightSelectors(_a0 *cloudtrail.PutInsightSelectorsInput) (*cloudtrail.PutInsightSelectorsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.PutInsightSelectorsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.PutInsightSelectorsInput) *cloudtrail.PutInsightSelectorsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.PutInsightSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.PutInsightSelectorsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PutInsightSelectorsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) PutInsightSelectorsRequest(_a0 *cloudtrail.PutInsightSelectorsInput) (*request.Request, *cloudtrail.PutInsightSelectorsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.PutInsightSelectorsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.PutInsightSelectorsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.PutInsightSelectorsInput) *cloudtrail.PutInsightSelectorsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.PutInsightSelectorsOutput)
		}
	}

	return r0, r1
}

// PutInsightSelectorsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) PutInsightSelectorsWithContext(_a0 context.Context, _a1 *cloudtrail.PutInsightSelectorsInput, _a2 ...request.Option) (*cloudtrail.PutInsightSelectorsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.PutInsightSelectorsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.PutInsightSelectorsInput, ...request.Option) *cloudtrail.PutInsightSelectorsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.PutInsightSelectorsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.PutInsightSelectorsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RemoveTags provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) RemoveTags(_a0 *cloudtrail.RemoveTagsInput) (*cloudtrail.RemoveTagsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.RemoveTagsOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.RemoveTagsInput) *cloudtrail.RemoveTagsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.RemoveTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.RemoveTagsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RemoveTagsRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) RemoveTagsRequest(_a0 *cloudtrail.RemoveTagsInput) (*request.Request, *cloudtrail.RemoveTagsOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.RemoveTagsInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.RemoveTagsOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.RemoveTagsInput) *cloudtrail.RemoveTagsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.RemoveTagsOutput)
		}
	}

	return r0, r1
}

// RemoveTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) RemoveTagsWithContext(_a0 context.Context, _a1 *cloudtrail.RemoveTagsInput, _a2 ...request.Option) (*cloudtrail.RemoveTagsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.RemoveTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.RemoveTagsInput, ...request.Option) *cloudtrail.RemoveTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.RemoveTagsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.RemoveTagsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RestoreEventDataStore provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) RestoreEventDataStore(_a0 *cloudtrail.RestoreEventDataStoreInput) (*cloudtrail.RestoreEventDataStoreOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.RestoreEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.RestoreEventDataStoreInput) *cloudtrail.RestoreEventDataStoreOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.RestoreEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.RestoreEventDataStoreInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RestoreEventDataStoreRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) RestoreEventDataStoreRequest(_a0 *cloudtrail.RestoreEventDataStoreInput) (*request.Request, *cloudtrail.RestoreEventDataStoreOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.RestoreEventDataStoreInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.RestoreEventDataStoreOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.RestoreEventDataStoreInput) *cloudtrail.RestoreEventDataStoreOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.RestoreEventDataStoreOutput)
		}
	}

	return r0, r1
}

// RestoreEventDataStoreWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) RestoreEventDataStoreWithContext(_a0 context.Context, _a1 *cloudtrail.RestoreEventDataStoreInput, _a2 ...request.Option) (*cloudtrail.RestoreEventDataStoreOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.RestoreEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.RestoreEventDataStoreInput, ...request.Option) *cloudtrail.RestoreEventDataStoreOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.RestoreEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.RestoreEventDataStoreInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StartLogging provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) StartLogging(_a0 *cloudtrail.StartLoggingInput) (*cloudtrail.StartLoggingOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.StartLoggingOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.StartLoggingInput) *cloudtrail.StartLoggingOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.StartLoggingOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.StartLoggingInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StartLoggingRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) StartLoggingRequest(_a0 *cloudtrail.StartLoggingInput) (*request.Request, *cloudtrail.StartLoggingOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.StartLoggingInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.StartLoggingOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.StartLoggingInput) *cloudtrail.StartLoggingOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.StartLoggingOutput)
		}
	}

	return r0, r1
}

// StartLoggingWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) StartLoggingWithContext(_a0 context.Context, _a1 *cloudtrail.StartLoggingInput, _a2 ...request.Option) (*cloudtrail.StartLoggingOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.StartLoggingOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.StartLoggingInput, ...request.Option) *cloudtrail.StartLoggingOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.StartLoggingOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.StartLoggingInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StartQuery provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) StartQuery(_a0 *cloudtrail.StartQueryInput) (*cloudtrail.StartQueryOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.StartQueryOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.StartQueryInput) *cloudtrail.StartQueryOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.StartQueryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.StartQueryInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StartQueryRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) StartQueryRequest(_a0 *cloudtrail.StartQueryInput) (*request.Request, *cloudtrail.StartQueryOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.StartQueryInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.StartQueryOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.StartQueryInput) *cloudtrail.StartQueryOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.StartQueryOutput)
		}
	}

	return r0, r1
}

// StartQueryWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) StartQueryWithContext(_a0 context.Context, _a1 *cloudtrail.StartQueryInput, _a2 ...request.Option) (*cloudtrail.StartQueryOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.StartQueryOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.StartQueryInput, ...request.Option) *cloudtrail.StartQueryOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.StartQueryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.StartQueryInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StopLogging provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) StopLogging(_a0 *cloudtrail.StopLoggingInput) (*cloudtrail.StopLoggingOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.StopLoggingOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.StopLoggingInput) *cloudtrail.StopLoggingOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.StopLoggingOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.StopLoggingInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StopLoggingRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) StopLoggingRequest(_a0 *cloudtrail.StopLoggingInput) (*request.Request, *cloudtrail.StopLoggingOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.StopLoggingInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.StopLoggingOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.StopLoggingInput) *cloudtrail.StopLoggingOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.StopLoggingOutput)
		}
	}

	return r0, r1
}

// StopLoggingWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) StopLoggingWithContext(_a0 context.Context, _a1 *cloudtrail.StopLoggingInput, _a2 ...request.Option) (*cloudtrail.StopLoggingOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.StopLoggingOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.StopLoggingInput, ...request.Option) *cloudtrail.StopLoggingOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.StopLoggingOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.StopLoggingInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateEventDataStore provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) UpdateEventDataStore(_a0 *cloudtrail.UpdateEventDataStoreInput) (*cloudtrail.UpdateEventDataStoreOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.UpdateEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.UpdateEventDataStoreInput) *cloudtrail.UpdateEventDataStoreOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.UpdateEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.UpdateEventDataStoreInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateEventDataStoreRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) UpdateEventDataStoreRequest(_a0 *cloudtrail.UpdateEventDataStoreInput) (*request.Request, *cloudtrail.UpdateEventDataStoreOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.UpdateEventDataStoreInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.UpdateEventDataStoreOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.UpdateEventDataStoreInput) *cloudtrail.UpdateEventDataStoreOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.UpdateEventDataStoreOutput)
		}
	}

	return r0, r1
}

// UpdateEventDataStoreWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) UpdateEventDataStoreWithContext(_a0 context.Context, _a1 *cloudtrail.UpdateEventDataStoreInput, _a2 ...request.Option) (*cloudtrail.UpdateEventDataStoreOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.UpdateEventDataStoreOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.UpdateEventDataStoreInput, ...request.Option) *cloudtrail.UpdateEventDataStoreOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.UpdateEventDataStoreOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.UpdateEventDataStoreInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateTrail provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) UpdateTrail(_a0 *cloudtrail.UpdateTrailInput) (*cloudtrail.UpdateTrailOutput, error) {
	ret := _m.Called(_a0)

	var r0 *cloudtrail.UpdateTrailOutput
	if rf, ok := ret.Get(0).(func(*cloudtrail.UpdateTrailInput) *cloudtrail.UpdateTrailOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.UpdateTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudtrail.UpdateTrailInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateTrailRequest provides a mock function with given fields: _a0
func (_m *CloudTrailAPI) UpdateTrailRequest(_a0 *cloudtrail.UpdateTrailInput) (*request.Request, *cloudtrail.UpdateTrailOutput) {
	ret := _m.Called(_a0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudtrail.UpdateTrailInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudtrail.UpdateTrailOutput
	if rf, ok := ret.Get(1).(func(*cloudtrail.UpdateTrailInput) *cloudtrail.UpdateTrailOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudtrail.UpdateTrailOutput)
		}
	}

	return r0, r1
}

// UpdateTrailWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *CloudTrailAPI) UpdateTrailWithContext(_a0 context.Context, _a1 *cloudtrail.UpdateTrailInput, _a2 ...request.Option) (*cloudtrail.UpdateTrailOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *cloudtrail.UpdateTrailOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudtrail.UpdateTrailInput, ...request.Option) *cloudtrail.UpdateTrailOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudtrail.UpdateTrailOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudtrail.UpdateTrailInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
