// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3 (interfaces: ClusterInterface)

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	objectclient "github.com/rancher/norman/objectclient"
	v3 "github.com/rancher/rancher/pkg/apis/management.cattle.io/v3"
	v30 "github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3"
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	watch "k8s.io/apimachinery/pkg/watch"
)

// MockClusterInterface is a mock of ClusterInterface interface.
type MockClusterInterface struct {
	ctrl     *gomock.Controller
	recorder *MockClusterInterfaceMockRecorder
}

// MockClusterInterfaceMockRecorder is the mock recorder for MockClusterInterface.
type MockClusterInterfaceMockRecorder struct {
	mock *MockClusterInterface
}

// NewMockClusterInterface creates a new mock instance.
func NewMockClusterInterface(ctrl *gomock.Controller) *MockClusterInterface {
	mock := &MockClusterInterface{ctrl: ctrl}
	mock.recorder = &MockClusterInterfaceMockRecorder{mock}
	return mock
}

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

// AddClusterScopedFeatureHandler mocks base method.
func (m *MockClusterInterface) AddClusterScopedFeatureHandler(arg0 context.Context, arg1 func() bool, arg2, arg3 string, arg4 v30.ClusterHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedFeatureHandler", arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedFeatureHandler indicates an expected call of AddClusterScopedFeatureHandler.
func (mr *MockClusterInterfaceMockRecorder) AddClusterScopedFeatureHandler(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterScopedFeatureHandler", reflect.TypeOf((*MockClusterInterface)(nil).AddClusterScopedFeatureHandler), arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedFeatureLifecycle mocks base method.
func (m *MockClusterInterface) AddClusterScopedFeatureLifecycle(arg0 context.Context, arg1 func() bool, arg2, arg3 string, arg4 v30.ClusterLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedFeatureLifecycle", arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedFeatureLifecycle indicates an expected call of AddClusterScopedFeatureLifecycle.
func (mr *MockClusterInterfaceMockRecorder) AddClusterScopedFeatureLifecycle(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddClusterScopedFeatureLifecycle", reflect.TypeOf((*MockClusterInterface)(nil).AddClusterScopedFeatureLifecycle), arg0, arg1, arg2, arg3, arg4)
}

// AddClusterScopedHandler mocks base method.
func (m *MockClusterInterface) AddClusterScopedHandler(arg0 context.Context, arg1, arg2 string, arg3 v30.ClusterHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedHandler", arg0, arg1, arg2, arg3)
}

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

// AddClusterScopedLifecycle mocks base method.
func (m *MockClusterInterface) AddClusterScopedLifecycle(arg0 context.Context, arg1, arg2 string, arg3 v30.ClusterLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddClusterScopedLifecycle", arg0, arg1, arg2, arg3)
}

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

// AddFeatureHandler mocks base method.
func (m *MockClusterInterface) AddFeatureHandler(arg0 context.Context, arg1 func() bool, arg2 string, arg3 v30.ClusterHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddFeatureHandler", arg0, arg1, arg2, arg3)
}

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

// AddFeatureLifecycle mocks base method.
func (m *MockClusterInterface) AddFeatureLifecycle(arg0 context.Context, arg1 func() bool, arg2 string, arg3 v30.ClusterLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddFeatureLifecycle", arg0, arg1, arg2, arg3)
}

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

// AddHandler mocks base method.
func (m *MockClusterInterface) AddHandler(arg0 context.Context, arg1 string, arg2 v30.ClusterHandlerFunc) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddHandler", arg0, arg1, arg2)
}

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

// AddLifecycle mocks base method.
func (m *MockClusterInterface) AddLifecycle(arg0 context.Context, arg1 string, arg2 v30.ClusterLifecycle) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddLifecycle", arg0, arg1, arg2)
}

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

// Controller mocks base method.
func (m *MockClusterInterface) Controller() v30.ClusterController {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Controller")
	ret0, _ := ret[0].(v30.ClusterController)
	return ret0
}

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

// Create mocks base method.
func (m *MockClusterInterface) Create(arg0 *v3.Cluster) (*v3.Cluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", arg0)
	ret0, _ := ret[0].(*v3.Cluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Delete mocks base method.
func (m *MockClusterInterface) Delete(arg0 string, arg1 *v1.DeleteOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// DeleteCollection mocks base method.
func (m *MockClusterInterface) DeleteCollection(arg0 *v1.DeleteOptions, arg1 v1.ListOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteCollection", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// DeleteNamespaced mocks base method.
func (m *MockClusterInterface) DeleteNamespaced(arg0, arg1 string, arg2 *v1.DeleteOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteNamespaced", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Get mocks base method.
func (m *MockClusterInterface) Get(arg0 string, arg1 v1.GetOptions) (*v3.Cluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1)
	ret0, _ := ret[0].(*v3.Cluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetNamespaced mocks base method.
func (m *MockClusterInterface) GetNamespaced(arg0, arg1 string, arg2 v1.GetOptions) (*v3.Cluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNamespaced", arg0, arg1, arg2)
	ret0, _ := ret[0].(*v3.Cluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// List mocks base method.
func (m *MockClusterInterface) List(arg0 v1.ListOptions) (*v3.ClusterList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", arg0)
	ret0, _ := ret[0].(*v3.ClusterList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListNamespaced mocks base method.
func (m *MockClusterInterface) ListNamespaced(arg0 string, arg1 v1.ListOptions) (*v3.ClusterList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListNamespaced", arg0, arg1)
	ret0, _ := ret[0].(*v3.ClusterList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// Update mocks base method.
func (m *MockClusterInterface) Update(arg0 *v3.Cluster) (*v3.Cluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", arg0)
	ret0, _ := ret[0].(*v3.Cluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Watch mocks base method.
func (m *MockClusterInterface) Watch(arg0 v1.ListOptions) (watch.Interface, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Watch", arg0)
	ret0, _ := ret[0].(watch.Interface)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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