// Code generated by MockGen. DO NOT EDIT.
// Source: pkg/cloud/provider.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	cloud "github.com/tidbcloud/ticdc-service-ng/pkg/cloud"
	types "k8s.io/apimachinery/pkg/types"
	client "sigs.k8s.io/controller-runtime/pkg/client"
)

// MockProvider is a mock of Provider interface.
type MockProvider struct {
	ctrl     *gomock.Controller
	recorder *MockProviderMockRecorder
}

// MockProviderMockRecorder is the mock recorder for MockProvider.
type MockProviderMockRecorder struct {
	mock *MockProvider
}

// NewMockProvider creates a new mock instance.
func NewMockProvider(ctrl *gomock.Controller) *MockProvider {
	mock := &MockProvider{ctrl: ctrl}
	mock.recorder = &MockProviderMockRecorder{mock}
	return mock
}

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

// BuildVolumeAttributesClass mocks base method.
func (m *MockProvider) BuildVolumeAttributesClass(arg0 types.NamespacedName, arg1 *cloud.VolumeAttributes) (client.Object, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BuildVolumeAttributesClass", arg0, arg1)
	ret0, _ := ret[0].(client.Object)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BuildVolumeAttributesClass indicates an expected call of BuildVolumeAttributesClass.
func (mr *MockProviderMockRecorder) BuildVolumeAttributesClass(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildVolumeAttributesClass", reflect.TypeOf((*MockProvider)(nil).BuildVolumeAttributesClass), arg0, arg1)
}

// GetKubeClient mocks base method.
func (m *MockProvider) GetKubeClient(arg0 context.Context) (client.Client, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetKubeClient", arg0)
	ret0, _ := ret[0].(client.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetKubeClient indicates an expected call of GetKubeClient.
func (mr *MockProviderMockRecorder) GetKubeClient(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubeClient", reflect.TypeOf((*MockProvider)(nil).GetKubeClient), arg0)
}

// MockStorageProvider is a mock of StorageProvider interface.
type MockStorageProvider struct {
	ctrl     *gomock.Controller
	recorder *MockStorageProviderMockRecorder
}

// MockStorageProviderMockRecorder is the mock recorder for MockStorageProvider.
type MockStorageProviderMockRecorder struct {
	mock *MockStorageProvider
}

// NewMockStorageProvider creates a new mock instance.
func NewMockStorageProvider(ctrl *gomock.Controller) *MockStorageProvider {
	mock := &MockStorageProvider{ctrl: ctrl}
	mock.recorder = &MockStorageProviderMockRecorder{mock}
	return mock
}

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

// BuildVolumeAttributesClass mocks base method.
func (m *MockStorageProvider) BuildVolumeAttributesClass(arg0 types.NamespacedName, arg1 *cloud.VolumeAttributes) (client.Object, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BuildVolumeAttributesClass", arg0, arg1)
	ret0, _ := ret[0].(client.Object)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BuildVolumeAttributesClass indicates an expected call of BuildVolumeAttributesClass.
func (mr *MockStorageProviderMockRecorder) BuildVolumeAttributesClass(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildVolumeAttributesClass", reflect.TypeOf((*MockStorageProvider)(nil).BuildVolumeAttributesClass), arg0, arg1)
}

// MockCertificateProvider is a mock of CertificateProvider interface.
type MockCertificateProvider struct {
	ctrl     *gomock.Controller
	recorder *MockCertificateProviderMockRecorder
}

// MockCertificateProviderMockRecorder is the mock recorder for MockCertificateProvider.
type MockCertificateProviderMockRecorder struct {
	mock *MockCertificateProvider
}

// NewMockCertificateProvider creates a new mock instance.
func NewMockCertificateProvider(ctrl *gomock.Controller) *MockCertificateProvider {
	mock := &MockCertificateProvider{ctrl: ctrl}
	mock.recorder = &MockCertificateProviderMockRecorder{mock}
	return mock
}

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

// BuildCertificate mocks base method.
func (m *MockCertificateProvider) BuildCertificate(arg0 types.NamespacedName, arg1 *cloud.CertificateRequest) (client.Object, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BuildCertificate", arg0, arg1)
	ret0, _ := ret[0].(client.Object)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BuildCertificate indicates an expected call of BuildCertificate.
func (mr *MockCertificateProviderMockRecorder) BuildCertificate(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildCertificate", reflect.TypeOf((*MockCertificateProvider)(nil).BuildCertificate), arg0, arg1)
}

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

// DeleteCertificate indicates an expected call of DeleteCertificate.
func (mr *MockCertificateProviderMockRecorder) DeleteCertificate(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCertificate", reflect.TypeOf((*MockCertificateProvider)(nil).DeleteCertificate), arg0, arg1, arg2)
}

// MockK8sGetter is a mock of K8sGetter interface.
type MockK8sGetter struct {
	ctrl     *gomock.Controller
	recorder *MockK8sGetterMockRecorder
}

// MockK8sGetterMockRecorder is the mock recorder for MockK8sGetter.
type MockK8sGetterMockRecorder struct {
	mock *MockK8sGetter
}

// NewMockK8sGetter creates a new mock instance.
func NewMockK8sGetter(ctrl *gomock.Controller) *MockK8sGetter {
	mock := &MockK8sGetter{ctrl: ctrl}
	mock.recorder = &MockK8sGetterMockRecorder{mock}
	return mock
}

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

// GetKubeClient mocks base method.
func (m *MockK8sGetter) GetKubeClient(arg0 context.Context) (client.Client, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetKubeClient", arg0)
	ret0, _ := ret[0].(client.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetKubeClient indicates an expected call of GetKubeClient.
func (mr *MockK8sGetterMockRecorder) GetKubeClient(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubeClient", reflect.TypeOf((*MockK8sGetter)(nil).GetKubeClient), arg0)
}
