func (_m *ElastiCacheAPI) BatchStopUpdateActionRequest(_a0 *elasticache.BatchStopUpdateActionInput) (*request.Request, *elasticache.BatchStopUpdateActionOutput) {
	ret := _m.Called(_a0)
	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*elasticache.BatchStopUpdateActionInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}
	var r1 *elasticache.BatchStopUpdateActionOutput
	if rf, ok := ret.Get(1).(func(*elasticache.BatchStopUpdateActionInput) *elasticache.BatchStopUpdateActionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elasticache.BatchStopUpdateActionOutput)
		}
	}
	return r0, r1
}
BatchStopUpdateActionRequest provides a mock function with given fields: _a0
package mocks
import (
	context "context"
	elasticache "github.com/aws/aws-sdk-go/service/elasticache"
	mock "github.com/stretchr/testify/mock"
	request "github.com/aws/aws-sdk-go/aws/request"
)
type ElastiCacheAPI struct {
	mock.Mock
}
func (_m *ElastiCacheAPI) AddTagsToResource(_a0 *elasticache.AddTagsToResourceInput) (*elasticache.TagListMessage, error) {
	ret := _m.Called(_a0)
	var r0 *elasticache.TagListMessage
	if rf, ok := ret.Get(0).(func(*elasticache.AddTagsToResourceInput) *elasticache.TagListMessage); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.TagListMessage)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*elasticache.AddTagsToResourceInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) AddTagsToResourceRequest(_a0 *elasticache.AddTagsToResourceInput) (*request.Request, *elasticache.TagListMessage) {
	ret := _m.Called(_a0)
	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*elasticache.AddTagsToResourceInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}
	var r1 *elasticache.TagListMessage
	if rf, ok := ret.Get(1).(func(*elasticache.AddTagsToResourceInput) *elasticache.TagListMessage); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elasticache.TagListMessage)
		}
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) AddTagsToResourceWithContext(_a0 context.Context, _a1 *elasticache.AddTagsToResourceInput, _a2 ...request.Option) (*elasticache.TagListMessage, 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 *elasticache.TagListMessage
	if rf, ok := ret.Get(0).(func(context.Context, *elasticache.AddTagsToResourceInput, ...request.Option) *elasticache.TagListMessage); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.TagListMessage)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *elasticache.AddTagsToResourceInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) AuthorizeCacheSecurityGroupIngress(_a0 *elasticache.AuthorizeCacheSecurityGroupIngressInput) (*elasticache.AuthorizeCacheSecurityGroupIngressOutput, error) {
	ret := _m.Called(_a0)
	var r0 *elasticache.AuthorizeCacheSecurityGroupIngressOutput
	if rf, ok := ret.Get(0).(func(*elasticache.AuthorizeCacheSecurityGroupIngressInput) *elasticache.AuthorizeCacheSecurityGroupIngressOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.AuthorizeCacheSecurityGroupIngressOutput)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*elasticache.AuthorizeCacheSecurityGroupIngressInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) AuthorizeCacheSecurityGroupIngressRequest(_a0 *elasticache.AuthorizeCacheSecurityGroupIngressInput) (*request.Request, *elasticache.AuthorizeCacheSecurityGroupIngressOutput) {
	ret := _m.Called(_a0)
	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*elasticache.AuthorizeCacheSecurityGroupIngressInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}
	var r1 *elasticache.AuthorizeCacheSecurityGroupIngressOutput
	if rf, ok := ret.Get(1).(func(*elasticache.AuthorizeCacheSecurityGroupIngressInput) *elasticache.AuthorizeCacheSecurityGroupIngressOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elasticache.AuthorizeCacheSecurityGroupIngressOutput)
		}
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) AuthorizeCacheSecurityGroupIngressWithContext(_a0 context.Context, _a1 *elasticache.AuthorizeCacheSecurityGroupIngressInput, _a2 ...request.Option) (*elasticache.AuthorizeCacheSecurityGroupIngressOutput, 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 *elasticache.AuthorizeCacheSecurityGroupIngressOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elasticache.AuthorizeCacheSecurityGroupIngressInput, ...request.Option) *elasticache.AuthorizeCacheSecurityGroupIngressOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.AuthorizeCacheSecurityGroupIngressOutput)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *elasticache.AuthorizeCacheSecurityGroupIngressInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) BatchApplyUpdateAction(_a0 *elasticache.BatchApplyUpdateActionInput) (*elasticache.BatchApplyUpdateActionOutput, error) {
	ret := _m.Called(_a0)
	var r0 *elasticache.BatchApplyUpdateActionOutput
	if rf, ok := ret.Get(0).(func(*elasticache.BatchApplyUpdateActionInput) *elasticache.BatchApplyUpdateActionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.BatchApplyUpdateActionOutput)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*elasticache.BatchApplyUpdateActionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) BatchApplyUpdateActionRequest(_a0 *elasticache.BatchApplyUpdateActionInput) (*request.Request, *elasticache.BatchApplyUpdateActionOutput) {
	ret := _m.Called(_a0)
	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*elasticache.BatchApplyUpdateActionInput) *request.Request); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}
	var r1 *elasticache.BatchApplyUpdateActionOutput
	if rf, ok := ret.Get(1).(func(*elasticache.BatchApplyUpdateActionInput) *elasticache.BatchApplyUpdateActionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elasticache.BatchApplyUpdateActionOutput)
		}
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) BatchApplyUpdateActionWithContext(_a0 context.Context, _a1 *elasticache.BatchApplyUpdateActionInput, _a2 ...request.Option) (*elasticache.BatchApplyUpdateActionOutput, 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 *elasticache.BatchApplyUpdateActionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elasticache.BatchApplyUpdateActionInput, ...request.Option) *elasticache.BatchApplyUpdateActionOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.BatchApplyUpdateActionOutput)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *elasticache.BatchApplyUpdateActionInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func (_m *ElastiCacheAPI) BatchStopUpdateAction(_a0 *elasticache.BatchStopUpdateActionInput) (*elasticache.BatchStopUpdateActionOutput, error) {
	ret := _m.Called(_a0)
	var r0 *elasticache.BatchStopUpdateActionOutput
	if rf, ok := ret.Get(0).(func(*elasticache.BatchStopUpdateActionInput) *elasticache.BatchStopUpdateActionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elasticache.BatchStopUpdateActionOutput)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(*elasticache.BatchStopUpdateActionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}