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

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

import (
	context "context"
	reflect "reflect"

	certificates "github.com/aws/eks-anywhere/pkg/certificates"
	gomock "github.com/golang/mock/gomock"
	ssh "golang.org/x/crypto/ssh"
)

// MocksshClient is a mock of sshClient interface.
type MocksshClient struct {
	ctrl     *gomock.Controller
	recorder *MocksshClientMockRecorder
}

// MocksshClientMockRecorder is the mock recorder for MocksshClient.
type MocksshClientMockRecorder struct {
	mock *MocksshClient
}

// NewMocksshClient creates a new mock instance.
func NewMocksshClient(ctrl *gomock.Controller) *MocksshClient {
	mock := &MocksshClient{ctrl: ctrl}
	mock.recorder = &MocksshClientMockRecorder{mock}
	return mock
}

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

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

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

// NewSession mocks base method.
func (m *MocksshClient) NewSession() (*ssh.Session, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NewSession")
	ret0, _ := ret[0].(*ssh.Session)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// MockSSHRunner is a mock of SSHRunner interface.
type MockSSHRunner struct {
	ctrl     *gomock.Controller
	recorder *MockSSHRunnerMockRecorder
}

// MockSSHRunnerMockRecorder is the mock recorder for MockSSHRunner.
type MockSSHRunnerMockRecorder struct {
	mock *MockSSHRunner
}

// NewMockSSHRunner creates a new mock instance.
func NewMockSSHRunner(ctrl *gomock.Controller) *MockSSHRunner {
	mock := &MockSSHRunner{ctrl: ctrl}
	mock.recorder = &MockSSHRunnerMockRecorder{mock}
	return mock
}

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

// RunCommand mocks base method.
func (m *MockSSHRunner) RunCommand(ctx context.Context, node, cmd string, opts ...certificates.SSHOption) (string, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, node, cmd}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "RunCommand", varargs...)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RunCommand indicates an expected call of RunCommand.
func (mr *MockSSHRunnerMockRecorder) RunCommand(ctx, node, cmd interface{}, opts ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, node, cmd}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCommand", reflect.TypeOf((*MockSSHRunner)(nil).RunCommand), varargs...)
}
