// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"). You may
// not use this file except in compliance with the License. A copy of the
// License is located at
//
//     http://aws.amazon.com/apache2.0/
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/aws/amazon-ecs-agent/agent/engine/serviceconnect (interfaces: Manager)

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

import (
	context "context"
	reflect "reflect"

	container "github.com/aws/amazon-ecs-agent/agent/api/container"
	task "github.com/aws/amazon-ecs-agent/agent/api/task"
	config "github.com/aws/amazon-ecs-agent/agent/config"
	dockerapi "github.com/aws/amazon-ecs-agent/agent/dockerclient/dockerapi"
	ecs "github.com/aws/amazon-ecs-agent/ecs-agent/api/ecs"
	ipcompatibility "github.com/aws/amazon-ecs-agent/ecs-agent/ipcompatibility"
	types "github.com/docker/docker/api/types"
	container0 "github.com/docker/docker/api/types/container"
	gomock "github.com/golang/mock/gomock"
)

// MockManager is a mock of Manager interface.
type MockManager struct {
	ctrl     *gomock.Controller
	recorder *MockManagerMockRecorder
}

// MockManagerMockRecorder is the mock recorder for MockManager.
type MockManagerMockRecorder struct {
	mock *MockManager
}

// NewMockManager creates a new mock instance.
func NewMockManager(ctrl *gomock.Controller) *MockManager {
	mock := &MockManager{ctrl: ctrl}
	mock.recorder = &MockManagerMockRecorder{mock}
	return mock
}

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

// AugmentInstanceContainer mocks base method.
func (m *MockManager) AugmentInstanceContainer(arg0 *task.Task, arg1 *container.Container, arg2 *container0.HostConfig) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AugmentInstanceContainer", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// AugmentTaskContainer mocks base method.
func (m *MockManager) AugmentTaskContainer(arg0 *task.Task, arg1 *container.Container, arg2 *container0.HostConfig, arg3 ipcompatibility.IPCompatibility) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AugmentTaskContainer", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// CreateInstanceTask mocks base method.
func (m *MockManager) CreateInstanceTask(arg0 *config.Config) (*task.Task, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateInstanceTask", arg0)
	ret0, _ := ret[0].(*task.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

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

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

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

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

// IsLoaded mocks base method.
func (m *MockManager) IsLoaded(arg0 dockerapi.DockerClient) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsLoaded", arg0)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// LoadImage mocks base method.
func (m *MockManager) LoadImage(arg0 context.Context, arg1 *config.Config, arg2 dockerapi.DockerClient) (*types.ImageInspect, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LoadImage", arg0, arg1, arg2)
	ret0, _ := ret[0].(*types.ImageInspect)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// SetECSClient mocks base method.
func (m *MockManager) SetECSClient(arg0 ecs.ECSClient, arg1 string) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetECSClient", arg0, arg1)
}

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