// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/kubernetes-sigs/aws-efs-csi-driver/pkg/cloud (interfaces: Efs)

// Package mock_cloud is a generated GoMock package.
package mocks

import (
	context "context"
	reflect "reflect"

	request "github.com/aws/aws-sdk-go/aws/request"
	efs "github.com/aws/aws-sdk-go/service/efs"
	gomock "github.com/golang/mock/gomock"
)

// MockEfs is a mock of Efs interface
type MockEfs struct {
	ctrl     *gomock.Controller
	recorder *MockEfsMockRecorder
}

// MockEfsMockRecorder is the mock recorder for MockEfs
type MockEfsMockRecorder struct {
	mock *MockEfs
}

// NewMockEfs creates a new mock instance
func NewMockEfs(ctrl *gomock.Controller) *MockEfs {
	mock := &MockEfs{ctrl: ctrl}
	mock.recorder = &MockEfsMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockEfs) EXPECT() *MockEfsMockRecorder {
	return m.recorder
}

// CreateAccessPointWithContext mocks base method
func (m *MockEfs) CreateAccessPointWithContext(arg0 context.Context, arg1 *efs.CreateAccessPointInput, arg2 ...request.Option) (*efs.CreateAccessPointOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateAccessPointWithContext", varargs...)
	ret0, _ := ret[0].(*efs.CreateAccessPointOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateAccessPointWithContext indicates an expected call of CreateAccessPointWithContext
func (mr *MockEfsMockRecorder) CreateAccessPointWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessPointWithContext", reflect.TypeOf((*MockEfs)(nil).CreateAccessPointWithContext), varargs...)
}

// DeleteAccessPointWithContext mocks base method
func (m *MockEfs) DeleteAccessPointWithContext(arg0 context.Context, arg1 *efs.DeleteAccessPointInput, arg2 ...request.Option) (*efs.DeleteAccessPointOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DeleteAccessPointWithContext", varargs...)
	ret0, _ := ret[0].(*efs.DeleteAccessPointOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteAccessPointWithContext indicates an expected call of DeleteAccessPointWithContext
func (mr *MockEfsMockRecorder) DeleteAccessPointWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessPointWithContext", reflect.TypeOf((*MockEfs)(nil).DeleteAccessPointWithContext), varargs...)
}

// DescribeAccessPointsWithContext mocks base method
func (m *MockEfs) DescribeAccessPointsWithContext(arg0 context.Context, arg1 *efs.DescribeAccessPointsInput, arg2 ...request.Option) (*efs.DescribeAccessPointsOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DescribeAccessPointsWithContext", varargs...)
	ret0, _ := ret[0].(*efs.DescribeAccessPointsOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DescribeAccessPointsWithContext indicates an expected call of DescribeAccessPointsWithContext
func (mr *MockEfsMockRecorder) DescribeAccessPointsWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeAccessPointsWithContext", reflect.TypeOf((*MockEfs)(nil).DescribeAccessPointsWithContext), varargs...)
}

// DescribeFileSystemsWithContext mocks base method
func (m *MockEfs) DescribeFileSystemsWithContext(arg0 context.Context, arg1 *efs.DescribeFileSystemsInput, arg2 ...request.Option) (*efs.DescribeFileSystemsOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DescribeFileSystemsWithContext", varargs...)
	ret0, _ := ret[0].(*efs.DescribeFileSystemsOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DescribeFileSystemsWithContext indicates an expected call of DescribeFileSystemsWithContext
func (mr *MockEfsMockRecorder) DescribeFileSystemsWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeFileSystemsWithContext", reflect.TypeOf((*MockEfs)(nil).DescribeFileSystemsWithContext), varargs...)
}

// DescribeMountTargetsWithContext mocks base method.
func (m *MockEfs) DescribeMountTargetsWithContext(arg0 context.Context, arg1 *efs.DescribeMountTargetsInput, arg2 ...request.Option) (*efs.DescribeMountTargetsOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DescribeMountTargetsWithContext", varargs...)
	ret0, _ := ret[0].(*efs.DescribeMountTargetsOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DescribeMountTargetsWithContext indicates an expected call of DescribeMountTargetsWithContext.
func (mr *MockEfsMockRecorder) DescribeMountTargetsWithContext(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0, arg1}, arg2...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeMountTargetsWithContext", reflect.TypeOf((*MockEfs)(nil).DescribeMountTargetsWithContext), varargs...)
}
