// Code generated by MockGen. DO NOT EDIT.
// Source: ./internal/domain/service/privatelink.go
//
// Generated by this command:
//
//	mockgen -source=./internal/domain/service/privatelink.go -destination ./internal/domain/service/mock_service/mock_privatelink.go -package mock_service
//

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

import (
	context "context"
	reflect "reflect"

	bizerr "github.com/tidbcloud/pkgv2/bizerr"
	entity "github.com/tidbcloud/serverless-service/internal/domain/entity"
	vo "github.com/tidbcloud/serverless-service/internal/domain/vo"
	gomock "go.uber.org/mock/gomock"
)

// MockPrivateLinkConnectionService is a mock of PrivateLinkConnectionService interface.
type MockPrivateLinkConnectionService struct {
	ctrl     *gomock.Controller
	recorder *MockPrivateLinkConnectionServiceMockRecorder
}

// MockPrivateLinkConnectionServiceMockRecorder is the mock recorder for MockPrivateLinkConnectionService.
type MockPrivateLinkConnectionServiceMockRecorder struct {
	mock *MockPrivateLinkConnectionService
}

// NewMockPrivateLinkConnectionService creates a new mock instance.
func NewMockPrivateLinkConnectionService(ctrl *gomock.Controller) *MockPrivateLinkConnectionService {
	mock := &MockPrivateLinkConnectionService{ctrl: ctrl}
	mock.recorder = &MockPrivateLinkConnectionServiceMockRecorder{mock}
	return mock
}

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

// AttachDomains mocks base method.
func (m *MockPrivateLinkConnectionService) AttachDomains(ctx context.Context, plcd *entity.PLCAttachDomain, DryRun bool) (*entity.PLCAttachDomain, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AttachDomains", ctx, plcd, DryRun)
	ret0, _ := ret[0].(*entity.PLCAttachDomain)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// AttachDomains indicates an expected call of AttachDomains.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) AttachDomains(ctx, plcd, DryRun any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AttachDomains", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).AttachDomains), ctx, plcd, DryRun)
}

// CreatePrivateLinkConnection mocks base method.
func (m *MockPrivateLinkConnectionService) CreatePrivateLinkConnection(ctx context.Context, clusterId string, plc *entity.PrivateLinkConnection) (*entity.PrivateLinkConnection, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreatePrivateLinkConnection", ctx, clusterId, plc)
	ret0, _ := ret[0].(*entity.PrivateLinkConnection)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// CreatePrivateLinkConnection indicates an expected call of CreatePrivateLinkConnection.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) CreatePrivateLinkConnection(ctx, clusterId, plc any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePrivateLinkConnection", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).CreatePrivateLinkConnection), ctx, clusterId, plc)
}

// DeletePrivateLinkConnection mocks base method.
func (m *MockPrivateLinkConnectionService) DeletePrivateLinkConnection(ctx context.Context, clusterId, privateLinkConnectionId string) (*entity.PrivateLinkConnection, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeletePrivateLinkConnection", ctx, clusterId, privateLinkConnectionId)
	ret0, _ := ret[0].(*entity.PrivateLinkConnection)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// DeletePrivateLinkConnection indicates an expected call of DeletePrivateLinkConnection.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) DeletePrivateLinkConnection(ctx, clusterId, privateLinkConnectionId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePrivateLinkConnection", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).DeletePrivateLinkConnection), ctx, clusterId, privateLinkConnectionId)
}

// DeregisterPrivateLinkConnection mocks base method.
func (m *MockPrivateLinkConnectionService) DeregisterPrivateLinkConnection(ctx context.Context, clusterId, privateLinkConnectionId, bizId string) bizerr.BizError {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeregisterPrivateLinkConnection", ctx, clusterId, privateLinkConnectionId, bizId)
	ret0, _ := ret[0].(bizerr.BizError)
	return ret0
}

// DeregisterPrivateLinkConnection indicates an expected call of DeregisterPrivateLinkConnection.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) DeregisterPrivateLinkConnection(ctx, clusterId, privateLinkConnectionId, bizId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeregisterPrivateLinkConnection", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).DeregisterPrivateLinkConnection), ctx, clusterId, privateLinkConnectionId, bizId)
}

// DetachDomains mocks base method.
func (m *MockPrivateLinkConnectionService) DetachDomains(ctx context.Context, clusterId, privateLinkConnectionId, attachDomainID string) (*entity.PLCAttachDomain, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DetachDomains", ctx, clusterId, privateLinkConnectionId, attachDomainID)
	ret0, _ := ret[0].(*entity.PLCAttachDomain)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// DetachDomains indicates an expected call of DetachDomains.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) DetachDomains(ctx, clusterId, privateLinkConnectionId, attachDomainID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DetachDomains", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).DetachDomains), ctx, clusterId, privateLinkConnectionId, attachDomainID)
}

// GetAvailabilityZones mocks base method.
func (m *MockPrivateLinkConnectionService) GetAvailabilityZones(ctx context.Context, clusterId string) (string, []string, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAvailabilityZones", ctx, clusterId)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].([]string)
	ret2, _ := ret[2].(bizerr.BizError)
	return ret0, ret1, ret2
}

// GetAvailabilityZones indicates an expected call of GetAvailabilityZones.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) GetAvailabilityZones(ctx, clusterId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailabilityZones", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).GetAvailabilityZones), ctx, clusterId)
}

// GetPrivateLinkConnection mocks base method.
func (m *MockPrivateLinkConnectionService) GetPrivateLinkConnection(ctx context.Context, clusterId, privateLinkConnectionId string) (*entity.PrivateLinkConnection, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPrivateLinkConnection", ctx, clusterId, privateLinkConnectionId)
	ret0, _ := ret[0].(*entity.PrivateLinkConnection)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// GetPrivateLinkConnection indicates an expected call of GetPrivateLinkConnection.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) GetPrivateLinkConnection(ctx, clusterId, privateLinkConnectionId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrivateLinkConnection", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).GetPrivateLinkConnection), ctx, clusterId, privateLinkConnectionId)
}

// ListAttachDomains mocks base method.
func (m *MockPrivateLinkConnectionService) ListAttachDomains(ctx context.Context, filter entity.ListPLCAttachDomainsFilter) (map[string][]*entity.PLCAttachDomain, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListAttachDomains", ctx, filter)
	ret0, _ := ret[0].(map[string][]*entity.PLCAttachDomain)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// ListAttachDomains indicates an expected call of ListAttachDomains.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) ListAttachDomains(ctx, filter any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAttachDomains", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).ListAttachDomains), ctx, filter)
}

// ListPrivateLinkConnections mocks base method.
func (m *MockPrivateLinkConnectionService) ListPrivateLinkConnections(ctx context.Context, opts *vo.ListPrivateLinkConnectionOptions) ([]*entity.PrivateLinkConnection, uint32, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListPrivateLinkConnections", ctx, opts)
	ret0, _ := ret[0].([]*entity.PrivateLinkConnection)
	ret1, _ := ret[1].(uint32)
	ret2, _ := ret[2].(bizerr.BizError)
	return ret0, ret1, ret2
}

// ListPrivateLinkConnections indicates an expected call of ListPrivateLinkConnections.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) ListPrivateLinkConnections(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPrivateLinkConnections", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).ListPrivateLinkConnections), ctx, opts)
}

// RegisterPrivateLinkConnection mocks base method.
func (m *MockPrivateLinkConnectionService) RegisterPrivateLinkConnection(ctx context.Context, clusterId, privateLinkConnectionId, bizId string, dryrun bool) ([]string, bizerr.BizError) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RegisterPrivateLinkConnection", ctx, clusterId, privateLinkConnectionId, bizId, dryrun)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// RegisterPrivateLinkConnection indicates an expected call of RegisterPrivateLinkConnection.
func (mr *MockPrivateLinkConnectionServiceMockRecorder) RegisterPrivateLinkConnection(ctx, clusterId, privateLinkConnectionId, bizId, dryrun any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterPrivateLinkConnection", reflect.TypeOf((*MockPrivateLinkConnectionService)(nil).RegisterPrivateLinkConnection), ctx, clusterId, privateLinkConnectionId, bizId, dryrun)
}
