// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/infra-provider/regional-server/pkg/repository (interfaces: VPCReader,VPCWriter,VPCReaderWriter)
//
// Generated by this command:
//
//	mockgen -destination ./test/mockrepository/vpc.go -package mockrepository github.com/tidbcloud/infra-provider/regional-server/pkg/repository VPCReader,VPCWriter,VPCReaderWriter
//

// Package mockrepository is a generated GoMock package.
package mockrepository

import (
	context "context"
	reflect "reflect"

	v1alpha1 "github.com/tidbcloud/infra-provider/regional-server/api/v1alpha1"
	gomock "go.uber.org/mock/gomock"
	types "k8s.io/apimachinery/pkg/types"
	client "sigs.k8s.io/controller-runtime/pkg/client"
)

// MockVPCReader is a mock of VPCReader interface.
type MockVPCReader struct {
	ctrl     *gomock.Controller
	recorder *MockVPCReaderMockRecorder
}

// MockVPCReaderMockRecorder is the mock recorder for MockVPCReader.
type MockVPCReaderMockRecorder struct {
	mock *MockVPCReader
}

// NewMockVPCReader creates a new mock instance.
func NewMockVPCReader(ctrl *gomock.Controller) *MockVPCReader {
	mock := &MockVPCReader{ctrl: ctrl}
	mock.recorder = &MockVPCReaderMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockVPCReader) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockVPCReaderMockRecorder) Get(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockVPCReader)(nil).Get), arg0, arg1, arg2)
}

// List mocks base method.
func (m *MockVPCReader) List(arg0 context.Context, arg1 *v1alpha1.VPCList, arg2 ...client.ListOption) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "List", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// MockVPCWriter is a mock of VPCWriter interface.
type MockVPCWriter struct {
	ctrl     *gomock.Controller
	recorder *MockVPCWriterMockRecorder
}

// MockVPCWriterMockRecorder is the mock recorder for MockVPCWriter.
type MockVPCWriterMockRecorder struct {
	mock *MockVPCWriter
}

// NewMockVPCWriter creates a new mock instance.
func NewMockVPCWriter(ctrl *gomock.Controller) *MockVPCWriter {
	mock := &MockVPCWriter{ctrl: ctrl}
	mock.recorder = &MockVPCWriterMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockVPCWriter) Create(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Create indicates an expected call of Create.
func (mr *MockVPCWriterMockRecorder) Create(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockVPCWriter)(nil).Create), arg0, arg1)
}

// Delete mocks base method.
func (m *MockVPCWriter) Delete(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockVPCWriterMockRecorder) Delete(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockVPCWriter)(nil).Delete), arg0, arg1)
}

// Patch mocks base method.
func (m *MockVPCWriter) Patch(arg0 context.Context, arg1 *v1alpha1.VPC, arg2 client.Patch) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Patch", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

// Patch indicates an expected call of Patch.
func (mr *MockVPCWriterMockRecorder) Patch(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Patch", reflect.TypeOf((*MockVPCWriter)(nil).Patch), arg0, arg1, arg2)
}

// Update mocks base method.
func (m *MockVPCWriter) Update(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Update indicates an expected call of Update.
func (mr *MockVPCWriterMockRecorder) Update(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockVPCWriter)(nil).Update), arg0, arg1)
}

// UpdateStatus mocks base method.
func (m *MockVPCWriter) UpdateStatus(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateStatus", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateStatus indicates an expected call of UpdateStatus.
func (mr *MockVPCWriterMockRecorder) UpdateStatus(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockVPCWriter)(nil).UpdateStatus), arg0, arg1)
}

// MockVPCReaderWriter is a mock of VPCReaderWriter interface.
type MockVPCReaderWriter struct {
	ctrl     *gomock.Controller
	recorder *MockVPCReaderWriterMockRecorder
}

// MockVPCReaderWriterMockRecorder is the mock recorder for MockVPCReaderWriter.
type MockVPCReaderWriterMockRecorder struct {
	mock *MockVPCReaderWriter
}

// NewMockVPCReaderWriter creates a new mock instance.
func NewMockVPCReaderWriter(ctrl *gomock.Controller) *MockVPCReaderWriter {
	mock := &MockVPCReaderWriter{ctrl: ctrl}
	mock.recorder = &MockVPCReaderWriterMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockVPCReaderWriter) Create(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Create indicates an expected call of Create.
func (mr *MockVPCReaderWriterMockRecorder) Create(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockVPCReaderWriter)(nil).Create), arg0, arg1)
}

// Delete mocks base method.
func (m *MockVPCReaderWriter) Delete(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockVPCReaderWriterMockRecorder) Delete(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockVPCReaderWriter)(nil).Delete), arg0, arg1)
}

// Get mocks base method.
func (m *MockVPCReaderWriter) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockVPCReaderWriterMockRecorder) Get(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockVPCReaderWriter)(nil).Get), arg0, arg1, arg2)
}

// List mocks base method.
func (m *MockVPCReaderWriter) List(arg0 context.Context, arg1 *v1alpha1.VPCList, arg2 ...client.ListOption) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "List", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Patch mocks base method.
func (m *MockVPCReaderWriter) Patch(arg0 context.Context, arg1 *v1alpha1.VPC, arg2 client.Patch) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Patch", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

// Patch indicates an expected call of Patch.
func (mr *MockVPCReaderWriterMockRecorder) Patch(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Patch", reflect.TypeOf((*MockVPCReaderWriter)(nil).Patch), arg0, arg1, arg2)
}

// Update mocks base method.
func (m *MockVPCReaderWriter) Update(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Update indicates an expected call of Update.
func (mr *MockVPCReaderWriterMockRecorder) Update(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockVPCReaderWriter)(nil).Update), arg0, arg1)
}

// UpdateStatus mocks base method.
func (m *MockVPCReaderWriter) UpdateStatus(arg0 context.Context, arg1 *v1alpha1.VPC) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateStatus", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateStatus indicates an expected call of UpdateStatus.
func (mr *MockVPCReaderWriterMockRecorder) UpdateStatus(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockVPCReaderWriter)(nil).UpdateStatus), arg0, arg1)
}
