// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/devops/pkg/service/clustermaintenance/api (interfaces: ServiceAPI)
//
// Generated by this command:
//
//	mockgen -destination api_mock.go -package=api github.com/tidbcloud/devops/pkg/service/clustermaintenance/api ServiceAPI
//

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

import (
	context "context"
	reflect "reflect"
	time "time"

	maintenance "github.com/tidbcloud/devops/entity/maintenance"
	gomock "go.uber.org/mock/gomock"
)

// MockServiceAPI is a mock of ServiceAPI interface.
type MockServiceAPI struct {
	ctrl     *gomock.Controller
	recorder *MockServiceAPIMockRecorder
	isgomock struct{}
}

// MockServiceAPIMockRecorder is the mock recorder for MockServiceAPI.
type MockServiceAPIMockRecorder struct {
	mock *MockServiceAPI
}

// NewMockServiceAPI creates a new mock instance.
func NewMockServiceAPI(ctrl *gomock.Controller) *MockServiceAPI {
	mock := &MockServiceAPI{ctrl: ctrl}
	mock.recorder = &MockServiceAPIMockRecorder{mock}
	return mock
}

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

// CancelMaintenanceExecution mocks base method.
func (m *MockServiceAPI) CancelMaintenanceExecution(ctx context.Context, id, execID uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CancelMaintenanceExecution", ctx, id, execID)
	ret0, _ := ret[0].(error)
	return ret0
}

// CancelMaintenanceExecution indicates an expected call of CancelMaintenanceExecution.
func (mr *MockServiceAPIMockRecorder) CancelMaintenanceExecution(ctx, id, execID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CancelMaintenanceExecution", reflect.TypeOf((*MockServiceAPI)(nil).CancelMaintenanceExecution), ctx, id, execID)
}

// CloseMaintenance mocks base method.
func (m *MockServiceAPI) CloseMaintenance(ctx context.Context, id uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CloseMaintenance", ctx, id)
	ret0, _ := ret[0].(error)
	return ret0
}

// CloseMaintenance indicates an expected call of CloseMaintenance.
func (mr *MockServiceAPIMockRecorder) CloseMaintenance(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseMaintenance", reflect.TypeOf((*MockServiceAPI)(nil).CloseMaintenance), ctx, id)
}

// CreateClusterOpsMaintenanceWindow mocks base method.
func (m *MockServiceAPI) CreateClusterOpsMaintenanceWindow(ctx context.Context, param CreateClusterOpsMaintenanceWindowParam) (*maintenance.ClusterOpsMaintenanceWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateClusterOpsMaintenanceWindow", ctx, param)
	ret0, _ := ret[0].(*maintenance.ClusterOpsMaintenanceWindow)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateClusterOpsMaintenanceWindow indicates an expected call of CreateClusterOpsMaintenanceWindow.
func (mr *MockServiceAPIMockRecorder) CreateClusterOpsMaintenanceWindow(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateClusterOpsMaintenanceWindow", reflect.TypeOf((*MockServiceAPI)(nil).CreateClusterOpsMaintenanceWindow), ctx, param)
}

// CreateMaintenance mocks base method.
func (m *MockServiceAPI) CreateMaintenance(ctx context.Context, param CreateMaintenanceParam) (*uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateMaintenance", ctx, param)
	ret0, _ := ret[0].(*uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateMaintenance indicates an expected call of CreateMaintenance.
func (mr *MockServiceAPIMockRecorder) CreateMaintenance(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMaintenance", reflect.TypeOf((*MockServiceAPI)(nil).CreateMaintenance), ctx, param)
}

// CreateOpsExecutionWindow mocks base method.
func (m *MockServiceAPI) CreateOpsExecutionWindow(ctx context.Context, param CreateOpsExecutionWindowParam) (*maintenance.OpsExecutionWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOpsExecutionWindow", ctx, param)
	ret0, _ := ret[0].(*maintenance.OpsExecutionWindow)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateOpsExecutionWindow indicates an expected call of CreateOpsExecutionWindow.
func (mr *MockServiceAPIMockRecorder) CreateOpsExecutionWindow(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOpsExecutionWindow", reflect.TypeOf((*MockServiceAPI)(nil).CreateOpsExecutionWindow), ctx, param)
}

// DeleteClusterOpsMaintenanceWindow mocks base method.
func (m *MockServiceAPI) DeleteClusterOpsMaintenanceWindow(ctx context.Context, clusterID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteClusterOpsMaintenanceWindow", ctx, clusterID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteClusterOpsMaintenanceWindow indicates an expected call of DeleteClusterOpsMaintenanceWindow.
func (mr *MockServiceAPIMockRecorder) DeleteClusterOpsMaintenanceWindow(ctx, clusterID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteClusterOpsMaintenanceWindow", reflect.TypeOf((*MockServiceAPI)(nil).DeleteClusterOpsMaintenanceWindow), ctx, clusterID)
}

// DeleteOpsExecutionWindow mocks base method.
func (m *MockServiceAPI) DeleteOpsExecutionWindow(ctx context.Context, id uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteOpsExecutionWindow", ctx, id)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteOpsExecutionWindow indicates an expected call of DeleteOpsExecutionWindow.
func (mr *MockServiceAPIMockRecorder) DeleteOpsExecutionWindow(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteOpsExecutionWindow", reflect.TypeOf((*MockServiceAPI)(nil).DeleteOpsExecutionWindow), ctx, id)
}

// FinishMaintenanceExecution mocks base method.
func (m *MockServiceAPI) FinishMaintenanceExecution(ctx context.Context, id, execID uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FinishMaintenanceExecution", ctx, id, execID)
	ret0, _ := ret[0].(error)
	return ret0
}

// FinishMaintenanceExecution indicates an expected call of FinishMaintenanceExecution.
func (mr *MockServiceAPIMockRecorder) FinishMaintenanceExecution(ctx, id, execID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinishMaintenanceExecution", reflect.TypeOf((*MockServiceAPI)(nil).FinishMaintenanceExecution), ctx, id, execID)
}

// GetClusterOpsMaintenanceWindow mocks base method.
func (m *MockServiceAPI) GetClusterOpsMaintenanceWindow(ctx context.Context, clusterID string) (*maintenance.ClusterOpsMaintenanceWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetClusterOpsMaintenanceWindow", ctx, clusterID)
	ret0, _ := ret[0].(*maintenance.ClusterOpsMaintenanceWindow)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetClusterOpsMaintenanceWindow indicates an expected call of GetClusterOpsMaintenanceWindow.
func (mr *MockServiceAPIMockRecorder) GetClusterOpsMaintenanceWindow(ctx, clusterID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClusterOpsMaintenanceWindow", reflect.TypeOf((*MockServiceAPI)(nil).GetClusterOpsMaintenanceWindow), ctx, clusterID)
}

// GetMaintenance mocks base method.
func (m *MockServiceAPI) GetMaintenance(ctx context.Context, id uint64, param GetMaintenanceParam) (*maintenance.ClusterMaintenance, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetMaintenance", ctx, id, param)
	ret0, _ := ret[0].(*maintenance.ClusterMaintenance)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetMaintenance indicates an expected call of GetMaintenance.
func (mr *MockServiceAPIMockRecorder) GetMaintenance(ctx, id, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMaintenance", reflect.TypeOf((*MockServiceAPI)(nil).GetMaintenance), ctx, id, param)
}

// GetOpsExecutionWindow mocks base method.
func (m *MockServiceAPI) GetOpsExecutionWindow(ctx context.Context, id uint64) (*maintenance.OpsExecutionWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOpsExecutionWindow", ctx, id)
	ret0, _ := ret[0].(*maintenance.OpsExecutionWindow)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetOpsExecutionWindow indicates an expected call of GetOpsExecutionWindow.
func (mr *MockServiceAPIMockRecorder) GetOpsExecutionWindow(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOpsExecutionWindow", reflect.TypeOf((*MockServiceAPI)(nil).GetOpsExecutionWindow), ctx, id)
}

// IsInClusterOpsMaintenanceWindow mocks base method.
func (m *MockServiceAPI) IsInClusterOpsMaintenanceWindow(ctx context.Context, clusterID string, executeTimes []time.Time) (bool, *maintenance.ClusterOpsMaintenanceWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsInClusterOpsMaintenanceWindow", ctx, clusterID, executeTimes)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(*maintenance.ClusterOpsMaintenanceWindow)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// IsInClusterOpsMaintenanceWindow indicates an expected call of IsInClusterOpsMaintenanceWindow.
func (mr *MockServiceAPIMockRecorder) IsInClusterOpsMaintenanceWindow(ctx, clusterID, executeTimes any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsInClusterOpsMaintenanceWindow", reflect.TypeOf((*MockServiceAPI)(nil).IsInClusterOpsMaintenanceWindow), ctx, clusterID, executeTimes)
}

// ListClusterOpsMaintenanceWindows mocks base method.
func (m *MockServiceAPI) ListClusterOpsMaintenanceWindows(ctx context.Context, param ListClusterOpsMaintenanceWindowParam) ([]*maintenance.ClusterOpsMaintenanceWindow, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListClusterOpsMaintenanceWindows", ctx, param)
	ret0, _ := ret[0].([]*maintenance.ClusterOpsMaintenanceWindow)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListClusterOpsMaintenanceWindows indicates an expected call of ListClusterOpsMaintenanceWindows.
func (mr *MockServiceAPIMockRecorder) ListClusterOpsMaintenanceWindows(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClusterOpsMaintenanceWindows", reflect.TypeOf((*MockServiceAPI)(nil).ListClusterOpsMaintenanceWindows), ctx, param)
}

// ListMaintenances mocks base method.
func (m *MockServiceAPI) ListMaintenances(ctx context.Context, param ListMaintenanceParam) ([]*maintenance.ClusterMaintenance, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListMaintenances", ctx, param)
	ret0, _ := ret[0].([]*maintenance.ClusterMaintenance)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListMaintenances indicates an expected call of ListMaintenances.
func (mr *MockServiceAPIMockRecorder) ListMaintenances(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMaintenances", reflect.TypeOf((*MockServiceAPI)(nil).ListMaintenances), ctx, param)
}

// ListOpsExecutionWindows mocks base method.
func (m *MockServiceAPI) ListOpsExecutionWindows(ctx context.Context, param ListOpsExecutionWindowParam) ([]*maintenance.OpsExecutionWindow, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListOpsExecutionWindows", ctx, param)
	ret0, _ := ret[0].([]*maintenance.OpsExecutionWindow)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListOpsExecutionWindows indicates an expected call of ListOpsExecutionWindows.
func (mr *MockServiceAPIMockRecorder) ListOpsExecutionWindows(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListOpsExecutionWindows", reflect.TypeOf((*MockServiceAPI)(nil).ListOpsExecutionWindows), ctx, param)
}

// StartMaintenanceExecution mocks base method.
func (m *MockServiceAPI) StartMaintenanceExecution(ctx context.Context, id, execID uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StartMaintenanceExecution", ctx, id, execID)
	ret0, _ := ret[0].(error)
	return ret0
}

// StartMaintenanceExecution indicates an expected call of StartMaintenanceExecution.
func (mr *MockServiceAPIMockRecorder) StartMaintenanceExecution(ctx, id, execID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartMaintenanceExecution", reflect.TypeOf((*MockServiceAPI)(nil).StartMaintenanceExecution), ctx, id, execID)
}

// UpdateClusterOpsMaintenanceWindow mocks base method.
func (m *MockServiceAPI) UpdateClusterOpsMaintenanceWindow(ctx context.Context, clusterID string, param UpdateClusterOpsMaintenanceWindowParam) (*maintenance.ClusterOpsMaintenanceWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateClusterOpsMaintenanceWindow", ctx, clusterID, param)
	ret0, _ := ret[0].(*maintenance.ClusterOpsMaintenanceWindow)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UpdateClusterOpsMaintenanceWindow indicates an expected call of UpdateClusterOpsMaintenanceWindow.
func (mr *MockServiceAPIMockRecorder) UpdateClusterOpsMaintenanceWindow(ctx, clusterID, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateClusterOpsMaintenanceWindow", reflect.TypeOf((*MockServiceAPI)(nil).UpdateClusterOpsMaintenanceWindow), ctx, clusterID, param)
}

// UpdateOpsExecutionWindow mocks base method.
func (m *MockServiceAPI) UpdateOpsExecutionWindow(ctx context.Context, id uint64, param UpdateOpsExecutionWindowParam) (*maintenance.OpsExecutionWindow, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateOpsExecutionWindow", ctx, id, param)
	ret0, _ := ret[0].(*maintenance.OpsExecutionWindow)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UpdateOpsExecutionWindow indicates an expected call of UpdateOpsExecutionWindow.
func (mr *MockServiceAPIMockRecorder) UpdateOpsExecutionWindow(ctx, id, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOpsExecutionWindow", reflect.TypeOf((*MockServiceAPI)(nil).UpdateOpsExecutionWindow), ctx, id, param)
}
