// Code generated by MockGen. DO NOT EDIT.
// Source: ./internal/clients/clients.go

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

import (
	io "io"
	reflect "reflect"

	types "github.com/awslabs/aws-cloudformation-controller-for-flux/internal/clients/types"
	gomock "github.com/golang/mock/gomock"
)

// MockCloudFormationClient is a mock of CloudFormationClient interface.
type MockCloudFormationClient struct {
	ctrl     *gomock.Controller
	recorder *MockCloudFormationClientMockRecorder
}

// MockCloudFormationClientMockRecorder is the mock recorder for MockCloudFormationClient.
type MockCloudFormationClientMockRecorder struct {
	mock *MockCloudFormationClient
}

// NewMockCloudFormationClient creates a new mock instance.
func NewMockCloudFormationClient(ctrl *gomock.Controller) *MockCloudFormationClient {
	mock := &MockCloudFormationClient{ctrl: ctrl}
	mock.recorder = &MockCloudFormationClientMockRecorder{mock}
	return mock
}

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

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

// ContinueStackRollback indicates an expected call of ContinueStackRollback.
func (mr *MockCloudFormationClientMockRecorder) ContinueStackRollback(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContinueStackRollback", reflect.TypeOf((*MockCloudFormationClient)(nil).ContinueStackRollback), stack)
}

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

// CreateStack indicates an expected call of CreateStack.
func (mr *MockCloudFormationClientMockRecorder) CreateStack(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateStack", reflect.TypeOf((*MockCloudFormationClient)(nil).CreateStack), stack)
}

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

// DeleteChangeSet indicates an expected call of DeleteChangeSet.
func (mr *MockCloudFormationClientMockRecorder) DeleteChangeSet(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteChangeSet", reflect.TypeOf((*MockCloudFormationClient)(nil).DeleteChangeSet), stack)
}

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

// DeleteStack indicates an expected call of DeleteStack.
func (mr *MockCloudFormationClientMockRecorder) DeleteStack(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteStack", reflect.TypeOf((*MockCloudFormationClient)(nil).DeleteStack), stack)
}

// DescribeChangeSet mocks base method.
func (m *MockCloudFormationClient) DescribeChangeSet(stack *types.Stack) (*types.ChangeSetDescription, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DescribeChangeSet", stack)
	ret0, _ := ret[0].(*types.ChangeSetDescription)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DescribeChangeSet indicates an expected call of DescribeChangeSet.
func (mr *MockCloudFormationClientMockRecorder) DescribeChangeSet(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeChangeSet", reflect.TypeOf((*MockCloudFormationClient)(nil).DescribeChangeSet), stack)
}

// DescribeStack mocks base method.
func (m *MockCloudFormationClient) DescribeStack(stack *types.Stack) (*types.StackDescription, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DescribeStack", stack)
	ret0, _ := ret[0].(*types.StackDescription)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DescribeStack indicates an expected call of DescribeStack.
func (mr *MockCloudFormationClientMockRecorder) DescribeStack(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeStack", reflect.TypeOf((*MockCloudFormationClient)(nil).DescribeStack), stack)
}

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

// ExecuteChangeSet indicates an expected call of ExecuteChangeSet.
func (mr *MockCloudFormationClientMockRecorder) ExecuteChangeSet(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteChangeSet", reflect.TypeOf((*MockCloudFormationClient)(nil).ExecuteChangeSet), stack)
}

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

// UpdateStack indicates an expected call of UpdateStack.
func (mr *MockCloudFormationClientMockRecorder) UpdateStack(stack interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStack", reflect.TypeOf((*MockCloudFormationClient)(nil).UpdateStack), stack)
}

// MockS3Client is a mock of S3Client interface.
type MockS3Client struct {
	ctrl     *gomock.Controller
	recorder *MockS3ClientMockRecorder
}

// MockS3ClientMockRecorder is the mock recorder for MockS3Client.
type MockS3ClientMockRecorder struct {
	mock *MockS3Client
}

// NewMockS3Client creates a new mock instance.
func NewMockS3Client(ctrl *gomock.Controller) *MockS3Client {
	mock := &MockS3Client{ctrl: ctrl}
	mock.recorder = &MockS3ClientMockRecorder{mock}
	return mock
}

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

// UploadTemplate mocks base method.
func (m *MockS3Client) UploadTemplate(bucket, region, key string, data io.Reader) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UploadTemplate", bucket, region, key, data)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UploadTemplate indicates an expected call of UploadTemplate.
func (mr *MockS3ClientMockRecorder) UploadTemplate(bucket, region, key, data interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadTemplate", reflect.TypeOf((*MockS3Client)(nil).UploadTemplate), bucket, region, key, data)
}
