// Code generated by MockGen. DO NOT EDIT.
// Source: pkg/providers/vsphere/internal/tags/factory.go

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

import (
	context "context"
	reflect "reflect"

	executables "github.com/aws/eks-anywhere/pkg/executables"
	gomock "github.com/golang/mock/gomock"
)

// MockGovcClient is a mock of GovcClient interface.
type MockGovcClient struct {
	ctrl     *gomock.Controller
	recorder *MockGovcClientMockRecorder
}

// MockGovcClientMockRecorder is the mock recorder for MockGovcClient.
type MockGovcClientMockRecorder struct {
	mock *MockGovcClient
}

// NewMockGovcClient creates a new mock instance.
func NewMockGovcClient(ctrl *gomock.Controller) *MockGovcClient {
	mock := &MockGovcClient{ctrl: ctrl}
	mock.recorder = &MockGovcClientMockRecorder{mock}
	return mock
}

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

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

// AddTag indicates an expected call of AddTag.
func (mr *MockGovcClientMockRecorder) AddTag(ctx, path, tag interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddTag", reflect.TypeOf((*MockGovcClient)(nil).AddTag), ctx, path, tag)
}

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

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

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

// CreateTag indicates an expected call of CreateTag.
func (mr *MockGovcClientMockRecorder) CreateTag(ctx, tag, category interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTag", reflect.TypeOf((*MockGovcClient)(nil).CreateTag), ctx, tag, category)
}

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

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

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

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