// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/resourcemanager/vpcpeering/vpcpeering.go
//
// Generated by this command:
//
//	mockgen -destination ./test/resourcemanager/mockvpcpeering/mock_vpcpeering.go -package mockvpcpeering -source ./pkg/resourcemanager/vpcpeering/vpcpeering.go
//

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

import (
	context "context"
	reflect "reflect"

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

// MockVPCPeeringReaderWriter is a mock of VPCPeeringReaderWriter interface.
type MockVPCPeeringReaderWriter struct {
	ctrl     *gomock.Controller
	recorder *MockVPCPeeringReaderWriterMockRecorder
}

// MockVPCPeeringReaderWriterMockRecorder is the mock recorder for MockVPCPeeringReaderWriter.
type MockVPCPeeringReaderWriterMockRecorder struct {
	mock *MockVPCPeeringReaderWriter
}

// NewMockVPCPeeringReaderWriter creates a new mock instance.
func NewMockVPCPeeringReaderWriter(ctrl *gomock.Controller) *MockVPCPeeringReaderWriter {
	mock := &MockVPCPeeringReaderWriter{ctrl: ctrl}
	mock.recorder = &MockVPCPeeringReaderWriterMockRecorder{mock}
	return mock
}

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

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

// Create indicates an expected call of Create.
func (mr *MockVPCPeeringReaderWriterMockRecorder) Create(ctx, vpcPeering any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockVPCPeeringReaderWriter)(nil).Create), ctx, vpcPeering)
}

// Get mocks base method.
func (m *MockVPCPeeringReaderWriter) Get(ctx context.Context, key client.ObjectKey, vpc *v1alpha1.VPCPeering) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, key, vpc)
	ret0, _ := ret[0].(error)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockVPCPeeringReaderWriterMockRecorder) Get(ctx, key, vpc any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockVPCPeeringReaderWriter)(nil).Get), ctx, key, vpc)
}

// List mocks base method.
func (m *MockVPCPeeringReaderWriter) List(ctx context.Context, vpcPeering *v1alpha1.VPCPeeringList, opts ...client.ListOption) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, vpcPeering}
	for _, a := range opts {
		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 *MockVPCPeeringReaderWriterMockRecorder) List(ctx, vpcPeering any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, vpcPeering}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockVPCPeeringReaderWriter)(nil).List), varargs...)
}

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

// UpdateStatus indicates an expected call of UpdateStatus.
func (mr *MockVPCPeeringReaderWriterMockRecorder) UpdateStatus(ctx, vpcPeering any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockVPCPeeringReaderWriter)(nil).UpdateStatus), ctx, vpcPeering)
}

// MockVPCPeeringWriter is a mock of VPCPeeringWriter interface.
type MockVPCPeeringWriter struct {
	ctrl     *gomock.Controller
	recorder *MockVPCPeeringWriterMockRecorder
}

// MockVPCPeeringWriterMockRecorder is the mock recorder for MockVPCPeeringWriter.
type MockVPCPeeringWriterMockRecorder struct {
	mock *MockVPCPeeringWriter
}

// NewMockVPCPeeringWriter creates a new mock instance.
func NewMockVPCPeeringWriter(ctrl *gomock.Controller) *MockVPCPeeringWriter {
	mock := &MockVPCPeeringWriter{ctrl: ctrl}
	mock.recorder = &MockVPCPeeringWriterMockRecorder{mock}
	return mock
}

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

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

// Create indicates an expected call of Create.
func (mr *MockVPCPeeringWriterMockRecorder) Create(ctx, vpcPeering any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockVPCPeeringWriter)(nil).Create), ctx, vpcPeering)
}

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

// UpdateStatus indicates an expected call of UpdateStatus.
func (mr *MockVPCPeeringWriterMockRecorder) UpdateStatus(ctx, vpcPeering any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockVPCPeeringWriter)(nil).UpdateStatus), ctx, vpcPeering)
}

// MockVPCPeeringReader is a mock of VPCPeeringReader interface.
type MockVPCPeeringReader struct {
	ctrl     *gomock.Controller
	recorder *MockVPCPeeringReaderMockRecorder
}

// MockVPCPeeringReaderMockRecorder is the mock recorder for MockVPCPeeringReader.
type MockVPCPeeringReaderMockRecorder struct {
	mock *MockVPCPeeringReader
}

// NewMockVPCPeeringReader creates a new mock instance.
func NewMockVPCPeeringReader(ctrl *gomock.Controller) *MockVPCPeeringReader {
	mock := &MockVPCPeeringReader{ctrl: ctrl}
	mock.recorder = &MockVPCPeeringReaderMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockVPCPeeringReader) Get(ctx context.Context, key client.ObjectKey, vpc *v1alpha1.VPCPeering) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, key, vpc)
	ret0, _ := ret[0].(error)
	return ret0
}

// Get indicates an expected call of Get.
func (mr *MockVPCPeeringReaderMockRecorder) Get(ctx, key, vpc any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockVPCPeeringReader)(nil).Get), ctx, key, vpc)
}

// List mocks base method.
func (m *MockVPCPeeringReader) List(ctx context.Context, vpcPeering *v1alpha1.VPCPeeringList, opts ...client.ListOption) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, vpcPeering}
	for _, a := range opts {
		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 *MockVPCPeeringReaderMockRecorder) List(ctx, vpcPeering any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, vpcPeering}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockVPCPeeringReader)(nil).List), varargs...)
}
