// 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/taskresource (interfaces: TaskResource)

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

import (
	reflect "reflect"
	time "time"

	container "github.com/aws/amazon-ecs-agent/agent/api/container"
	config "github.com/aws/amazon-ecs-agent/agent/config"
	taskresource "github.com/aws/amazon-ecs-agent/agent/taskresource"
	status "github.com/aws/amazon-ecs-agent/agent/taskresource/status"
	status0 "github.com/aws/amazon-ecs-agent/ecs-agent/api/container/status"
	status1 "github.com/aws/amazon-ecs-agent/ecs-agent/api/task/status"
	gomock "github.com/golang/mock/gomock"
)

// MockTaskResource is a mock of TaskResource interface.
type MockTaskResource struct {
	ctrl     *gomock.Controller
	recorder *MockTaskResourceMockRecorder
}

// MockTaskResourceMockRecorder is the mock recorder for MockTaskResource.
type MockTaskResourceMockRecorder struct {
	mock *MockTaskResource
}

// NewMockTaskResource creates a new mock instance.
func NewMockTaskResource(ctrl *gomock.Controller) *MockTaskResource {
	mock := &MockTaskResource{ctrl: ctrl}
	mock.recorder = &MockTaskResourceMockRecorder{mock}
	return mock
}

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

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

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

// BuildContainerDependency mocks base method.
func (m *MockTaskResource) BuildContainerDependency(arg0 string, arg1 status0.ContainerStatus, arg2 status.ResourceStatus) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "BuildContainerDependency", arg0, arg1, arg2)
}

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

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

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

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

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

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

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

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

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

// GetAppliedStatus mocks base method.
func (m *MockTaskResource) GetAppliedStatus() status.ResourceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAppliedStatus")
	ret0, _ := ret[0].(status.ResourceStatus)
	return ret0
}

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

// GetContainerDependencies mocks base method.
func (m *MockTaskResource) GetContainerDependencies(arg0 status.ResourceStatus) []container.ContainerDependency {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetContainerDependencies", arg0)
	ret0, _ := ret[0].([]container.ContainerDependency)
	return ret0
}

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

// GetCreatedAt mocks base method.
func (m *MockTaskResource) GetCreatedAt() time.Time {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCreatedAt")
	ret0, _ := ret[0].(time.Time)
	return ret0
}

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

// GetDesiredStatus mocks base method.
func (m *MockTaskResource) GetDesiredStatus() status.ResourceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDesiredStatus")
	ret0, _ := ret[0].(status.ResourceStatus)
	return ret0
}

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

// GetKnownStatus mocks base method.
func (m *MockTaskResource) GetKnownStatus() status.ResourceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetKnownStatus")
	ret0, _ := ret[0].(status.ResourceStatus)
	return ret0
}

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

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

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

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

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

// Initialize mocks base method.
func (m *MockTaskResource) Initialize(arg0 *config.Config, arg1 *taskresource.ResourceFields, arg2, arg3 status1.TaskStatus) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Initialize", arg0, arg1, arg2, arg3)
}

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

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

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

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

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

// NextKnownState mocks base method.
func (m *MockTaskResource) NextKnownState() status.ResourceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NextKnownState")
	ret0, _ := ret[0].(status.ResourceStatus)
	return ret0
}

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

// SetAppliedStatus mocks base method.
func (m *MockTaskResource) SetAppliedStatus(arg0 status.ResourceStatus) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetAppliedStatus", arg0)
	ret0, _ := ret[0].(bool)
	return ret0
}

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

// SetCreatedAt mocks base method.
func (m *MockTaskResource) SetCreatedAt(arg0 time.Time) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetCreatedAt", arg0)
}

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

// SetDesiredStatus mocks base method.
func (m *MockTaskResource) SetDesiredStatus(arg0 status.ResourceStatus) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetDesiredStatus", arg0)
}

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

// SetKnownStatus mocks base method.
func (m *MockTaskResource) SetKnownStatus(arg0 status.ResourceStatus) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetKnownStatus", arg0)
}

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

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

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

// SteadyState mocks base method.
func (m *MockTaskResource) SteadyState() status.ResourceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SteadyState")
	ret0, _ := ret[0].(status.ResourceStatus)
	return ret0
}

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

// TerminalStatus mocks base method.
func (m *MockTaskResource) TerminalStatus() status.ResourceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TerminalStatus")
	ret0, _ := ret[0].(status.ResourceStatus)
	return ret0
}

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

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

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