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

package mocks

import (
	context "context"

	elbv2 "github.com/aws/aws-sdk-go/service/elbv2"

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

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

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

// AddListenerCertificates provides a mock function with given fields: _a0
func (_m *ELBV2API) AddListenerCertificates(_a0 *elbv2.AddListenerCertificatesInput) (*elbv2.AddListenerCertificatesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.AddListenerCertificatesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.AddListenerCertificatesInput) *elbv2.AddListenerCertificatesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.AddListenerCertificatesOutput)
		}
	}

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

	return r0, r1
}

// AddListenerCertificatesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) AddListenerCertificatesRequest(_a0 *elbv2.AddListenerCertificatesInput) (*request.Request, *elbv2.AddListenerCertificatesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.AddListenerCertificatesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.AddListenerCertificatesInput) *elbv2.AddListenerCertificatesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.AddListenerCertificatesOutput)
		}
	}

	return r0, r1
}

// AddListenerCertificatesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) AddListenerCertificatesWithContext(_a0 context.Context, _a1 *elbv2.AddListenerCertificatesInput, _a2 ...request.Option) (*elbv2.AddListenerCertificatesOutput, 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 *elbv2.AddListenerCertificatesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.AddListenerCertificatesInput, ...request.Option) *elbv2.AddListenerCertificatesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.AddListenerCertificatesOutput)
		}
	}

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

	return r0, r1
}

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

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

	var r1 error
	if rf, ok := ret.Get(1).(func(*elbv2.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 *ELBV2API) AddTagsRequest(_a0 *elbv2.AddTagsInput) (*request.Request, *elbv2.AddTagsOutput) {
	ret := _m.Called(_a0)

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

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

	return r0, r1
}

// AddTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) AddTagsWithContext(_a0 context.Context, _a1 *elbv2.AddTagsInput, _a2 ...request.Option) (*elbv2.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 *elbv2.AddTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.AddTagsInput, ...request.Option) *elbv2.AddTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.AddTagsOutput)
		}
	}

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

	return r0, r1
}

// CreateListener provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateListener(_a0 *elbv2.CreateListenerInput) (*elbv2.CreateListenerOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.CreateListenerOutput
	if rf, ok := ret.Get(0).(func(*elbv2.CreateListenerInput) *elbv2.CreateListenerOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateListenerOutput)
		}
	}

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

	return r0, r1
}

// CreateListenerRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateListenerRequest(_a0 *elbv2.CreateListenerInput) (*request.Request, *elbv2.CreateListenerOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.CreateListenerOutput
	if rf, ok := ret.Get(1).(func(*elbv2.CreateListenerInput) *elbv2.CreateListenerOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.CreateListenerOutput)
		}
	}

	return r0, r1
}

// CreateListenerWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) CreateListenerWithContext(_a0 context.Context, _a1 *elbv2.CreateListenerInput, _a2 ...request.Option) (*elbv2.CreateListenerOutput, 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 *elbv2.CreateListenerOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.CreateListenerInput, ...request.Option) *elbv2.CreateListenerOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateListenerOutput)
		}
	}

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

	return r0, r1
}

// CreateLoadBalancer provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateLoadBalancer(_a0 *elbv2.CreateLoadBalancerInput) (*elbv2.CreateLoadBalancerOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.CreateLoadBalancerOutput
	if rf, ok := ret.Get(0).(func(*elbv2.CreateLoadBalancerInput) *elbv2.CreateLoadBalancerOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateLoadBalancerOutput)
		}
	}

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

	return r0, r1
}

// CreateLoadBalancerRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateLoadBalancerRequest(_a0 *elbv2.CreateLoadBalancerInput) (*request.Request, *elbv2.CreateLoadBalancerOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.CreateLoadBalancerOutput
	if rf, ok := ret.Get(1).(func(*elbv2.CreateLoadBalancerInput) *elbv2.CreateLoadBalancerOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.CreateLoadBalancerOutput)
		}
	}

	return r0, r1
}

// CreateLoadBalancerWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) CreateLoadBalancerWithContext(_a0 context.Context, _a1 *elbv2.CreateLoadBalancerInput, _a2 ...request.Option) (*elbv2.CreateLoadBalancerOutput, 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 *elbv2.CreateLoadBalancerOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.CreateLoadBalancerInput, ...request.Option) *elbv2.CreateLoadBalancerOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateLoadBalancerOutput)
		}
	}

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

	return r0, r1
}

// CreateRule provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateRule(_a0 *elbv2.CreateRuleInput) (*elbv2.CreateRuleOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.CreateRuleOutput
	if rf, ok := ret.Get(0).(func(*elbv2.CreateRuleInput) *elbv2.CreateRuleOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateRuleOutput)
		}
	}

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

	return r0, r1
}

// CreateRuleRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateRuleRequest(_a0 *elbv2.CreateRuleInput) (*request.Request, *elbv2.CreateRuleOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.CreateRuleOutput
	if rf, ok := ret.Get(1).(func(*elbv2.CreateRuleInput) *elbv2.CreateRuleOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.CreateRuleOutput)
		}
	}

	return r0, r1
}

// CreateRuleWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) CreateRuleWithContext(_a0 context.Context, _a1 *elbv2.CreateRuleInput, _a2 ...request.Option) (*elbv2.CreateRuleOutput, 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 *elbv2.CreateRuleOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.CreateRuleInput, ...request.Option) *elbv2.CreateRuleOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateRuleOutput)
		}
	}

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

	return r0, r1
}

// CreateTargetGroup provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateTargetGroup(_a0 *elbv2.CreateTargetGroupInput) (*elbv2.CreateTargetGroupOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.CreateTargetGroupOutput
	if rf, ok := ret.Get(0).(func(*elbv2.CreateTargetGroupInput) *elbv2.CreateTargetGroupOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateTargetGroupOutput)
		}
	}

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

	return r0, r1
}

// CreateTargetGroupRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) CreateTargetGroupRequest(_a0 *elbv2.CreateTargetGroupInput) (*request.Request, *elbv2.CreateTargetGroupOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.CreateTargetGroupOutput
	if rf, ok := ret.Get(1).(func(*elbv2.CreateTargetGroupInput) *elbv2.CreateTargetGroupOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.CreateTargetGroupOutput)
		}
	}

	return r0, r1
}

// CreateTargetGroupWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) CreateTargetGroupWithContext(_a0 context.Context, _a1 *elbv2.CreateTargetGroupInput, _a2 ...request.Option) (*elbv2.CreateTargetGroupOutput, 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 *elbv2.CreateTargetGroupOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.CreateTargetGroupInput, ...request.Option) *elbv2.CreateTargetGroupOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.CreateTargetGroupOutput)
		}
	}

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

	return r0, r1
}

// DeleteListener provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteListener(_a0 *elbv2.DeleteListenerInput) (*elbv2.DeleteListenerOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DeleteListenerOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DeleteListenerInput) *elbv2.DeleteListenerOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteListenerOutput)
		}
	}

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

	return r0, r1
}

// DeleteListenerRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteListenerRequest(_a0 *elbv2.DeleteListenerInput) (*request.Request, *elbv2.DeleteListenerOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DeleteListenerOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DeleteListenerInput) *elbv2.DeleteListenerOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DeleteListenerOutput)
		}
	}

	return r0, r1
}

// DeleteListenerWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DeleteListenerWithContext(_a0 context.Context, _a1 *elbv2.DeleteListenerInput, _a2 ...request.Option) (*elbv2.DeleteListenerOutput, 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 *elbv2.DeleteListenerOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DeleteListenerInput, ...request.Option) *elbv2.DeleteListenerOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteListenerOutput)
		}
	}

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

	return r0, r1
}

// DeleteLoadBalancer provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteLoadBalancer(_a0 *elbv2.DeleteLoadBalancerInput) (*elbv2.DeleteLoadBalancerOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DeleteLoadBalancerOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DeleteLoadBalancerInput) *elbv2.DeleteLoadBalancerOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteLoadBalancerOutput)
		}
	}

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

	return r0, r1
}

// DeleteLoadBalancerRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteLoadBalancerRequest(_a0 *elbv2.DeleteLoadBalancerInput) (*request.Request, *elbv2.DeleteLoadBalancerOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DeleteLoadBalancerOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DeleteLoadBalancerInput) *elbv2.DeleteLoadBalancerOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DeleteLoadBalancerOutput)
		}
	}

	return r0, r1
}

// DeleteLoadBalancerWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DeleteLoadBalancerWithContext(_a0 context.Context, _a1 *elbv2.DeleteLoadBalancerInput, _a2 ...request.Option) (*elbv2.DeleteLoadBalancerOutput, 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 *elbv2.DeleteLoadBalancerOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DeleteLoadBalancerInput, ...request.Option) *elbv2.DeleteLoadBalancerOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteLoadBalancerOutput)
		}
	}

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

	return r0, r1
}

// DeleteRule provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteRule(_a0 *elbv2.DeleteRuleInput) (*elbv2.DeleteRuleOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DeleteRuleOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DeleteRuleInput) *elbv2.DeleteRuleOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteRuleOutput)
		}
	}

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

	return r0, r1
}

// DeleteRuleRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteRuleRequest(_a0 *elbv2.DeleteRuleInput) (*request.Request, *elbv2.DeleteRuleOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DeleteRuleOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DeleteRuleInput) *elbv2.DeleteRuleOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DeleteRuleOutput)
		}
	}

	return r0, r1
}

// DeleteRuleWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DeleteRuleWithContext(_a0 context.Context, _a1 *elbv2.DeleteRuleInput, _a2 ...request.Option) (*elbv2.DeleteRuleOutput, 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 *elbv2.DeleteRuleOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DeleteRuleInput, ...request.Option) *elbv2.DeleteRuleOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteRuleOutput)
		}
	}

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

	return r0, r1
}

// DeleteTargetGroup provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteTargetGroup(_a0 *elbv2.DeleteTargetGroupInput) (*elbv2.DeleteTargetGroupOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DeleteTargetGroupOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DeleteTargetGroupInput) *elbv2.DeleteTargetGroupOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteTargetGroupOutput)
		}
	}

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

	return r0, r1
}

// DeleteTargetGroupRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DeleteTargetGroupRequest(_a0 *elbv2.DeleteTargetGroupInput) (*request.Request, *elbv2.DeleteTargetGroupOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DeleteTargetGroupOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DeleteTargetGroupInput) *elbv2.DeleteTargetGroupOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DeleteTargetGroupOutput)
		}
	}

	return r0, r1
}

// DeleteTargetGroupWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DeleteTargetGroupWithContext(_a0 context.Context, _a1 *elbv2.DeleteTargetGroupInput, _a2 ...request.Option) (*elbv2.DeleteTargetGroupOutput, 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 *elbv2.DeleteTargetGroupOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DeleteTargetGroupInput, ...request.Option) *elbv2.DeleteTargetGroupOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeleteTargetGroupOutput)
		}
	}

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

	return r0, r1
}

// DeregisterTargets provides a mock function with given fields: _a0
func (_m *ELBV2API) DeregisterTargets(_a0 *elbv2.DeregisterTargetsInput) (*elbv2.DeregisterTargetsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DeregisterTargetsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DeregisterTargetsInput) *elbv2.DeregisterTargetsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeregisterTargetsOutput)
		}
	}

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

	return r0, r1
}

// DeregisterTargetsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DeregisterTargetsRequest(_a0 *elbv2.DeregisterTargetsInput) (*request.Request, *elbv2.DeregisterTargetsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DeregisterTargetsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DeregisterTargetsInput) *elbv2.DeregisterTargetsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DeregisterTargetsOutput)
		}
	}

	return r0, r1
}

// DeregisterTargetsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DeregisterTargetsWithContext(_a0 context.Context, _a1 *elbv2.DeregisterTargetsInput, _a2 ...request.Option) (*elbv2.DeregisterTargetsOutput, 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 *elbv2.DeregisterTargetsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DeregisterTargetsInput, ...request.Option) *elbv2.DeregisterTargetsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DeregisterTargetsOutput)
		}
	}

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

	return r0, r1
}

// DescribeAccountLimits provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeAccountLimits(_a0 *elbv2.DescribeAccountLimitsInput) (*elbv2.DescribeAccountLimitsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeAccountLimitsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeAccountLimitsInput) *elbv2.DescribeAccountLimitsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeAccountLimitsOutput)
		}
	}

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

	return r0, r1
}

// DescribeAccountLimitsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeAccountLimitsRequest(_a0 *elbv2.DescribeAccountLimitsInput) (*request.Request, *elbv2.DescribeAccountLimitsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeAccountLimitsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeAccountLimitsInput) *elbv2.DescribeAccountLimitsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeAccountLimitsOutput)
		}
	}

	return r0, r1
}

// DescribeAccountLimitsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeAccountLimitsWithContext(_a0 context.Context, _a1 *elbv2.DescribeAccountLimitsInput, _a2 ...request.Option) (*elbv2.DescribeAccountLimitsOutput, 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 *elbv2.DescribeAccountLimitsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeAccountLimitsInput, ...request.Option) *elbv2.DescribeAccountLimitsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeAccountLimitsOutput)
		}
	}

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

	return r0, r1
}

// DescribeListenerCertificates provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeListenerCertificates(_a0 *elbv2.DescribeListenerCertificatesInput) (*elbv2.DescribeListenerCertificatesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeListenerCertificatesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeListenerCertificatesInput) *elbv2.DescribeListenerCertificatesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeListenerCertificatesOutput)
		}
	}

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

	return r0, r1
}

// DescribeListenerCertificatesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeListenerCertificatesRequest(_a0 *elbv2.DescribeListenerCertificatesInput) (*request.Request, *elbv2.DescribeListenerCertificatesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeListenerCertificatesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeListenerCertificatesInput) *elbv2.DescribeListenerCertificatesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeListenerCertificatesOutput)
		}
	}

	return r0, r1
}

// DescribeListenerCertificatesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeListenerCertificatesWithContext(_a0 context.Context, _a1 *elbv2.DescribeListenerCertificatesInput, _a2 ...request.Option) (*elbv2.DescribeListenerCertificatesOutput, 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 *elbv2.DescribeListenerCertificatesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeListenerCertificatesInput, ...request.Option) *elbv2.DescribeListenerCertificatesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeListenerCertificatesOutput)
		}
	}

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

	return r0, r1
}

// DescribeListeners provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeListeners(_a0 *elbv2.DescribeListenersInput) (*elbv2.DescribeListenersOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeListenersOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeListenersInput) *elbv2.DescribeListenersOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeListenersOutput)
		}
	}

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

	return r0, r1
}

// DescribeListenersPages provides a mock function with given fields: _a0, _a1
func (_m *ELBV2API) DescribeListenersPages(_a0 *elbv2.DescribeListenersInput, _a1 func(*elbv2.DescribeListenersOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

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

	return r0
}

// DescribeListenersPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *ELBV2API) DescribeListenersPagesWithContext(_a0 context.Context, _a1 *elbv2.DescribeListenersInput, _a2 func(*elbv2.DescribeListenersOutput, 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, *elbv2.DescribeListenersInput, func(*elbv2.DescribeListenersOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeListenersRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeListenersRequest(_a0 *elbv2.DescribeListenersInput) (*request.Request, *elbv2.DescribeListenersOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeListenersOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeListenersInput) *elbv2.DescribeListenersOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeListenersOutput)
		}
	}

	return r0, r1
}

// DescribeListenersWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeListenersWithContext(_a0 context.Context, _a1 *elbv2.DescribeListenersInput, _a2 ...request.Option) (*elbv2.DescribeListenersOutput, 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 *elbv2.DescribeListenersOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeListenersInput, ...request.Option) *elbv2.DescribeListenersOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeListenersOutput)
		}
	}

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

	return r0, r1
}

// DescribeLoadBalancerAttributes provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeLoadBalancerAttributes(_a0 *elbv2.DescribeLoadBalancerAttributesInput) (*elbv2.DescribeLoadBalancerAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeLoadBalancerAttributesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeLoadBalancerAttributesInput) *elbv2.DescribeLoadBalancerAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeLoadBalancerAttributesOutput)
		}
	}

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

	return r0, r1
}

// DescribeLoadBalancerAttributesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeLoadBalancerAttributesRequest(_a0 *elbv2.DescribeLoadBalancerAttributesInput) (*request.Request, *elbv2.DescribeLoadBalancerAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeLoadBalancerAttributesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeLoadBalancerAttributesInput) *elbv2.DescribeLoadBalancerAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeLoadBalancerAttributesOutput)
		}
	}

	return r0, r1
}

// DescribeLoadBalancerAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeLoadBalancerAttributesWithContext(_a0 context.Context, _a1 *elbv2.DescribeLoadBalancerAttributesInput, _a2 ...request.Option) (*elbv2.DescribeLoadBalancerAttributesOutput, 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 *elbv2.DescribeLoadBalancerAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeLoadBalancerAttributesInput, ...request.Option) *elbv2.DescribeLoadBalancerAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeLoadBalancerAttributesOutput)
		}
	}

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

	return r0, r1
}

// DescribeLoadBalancers provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeLoadBalancers(_a0 *elbv2.DescribeLoadBalancersInput) (*elbv2.DescribeLoadBalancersOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeLoadBalancersOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeLoadBalancersInput) *elbv2.DescribeLoadBalancersOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeLoadBalancersOutput)
		}
	}

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

	return r0, r1
}

// DescribeLoadBalancersPages provides a mock function with given fields: _a0, _a1
func (_m *ELBV2API) DescribeLoadBalancersPages(_a0 *elbv2.DescribeLoadBalancersInput, _a1 func(*elbv2.DescribeLoadBalancersOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

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

	return r0
}

// DescribeLoadBalancersPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *ELBV2API) DescribeLoadBalancersPagesWithContext(_a0 context.Context, _a1 *elbv2.DescribeLoadBalancersInput, _a2 func(*elbv2.DescribeLoadBalancersOutput, 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, *elbv2.DescribeLoadBalancersInput, func(*elbv2.DescribeLoadBalancersOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeLoadBalancersRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeLoadBalancersRequest(_a0 *elbv2.DescribeLoadBalancersInput) (*request.Request, *elbv2.DescribeLoadBalancersOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeLoadBalancersOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeLoadBalancersInput) *elbv2.DescribeLoadBalancersOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeLoadBalancersOutput)
		}
	}

	return r0, r1
}

// DescribeLoadBalancersWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeLoadBalancersWithContext(_a0 context.Context, _a1 *elbv2.DescribeLoadBalancersInput, _a2 ...request.Option) (*elbv2.DescribeLoadBalancersOutput, 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 *elbv2.DescribeLoadBalancersOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeLoadBalancersInput, ...request.Option) *elbv2.DescribeLoadBalancersOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeLoadBalancersOutput)
		}
	}

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

	return r0, r1
}

// DescribeRules provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeRules(_a0 *elbv2.DescribeRulesInput) (*elbv2.DescribeRulesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeRulesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeRulesInput) *elbv2.DescribeRulesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeRulesOutput)
		}
	}

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

	return r0, r1
}

// DescribeRulesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeRulesRequest(_a0 *elbv2.DescribeRulesInput) (*request.Request, *elbv2.DescribeRulesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeRulesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeRulesInput) *elbv2.DescribeRulesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeRulesOutput)
		}
	}

	return r0, r1
}

// DescribeRulesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeRulesWithContext(_a0 context.Context, _a1 *elbv2.DescribeRulesInput, _a2 ...request.Option) (*elbv2.DescribeRulesOutput, 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 *elbv2.DescribeRulesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeRulesInput, ...request.Option) *elbv2.DescribeRulesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeRulesOutput)
		}
	}

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

	return r0, r1
}

// DescribeSSLPolicies provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeSSLPolicies(_a0 *elbv2.DescribeSSLPoliciesInput) (*elbv2.DescribeSSLPoliciesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeSSLPoliciesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeSSLPoliciesInput) *elbv2.DescribeSSLPoliciesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeSSLPoliciesOutput)
		}
	}

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

	return r0, r1
}

// DescribeSSLPoliciesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeSSLPoliciesRequest(_a0 *elbv2.DescribeSSLPoliciesInput) (*request.Request, *elbv2.DescribeSSLPoliciesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeSSLPoliciesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeSSLPoliciesInput) *elbv2.DescribeSSLPoliciesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeSSLPoliciesOutput)
		}
	}

	return r0, r1
}

// DescribeSSLPoliciesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeSSLPoliciesWithContext(_a0 context.Context, _a1 *elbv2.DescribeSSLPoliciesInput, _a2 ...request.Option) (*elbv2.DescribeSSLPoliciesOutput, 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 *elbv2.DescribeSSLPoliciesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeSSLPoliciesInput, ...request.Option) *elbv2.DescribeSSLPoliciesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeSSLPoliciesOutput)
		}
	}

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

	return r0, r1
}

// DescribeTags provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTags(_a0 *elbv2.DescribeTagsInput) (*elbv2.DescribeTagsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeTagsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeTagsInput) *elbv2.DescribeTagsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTagsOutput)
		}
	}

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

	return r0, r1
}

// DescribeTagsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTagsRequest(_a0 *elbv2.DescribeTagsInput) (*request.Request, *elbv2.DescribeTagsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeTagsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeTagsInput) *elbv2.DescribeTagsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeTagsOutput)
		}
	}

	return r0, r1
}

// DescribeTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeTagsWithContext(_a0 context.Context, _a1 *elbv2.DescribeTagsInput, _a2 ...request.Option) (*elbv2.DescribeTagsOutput, 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 *elbv2.DescribeTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeTagsInput, ...request.Option) *elbv2.DescribeTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTagsOutput)
		}
	}

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

	return r0, r1
}

// DescribeTargetGroupAttributes provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTargetGroupAttributes(_a0 *elbv2.DescribeTargetGroupAttributesInput) (*elbv2.DescribeTargetGroupAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeTargetGroupAttributesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeTargetGroupAttributesInput) *elbv2.DescribeTargetGroupAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTargetGroupAttributesOutput)
		}
	}

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

	return r0, r1
}

// DescribeTargetGroupAttributesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTargetGroupAttributesRequest(_a0 *elbv2.DescribeTargetGroupAttributesInput) (*request.Request, *elbv2.DescribeTargetGroupAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeTargetGroupAttributesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeTargetGroupAttributesInput) *elbv2.DescribeTargetGroupAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeTargetGroupAttributesOutput)
		}
	}

	return r0, r1
}

// DescribeTargetGroupAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeTargetGroupAttributesWithContext(_a0 context.Context, _a1 *elbv2.DescribeTargetGroupAttributesInput, _a2 ...request.Option) (*elbv2.DescribeTargetGroupAttributesOutput, 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 *elbv2.DescribeTargetGroupAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeTargetGroupAttributesInput, ...request.Option) *elbv2.DescribeTargetGroupAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTargetGroupAttributesOutput)
		}
	}

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

	return r0, r1
}

// DescribeTargetGroups provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTargetGroups(_a0 *elbv2.DescribeTargetGroupsInput) (*elbv2.DescribeTargetGroupsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeTargetGroupsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeTargetGroupsInput) *elbv2.DescribeTargetGroupsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTargetGroupsOutput)
		}
	}

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

	return r0, r1
}

// DescribeTargetGroupsPages provides a mock function with given fields: _a0, _a1
func (_m *ELBV2API) DescribeTargetGroupsPages(_a0 *elbv2.DescribeTargetGroupsInput, _a1 func(*elbv2.DescribeTargetGroupsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

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

	return r0
}

// DescribeTargetGroupsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *ELBV2API) DescribeTargetGroupsPagesWithContext(_a0 context.Context, _a1 *elbv2.DescribeTargetGroupsInput, _a2 func(*elbv2.DescribeTargetGroupsOutput, 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, *elbv2.DescribeTargetGroupsInput, func(*elbv2.DescribeTargetGroupsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeTargetGroupsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTargetGroupsRequest(_a0 *elbv2.DescribeTargetGroupsInput) (*request.Request, *elbv2.DescribeTargetGroupsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeTargetGroupsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeTargetGroupsInput) *elbv2.DescribeTargetGroupsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeTargetGroupsOutput)
		}
	}

	return r0, r1
}

// DescribeTargetGroupsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeTargetGroupsWithContext(_a0 context.Context, _a1 *elbv2.DescribeTargetGroupsInput, _a2 ...request.Option) (*elbv2.DescribeTargetGroupsOutput, 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 *elbv2.DescribeTargetGroupsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeTargetGroupsInput, ...request.Option) *elbv2.DescribeTargetGroupsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTargetGroupsOutput)
		}
	}

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

	return r0, r1
}

// DescribeTargetHealth provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTargetHealth(_a0 *elbv2.DescribeTargetHealthInput) (*elbv2.DescribeTargetHealthOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.DescribeTargetHealthOutput
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeTargetHealthInput) *elbv2.DescribeTargetHealthOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTargetHealthOutput)
		}
	}

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

	return r0, r1
}

// DescribeTargetHealthRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) DescribeTargetHealthRequest(_a0 *elbv2.DescribeTargetHealthInput) (*request.Request, *elbv2.DescribeTargetHealthOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.DescribeTargetHealthOutput
	if rf, ok := ret.Get(1).(func(*elbv2.DescribeTargetHealthInput) *elbv2.DescribeTargetHealthOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.DescribeTargetHealthOutput)
		}
	}

	return r0, r1
}

// DescribeTargetHealthWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) DescribeTargetHealthWithContext(_a0 context.Context, _a1 *elbv2.DescribeTargetHealthInput, _a2 ...request.Option) (*elbv2.DescribeTargetHealthOutput, 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 *elbv2.DescribeTargetHealthOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeTargetHealthInput, ...request.Option) *elbv2.DescribeTargetHealthOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.DescribeTargetHealthOutput)
		}
	}

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

	return r0, r1
}

// ModifyListener provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyListener(_a0 *elbv2.ModifyListenerInput) (*elbv2.ModifyListenerOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.ModifyListenerOutput
	if rf, ok := ret.Get(0).(func(*elbv2.ModifyListenerInput) *elbv2.ModifyListenerOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyListenerOutput)
		}
	}

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

	return r0, r1
}

// ModifyListenerRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyListenerRequest(_a0 *elbv2.ModifyListenerInput) (*request.Request, *elbv2.ModifyListenerOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.ModifyListenerOutput
	if rf, ok := ret.Get(1).(func(*elbv2.ModifyListenerInput) *elbv2.ModifyListenerOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.ModifyListenerOutput)
		}
	}

	return r0, r1
}

// ModifyListenerWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) ModifyListenerWithContext(_a0 context.Context, _a1 *elbv2.ModifyListenerInput, _a2 ...request.Option) (*elbv2.ModifyListenerOutput, 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 *elbv2.ModifyListenerOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.ModifyListenerInput, ...request.Option) *elbv2.ModifyListenerOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyListenerOutput)
		}
	}

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

	return r0, r1
}

// ModifyLoadBalancerAttributes provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyLoadBalancerAttributes(_a0 *elbv2.ModifyLoadBalancerAttributesInput) (*elbv2.ModifyLoadBalancerAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.ModifyLoadBalancerAttributesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.ModifyLoadBalancerAttributesInput) *elbv2.ModifyLoadBalancerAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyLoadBalancerAttributesOutput)
		}
	}

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

	return r0, r1
}

// ModifyLoadBalancerAttributesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyLoadBalancerAttributesRequest(_a0 *elbv2.ModifyLoadBalancerAttributesInput) (*request.Request, *elbv2.ModifyLoadBalancerAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.ModifyLoadBalancerAttributesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.ModifyLoadBalancerAttributesInput) *elbv2.ModifyLoadBalancerAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.ModifyLoadBalancerAttributesOutput)
		}
	}

	return r0, r1
}

// ModifyLoadBalancerAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) ModifyLoadBalancerAttributesWithContext(_a0 context.Context, _a1 *elbv2.ModifyLoadBalancerAttributesInput, _a2 ...request.Option) (*elbv2.ModifyLoadBalancerAttributesOutput, 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 *elbv2.ModifyLoadBalancerAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.ModifyLoadBalancerAttributesInput, ...request.Option) *elbv2.ModifyLoadBalancerAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyLoadBalancerAttributesOutput)
		}
	}

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

	return r0, r1
}

// ModifyRule provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyRule(_a0 *elbv2.ModifyRuleInput) (*elbv2.ModifyRuleOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.ModifyRuleOutput
	if rf, ok := ret.Get(0).(func(*elbv2.ModifyRuleInput) *elbv2.ModifyRuleOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyRuleOutput)
		}
	}

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

	return r0, r1
}

// ModifyRuleRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyRuleRequest(_a0 *elbv2.ModifyRuleInput) (*request.Request, *elbv2.ModifyRuleOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.ModifyRuleOutput
	if rf, ok := ret.Get(1).(func(*elbv2.ModifyRuleInput) *elbv2.ModifyRuleOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.ModifyRuleOutput)
		}
	}

	return r0, r1
}

// ModifyRuleWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) ModifyRuleWithContext(_a0 context.Context, _a1 *elbv2.ModifyRuleInput, _a2 ...request.Option) (*elbv2.ModifyRuleOutput, 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 *elbv2.ModifyRuleOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.ModifyRuleInput, ...request.Option) *elbv2.ModifyRuleOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyRuleOutput)
		}
	}

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

	return r0, r1
}

// ModifyTargetGroup provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyTargetGroup(_a0 *elbv2.ModifyTargetGroupInput) (*elbv2.ModifyTargetGroupOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.ModifyTargetGroupOutput
	if rf, ok := ret.Get(0).(func(*elbv2.ModifyTargetGroupInput) *elbv2.ModifyTargetGroupOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyTargetGroupOutput)
		}
	}

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

	return r0, r1
}

// ModifyTargetGroupAttributes provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyTargetGroupAttributes(_a0 *elbv2.ModifyTargetGroupAttributesInput) (*elbv2.ModifyTargetGroupAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.ModifyTargetGroupAttributesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.ModifyTargetGroupAttributesInput) *elbv2.ModifyTargetGroupAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyTargetGroupAttributesOutput)
		}
	}

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

	return r0, r1
}

// ModifyTargetGroupAttributesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyTargetGroupAttributesRequest(_a0 *elbv2.ModifyTargetGroupAttributesInput) (*request.Request, *elbv2.ModifyTargetGroupAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.ModifyTargetGroupAttributesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.ModifyTargetGroupAttributesInput) *elbv2.ModifyTargetGroupAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.ModifyTargetGroupAttributesOutput)
		}
	}

	return r0, r1
}

// ModifyTargetGroupAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) ModifyTargetGroupAttributesWithContext(_a0 context.Context, _a1 *elbv2.ModifyTargetGroupAttributesInput, _a2 ...request.Option) (*elbv2.ModifyTargetGroupAttributesOutput, 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 *elbv2.ModifyTargetGroupAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.ModifyTargetGroupAttributesInput, ...request.Option) *elbv2.ModifyTargetGroupAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyTargetGroupAttributesOutput)
		}
	}

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

	return r0, r1
}

// ModifyTargetGroupRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) ModifyTargetGroupRequest(_a0 *elbv2.ModifyTargetGroupInput) (*request.Request, *elbv2.ModifyTargetGroupOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.ModifyTargetGroupOutput
	if rf, ok := ret.Get(1).(func(*elbv2.ModifyTargetGroupInput) *elbv2.ModifyTargetGroupOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.ModifyTargetGroupOutput)
		}
	}

	return r0, r1
}

// ModifyTargetGroupWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) ModifyTargetGroupWithContext(_a0 context.Context, _a1 *elbv2.ModifyTargetGroupInput, _a2 ...request.Option) (*elbv2.ModifyTargetGroupOutput, 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 *elbv2.ModifyTargetGroupOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.ModifyTargetGroupInput, ...request.Option) *elbv2.ModifyTargetGroupOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.ModifyTargetGroupOutput)
		}
	}

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

	return r0, r1
}

// RegisterTargets provides a mock function with given fields: _a0
func (_m *ELBV2API) RegisterTargets(_a0 *elbv2.RegisterTargetsInput) (*elbv2.RegisterTargetsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.RegisterTargetsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.RegisterTargetsInput) *elbv2.RegisterTargetsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.RegisterTargetsOutput)
		}
	}

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

	return r0, r1
}

// RegisterTargetsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) RegisterTargetsRequest(_a0 *elbv2.RegisterTargetsInput) (*request.Request, *elbv2.RegisterTargetsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.RegisterTargetsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.RegisterTargetsInput) *elbv2.RegisterTargetsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.RegisterTargetsOutput)
		}
	}

	return r0, r1
}

// RegisterTargetsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) RegisterTargetsWithContext(_a0 context.Context, _a1 *elbv2.RegisterTargetsInput, _a2 ...request.Option) (*elbv2.RegisterTargetsOutput, 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 *elbv2.RegisterTargetsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.RegisterTargetsInput, ...request.Option) *elbv2.RegisterTargetsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.RegisterTargetsOutput)
		}
	}

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

	return r0, r1
}

// RemoveListenerCertificates provides a mock function with given fields: _a0
func (_m *ELBV2API) RemoveListenerCertificates(_a0 *elbv2.RemoveListenerCertificatesInput) (*elbv2.RemoveListenerCertificatesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.RemoveListenerCertificatesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.RemoveListenerCertificatesInput) *elbv2.RemoveListenerCertificatesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.RemoveListenerCertificatesOutput)
		}
	}

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

	return r0, r1
}

// RemoveListenerCertificatesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) RemoveListenerCertificatesRequest(_a0 *elbv2.RemoveListenerCertificatesInput) (*request.Request, *elbv2.RemoveListenerCertificatesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.RemoveListenerCertificatesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.RemoveListenerCertificatesInput) *elbv2.RemoveListenerCertificatesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.RemoveListenerCertificatesOutput)
		}
	}

	return r0, r1
}

// RemoveListenerCertificatesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) RemoveListenerCertificatesWithContext(_a0 context.Context, _a1 *elbv2.RemoveListenerCertificatesInput, _a2 ...request.Option) (*elbv2.RemoveListenerCertificatesOutput, 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 *elbv2.RemoveListenerCertificatesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.RemoveListenerCertificatesInput, ...request.Option) *elbv2.RemoveListenerCertificatesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.RemoveListenerCertificatesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *elbv2.RemoveListenerCertificatesInput, ...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 *ELBV2API) RemoveTags(_a0 *elbv2.RemoveTagsInput) (*elbv2.RemoveTagsOutput, error) {
	ret := _m.Called(_a0)

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

	var r1 error
	if rf, ok := ret.Get(1).(func(*elbv2.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 *ELBV2API) RemoveTagsRequest(_a0 *elbv2.RemoveTagsInput) (*request.Request, *elbv2.RemoveTagsOutput) {
	ret := _m.Called(_a0)

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

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

	return r0, r1
}

// RemoveTagsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) RemoveTagsWithContext(_a0 context.Context, _a1 *elbv2.RemoveTagsInput, _a2 ...request.Option) (*elbv2.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 *elbv2.RemoveTagsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.RemoveTagsInput, ...request.Option) *elbv2.RemoveTagsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.RemoveTagsOutput)
		}
	}

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

	return r0, r1
}

// SetIpAddressType provides a mock function with given fields: _a0
func (_m *ELBV2API) SetIpAddressType(_a0 *elbv2.SetIpAddressTypeInput) (*elbv2.SetIpAddressTypeOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.SetIpAddressTypeOutput
	if rf, ok := ret.Get(0).(func(*elbv2.SetIpAddressTypeInput) *elbv2.SetIpAddressTypeOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetIpAddressTypeOutput)
		}
	}

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

	return r0, r1
}

// SetIpAddressTypeRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) SetIpAddressTypeRequest(_a0 *elbv2.SetIpAddressTypeInput) (*request.Request, *elbv2.SetIpAddressTypeOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.SetIpAddressTypeOutput
	if rf, ok := ret.Get(1).(func(*elbv2.SetIpAddressTypeInput) *elbv2.SetIpAddressTypeOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.SetIpAddressTypeOutput)
		}
	}

	return r0, r1
}

// SetIpAddressTypeWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) SetIpAddressTypeWithContext(_a0 context.Context, _a1 *elbv2.SetIpAddressTypeInput, _a2 ...request.Option) (*elbv2.SetIpAddressTypeOutput, 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 *elbv2.SetIpAddressTypeOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.SetIpAddressTypeInput, ...request.Option) *elbv2.SetIpAddressTypeOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetIpAddressTypeOutput)
		}
	}

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

	return r0, r1
}

// SetRulePriorities provides a mock function with given fields: _a0
func (_m *ELBV2API) SetRulePriorities(_a0 *elbv2.SetRulePrioritiesInput) (*elbv2.SetRulePrioritiesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.SetRulePrioritiesOutput
	if rf, ok := ret.Get(0).(func(*elbv2.SetRulePrioritiesInput) *elbv2.SetRulePrioritiesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetRulePrioritiesOutput)
		}
	}

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

	return r0, r1
}

// SetRulePrioritiesRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) SetRulePrioritiesRequest(_a0 *elbv2.SetRulePrioritiesInput) (*request.Request, *elbv2.SetRulePrioritiesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.SetRulePrioritiesOutput
	if rf, ok := ret.Get(1).(func(*elbv2.SetRulePrioritiesInput) *elbv2.SetRulePrioritiesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.SetRulePrioritiesOutput)
		}
	}

	return r0, r1
}

// SetRulePrioritiesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) SetRulePrioritiesWithContext(_a0 context.Context, _a1 *elbv2.SetRulePrioritiesInput, _a2 ...request.Option) (*elbv2.SetRulePrioritiesOutput, 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 *elbv2.SetRulePrioritiesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.SetRulePrioritiesInput, ...request.Option) *elbv2.SetRulePrioritiesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetRulePrioritiesOutput)
		}
	}

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

	return r0, r1
}

// SetSecurityGroups provides a mock function with given fields: _a0
func (_m *ELBV2API) SetSecurityGroups(_a0 *elbv2.SetSecurityGroupsInput) (*elbv2.SetSecurityGroupsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.SetSecurityGroupsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.SetSecurityGroupsInput) *elbv2.SetSecurityGroupsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetSecurityGroupsOutput)
		}
	}

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

	return r0, r1
}

// SetSecurityGroupsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) SetSecurityGroupsRequest(_a0 *elbv2.SetSecurityGroupsInput) (*request.Request, *elbv2.SetSecurityGroupsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.SetSecurityGroupsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.SetSecurityGroupsInput) *elbv2.SetSecurityGroupsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.SetSecurityGroupsOutput)
		}
	}

	return r0, r1
}

// SetSecurityGroupsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) SetSecurityGroupsWithContext(_a0 context.Context, _a1 *elbv2.SetSecurityGroupsInput, _a2 ...request.Option) (*elbv2.SetSecurityGroupsOutput, 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 *elbv2.SetSecurityGroupsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.SetSecurityGroupsInput, ...request.Option) *elbv2.SetSecurityGroupsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetSecurityGroupsOutput)
		}
	}

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

	return r0, r1
}

// SetSubnets provides a mock function with given fields: _a0
func (_m *ELBV2API) SetSubnets(_a0 *elbv2.SetSubnetsInput) (*elbv2.SetSubnetsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *elbv2.SetSubnetsOutput
	if rf, ok := ret.Get(0).(func(*elbv2.SetSubnetsInput) *elbv2.SetSubnetsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetSubnetsOutput)
		}
	}

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

	return r0, r1
}

// SetSubnetsRequest provides a mock function with given fields: _a0
func (_m *ELBV2API) SetSubnetsRequest(_a0 *elbv2.SetSubnetsInput) (*request.Request, *elbv2.SetSubnetsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *elbv2.SetSubnetsOutput
	if rf, ok := ret.Get(1).(func(*elbv2.SetSubnetsInput) *elbv2.SetSubnetsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*elbv2.SetSubnetsOutput)
		}
	}

	return r0, r1
}

// SetSubnetsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) SetSubnetsWithContext(_a0 context.Context, _a1 *elbv2.SetSubnetsInput, _a2 ...request.Option) (*elbv2.SetSubnetsOutput, 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 *elbv2.SetSubnetsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.SetSubnetsInput, ...request.Option) *elbv2.SetSubnetsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elbv2.SetSubnetsOutput)
		}
	}

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

	return r0, r1
}

// WaitUntilLoadBalancerAvailable provides a mock function with given fields: _a0
func (_m *ELBV2API) WaitUntilLoadBalancerAvailable(_a0 *elbv2.DescribeLoadBalancersInput) error {
	ret := _m.Called(_a0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeLoadBalancersInput) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilLoadBalancerAvailableWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) WaitUntilLoadBalancerAvailableWithContext(_a0 context.Context, _a1 *elbv2.DescribeLoadBalancersInput, _a2 ...request.WaiterOption) 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 error
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeLoadBalancersInput, ...request.WaiterOption) error); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilLoadBalancerExists provides a mock function with given fields: _a0
func (_m *ELBV2API) WaitUntilLoadBalancerExists(_a0 *elbv2.DescribeLoadBalancersInput) error {
	ret := _m.Called(_a0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeLoadBalancersInput) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilLoadBalancerExistsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) WaitUntilLoadBalancerExistsWithContext(_a0 context.Context, _a1 *elbv2.DescribeLoadBalancersInput, _a2 ...request.WaiterOption) 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 error
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeLoadBalancersInput, ...request.WaiterOption) error); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilLoadBalancersDeleted provides a mock function with given fields: _a0
func (_m *ELBV2API) WaitUntilLoadBalancersDeleted(_a0 *elbv2.DescribeLoadBalancersInput) error {
	ret := _m.Called(_a0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeLoadBalancersInput) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilLoadBalancersDeletedWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) WaitUntilLoadBalancersDeletedWithContext(_a0 context.Context, _a1 *elbv2.DescribeLoadBalancersInput, _a2 ...request.WaiterOption) 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 error
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeLoadBalancersInput, ...request.WaiterOption) error); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilTargetDeregistered provides a mock function with given fields: _a0
func (_m *ELBV2API) WaitUntilTargetDeregistered(_a0 *elbv2.DescribeTargetHealthInput) error {
	ret := _m.Called(_a0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeTargetHealthInput) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilTargetDeregisteredWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) WaitUntilTargetDeregisteredWithContext(_a0 context.Context, _a1 *elbv2.DescribeTargetHealthInput, _a2 ...request.WaiterOption) 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 error
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeTargetHealthInput, ...request.WaiterOption) error); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilTargetInService provides a mock function with given fields: _a0
func (_m *ELBV2API) WaitUntilTargetInService(_a0 *elbv2.DescribeTargetHealthInput) error {
	ret := _m.Called(_a0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*elbv2.DescribeTargetHealthInput) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilTargetInServiceWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *ELBV2API) WaitUntilTargetInServiceWithContext(_a0 context.Context, _a1 *elbv2.DescribeTargetHealthInput, _a2 ...request.WaiterOption) 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 error
	if rf, ok := ret.Get(0).(func(context.Context, *elbv2.DescribeTargetHealthInput, ...request.WaiterOption) error); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}
