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

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	gardener "github.com/tidbcloud/infra-api/pkg/gardener"
	v1beta1 "github.com/tidbcloud/infra-api/pkg/gardener/core/apis/v1beta1"
	nodegroup "github.com/tidbcloud/infra-api/pkg/nodegroup"
	controllerutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
	manager "sigs.k8s.io/controller-runtime/pkg/manager"
)

// MockGardenerAPI is a mock of GardenerAPI interface.
type MockGardenerAPI struct {
	ctrl     *gomock.Controller
	recorder *MockGardenerAPIMockRecorder
}

// MockGardenerAPIMockRecorder is the mock recorder for MockGardenerAPI.
type MockGardenerAPIMockRecorder struct {
	mock *MockGardenerAPI
}

// NewMockGardenerAPI creates a new mock instance.
func NewMockGardenerAPI(ctrl *gomock.Controller) *MockGardenerAPI {
	mock := &MockGardenerAPI{ctrl: ctrl}
	mock.recorder = &MockGardenerAPIMockRecorder{mock}
	return mock
}

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

// ApplyNodeGroupSet mocks base method.
func (m *MockGardenerAPI) ApplyNodeGroupSet(ctx context.Context, shootName string, ngSet *nodegroup.Set, policy gardener.NodeGroupPolicy) ([]gardener.NodeGroupChange, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ApplyNodeGroupSet", ctx, shootName, ngSet, policy)
	ret0, _ := ret[0].([]gardener.NodeGroupChange)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ApplyNodeGroupSet indicates an expected call of ApplyNodeGroupSet.
func (mr *MockGardenerAPIMockRecorder) ApplyNodeGroupSet(ctx, shootName, ngSet, policy interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApplyNodeGroupSet", reflect.TypeOf((*MockGardenerAPI)(nil).ApplyNodeGroupSet), ctx, shootName, ngSet, policy)
}

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

// AwakeShoot indicates an expected call of AwakeShoot.
func (mr *MockGardenerAPIMockRecorder) AwakeShoot(ctx, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AwakeShoot", reflect.TypeOf((*MockGardenerAPI)(nil).AwakeShoot), ctx, name)
}

// CancelShootContext mocks base method.
func (m *MockGardenerAPI) CancelShootContext(name string) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "CancelShootContext", name)
}

// CancelShootContext indicates an expected call of CancelShootContext.
func (mr *MockGardenerAPIMockRecorder) CancelShootContext(name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CancelShootContext", reflect.TypeOf((*MockGardenerAPI)(nil).CancelShootContext), name)
}

// CreateOrUpdateShoot mocks base method.
func (m *MockGardenerAPI) CreateOrUpdateShoot(ctx context.Context, s *gardener.ShootArgs) (controllerutil.OperationResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOrUpdateShoot", ctx, s)
	ret0, _ := ret[0].(controllerutil.OperationResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateOrUpdateShoot indicates an expected call of CreateOrUpdateShoot.
func (mr *MockGardenerAPIMockRecorder) CreateOrUpdateShoot(ctx, s interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateShoot", reflect.TypeOf((*MockGardenerAPI)(nil).CreateOrUpdateShoot), ctx, s)
}

// DeleteShoot mocks base method.
func (m *MockGardenerAPI) DeleteShoot(ctx context.Context, name string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteShoot", ctx, name)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteShoot indicates an expected call of DeleteShoot.
func (mr *MockGardenerAPIMockRecorder) DeleteShoot(ctx, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteShoot", reflect.TypeOf((*MockGardenerAPI)(nil).DeleteShoot), ctx, name)
}

// GetShoot mocks base method.
func (m *MockGardenerAPI) GetShoot(ctx context.Context, shootName string) (*v1beta1.Shoot, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetShoot", ctx, shootName)
	ret0, _ := ret[0].(*v1beta1.Shoot)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetShoot indicates an expected call of GetShoot.
func (mr *MockGardenerAPIMockRecorder) GetShoot(ctx, shootName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetShoot", reflect.TypeOf((*MockGardenerAPI)(nil).GetShoot), ctx, shootName)
}

// GetShootContext mocks base method.
func (m *MockGardenerAPI) GetShootContext(ctx context.Context, name string) (*gardener.ShootContext, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetShootContext", ctx, name)
	ret0, _ := ret[0].(*gardener.ShootContext)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetShootContext indicates an expected call of GetShootContext.
func (mr *MockGardenerAPIMockRecorder) GetShootContext(ctx, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetShootContext", reflect.TypeOf((*MockGardenerAPI)(nil).GetShootContext), ctx, name)
}

// GetShootContextWithNamespace mocks base method.
func (m *MockGardenerAPI) GetShootContextWithNamespace(ctx context.Context, name, namespace string) (*gardener.ShootContext, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetShootContextWithNamespace", ctx, name, namespace)
	ret0, _ := ret[0].(*gardener.ShootContext)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetShootContextWithNamespace indicates an expected call of GetShootContextWithNamespace.
func (mr *MockGardenerAPIMockRecorder) GetShootContextWithNamespace(ctx, name, namespace interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetShootContextWithNamespace", reflect.TypeOf((*MockGardenerAPI)(nil).GetShootContextWithNamespace), ctx, name, namespace)
}

// GetShootNamespace mocks base method.
func (m *MockGardenerAPI) GetShootNamespace() string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetShootNamespace")
	ret0, _ := ret[0].(string)
	return ret0
}

// GetShootNamespace indicates an expected call of GetShootNamespace.
func (mr *MockGardenerAPIMockRecorder) GetShootNamespace() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetShootNamespace", reflect.TypeOf((*MockGardenerAPI)(nil).GetShootNamespace))
}

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

// HibernateShoot indicates an expected call of HibernateShoot.
func (mr *MockGardenerAPIMockRecorder) HibernateShoot(ctx, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HibernateShoot", reflect.TypeOf((*MockGardenerAPI)(nil).HibernateShoot), ctx, name)
}

// ListShoots mocks base method.
func (m *MockGardenerAPI) ListShoots(ctx context.Context) (*v1beta1.ShootList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListShoots", ctx)
	ret0, _ := ret[0].(*v1beta1.ShootList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// Manager mocks base method.
func (m *MockGardenerAPI) Manager() manager.Manager {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Manager")
	ret0, _ := ret[0].(manager.Manager)
	return ret0
}

// Manager indicates an expected call of Manager.
func (mr *MockGardenerAPIMockRecorder) Manager() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Manager", reflect.TypeOf((*MockGardenerAPI)(nil).Manager))
}

// ProjectName mocks base method.
func (m *MockGardenerAPI) ProjectName() string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ProjectName")
	ret0, _ := ret[0].(string)
	return ret0
}

// ProjectName indicates an expected call of ProjectName.
func (mr *MockGardenerAPIMockRecorder) ProjectName() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProjectName", reflect.TypeOf((*MockGardenerAPI)(nil).ProjectName))
}

// ShootClusterIsExist mocks base method.
func (m *MockGardenerAPI) ShootClusterIsExist(ctx context.Context, name string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShootClusterIsExist", ctx, name)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ShootClusterIsExist indicates an expected call of ShootClusterIsExist.
func (mr *MockGardenerAPIMockRecorder) ShootClusterIsExist(ctx, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShootClusterIsExist", reflect.TypeOf((*MockGardenerAPI)(nil).ShootClusterIsExist), ctx, name)
}

// Started mocks base method.
func (m *MockGardenerAPI) Started() bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Started")
	ret0, _ := ret[0].(bool)
	return ret0
}

// Started indicates an expected call of Started.
func (mr *MockGardenerAPIMockRecorder) Started() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Started", reflect.TypeOf((*MockGardenerAPI)(nil).Started))
}

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

// UpdateShootFirewall indicates an expected call of UpdateShootFirewall.
func (mr *MockGardenerAPIMockRecorder) UpdateShootFirewall(ctx, shootName, cidrs interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateShootFirewall", reflect.TypeOf((*MockGardenerAPI)(nil).UpdateShootFirewall), ctx, shootName, cidrs)
}
