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

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	azure "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure"
)

// MockSpec is a mock of Spec interface
type MockSpec struct {
	ctrl     *gomock.Controller
	recorder *MockSpecMockRecorder
}

// MockSpecMockRecorder is the mock recorder for MockSpec
type MockSpecMockRecorder struct {
	mock *MockSpec
}

// NewMockSpec creates a new mock instance
func NewMockSpec(ctrl *gomock.Controller) *MockSpec {
	mock := &MockSpec{ctrl: ctrl}
	mock.recorder = &MockSpecMockRecorder{mock}
	return mock
}

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

// MockService is a mock of Service interface
type MockService struct {
	ctrl     *gomock.Controller
	recorder *MockServiceMockRecorder
}

// MockServiceMockRecorder is the mock recorder for MockService
type MockServiceMockRecorder struct {
	mock *MockService
}

// NewMockService creates a new mock instance
func NewMockService(ctrl *gomock.Controller) *MockService {
	mock := &MockService{ctrl: ctrl}
	mock.recorder = &MockServiceMockRecorder{mock}
	return mock
}

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

// Get mocks base method
func (m *MockService) Get(ctx context.Context, spec azure.Spec) (interface{}, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, spec)
	ret0, _ := ret[0].(interface{})
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get
func (mr *MockServiceMockRecorder) Get(ctx, spec interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockService)(nil).Get), ctx, spec)
}

// CreateOrUpdate mocks base method
func (m *MockService) CreateOrUpdate(ctx context.Context, spec azure.Spec) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOrUpdate", ctx, spec)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateOrUpdate indicates an expected call of CreateOrUpdate
func (mr *MockServiceMockRecorder) CreateOrUpdate(ctx, spec interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdate", reflect.TypeOf((*MockService)(nil).CreateOrUpdate), ctx, spec)
}

// Delete mocks base method
func (m *MockService) Delete(ctx context.Context, spec azure.Spec) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, spec)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete
func (mr *MockServiceMockRecorder) Delete(ctx, spec interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockService)(nil).Delete), ctx, spec)
}
