//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Code generated by mga tool. DO NOT EDIT.

package awsworkflow

import (
	"context"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/client"
	"github.com/aws/aws-sdk-go/aws/request"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/cloudformation"
	"github.com/aws/aws-sdk-go/service/cloudformation/cloudformationiface"
	"github.com/stretchr/testify/mock"
)

// MockAWSFactory is an autogenerated mock for the AWSFactory type.
type MockAWSFactory struct {
	mock.Mock
}

// New provides a mock function.
func (_m *MockAWSFactory) New(organizationID uint, secretID string, region string) (_result_0 *session.Session, _result_1 error) {
	ret := _m.Called(organizationID, secretID, region)

	var r0 *session.Session
	if rf, ok := ret.Get(0).(func(uint, string, string) *session.Session); ok {
		r0 = rf(organizationID, secretID, region)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*session.Session)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(uint, string, string) error); ok {
		r1 = rf(organizationID, secretID, region)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockcloudFormationAPI is an autogenerated mock for the cloudFormationAPI type.
type MockcloudFormationAPI struct {
	mock.Mock
}

// CancelUpdateStack provides a mock function.
func (_m *MockcloudFormationAPI) CancelUpdateStack(_parameter_0 *cloudformation.CancelUpdateStackInput) (_result_0 *cloudformation.CancelUpdateStackOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.CancelUpdateStackOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.CancelUpdateStackInput) *cloudformation.CancelUpdateStackOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CancelUpdateStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.CancelUpdateStackInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CancelUpdateStackRequest provides a mock function.
func (_m *MockcloudFormationAPI) CancelUpdateStackRequest(_parameter_0 *cloudformation.CancelUpdateStackInput) (_result_0 *request.Request, _result_1 *cloudformation.CancelUpdateStackOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.CancelUpdateStackInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.CancelUpdateStackOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.CancelUpdateStackInput) *cloudformation.CancelUpdateStackOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.CancelUpdateStackOutput)
		}
	}

	return r0, r1
}

// CancelUpdateStackWithContext provides a mock function.
func (_m *MockcloudFormationAPI) CancelUpdateStackWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.CancelUpdateStackInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.CancelUpdateStackOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.CancelUpdateStackOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.CancelUpdateStackInput, ...request.Option) *cloudformation.CancelUpdateStackOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CancelUpdateStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.CancelUpdateStackInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ContinueUpdateRollback provides a mock function.
func (_m *MockcloudFormationAPI) ContinueUpdateRollback(_parameter_0 *cloudformation.ContinueUpdateRollbackInput) (_result_0 *cloudformation.ContinueUpdateRollbackOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ContinueUpdateRollbackOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ContinueUpdateRollbackInput) *cloudformation.ContinueUpdateRollbackOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ContinueUpdateRollbackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ContinueUpdateRollbackInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ContinueUpdateRollbackRequest provides a mock function.
func (_m *MockcloudFormationAPI) ContinueUpdateRollbackRequest(_parameter_0 *cloudformation.ContinueUpdateRollbackInput) (_result_0 *request.Request, _result_1 *cloudformation.ContinueUpdateRollbackOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ContinueUpdateRollbackInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ContinueUpdateRollbackOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ContinueUpdateRollbackInput) *cloudformation.ContinueUpdateRollbackOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ContinueUpdateRollbackOutput)
		}
	}

	return r0, r1
}

// ContinueUpdateRollbackWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ContinueUpdateRollbackWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ContinueUpdateRollbackInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ContinueUpdateRollbackOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ContinueUpdateRollbackOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ContinueUpdateRollbackInput, ...request.Option) *cloudformation.ContinueUpdateRollbackOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ContinueUpdateRollbackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ContinueUpdateRollbackInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateChangeSet provides a mock function.
func (_m *MockcloudFormationAPI) CreateChangeSet(_parameter_0 *cloudformation.CreateChangeSetInput) (_result_0 *cloudformation.CreateChangeSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.CreateChangeSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateChangeSetInput) *cloudformation.CreateChangeSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateChangeSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateChangeSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) CreateChangeSetRequest(_parameter_0 *cloudformation.CreateChangeSetInput) (_result_0 *request.Request, _result_1 *cloudformation.CreateChangeSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateChangeSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.CreateChangeSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateChangeSetInput) *cloudformation.CreateChangeSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.CreateChangeSetOutput)
		}
	}

	return r0, r1
}

// CreateChangeSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) CreateChangeSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.CreateChangeSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.CreateChangeSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.CreateChangeSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.CreateChangeSetInput, ...request.Option) *cloudformation.CreateChangeSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.CreateChangeSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateStack provides a mock function.
func (_m *MockcloudFormationAPI) CreateStack(_parameter_0 *cloudformation.CreateStackInput) (_result_0 *cloudformation.CreateStackOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.CreateStackOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateStackInput) *cloudformation.CreateStackOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateStackInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateStackInstances provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackInstances(_parameter_0 *cloudformation.CreateStackInstancesInput) (_result_0 *cloudformation.CreateStackInstancesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.CreateStackInstancesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateStackInstancesInput) *cloudformation.CreateStackInstancesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateStackInstancesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateStackInstancesRequest provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackInstancesRequest(_parameter_0 *cloudformation.CreateStackInstancesInput) (_result_0 *request.Request, _result_1 *cloudformation.CreateStackInstancesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateStackInstancesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.CreateStackInstancesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateStackInstancesInput) *cloudformation.CreateStackInstancesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.CreateStackInstancesOutput)
		}
	}

	return r0, r1
}

// CreateStackInstancesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackInstancesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.CreateStackInstancesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.CreateStackInstancesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.CreateStackInstancesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.CreateStackInstancesInput, ...request.Option) *cloudformation.CreateStackInstancesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.CreateStackInstancesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateStackRequest provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackRequest(_parameter_0 *cloudformation.CreateStackInput) (_result_0 *request.Request, _result_1 *cloudformation.CreateStackOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateStackInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.CreateStackOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateStackInput) *cloudformation.CreateStackOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.CreateStackOutput)
		}
	}

	return r0, r1
}

// CreateStackSet provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackSet(_parameter_0 *cloudformation.CreateStackSetInput) (_result_0 *cloudformation.CreateStackSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.CreateStackSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateStackSetInput) *cloudformation.CreateStackSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateStackSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateStackSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackSetRequest(_parameter_0 *cloudformation.CreateStackSetInput) (_result_0 *request.Request, _result_1 *cloudformation.CreateStackSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.CreateStackSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.CreateStackSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.CreateStackSetInput) *cloudformation.CreateStackSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.CreateStackSetOutput)
		}
	}

	return r0, r1
}

// CreateStackSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.CreateStackSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.CreateStackSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.CreateStackSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.CreateStackSetInput, ...request.Option) *cloudformation.CreateStackSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.CreateStackSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateStackWithContext provides a mock function.
func (_m *MockcloudFormationAPI) CreateStackWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.CreateStackInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.CreateStackOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.CreateStackOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.CreateStackInput, ...request.Option) *cloudformation.CreateStackOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.CreateStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.CreateStackInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteChangeSet provides a mock function.
func (_m *MockcloudFormationAPI) DeleteChangeSet(_parameter_0 *cloudformation.DeleteChangeSetInput) (_result_0 *cloudformation.DeleteChangeSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DeleteChangeSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteChangeSetInput) *cloudformation.DeleteChangeSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteChangeSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteChangeSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) DeleteChangeSetRequest(_parameter_0 *cloudformation.DeleteChangeSetInput) (_result_0 *request.Request, _result_1 *cloudformation.DeleteChangeSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteChangeSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DeleteChangeSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteChangeSetInput) *cloudformation.DeleteChangeSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DeleteChangeSetOutput)
		}
	}

	return r0, r1
}

// DeleteChangeSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DeleteChangeSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DeleteChangeSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DeleteChangeSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DeleteChangeSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DeleteChangeSetInput, ...request.Option) *cloudformation.DeleteChangeSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DeleteChangeSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteStack provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStack(_parameter_0 *cloudformation.DeleteStackInput) (_result_0 *cloudformation.DeleteStackOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DeleteStackOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteStackInput) *cloudformation.DeleteStackOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteStackInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteStackInstances provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackInstances(_parameter_0 *cloudformation.DeleteStackInstancesInput) (_result_0 *cloudformation.DeleteStackInstancesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DeleteStackInstancesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteStackInstancesInput) *cloudformation.DeleteStackInstancesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteStackInstancesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteStackInstancesRequest provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackInstancesRequest(_parameter_0 *cloudformation.DeleteStackInstancesInput) (_result_0 *request.Request, _result_1 *cloudformation.DeleteStackInstancesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteStackInstancesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DeleteStackInstancesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteStackInstancesInput) *cloudformation.DeleteStackInstancesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DeleteStackInstancesOutput)
		}
	}

	return r0, r1
}

// DeleteStackInstancesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackInstancesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DeleteStackInstancesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DeleteStackInstancesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DeleteStackInstancesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DeleteStackInstancesInput, ...request.Option) *cloudformation.DeleteStackInstancesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DeleteStackInstancesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteStackRequest provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackRequest(_parameter_0 *cloudformation.DeleteStackInput) (_result_0 *request.Request, _result_1 *cloudformation.DeleteStackOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteStackInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DeleteStackOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteStackInput) *cloudformation.DeleteStackOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DeleteStackOutput)
		}
	}

	return r0, r1
}

// DeleteStackSet provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackSet(_parameter_0 *cloudformation.DeleteStackSetInput) (_result_0 *cloudformation.DeleteStackSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DeleteStackSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteStackSetInput) *cloudformation.DeleteStackSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteStackSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteStackSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackSetRequest(_parameter_0 *cloudformation.DeleteStackSetInput) (_result_0 *request.Request, _result_1 *cloudformation.DeleteStackSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DeleteStackSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DeleteStackSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DeleteStackSetInput) *cloudformation.DeleteStackSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DeleteStackSetOutput)
		}
	}

	return r0, r1
}

// DeleteStackSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DeleteStackSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DeleteStackSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DeleteStackSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DeleteStackSetInput, ...request.Option) *cloudformation.DeleteStackSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DeleteStackSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteStackWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DeleteStackWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DeleteStackInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DeleteStackOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DeleteStackOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DeleteStackInput, ...request.Option) *cloudformation.DeleteStackOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeleteStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DeleteStackInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeregisterType provides a mock function.
func (_m *MockcloudFormationAPI) DeregisterType(_parameter_0 *cloudformation.DeregisterTypeInput) (_result_0 *cloudformation.DeregisterTypeOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DeregisterTypeOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DeregisterTypeInput) *cloudformation.DeregisterTypeOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeregisterTypeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DeregisterTypeInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeregisterTypeRequest provides a mock function.
func (_m *MockcloudFormationAPI) DeregisterTypeRequest(_parameter_0 *cloudformation.DeregisterTypeInput) (_result_0 *request.Request, _result_1 *cloudformation.DeregisterTypeOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DeregisterTypeInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DeregisterTypeOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DeregisterTypeInput) *cloudformation.DeregisterTypeOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DeregisterTypeOutput)
		}
	}

	return r0, r1
}

// DeregisterTypeWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DeregisterTypeWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DeregisterTypeInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DeregisterTypeOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DeregisterTypeOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DeregisterTypeInput, ...request.Option) *cloudformation.DeregisterTypeOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DeregisterTypeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DeregisterTypeInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeAccountLimits provides a mock function.
func (_m *MockcloudFormationAPI) DescribeAccountLimits(_parameter_0 *cloudformation.DescribeAccountLimitsInput) (_result_0 *cloudformation.DescribeAccountLimitsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeAccountLimitsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeAccountLimitsInput) *cloudformation.DescribeAccountLimitsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeAccountLimitsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeAccountLimitsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeAccountLimitsPages provides a mock function.
func (_m *MockcloudFormationAPI) DescribeAccountLimitsPages(_parameter_0 *cloudformation.DescribeAccountLimitsInput, _parameter_1 func(*cloudformation.DescribeAccountLimitsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeAccountLimitsInput, func(*cloudformation.DescribeAccountLimitsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeAccountLimitsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeAccountLimitsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeAccountLimitsInput, _parameter_2 func(*cloudformation.DescribeAccountLimitsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeAccountLimitsInput, func(*cloudformation.DescribeAccountLimitsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeAccountLimitsRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeAccountLimitsRequest(_parameter_0 *cloudformation.DescribeAccountLimitsInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeAccountLimitsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeAccountLimitsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeAccountLimitsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeAccountLimitsInput) *cloudformation.DescribeAccountLimitsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeAccountLimitsOutput)
		}
	}

	return r0, r1
}

// DescribeAccountLimitsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeAccountLimitsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeAccountLimitsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeAccountLimitsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeAccountLimitsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeAccountLimitsInput, ...request.Option) *cloudformation.DescribeAccountLimitsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeAccountLimitsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeAccountLimitsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeChangeSet provides a mock function.
func (_m *MockcloudFormationAPI) DescribeChangeSet(_parameter_0 *cloudformation.DescribeChangeSetInput) (_result_0 *cloudformation.DescribeChangeSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeChangeSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeChangeSetInput) *cloudformation.DescribeChangeSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeChangeSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeChangeSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeChangeSetRequest(_parameter_0 *cloudformation.DescribeChangeSetInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeChangeSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeChangeSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeChangeSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeChangeSetInput) *cloudformation.DescribeChangeSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeChangeSetOutput)
		}
	}

	return r0, r1
}

// DescribeChangeSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeChangeSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeChangeSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeChangeSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeChangeSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeChangeSetInput, ...request.Option) *cloudformation.DescribeChangeSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeChangeSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackDriftDetectionStatus provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackDriftDetectionStatus(_parameter_0 *cloudformation.DescribeStackDriftDetectionStatusInput) (_result_0 *cloudformation.DescribeStackDriftDetectionStatusOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackDriftDetectionStatusOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackDriftDetectionStatusInput) *cloudformation.DescribeStackDriftDetectionStatusOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackDriftDetectionStatusOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackDriftDetectionStatusInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackDriftDetectionStatusRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackDriftDetectionStatusRequest(_parameter_0 *cloudformation.DescribeStackDriftDetectionStatusInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackDriftDetectionStatusOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackDriftDetectionStatusInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackDriftDetectionStatusOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackDriftDetectionStatusInput) *cloudformation.DescribeStackDriftDetectionStatusOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackDriftDetectionStatusOutput)
		}
	}

	return r0, r1
}

// DescribeStackDriftDetectionStatusWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackDriftDetectionStatusWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackDriftDetectionStatusInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackDriftDetectionStatusOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackDriftDetectionStatusOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackDriftDetectionStatusInput, ...request.Option) *cloudformation.DescribeStackDriftDetectionStatusOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackDriftDetectionStatusOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackDriftDetectionStatusInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackEvents provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackEvents(_parameter_0 *cloudformation.DescribeStackEventsInput) (_result_0 *cloudformation.DescribeStackEventsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackEventsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackEventsInput) *cloudformation.DescribeStackEventsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackEventsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackEventsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackEventsPages provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackEventsPages(_parameter_0 *cloudformation.DescribeStackEventsInput, _parameter_1 func(*cloudformation.DescribeStackEventsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackEventsInput, func(*cloudformation.DescribeStackEventsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeStackEventsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackEventsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackEventsInput, _parameter_2 func(*cloudformation.DescribeStackEventsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackEventsInput, func(*cloudformation.DescribeStackEventsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeStackEventsRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackEventsRequest(_parameter_0 *cloudformation.DescribeStackEventsInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackEventsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackEventsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackEventsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackEventsInput) *cloudformation.DescribeStackEventsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackEventsOutput)
		}
	}

	return r0, r1
}

// DescribeStackEventsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackEventsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackEventsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackEventsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackEventsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackEventsInput, ...request.Option) *cloudformation.DescribeStackEventsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackEventsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackEventsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackInstance provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackInstance(_parameter_0 *cloudformation.DescribeStackInstanceInput) (_result_0 *cloudformation.DescribeStackInstanceOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackInstanceOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackInstanceInput) *cloudformation.DescribeStackInstanceOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackInstanceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackInstanceInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackInstanceRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackInstanceRequest(_parameter_0 *cloudformation.DescribeStackInstanceInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackInstanceOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackInstanceInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackInstanceOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackInstanceInput) *cloudformation.DescribeStackInstanceOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackInstanceOutput)
		}
	}

	return r0, r1
}

// DescribeStackInstanceWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackInstanceWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackInstanceInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackInstanceOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackInstanceOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackInstanceInput, ...request.Option) *cloudformation.DescribeStackInstanceOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackInstanceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackInstanceInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackResource provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResource(_parameter_0 *cloudformation.DescribeStackResourceInput) (_result_0 *cloudformation.DescribeStackResourceOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackResourceOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourceInput) *cloudformation.DescribeStackResourceOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackResourceInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackResourceDrifts provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceDrifts(_parameter_0 *cloudformation.DescribeStackResourceDriftsInput) (_result_0 *cloudformation.DescribeStackResourceDriftsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackResourceDriftsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourceDriftsInput) *cloudformation.DescribeStackResourceDriftsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackResourceDriftsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackResourceDriftsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackResourceDriftsPages provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceDriftsPages(_parameter_0 *cloudformation.DescribeStackResourceDriftsInput, _parameter_1 func(*cloudformation.DescribeStackResourceDriftsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourceDriftsInput, func(*cloudformation.DescribeStackResourceDriftsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeStackResourceDriftsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceDriftsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackResourceDriftsInput, _parameter_2 func(*cloudformation.DescribeStackResourceDriftsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackResourceDriftsInput, func(*cloudformation.DescribeStackResourceDriftsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeStackResourceDriftsRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceDriftsRequest(_parameter_0 *cloudformation.DescribeStackResourceDriftsInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackResourceDriftsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourceDriftsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackResourceDriftsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackResourceDriftsInput) *cloudformation.DescribeStackResourceDriftsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackResourceDriftsOutput)
		}
	}

	return r0, r1
}

// DescribeStackResourceDriftsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceDriftsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackResourceDriftsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackResourceDriftsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackResourceDriftsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackResourceDriftsInput, ...request.Option) *cloudformation.DescribeStackResourceDriftsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackResourceDriftsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackResourceDriftsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackResourceRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceRequest(_parameter_0 *cloudformation.DescribeStackResourceInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackResourceOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourceInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackResourceOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackResourceInput) *cloudformation.DescribeStackResourceOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackResourceOutput)
		}
	}

	return r0, r1
}

// DescribeStackResourceWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourceWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackResourceInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackResourceOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackResourceOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackResourceInput, ...request.Option) *cloudformation.DescribeStackResourceOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackResourceInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackResources provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResources(_parameter_0 *cloudformation.DescribeStackResourcesInput) (_result_0 *cloudformation.DescribeStackResourcesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackResourcesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourcesInput) *cloudformation.DescribeStackResourcesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackResourcesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackResourcesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackResourcesRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourcesRequest(_parameter_0 *cloudformation.DescribeStackResourcesInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackResourcesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackResourcesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackResourcesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackResourcesInput) *cloudformation.DescribeStackResourcesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackResourcesOutput)
		}
	}

	return r0, r1
}

// DescribeStackResourcesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackResourcesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackResourcesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackResourcesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackResourcesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackResourcesInput, ...request.Option) *cloudformation.DescribeStackResourcesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackResourcesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackResourcesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackSet provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackSet(_parameter_0 *cloudformation.DescribeStackSetInput) (_result_0 *cloudformation.DescribeStackSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackSetInput) *cloudformation.DescribeStackSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackSetOperation provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackSetOperation(_parameter_0 *cloudformation.DescribeStackSetOperationInput) (_result_0 *cloudformation.DescribeStackSetOperationOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStackSetOperationOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackSetOperationInput) *cloudformation.DescribeStackSetOperationOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackSetOperationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackSetOperationInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackSetOperationRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackSetOperationRequest(_parameter_0 *cloudformation.DescribeStackSetOperationInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackSetOperationOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackSetOperationInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackSetOperationOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackSetOperationInput) *cloudformation.DescribeStackSetOperationOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackSetOperationOutput)
		}
	}

	return r0, r1
}

// DescribeStackSetOperationWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackSetOperationWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackSetOperationInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackSetOperationOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackSetOperationOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackSetOperationInput, ...request.Option) *cloudformation.DescribeStackSetOperationOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackSetOperationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackSetOperationInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStackSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackSetRequest(_parameter_0 *cloudformation.DescribeStackSetInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStackSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStackSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStackSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStackSetInput) *cloudformation.DescribeStackSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStackSetOutput)
		}
	}

	return r0, r1
}

// DescribeStackSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStackSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStackSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStackSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStackSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStackSetInput, ...request.Option) *cloudformation.DescribeStackSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStackSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStacks provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStacks(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 *cloudformation.DescribeStacksOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeStacksOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) *cloudformation.DescribeStacksOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStacksOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStacksInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeStacksPages provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStacksPages(_parameter_0 *cloudformation.DescribeStacksInput, _parameter_1 func(*cloudformation.DescribeStacksOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput, func(*cloudformation.DescribeStacksOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeStacksPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStacksPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 func(*cloudformation.DescribeStacksOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, func(*cloudformation.DescribeStacksOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DescribeStacksRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStacksRequest(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeStacksOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeStacksOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeStacksInput) *cloudformation.DescribeStacksOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeStacksOutput)
		}
	}

	return r0, r1
}

// DescribeStacksWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeStacksWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeStacksOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeStacksOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.Option) *cloudformation.DescribeStacksOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeStacksOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeType provides a mock function.
func (_m *MockcloudFormationAPI) DescribeType(_parameter_0 *cloudformation.DescribeTypeInput) (_result_0 *cloudformation.DescribeTypeOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeTypeOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeTypeInput) *cloudformation.DescribeTypeOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeTypeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeTypeInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeTypeRegistration provides a mock function.
func (_m *MockcloudFormationAPI) DescribeTypeRegistration(_parameter_0 *cloudformation.DescribeTypeRegistrationInput) (_result_0 *cloudformation.DescribeTypeRegistrationOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DescribeTypeRegistrationOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeTypeRegistrationInput) *cloudformation.DescribeTypeRegistrationOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeTypeRegistrationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeTypeRegistrationInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeTypeRegistrationRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeTypeRegistrationRequest(_parameter_0 *cloudformation.DescribeTypeRegistrationInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeTypeRegistrationOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeTypeRegistrationInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeTypeRegistrationOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeTypeRegistrationInput) *cloudformation.DescribeTypeRegistrationOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeTypeRegistrationOutput)
		}
	}

	return r0, r1
}

// DescribeTypeRegistrationWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeTypeRegistrationWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeTypeRegistrationInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeTypeRegistrationOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeTypeRegistrationOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeTypeRegistrationInput, ...request.Option) *cloudformation.DescribeTypeRegistrationOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeTypeRegistrationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeTypeRegistrationInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DescribeTypeRequest provides a mock function.
func (_m *MockcloudFormationAPI) DescribeTypeRequest(_parameter_0 *cloudformation.DescribeTypeInput) (_result_0 *request.Request, _result_1 *cloudformation.DescribeTypeOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeTypeInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DescribeTypeOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DescribeTypeInput) *cloudformation.DescribeTypeOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DescribeTypeOutput)
		}
	}

	return r0, r1
}

// DescribeTypeWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DescribeTypeWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeTypeInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DescribeTypeOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DescribeTypeOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeTypeInput, ...request.Option) *cloudformation.DescribeTypeOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DescribeTypeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DescribeTypeInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetectStackDrift provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackDrift(_parameter_0 *cloudformation.DetectStackDriftInput) (_result_0 *cloudformation.DetectStackDriftOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DetectStackDriftOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DetectStackDriftInput) *cloudformation.DetectStackDriftOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DetectStackDriftOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DetectStackDriftInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetectStackDriftRequest provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackDriftRequest(_parameter_0 *cloudformation.DetectStackDriftInput) (_result_0 *request.Request, _result_1 *cloudformation.DetectStackDriftOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DetectStackDriftInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DetectStackDriftOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DetectStackDriftInput) *cloudformation.DetectStackDriftOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DetectStackDriftOutput)
		}
	}

	return r0, r1
}

// DetectStackDriftWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackDriftWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DetectStackDriftInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DetectStackDriftOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DetectStackDriftOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DetectStackDriftInput, ...request.Option) *cloudformation.DetectStackDriftOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DetectStackDriftOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DetectStackDriftInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetectStackResourceDrift provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackResourceDrift(_parameter_0 *cloudformation.DetectStackResourceDriftInput) (_result_0 *cloudformation.DetectStackResourceDriftOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DetectStackResourceDriftOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DetectStackResourceDriftInput) *cloudformation.DetectStackResourceDriftOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DetectStackResourceDriftOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DetectStackResourceDriftInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetectStackResourceDriftRequest provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackResourceDriftRequest(_parameter_0 *cloudformation.DetectStackResourceDriftInput) (_result_0 *request.Request, _result_1 *cloudformation.DetectStackResourceDriftOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DetectStackResourceDriftInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DetectStackResourceDriftOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DetectStackResourceDriftInput) *cloudformation.DetectStackResourceDriftOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DetectStackResourceDriftOutput)
		}
	}

	return r0, r1
}

// DetectStackResourceDriftWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackResourceDriftWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DetectStackResourceDriftInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DetectStackResourceDriftOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DetectStackResourceDriftOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DetectStackResourceDriftInput, ...request.Option) *cloudformation.DetectStackResourceDriftOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DetectStackResourceDriftOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DetectStackResourceDriftInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetectStackSetDrift provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackSetDrift(_parameter_0 *cloudformation.DetectStackSetDriftInput) (_result_0 *cloudformation.DetectStackSetDriftOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.DetectStackSetDriftOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.DetectStackSetDriftInput) *cloudformation.DetectStackSetDriftOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DetectStackSetDriftOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.DetectStackSetDriftInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetectStackSetDriftRequest provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackSetDriftRequest(_parameter_0 *cloudformation.DetectStackSetDriftInput) (_result_0 *request.Request, _result_1 *cloudformation.DetectStackSetDriftOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.DetectStackSetDriftInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.DetectStackSetDriftOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.DetectStackSetDriftInput) *cloudformation.DetectStackSetDriftOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.DetectStackSetDriftOutput)
		}
	}

	return r0, r1
}

// DetectStackSetDriftWithContext provides a mock function.
func (_m *MockcloudFormationAPI) DetectStackSetDriftWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DetectStackSetDriftInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.DetectStackSetDriftOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.DetectStackSetDriftOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DetectStackSetDriftInput, ...request.Option) *cloudformation.DetectStackSetDriftOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.DetectStackSetDriftOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.DetectStackSetDriftInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// EstimateTemplateCost provides a mock function.
func (_m *MockcloudFormationAPI) EstimateTemplateCost(_parameter_0 *cloudformation.EstimateTemplateCostInput) (_result_0 *cloudformation.EstimateTemplateCostOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.EstimateTemplateCostOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.EstimateTemplateCostInput) *cloudformation.EstimateTemplateCostOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.EstimateTemplateCostOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.EstimateTemplateCostInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// EstimateTemplateCostRequest provides a mock function.
func (_m *MockcloudFormationAPI) EstimateTemplateCostRequest(_parameter_0 *cloudformation.EstimateTemplateCostInput) (_result_0 *request.Request, _result_1 *cloudformation.EstimateTemplateCostOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.EstimateTemplateCostInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.EstimateTemplateCostOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.EstimateTemplateCostInput) *cloudformation.EstimateTemplateCostOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.EstimateTemplateCostOutput)
		}
	}

	return r0, r1
}

// EstimateTemplateCostWithContext provides a mock function.
func (_m *MockcloudFormationAPI) EstimateTemplateCostWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.EstimateTemplateCostInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.EstimateTemplateCostOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.EstimateTemplateCostOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.EstimateTemplateCostInput, ...request.Option) *cloudformation.EstimateTemplateCostOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.EstimateTemplateCostOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.EstimateTemplateCostInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ExecuteChangeSet provides a mock function.
func (_m *MockcloudFormationAPI) ExecuteChangeSet(_parameter_0 *cloudformation.ExecuteChangeSetInput) (_result_0 *cloudformation.ExecuteChangeSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ExecuteChangeSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ExecuteChangeSetInput) *cloudformation.ExecuteChangeSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ExecuteChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ExecuteChangeSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ExecuteChangeSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) ExecuteChangeSetRequest(_parameter_0 *cloudformation.ExecuteChangeSetInput) (_result_0 *request.Request, _result_1 *cloudformation.ExecuteChangeSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ExecuteChangeSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ExecuteChangeSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ExecuteChangeSetInput) *cloudformation.ExecuteChangeSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ExecuteChangeSetOutput)
		}
	}

	return r0, r1
}

// ExecuteChangeSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ExecuteChangeSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ExecuteChangeSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ExecuteChangeSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ExecuteChangeSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ExecuteChangeSetInput, ...request.Option) *cloudformation.ExecuteChangeSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ExecuteChangeSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ExecuteChangeSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetStackPolicy provides a mock function.
func (_m *MockcloudFormationAPI) GetStackPolicy(_parameter_0 *cloudformation.GetStackPolicyInput) (_result_0 *cloudformation.GetStackPolicyOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.GetStackPolicyOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.GetStackPolicyInput) *cloudformation.GetStackPolicyOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.GetStackPolicyOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.GetStackPolicyInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetStackPolicyRequest provides a mock function.
func (_m *MockcloudFormationAPI) GetStackPolicyRequest(_parameter_0 *cloudformation.GetStackPolicyInput) (_result_0 *request.Request, _result_1 *cloudformation.GetStackPolicyOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.GetStackPolicyInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.GetStackPolicyOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.GetStackPolicyInput) *cloudformation.GetStackPolicyOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.GetStackPolicyOutput)
		}
	}

	return r0, r1
}

// GetStackPolicyWithContext provides a mock function.
func (_m *MockcloudFormationAPI) GetStackPolicyWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.GetStackPolicyInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.GetStackPolicyOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.GetStackPolicyOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.GetStackPolicyInput, ...request.Option) *cloudformation.GetStackPolicyOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.GetStackPolicyOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.GetStackPolicyInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTemplate provides a mock function.
func (_m *MockcloudFormationAPI) GetTemplate(_parameter_0 *cloudformation.GetTemplateInput) (_result_0 *cloudformation.GetTemplateOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.GetTemplateOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.GetTemplateInput) *cloudformation.GetTemplateOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.GetTemplateOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.GetTemplateInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTemplateRequest provides a mock function.
func (_m *MockcloudFormationAPI) GetTemplateRequest(_parameter_0 *cloudformation.GetTemplateInput) (_result_0 *request.Request, _result_1 *cloudformation.GetTemplateOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.GetTemplateInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.GetTemplateOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.GetTemplateInput) *cloudformation.GetTemplateOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.GetTemplateOutput)
		}
	}

	return r0, r1
}

// GetTemplateSummary provides a mock function.
func (_m *MockcloudFormationAPI) GetTemplateSummary(_parameter_0 *cloudformation.GetTemplateSummaryInput) (_result_0 *cloudformation.GetTemplateSummaryOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.GetTemplateSummaryOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.GetTemplateSummaryInput) *cloudformation.GetTemplateSummaryOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.GetTemplateSummaryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.GetTemplateSummaryInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTemplateSummaryRequest provides a mock function.
func (_m *MockcloudFormationAPI) GetTemplateSummaryRequest(_parameter_0 *cloudformation.GetTemplateSummaryInput) (_result_0 *request.Request, _result_1 *cloudformation.GetTemplateSummaryOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.GetTemplateSummaryInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.GetTemplateSummaryOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.GetTemplateSummaryInput) *cloudformation.GetTemplateSummaryOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.GetTemplateSummaryOutput)
		}
	}

	return r0, r1
}

// GetTemplateSummaryWithContext provides a mock function.
func (_m *MockcloudFormationAPI) GetTemplateSummaryWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.GetTemplateSummaryInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.GetTemplateSummaryOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.GetTemplateSummaryOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.GetTemplateSummaryInput, ...request.Option) *cloudformation.GetTemplateSummaryOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.GetTemplateSummaryOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.GetTemplateSummaryInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTemplateWithContext provides a mock function.
func (_m *MockcloudFormationAPI) GetTemplateWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.GetTemplateInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.GetTemplateOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.GetTemplateOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.GetTemplateInput, ...request.Option) *cloudformation.GetTemplateOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.GetTemplateOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.GetTemplateInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListChangeSets provides a mock function.
func (_m *MockcloudFormationAPI) ListChangeSets(_parameter_0 *cloudformation.ListChangeSetsInput) (_result_0 *cloudformation.ListChangeSetsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListChangeSetsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListChangeSetsInput) *cloudformation.ListChangeSetsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListChangeSetsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListChangeSetsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListChangeSetsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListChangeSetsPages(_parameter_0 *cloudformation.ListChangeSetsInput, _parameter_1 func(*cloudformation.ListChangeSetsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListChangeSetsInput, func(*cloudformation.ListChangeSetsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListChangeSetsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListChangeSetsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListChangeSetsInput, _parameter_2 func(*cloudformation.ListChangeSetsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListChangeSetsInput, func(*cloudformation.ListChangeSetsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListChangeSetsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListChangeSetsRequest(_parameter_0 *cloudformation.ListChangeSetsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListChangeSetsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListChangeSetsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListChangeSetsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListChangeSetsInput) *cloudformation.ListChangeSetsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListChangeSetsOutput)
		}
	}

	return r0, r1
}

// ListChangeSetsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListChangeSetsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListChangeSetsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListChangeSetsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListChangeSetsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListChangeSetsInput, ...request.Option) *cloudformation.ListChangeSetsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListChangeSetsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListChangeSetsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListExports provides a mock function.
func (_m *MockcloudFormationAPI) ListExports(_parameter_0 *cloudformation.ListExportsInput) (_result_0 *cloudformation.ListExportsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListExportsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListExportsInput) *cloudformation.ListExportsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListExportsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListExportsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListExportsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListExportsPages(_parameter_0 *cloudformation.ListExportsInput, _parameter_1 func(*cloudformation.ListExportsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListExportsInput, func(*cloudformation.ListExportsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListExportsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListExportsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListExportsInput, _parameter_2 func(*cloudformation.ListExportsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListExportsInput, func(*cloudformation.ListExportsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListExportsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListExportsRequest(_parameter_0 *cloudformation.ListExportsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListExportsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListExportsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListExportsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListExportsInput) *cloudformation.ListExportsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListExportsOutput)
		}
	}

	return r0, r1
}

// ListExportsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListExportsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListExportsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListExportsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListExportsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListExportsInput, ...request.Option) *cloudformation.ListExportsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListExportsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListExportsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListImports provides a mock function.
func (_m *MockcloudFormationAPI) ListImports(_parameter_0 *cloudformation.ListImportsInput) (_result_0 *cloudformation.ListImportsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListImportsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListImportsInput) *cloudformation.ListImportsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListImportsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListImportsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListImportsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListImportsPages(_parameter_0 *cloudformation.ListImportsInput, _parameter_1 func(*cloudformation.ListImportsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListImportsInput, func(*cloudformation.ListImportsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListImportsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListImportsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListImportsInput, _parameter_2 func(*cloudformation.ListImportsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListImportsInput, func(*cloudformation.ListImportsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListImportsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListImportsRequest(_parameter_0 *cloudformation.ListImportsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListImportsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListImportsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListImportsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListImportsInput) *cloudformation.ListImportsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListImportsOutput)
		}
	}

	return r0, r1
}

// ListImportsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListImportsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListImportsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListImportsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListImportsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListImportsInput, ...request.Option) *cloudformation.ListImportsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListImportsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListImportsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackInstances provides a mock function.
func (_m *MockcloudFormationAPI) ListStackInstances(_parameter_0 *cloudformation.ListStackInstancesInput) (_result_0 *cloudformation.ListStackInstancesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListStackInstancesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackInstancesInput) *cloudformation.ListStackInstancesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackInstancesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackInstancesPages provides a mock function.
func (_m *MockcloudFormationAPI) ListStackInstancesPages(_parameter_0 *cloudformation.ListStackInstancesInput, _parameter_1 func(*cloudformation.ListStackInstancesOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackInstancesInput, func(*cloudformation.ListStackInstancesOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackInstancesPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackInstancesPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackInstancesInput, _parameter_2 func(*cloudformation.ListStackInstancesOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackInstancesInput, func(*cloudformation.ListStackInstancesOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackInstancesRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListStackInstancesRequest(_parameter_0 *cloudformation.ListStackInstancesInput) (_result_0 *request.Request, _result_1 *cloudformation.ListStackInstancesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackInstancesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListStackInstancesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackInstancesInput) *cloudformation.ListStackInstancesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListStackInstancesOutput)
		}
	}

	return r0, r1
}

// ListStackInstancesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackInstancesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackInstancesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListStackInstancesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListStackInstancesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackInstancesInput, ...request.Option) *cloudformation.ListStackInstancesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListStackInstancesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackResources provides a mock function.
func (_m *MockcloudFormationAPI) ListStackResources(_parameter_0 *cloudformation.ListStackResourcesInput) (_result_0 *cloudformation.ListStackResourcesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListStackResourcesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackResourcesInput) *cloudformation.ListStackResourcesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackResourcesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackResourcesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackResourcesPages provides a mock function.
func (_m *MockcloudFormationAPI) ListStackResourcesPages(_parameter_0 *cloudformation.ListStackResourcesInput, _parameter_1 func(*cloudformation.ListStackResourcesOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackResourcesInput, func(*cloudformation.ListStackResourcesOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackResourcesPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackResourcesPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackResourcesInput, _parameter_2 func(*cloudformation.ListStackResourcesOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackResourcesInput, func(*cloudformation.ListStackResourcesOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackResourcesRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListStackResourcesRequest(_parameter_0 *cloudformation.ListStackResourcesInput) (_result_0 *request.Request, _result_1 *cloudformation.ListStackResourcesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackResourcesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListStackResourcesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackResourcesInput) *cloudformation.ListStackResourcesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListStackResourcesOutput)
		}
	}

	return r0, r1
}

// ListStackResourcesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackResourcesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackResourcesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListStackResourcesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListStackResourcesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackResourcesInput, ...request.Option) *cloudformation.ListStackResourcesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackResourcesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListStackResourcesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackSetOperationResults provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationResults(_parameter_0 *cloudformation.ListStackSetOperationResultsInput) (_result_0 *cloudformation.ListStackSetOperationResultsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListStackSetOperationResultsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetOperationResultsInput) *cloudformation.ListStackSetOperationResultsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackSetOperationResultsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackSetOperationResultsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackSetOperationResultsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationResultsPages(_parameter_0 *cloudformation.ListStackSetOperationResultsInput, _parameter_1 func(*cloudformation.ListStackSetOperationResultsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetOperationResultsInput, func(*cloudformation.ListStackSetOperationResultsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackSetOperationResultsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationResultsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackSetOperationResultsInput, _parameter_2 func(*cloudformation.ListStackSetOperationResultsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackSetOperationResultsInput, func(*cloudformation.ListStackSetOperationResultsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackSetOperationResultsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationResultsRequest(_parameter_0 *cloudformation.ListStackSetOperationResultsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListStackSetOperationResultsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetOperationResultsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListStackSetOperationResultsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackSetOperationResultsInput) *cloudformation.ListStackSetOperationResultsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListStackSetOperationResultsOutput)
		}
	}

	return r0, r1
}

// ListStackSetOperationResultsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationResultsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackSetOperationResultsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListStackSetOperationResultsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListStackSetOperationResultsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackSetOperationResultsInput, ...request.Option) *cloudformation.ListStackSetOperationResultsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackSetOperationResultsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListStackSetOperationResultsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackSetOperations provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperations(_parameter_0 *cloudformation.ListStackSetOperationsInput) (_result_0 *cloudformation.ListStackSetOperationsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListStackSetOperationsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetOperationsInput) *cloudformation.ListStackSetOperationsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackSetOperationsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackSetOperationsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackSetOperationsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationsPages(_parameter_0 *cloudformation.ListStackSetOperationsInput, _parameter_1 func(*cloudformation.ListStackSetOperationsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetOperationsInput, func(*cloudformation.ListStackSetOperationsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackSetOperationsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackSetOperationsInput, _parameter_2 func(*cloudformation.ListStackSetOperationsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackSetOperationsInput, func(*cloudformation.ListStackSetOperationsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackSetOperationsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationsRequest(_parameter_0 *cloudformation.ListStackSetOperationsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListStackSetOperationsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetOperationsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListStackSetOperationsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackSetOperationsInput) *cloudformation.ListStackSetOperationsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListStackSetOperationsOutput)
		}
	}

	return r0, r1
}

// ListStackSetOperationsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetOperationsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackSetOperationsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListStackSetOperationsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListStackSetOperationsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackSetOperationsInput, ...request.Option) *cloudformation.ListStackSetOperationsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackSetOperationsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListStackSetOperationsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackSets provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSets(_parameter_0 *cloudformation.ListStackSetsInput) (_result_0 *cloudformation.ListStackSetsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListStackSetsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetsInput) *cloudformation.ListStackSetsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackSetsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackSetsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStackSetsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetsPages(_parameter_0 *cloudformation.ListStackSetsInput, _parameter_1 func(*cloudformation.ListStackSetsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetsInput, func(*cloudformation.ListStackSetsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackSetsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackSetsInput, _parameter_2 func(*cloudformation.ListStackSetsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackSetsInput, func(*cloudformation.ListStackSetsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStackSetsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetsRequest(_parameter_0 *cloudformation.ListStackSetsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListStackSetsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStackSetsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListStackSetsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStackSetsInput) *cloudformation.ListStackSetsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListStackSetsOutput)
		}
	}

	return r0, r1
}

// ListStackSetsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStackSetsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStackSetsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListStackSetsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListStackSetsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStackSetsInput, ...request.Option) *cloudformation.ListStackSetsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStackSetsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListStackSetsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStacks provides a mock function.
func (_m *MockcloudFormationAPI) ListStacks(_parameter_0 *cloudformation.ListStacksInput) (_result_0 *cloudformation.ListStacksOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListStacksOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStacksInput) *cloudformation.ListStacksOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStacksOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStacksInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListStacksPages provides a mock function.
func (_m *MockcloudFormationAPI) ListStacksPages(_parameter_0 *cloudformation.ListStacksInput, _parameter_1 func(*cloudformation.ListStacksOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStacksInput, func(*cloudformation.ListStacksOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStacksPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStacksPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStacksInput, _parameter_2 func(*cloudformation.ListStacksOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStacksInput, func(*cloudformation.ListStacksOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListStacksRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListStacksRequest(_parameter_0 *cloudformation.ListStacksInput) (_result_0 *request.Request, _result_1 *cloudformation.ListStacksOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListStacksInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListStacksOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListStacksInput) *cloudformation.ListStacksOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListStacksOutput)
		}
	}

	return r0, r1
}

// ListStacksWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListStacksWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListStacksInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListStacksOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListStacksOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListStacksInput, ...request.Option) *cloudformation.ListStacksOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListStacksOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListStacksInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTypeRegistrations provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeRegistrations(_parameter_0 *cloudformation.ListTypeRegistrationsInput) (_result_0 *cloudformation.ListTypeRegistrationsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListTypeRegistrationsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypeRegistrationsInput) *cloudformation.ListTypeRegistrationsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListTypeRegistrationsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListTypeRegistrationsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTypeRegistrationsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeRegistrationsPages(_parameter_0 *cloudformation.ListTypeRegistrationsInput, _parameter_1 func(*cloudformation.ListTypeRegistrationsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypeRegistrationsInput, func(*cloudformation.ListTypeRegistrationsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTypeRegistrationsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeRegistrationsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListTypeRegistrationsInput, _parameter_2 func(*cloudformation.ListTypeRegistrationsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListTypeRegistrationsInput, func(*cloudformation.ListTypeRegistrationsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTypeRegistrationsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeRegistrationsRequest(_parameter_0 *cloudformation.ListTypeRegistrationsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListTypeRegistrationsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypeRegistrationsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListTypeRegistrationsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListTypeRegistrationsInput) *cloudformation.ListTypeRegistrationsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListTypeRegistrationsOutput)
		}
	}

	return r0, r1
}

// ListTypeRegistrationsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeRegistrationsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListTypeRegistrationsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListTypeRegistrationsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListTypeRegistrationsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListTypeRegistrationsInput, ...request.Option) *cloudformation.ListTypeRegistrationsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListTypeRegistrationsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListTypeRegistrationsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTypeVersions provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeVersions(_parameter_0 *cloudformation.ListTypeVersionsInput) (_result_0 *cloudformation.ListTypeVersionsOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListTypeVersionsOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypeVersionsInput) *cloudformation.ListTypeVersionsOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListTypeVersionsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListTypeVersionsInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTypeVersionsPages provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeVersionsPages(_parameter_0 *cloudformation.ListTypeVersionsInput, _parameter_1 func(*cloudformation.ListTypeVersionsOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypeVersionsInput, func(*cloudformation.ListTypeVersionsOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTypeVersionsPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeVersionsPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListTypeVersionsInput, _parameter_2 func(*cloudformation.ListTypeVersionsOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListTypeVersionsInput, func(*cloudformation.ListTypeVersionsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTypeVersionsRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeVersionsRequest(_parameter_0 *cloudformation.ListTypeVersionsInput) (_result_0 *request.Request, _result_1 *cloudformation.ListTypeVersionsOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypeVersionsInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListTypeVersionsOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListTypeVersionsInput) *cloudformation.ListTypeVersionsOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListTypeVersionsOutput)
		}
	}

	return r0, r1
}

// ListTypeVersionsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListTypeVersionsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListTypeVersionsInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListTypeVersionsOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListTypeVersionsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListTypeVersionsInput, ...request.Option) *cloudformation.ListTypeVersionsOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListTypeVersionsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListTypeVersionsInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTypes provides a mock function.
func (_m *MockcloudFormationAPI) ListTypes(_parameter_0 *cloudformation.ListTypesInput) (_result_0 *cloudformation.ListTypesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ListTypesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypesInput) *cloudformation.ListTypesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListTypesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ListTypesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTypesPages provides a mock function.
func (_m *MockcloudFormationAPI) ListTypesPages(_parameter_0 *cloudformation.ListTypesInput, _parameter_1 func(*cloudformation.ListTypesOutput, bool) bool) (_result_0 error) {
	ret := _m.Called(_parameter_0, _parameter_1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypesInput, func(*cloudformation.ListTypesOutput, bool) bool) error); ok {
		r0 = rf(_parameter_0, _parameter_1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTypesPagesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListTypesPagesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListTypesInput, _parameter_2 func(*cloudformation.ListTypesOutput, bool) bool, _parameter_3 ...request.Option) (_result_0 error) {
	varParams := make([]interface{}, 3+len(_parameter_3))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	varParams[2] = _parameter_2
	for varIndex, varParam := range _parameter_3 {
		varParams[3+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListTypesInput, func(*cloudformation.ListTypesOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2, _parameter_3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTypesRequest provides a mock function.
func (_m *MockcloudFormationAPI) ListTypesRequest(_parameter_0 *cloudformation.ListTypesInput) (_result_0 *request.Request, _result_1 *cloudformation.ListTypesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ListTypesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ListTypesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ListTypesInput) *cloudformation.ListTypesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ListTypesOutput)
		}
	}

	return r0, r1
}

// ListTypesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ListTypesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ListTypesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ListTypesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ListTypesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ListTypesInput, ...request.Option) *cloudformation.ListTypesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ListTypesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ListTypesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RecordHandlerProgress provides a mock function.
func (_m *MockcloudFormationAPI) RecordHandlerProgress(_parameter_0 *cloudformation.RecordHandlerProgressInput) (_result_0 *cloudformation.RecordHandlerProgressOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.RecordHandlerProgressOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.RecordHandlerProgressInput) *cloudformation.RecordHandlerProgressOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.RecordHandlerProgressOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.RecordHandlerProgressInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RecordHandlerProgressRequest provides a mock function.
func (_m *MockcloudFormationAPI) RecordHandlerProgressRequest(_parameter_0 *cloudformation.RecordHandlerProgressInput) (_result_0 *request.Request, _result_1 *cloudformation.RecordHandlerProgressOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.RecordHandlerProgressInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.RecordHandlerProgressOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.RecordHandlerProgressInput) *cloudformation.RecordHandlerProgressOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.RecordHandlerProgressOutput)
		}
	}

	return r0, r1
}

// RecordHandlerProgressWithContext provides a mock function.
func (_m *MockcloudFormationAPI) RecordHandlerProgressWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.RecordHandlerProgressInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.RecordHandlerProgressOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.RecordHandlerProgressOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.RecordHandlerProgressInput, ...request.Option) *cloudformation.RecordHandlerProgressOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.RecordHandlerProgressOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.RecordHandlerProgressInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RegisterType provides a mock function.
func (_m *MockcloudFormationAPI) RegisterType(_parameter_0 *cloudformation.RegisterTypeInput) (_result_0 *cloudformation.RegisterTypeOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.RegisterTypeOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.RegisterTypeInput) *cloudformation.RegisterTypeOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.RegisterTypeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.RegisterTypeInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RegisterTypeRequest provides a mock function.
func (_m *MockcloudFormationAPI) RegisterTypeRequest(_parameter_0 *cloudformation.RegisterTypeInput) (_result_0 *request.Request, _result_1 *cloudformation.RegisterTypeOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.RegisterTypeInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.RegisterTypeOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.RegisterTypeInput) *cloudformation.RegisterTypeOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.RegisterTypeOutput)
		}
	}

	return r0, r1
}

// RegisterTypeWithContext provides a mock function.
func (_m *MockcloudFormationAPI) RegisterTypeWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.RegisterTypeInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.RegisterTypeOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.RegisterTypeOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.RegisterTypeInput, ...request.Option) *cloudformation.RegisterTypeOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.RegisterTypeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.RegisterTypeInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetStackPolicy provides a mock function.
func (_m *MockcloudFormationAPI) SetStackPolicy(_parameter_0 *cloudformation.SetStackPolicyInput) (_result_0 *cloudformation.SetStackPolicyOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.SetStackPolicyOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.SetStackPolicyInput) *cloudformation.SetStackPolicyOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.SetStackPolicyOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.SetStackPolicyInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetStackPolicyRequest provides a mock function.
func (_m *MockcloudFormationAPI) SetStackPolicyRequest(_parameter_0 *cloudformation.SetStackPolicyInput) (_result_0 *request.Request, _result_1 *cloudformation.SetStackPolicyOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.SetStackPolicyInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.SetStackPolicyOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.SetStackPolicyInput) *cloudformation.SetStackPolicyOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.SetStackPolicyOutput)
		}
	}

	return r0, r1
}

// SetStackPolicyWithContext provides a mock function.
func (_m *MockcloudFormationAPI) SetStackPolicyWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.SetStackPolicyInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.SetStackPolicyOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.SetStackPolicyOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.SetStackPolicyInput, ...request.Option) *cloudformation.SetStackPolicyOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.SetStackPolicyOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.SetStackPolicyInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetTypeDefaultVersion provides a mock function.
func (_m *MockcloudFormationAPI) SetTypeDefaultVersion(_parameter_0 *cloudformation.SetTypeDefaultVersionInput) (_result_0 *cloudformation.SetTypeDefaultVersionOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.SetTypeDefaultVersionOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.SetTypeDefaultVersionInput) *cloudformation.SetTypeDefaultVersionOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.SetTypeDefaultVersionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.SetTypeDefaultVersionInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetTypeDefaultVersionRequest provides a mock function.
func (_m *MockcloudFormationAPI) SetTypeDefaultVersionRequest(_parameter_0 *cloudformation.SetTypeDefaultVersionInput) (_result_0 *request.Request, _result_1 *cloudformation.SetTypeDefaultVersionOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.SetTypeDefaultVersionInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.SetTypeDefaultVersionOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.SetTypeDefaultVersionInput) *cloudformation.SetTypeDefaultVersionOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.SetTypeDefaultVersionOutput)
		}
	}

	return r0, r1
}

// SetTypeDefaultVersionWithContext provides a mock function.
func (_m *MockcloudFormationAPI) SetTypeDefaultVersionWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.SetTypeDefaultVersionInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.SetTypeDefaultVersionOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.SetTypeDefaultVersionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.SetTypeDefaultVersionInput, ...request.Option) *cloudformation.SetTypeDefaultVersionOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.SetTypeDefaultVersionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.SetTypeDefaultVersionInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SignalResource provides a mock function.
func (_m *MockcloudFormationAPI) SignalResource(_parameter_0 *cloudformation.SignalResourceInput) (_result_0 *cloudformation.SignalResourceOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.SignalResourceOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.SignalResourceInput) *cloudformation.SignalResourceOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.SignalResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.SignalResourceInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SignalResourceRequest provides a mock function.
func (_m *MockcloudFormationAPI) SignalResourceRequest(_parameter_0 *cloudformation.SignalResourceInput) (_result_0 *request.Request, _result_1 *cloudformation.SignalResourceOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.SignalResourceInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.SignalResourceOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.SignalResourceInput) *cloudformation.SignalResourceOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.SignalResourceOutput)
		}
	}

	return r0, r1
}

// SignalResourceWithContext provides a mock function.
func (_m *MockcloudFormationAPI) SignalResourceWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.SignalResourceInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.SignalResourceOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.SignalResourceOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.SignalResourceInput, ...request.Option) *cloudformation.SignalResourceOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.SignalResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.SignalResourceInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StopStackSetOperation provides a mock function.
func (_m *MockcloudFormationAPI) StopStackSetOperation(_parameter_0 *cloudformation.StopStackSetOperationInput) (_result_0 *cloudformation.StopStackSetOperationOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.StopStackSetOperationOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.StopStackSetOperationInput) *cloudformation.StopStackSetOperationOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.StopStackSetOperationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.StopStackSetOperationInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// StopStackSetOperationRequest provides a mock function.
func (_m *MockcloudFormationAPI) StopStackSetOperationRequest(_parameter_0 *cloudformation.StopStackSetOperationInput) (_result_0 *request.Request, _result_1 *cloudformation.StopStackSetOperationOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.StopStackSetOperationInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.StopStackSetOperationOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.StopStackSetOperationInput) *cloudformation.StopStackSetOperationOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.StopStackSetOperationOutput)
		}
	}

	return r0, r1
}

// StopStackSetOperationWithContext provides a mock function.
func (_m *MockcloudFormationAPI) StopStackSetOperationWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.StopStackSetOperationInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.StopStackSetOperationOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.StopStackSetOperationOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.StopStackSetOperationInput, ...request.Option) *cloudformation.StopStackSetOperationOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.StopStackSetOperationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.StopStackSetOperationInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateStack provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStack(_parameter_0 *cloudformation.UpdateStackInput) (_result_0 *cloudformation.UpdateStackOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.UpdateStackOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateStackInput) *cloudformation.UpdateStackOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateStackInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateStackInstances provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackInstances(_parameter_0 *cloudformation.UpdateStackInstancesInput) (_result_0 *cloudformation.UpdateStackInstancesOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.UpdateStackInstancesOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateStackInstancesInput) *cloudformation.UpdateStackInstancesOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateStackInstancesInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateStackInstancesRequest provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackInstancesRequest(_parameter_0 *cloudformation.UpdateStackInstancesInput) (_result_0 *request.Request, _result_1 *cloudformation.UpdateStackInstancesOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateStackInstancesInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.UpdateStackInstancesOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateStackInstancesInput) *cloudformation.UpdateStackInstancesOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.UpdateStackInstancesOutput)
		}
	}

	return r0, r1
}

// UpdateStackInstancesWithContext provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackInstancesWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.UpdateStackInstancesInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.UpdateStackInstancesOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.UpdateStackInstancesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.UpdateStackInstancesInput, ...request.Option) *cloudformation.UpdateStackInstancesOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateStackInstancesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.UpdateStackInstancesInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateStackRequest provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackRequest(_parameter_0 *cloudformation.UpdateStackInput) (_result_0 *request.Request, _result_1 *cloudformation.UpdateStackOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateStackInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.UpdateStackOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateStackInput) *cloudformation.UpdateStackOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.UpdateStackOutput)
		}
	}

	return r0, r1
}

// UpdateStackSet provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackSet(_parameter_0 *cloudformation.UpdateStackSetInput) (_result_0 *cloudformation.UpdateStackSetOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.UpdateStackSetOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateStackSetInput) *cloudformation.UpdateStackSetOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateStackSetInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateStackSetRequest provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackSetRequest(_parameter_0 *cloudformation.UpdateStackSetInput) (_result_0 *request.Request, _result_1 *cloudformation.UpdateStackSetOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateStackSetInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.UpdateStackSetOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateStackSetInput) *cloudformation.UpdateStackSetOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.UpdateStackSetOutput)
		}
	}

	return r0, r1
}

// UpdateStackSetWithContext provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackSetWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.UpdateStackSetInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.UpdateStackSetOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.UpdateStackSetOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.UpdateStackSetInput, ...request.Option) *cloudformation.UpdateStackSetOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateStackSetOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.UpdateStackSetInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateStackWithContext provides a mock function.
func (_m *MockcloudFormationAPI) UpdateStackWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.UpdateStackInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.UpdateStackOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.UpdateStackOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.UpdateStackInput, ...request.Option) *cloudformation.UpdateStackOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateStackOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.UpdateStackInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateTerminationProtection provides a mock function.
func (_m *MockcloudFormationAPI) UpdateTerminationProtection(_parameter_0 *cloudformation.UpdateTerminationProtectionInput) (_result_0 *cloudformation.UpdateTerminationProtectionOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.UpdateTerminationProtectionOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateTerminationProtectionInput) *cloudformation.UpdateTerminationProtectionOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateTerminationProtectionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateTerminationProtectionInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateTerminationProtectionRequest provides a mock function.
func (_m *MockcloudFormationAPI) UpdateTerminationProtectionRequest(_parameter_0 *cloudformation.UpdateTerminationProtectionInput) (_result_0 *request.Request, _result_1 *cloudformation.UpdateTerminationProtectionOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.UpdateTerminationProtectionInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.UpdateTerminationProtectionOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.UpdateTerminationProtectionInput) *cloudformation.UpdateTerminationProtectionOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.UpdateTerminationProtectionOutput)
		}
	}

	return r0, r1
}

// UpdateTerminationProtectionWithContext provides a mock function.
func (_m *MockcloudFormationAPI) UpdateTerminationProtectionWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.UpdateTerminationProtectionInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.UpdateTerminationProtectionOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.UpdateTerminationProtectionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.UpdateTerminationProtectionInput, ...request.Option) *cloudformation.UpdateTerminationProtectionOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.UpdateTerminationProtectionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.UpdateTerminationProtectionInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ValidateTemplate provides a mock function.
func (_m *MockcloudFormationAPI) ValidateTemplate(_parameter_0 *cloudformation.ValidateTemplateInput) (_result_0 *cloudformation.ValidateTemplateOutput, _result_1 error) {
	ret := _m.Called(_parameter_0)

	var r0 *cloudformation.ValidateTemplateOutput
	if rf, ok := ret.Get(0).(func(*cloudformation.ValidateTemplateInput) *cloudformation.ValidateTemplateOutput); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ValidateTemplateOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*cloudformation.ValidateTemplateInput) error); ok {
		r1 = rf(_parameter_0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ValidateTemplateRequest provides a mock function.
func (_m *MockcloudFormationAPI) ValidateTemplateRequest(_parameter_0 *cloudformation.ValidateTemplateInput) (_result_0 *request.Request, _result_1 *cloudformation.ValidateTemplateOutput) {
	ret := _m.Called(_parameter_0)

	var r0 *request.Request
	if rf, ok := ret.Get(0).(func(*cloudformation.ValidateTemplateInput) *request.Request); ok {
		r0 = rf(_parameter_0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*request.Request)
		}
	}

	var r1 *cloudformation.ValidateTemplateOutput
	if rf, ok := ret.Get(1).(func(*cloudformation.ValidateTemplateInput) *cloudformation.ValidateTemplateOutput); ok {
		r1 = rf(_parameter_0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*cloudformation.ValidateTemplateOutput)
		}
	}

	return r0, r1
}

// ValidateTemplateWithContext provides a mock function.
func (_m *MockcloudFormationAPI) ValidateTemplateWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.ValidateTemplateInput, _parameter_2 ...request.Option) (_result_0 *cloudformation.ValidateTemplateOutput, _result_1 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 *cloudformation.ValidateTemplateOutput
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.ValidateTemplateInput, ...request.Option) *cloudformation.ValidateTemplateOutput); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cloudformation.ValidateTemplateOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *cloudformation.ValidateTemplateInput, ...request.Option) error); ok {
		r1 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// WaitUntilChangeSetCreateComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilChangeSetCreateComplete(_parameter_0 *cloudformation.DescribeChangeSetInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeChangeSetInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilChangeSetCreateCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilChangeSetCreateCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeChangeSetInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeChangeSetInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackCreateComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackCreateComplete(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackCreateCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackCreateCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackDeleteComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackDeleteComplete(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackDeleteCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackDeleteCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackExists provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackExists(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackExistsWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackExistsWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackImportComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackImportComplete(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackImportCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackImportCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackRollbackComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackRollbackComplete(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackRollbackCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackRollbackCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackUpdateComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackUpdateComplete(_parameter_0 *cloudformation.DescribeStacksInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeStacksInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilStackUpdateCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilStackUpdateCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeStacksInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeStacksInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilTypeRegistrationComplete provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilTypeRegistrationComplete(_parameter_0 *cloudformation.DescribeTypeRegistrationInput) (_result_0 error) {
	ret := _m.Called(_parameter_0)

	var r0 error
	if rf, ok := ret.Get(0).(func(*cloudformation.DescribeTypeRegistrationInput) error); ok {
		r0 = rf(_parameter_0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// WaitUntilTypeRegistrationCompleteWithContext provides a mock function.
func (_m *MockcloudFormationAPI) WaitUntilTypeRegistrationCompleteWithContext(_parameter_0 context.Context, _parameter_1 *cloudformation.DescribeTypeRegistrationInput, _parameter_2 ...request.WaiterOption) (_result_0 error) {
	varParams := make([]interface{}, 2+len(_parameter_2))
	varParams[0] = _parameter_0
	varParams[1] = _parameter_1
	for varIndex, varParam := range _parameter_2 {
		varParams[2+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *cloudformation.DescribeTypeRegistrationInput, ...request.WaiterOption) error); ok {
		r0 = rf(_parameter_0, _parameter_1, _parameter_2...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockCloudFormationAPIFactory is an autogenerated mock for the CloudFormationAPIFactory type.
type MockCloudFormationAPIFactory struct {
	mock.Mock
}

// New provides a mock function.
func (_m *MockCloudFormationAPIFactory) New(configProvider client.ConfigProvider, configs ...*aws.Config) (cloudFormationAPI cloudformationiface.CloudFormationAPI) {
	varParams := make([]interface{}, 1+len(configs))
	varParams[0] = configProvider
	for varIndex, varParam := range configs {
		varParams[1+varIndex] = varParam
	}

	ret := _m.Called(varParams...)

	var r0 cloudformationiface.CloudFormationAPI
	if rf, ok := ret.Get(0).(func(client.ConfigProvider, ...*aws.Config) cloudformationiface.CloudFormationAPI); ok {
		r0 = rf(configProvider, configs...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(cloudformationiface.CloudFormationAPI)
		}
	}

	return r0
}
