// Automatically generated by MockGen. DO NOT EDIT!
// Source: create.go

package installstrategy

import (
	gomock "github.com/golang/mock/gomock"
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	types "k8s.io/apimachinery/pkg/types"
	v1beta1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1"
)

// Mock of APIServiceInterface interface
type MockAPIServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *_MockAPIServiceInterfaceRecorder
}

// Recorder for MockAPIServiceInterface (not exported)
type _MockAPIServiceInterfaceRecorder struct {
	mock *MockAPIServiceInterface
}

func NewMockAPIServiceInterface(ctrl *gomock.Controller) *MockAPIServiceInterface {
	mock := &MockAPIServiceInterface{ctrl: ctrl}
	mock.recorder = &_MockAPIServiceInterfaceRecorder{mock}
	return mock
}

func (_m *MockAPIServiceInterface) EXPECT() *_MockAPIServiceInterfaceRecorder {
	return _m.recorder
}

func (_m *MockAPIServiceInterface) Get(name string, options v1.GetOptions) (*v1beta1.APIService, error) {
	ret := _m.ctrl.Call(_m, "Get", name, options)
	ret0, _ := ret[0].(*v1beta1.APIService)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

func (_mr *_MockAPIServiceInterfaceRecorder) Get(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1)
}

func (_m *MockAPIServiceInterface) Create(_param0 *v1beta1.APIService) (*v1beta1.APIService, error) {
	ret := _m.ctrl.Call(_m, "Create", _param0)
	ret0, _ := ret[0].(*v1beta1.APIService)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

func (_mr *_MockAPIServiceInterfaceRecorder) Create(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0)
}

func (_m *MockAPIServiceInterface) Delete(name string, options *v1.DeleteOptions) error {
	ret := _m.ctrl.Call(_m, "Delete", name, options)
	ret0, _ := ret[0].(error)
	return ret0
}

func (_mr *_MockAPIServiceInterfaceRecorder) Delete(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1)
}

func (_m *MockAPIServiceInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v1beta1.APIService, error) {
	_s := []interface{}{name, pt, data}
	for _, _x := range subresources {
		_s = append(_s, _x)
	}
	ret := _m.ctrl.Call(_m, "Patch", _s...)
	ret0, _ := ret[0].(*v1beta1.APIService)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

func (_mr *_MockAPIServiceInterfaceRecorder) Patch(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call {
	_s := append([]interface{}{arg0, arg1, arg2}, arg3...)
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Patch", _s...)
}
