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

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

import (
	context "context"
	reflect "reflect"

	cluster "github.com/aws/eks-anywhere/pkg/cluster"
	clusterapi "github.com/aws/eks-anywhere/pkg/clusterapi"
	providers "github.com/aws/eks-anywhere/pkg/providers"
	types "github.com/aws/eks-anywhere/pkg/types"
	gomock "github.com/golang/mock/gomock"
)

// MockCAPIClient is a mock of CAPIClient interface.
type MockCAPIClient struct {
	ctrl     *gomock.Controller
	recorder *MockCAPIClientMockRecorder
}

// MockCAPIClientMockRecorder is the mock recorder for MockCAPIClient.
type MockCAPIClientMockRecorder struct {
	mock *MockCAPIClient
}

// NewMockCAPIClient creates a new mock instance.
func NewMockCAPIClient(ctrl *gomock.Controller) *MockCAPIClient {
	mock := &MockCAPIClient{ctrl: ctrl}
	mock.recorder = &MockCAPIClientMockRecorder{mock}
	return mock
}

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

// InstallEtcdadmProviders mocks base method.
func (m *MockCAPIClient) InstallEtcdadmProviders(ctx context.Context, managementComponents *cluster.ManagementComponents, clusterSpec *cluster.Spec, cluster *types.Cluster, provider providers.Provider, installProviders []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InstallEtcdadmProviders", ctx, managementComponents, clusterSpec, cluster, provider, installProviders)
	ret0, _ := ret[0].(error)
	return ret0
}

// InstallEtcdadmProviders indicates an expected call of InstallEtcdadmProviders.
func (mr *MockCAPIClientMockRecorder) InstallEtcdadmProviders(ctx, managementComponents, clusterSpec, cluster, provider, installProviders interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstallEtcdadmProviders", reflect.TypeOf((*MockCAPIClient)(nil).InstallEtcdadmProviders), ctx, managementComponents, clusterSpec, cluster, provider, installProviders)
}

// Upgrade mocks base method.
func (m *MockCAPIClient) Upgrade(ctx context.Context, managementCluster *types.Cluster, provider providers.Provider, managementComponents *cluster.ManagementComponents, newSpec *cluster.Spec, changeDiff *clusterapi.CAPIChangeDiff) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Upgrade", ctx, managementCluster, provider, managementComponents, newSpec, changeDiff)
	ret0, _ := ret[0].(error)
	return ret0
}

// Upgrade indicates an expected call of Upgrade.
func (mr *MockCAPIClientMockRecorder) Upgrade(ctx, managementCluster, provider, managementComponents, newSpec, changeDiff interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Upgrade", reflect.TypeOf((*MockCAPIClient)(nil).Upgrade), ctx, managementCluster, provider, managementComponents, newSpec, changeDiff)
}

// MockKubectlClient is a mock of KubectlClient interface.
type MockKubectlClient struct {
	ctrl     *gomock.Controller
	recorder *MockKubectlClientMockRecorder
}

// MockKubectlClientMockRecorder is the mock recorder for MockKubectlClient.
type MockKubectlClientMockRecorder struct {
	mock *MockKubectlClient
}

// NewMockKubectlClient creates a new mock instance.
func NewMockKubectlClient(ctrl *gomock.Controller) *MockKubectlClient {
	mock := &MockKubectlClient{ctrl: ctrl}
	mock.recorder = &MockKubectlClientMockRecorder{mock}
	return mock
}

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

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

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