// Code generated by mockery v1.0.0. DO NOT EDIT.

package aws

import (
	context "context"

	request "github.com/aws/aws-sdk-go/aws/request"
	mock "github.com/stretchr/testify/mock"

	sns "github.com/aws/aws-sdk-go/service/sns"
)

// MockFakeSNS is an autogenerated mock type for the FakeSNS type
type MockFakeSNS struct {
	mock.Mock
}

// AddPermission provides a mock function with given fields: _a0
func (_m *MockFakeSNS) AddPermission(_a0 *sns.AddPermissionInput) (*sns.AddPermissionOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.AddPermissionOutput
	if rf, ok := ret.Get(0).(func(*sns.AddPermissionInput) *sns.AddPermissionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.AddPermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.AddPermissionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// AddPermissionRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) AddPermissionRequest(_a0 *sns.AddPermissionInput) (*request.Request, *sns.AddPermissionOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.AddPermissionOutput
	if rf, ok := ret.Get(1).(func(*sns.AddPermissionInput) *sns.AddPermissionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.AddPermissionOutput)
		}
	}

	return r0, r1
}

// AddPermissionWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) AddPermissionWithContext(_a0 context.Context, _a1 *sns.AddPermissionInput, _a2 ...request.Option) (*sns.AddPermissionOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.AddPermissionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.AddPermissionInput, ...request.Option) *sns.AddPermissionOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.AddPermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.AddPermissionInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CheckIfPhoneNumberIsOptedOut provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CheckIfPhoneNumberIsOptedOut(_a0 *sns.CheckIfPhoneNumberIsOptedOutInput) (*sns.CheckIfPhoneNumberIsOptedOutOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.CheckIfPhoneNumberIsOptedOutOutput
	if rf, ok := ret.Get(0).(func(*sns.CheckIfPhoneNumberIsOptedOutInput) *sns.CheckIfPhoneNumberIsOptedOutOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CheckIfPhoneNumberIsOptedOutOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.CheckIfPhoneNumberIsOptedOutInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CheckIfPhoneNumberIsOptedOutRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CheckIfPhoneNumberIsOptedOutRequest(_a0 *sns.CheckIfPhoneNumberIsOptedOutInput) (*request.Request, *sns.CheckIfPhoneNumberIsOptedOutOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.CheckIfPhoneNumberIsOptedOutOutput
	if rf, ok := ret.Get(1).(func(*sns.CheckIfPhoneNumberIsOptedOutInput) *sns.CheckIfPhoneNumberIsOptedOutOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.CheckIfPhoneNumberIsOptedOutOutput)
		}
	}

	return r0, r1
}

// CheckIfPhoneNumberIsOptedOutWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) CheckIfPhoneNumberIsOptedOutWithContext(_a0 context.Context, _a1 *sns.CheckIfPhoneNumberIsOptedOutInput, _a2 ...request.Option) (*sns.CheckIfPhoneNumberIsOptedOutOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.CheckIfPhoneNumberIsOptedOutOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.CheckIfPhoneNumberIsOptedOutInput, ...request.Option) *sns.CheckIfPhoneNumberIsOptedOutOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CheckIfPhoneNumberIsOptedOutOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.CheckIfPhoneNumberIsOptedOutInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ConfirmSubscription provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ConfirmSubscription(_a0 *sns.ConfirmSubscriptionInput) (*sns.ConfirmSubscriptionOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ConfirmSubscriptionOutput
	if rf, ok := ret.Get(0).(func(*sns.ConfirmSubscriptionInput) *sns.ConfirmSubscriptionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ConfirmSubscriptionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ConfirmSubscriptionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ConfirmSubscriptionRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ConfirmSubscriptionRequest(_a0 *sns.ConfirmSubscriptionInput) (*request.Request, *sns.ConfirmSubscriptionOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ConfirmSubscriptionOutput
	if rf, ok := ret.Get(1).(func(*sns.ConfirmSubscriptionInput) *sns.ConfirmSubscriptionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ConfirmSubscriptionOutput)
		}
	}

	return r0, r1
}

// ConfirmSubscriptionWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ConfirmSubscriptionWithContext(_a0 context.Context, _a1 *sns.ConfirmSubscriptionInput, _a2 ...request.Option) (*sns.ConfirmSubscriptionOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ConfirmSubscriptionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ConfirmSubscriptionInput, ...request.Option) *sns.ConfirmSubscriptionOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ConfirmSubscriptionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ConfirmSubscriptionInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreatePlatformApplication provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreatePlatformApplication(_a0 *sns.CreatePlatformApplicationInput) (*sns.CreatePlatformApplicationOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.CreatePlatformApplicationOutput
	if rf, ok := ret.Get(0).(func(*sns.CreatePlatformApplicationInput) *sns.CreatePlatformApplicationOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreatePlatformApplicationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.CreatePlatformApplicationInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreatePlatformApplicationRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreatePlatformApplicationRequest(_a0 *sns.CreatePlatformApplicationInput) (*request.Request, *sns.CreatePlatformApplicationOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.CreatePlatformApplicationOutput
	if rf, ok := ret.Get(1).(func(*sns.CreatePlatformApplicationInput) *sns.CreatePlatformApplicationOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.CreatePlatformApplicationOutput)
		}
	}

	return r0, r1
}

// CreatePlatformApplicationWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) CreatePlatformApplicationWithContext(_a0 context.Context, _a1 *sns.CreatePlatformApplicationInput, _a2 ...request.Option) (*sns.CreatePlatformApplicationOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.CreatePlatformApplicationOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.CreatePlatformApplicationInput, ...request.Option) *sns.CreatePlatformApplicationOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreatePlatformApplicationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.CreatePlatformApplicationInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreatePlatformEndpoint provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreatePlatformEndpoint(_a0 *sns.CreatePlatformEndpointInput) (*sns.CreatePlatformEndpointOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.CreatePlatformEndpointOutput
	if rf, ok := ret.Get(0).(func(*sns.CreatePlatformEndpointInput) *sns.CreatePlatformEndpointOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreatePlatformEndpointOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.CreatePlatformEndpointInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreatePlatformEndpointRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreatePlatformEndpointRequest(_a0 *sns.CreatePlatformEndpointInput) (*request.Request, *sns.CreatePlatformEndpointOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.CreatePlatformEndpointOutput
	if rf, ok := ret.Get(1).(func(*sns.CreatePlatformEndpointInput) *sns.CreatePlatformEndpointOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.CreatePlatformEndpointOutput)
		}
	}

	return r0, r1
}

// CreatePlatformEndpointWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) CreatePlatformEndpointWithContext(_a0 context.Context, _a1 *sns.CreatePlatformEndpointInput, _a2 ...request.Option) (*sns.CreatePlatformEndpointOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.CreatePlatformEndpointOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.CreatePlatformEndpointInput, ...request.Option) *sns.CreatePlatformEndpointOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreatePlatformEndpointOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.CreatePlatformEndpointInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateSMSSandboxPhoneNumber provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreateSMSSandboxPhoneNumber(_a0 *sns.CreateSMSSandboxPhoneNumberInput) (*sns.CreateSMSSandboxPhoneNumberOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.CreateSMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(*sns.CreateSMSSandboxPhoneNumberInput) *sns.CreateSMSSandboxPhoneNumberOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreateSMSSandboxPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.CreateSMSSandboxPhoneNumberInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateSMSSandboxPhoneNumberRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreateSMSSandboxPhoneNumberRequest(_a0 *sns.CreateSMSSandboxPhoneNumberInput) (*request.Request, *sns.CreateSMSSandboxPhoneNumberOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.CreateSMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(1).(func(*sns.CreateSMSSandboxPhoneNumberInput) *sns.CreateSMSSandboxPhoneNumberOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.CreateSMSSandboxPhoneNumberOutput)
		}
	}

	return r0, r1
}

// CreateSMSSandboxPhoneNumberWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) CreateSMSSandboxPhoneNumberWithContext(_a0 context.Context, _a1 *sns.CreateSMSSandboxPhoneNumberInput, _a2 ...request.Option) (*sns.CreateSMSSandboxPhoneNumberOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.CreateSMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.CreateSMSSandboxPhoneNumberInput, ...request.Option) *sns.CreateSMSSandboxPhoneNumberOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreateSMSSandboxPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.CreateSMSSandboxPhoneNumberInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateTopic provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreateTopic(_a0 *sns.CreateTopicInput) (*sns.CreateTopicOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.CreateTopicOutput
	if rf, ok := ret.Get(0).(func(*sns.CreateTopicInput) *sns.CreateTopicOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreateTopicOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.CreateTopicInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateTopicRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) CreateTopicRequest(_a0 *sns.CreateTopicInput) (*request.Request, *sns.CreateTopicOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.CreateTopicOutput
	if rf, ok := ret.Get(1).(func(*sns.CreateTopicInput) *sns.CreateTopicOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.CreateTopicOutput)
		}
	}

	return r0, r1
}

// CreateTopicWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) CreateTopicWithContext(_a0 context.Context, _a1 *sns.CreateTopicInput, _a2 ...request.Option) (*sns.CreateTopicOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.CreateTopicOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.CreateTopicInput, ...request.Option) *sns.CreateTopicOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.CreateTopicOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.CreateTopicInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteEndpoint provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeleteEndpoint(_a0 *sns.DeleteEndpointInput) (*sns.DeleteEndpointOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.DeleteEndpointOutput
	if rf, ok := ret.Get(0).(func(*sns.DeleteEndpointInput) *sns.DeleteEndpointOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeleteEndpointOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.DeleteEndpointInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteEndpointRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeleteEndpointRequest(_a0 *sns.DeleteEndpointInput) (*request.Request, *sns.DeleteEndpointOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.DeleteEndpointOutput
	if rf, ok := ret.Get(1).(func(*sns.DeleteEndpointInput) *sns.DeleteEndpointOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.DeleteEndpointOutput)
		}
	}

	return r0, r1
}

// DeleteEndpointWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) DeleteEndpointWithContext(_a0 context.Context, _a1 *sns.DeleteEndpointInput, _a2 ...request.Option) (*sns.DeleteEndpointOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.DeleteEndpointOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.DeleteEndpointInput, ...request.Option) *sns.DeleteEndpointOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeleteEndpointOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.DeleteEndpointInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeletePlatformApplication provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeletePlatformApplication(_a0 *sns.DeletePlatformApplicationInput) (*sns.DeletePlatformApplicationOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.DeletePlatformApplicationOutput
	if rf, ok := ret.Get(0).(func(*sns.DeletePlatformApplicationInput) *sns.DeletePlatformApplicationOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeletePlatformApplicationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.DeletePlatformApplicationInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeletePlatformApplicationRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeletePlatformApplicationRequest(_a0 *sns.DeletePlatformApplicationInput) (*request.Request, *sns.DeletePlatformApplicationOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.DeletePlatformApplicationOutput
	if rf, ok := ret.Get(1).(func(*sns.DeletePlatformApplicationInput) *sns.DeletePlatformApplicationOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.DeletePlatformApplicationOutput)
		}
	}

	return r0, r1
}

// DeletePlatformApplicationWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) DeletePlatformApplicationWithContext(_a0 context.Context, _a1 *sns.DeletePlatformApplicationInput, _a2 ...request.Option) (*sns.DeletePlatformApplicationOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.DeletePlatformApplicationOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.DeletePlatformApplicationInput, ...request.Option) *sns.DeletePlatformApplicationOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeletePlatformApplicationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.DeletePlatformApplicationInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteSMSSandboxPhoneNumber provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeleteSMSSandboxPhoneNumber(_a0 *sns.DeleteSMSSandboxPhoneNumberInput) (*sns.DeleteSMSSandboxPhoneNumberOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.DeleteSMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(*sns.DeleteSMSSandboxPhoneNumberInput) *sns.DeleteSMSSandboxPhoneNumberOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeleteSMSSandboxPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.DeleteSMSSandboxPhoneNumberInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteSMSSandboxPhoneNumberRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeleteSMSSandboxPhoneNumberRequest(_a0 *sns.DeleteSMSSandboxPhoneNumberInput) (*request.Request, *sns.DeleteSMSSandboxPhoneNumberOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.DeleteSMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(1).(func(*sns.DeleteSMSSandboxPhoneNumberInput) *sns.DeleteSMSSandboxPhoneNumberOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.DeleteSMSSandboxPhoneNumberOutput)
		}
	}

	return r0, r1
}

// DeleteSMSSandboxPhoneNumberWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) DeleteSMSSandboxPhoneNumberWithContext(_a0 context.Context, _a1 *sns.DeleteSMSSandboxPhoneNumberInput, _a2 ...request.Option) (*sns.DeleteSMSSandboxPhoneNumberOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.DeleteSMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.DeleteSMSSandboxPhoneNumberInput, ...request.Option) *sns.DeleteSMSSandboxPhoneNumberOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeleteSMSSandboxPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.DeleteSMSSandboxPhoneNumberInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteTopic provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeleteTopic(_a0 *sns.DeleteTopicInput) (*sns.DeleteTopicOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.DeleteTopicOutput
	if rf, ok := ret.Get(0).(func(*sns.DeleteTopicInput) *sns.DeleteTopicOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeleteTopicOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.DeleteTopicInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteTopicRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) DeleteTopicRequest(_a0 *sns.DeleteTopicInput) (*request.Request, *sns.DeleteTopicOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.DeleteTopicOutput
	if rf, ok := ret.Get(1).(func(*sns.DeleteTopicInput) *sns.DeleteTopicOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.DeleteTopicOutput)
		}
	}

	return r0, r1
}

// DeleteTopicWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) DeleteTopicWithContext(_a0 context.Context, _a1 *sns.DeleteTopicInput, _a2 ...request.Option) (*sns.DeleteTopicOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.DeleteTopicOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.DeleteTopicInput, ...request.Option) *sns.DeleteTopicOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.DeleteTopicOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.DeleteTopicInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetEndpointAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetEndpointAttributes(_a0 *sns.GetEndpointAttributesInput) (*sns.GetEndpointAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.GetEndpointAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.GetEndpointAttributesInput) *sns.GetEndpointAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetEndpointAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.GetEndpointAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetEndpointAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetEndpointAttributesRequest(_a0 *sns.GetEndpointAttributesInput) (*request.Request, *sns.GetEndpointAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.GetEndpointAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.GetEndpointAttributesInput) *sns.GetEndpointAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.GetEndpointAttributesOutput)
		}
	}

	return r0, r1
}

// GetEndpointAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) GetEndpointAttributesWithContext(_a0 context.Context, _a1 *sns.GetEndpointAttributesInput, _a2 ...request.Option) (*sns.GetEndpointAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.GetEndpointAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.GetEndpointAttributesInput, ...request.Option) *sns.GetEndpointAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetEndpointAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.GetEndpointAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetPlatformApplicationAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetPlatformApplicationAttributes(_a0 *sns.GetPlatformApplicationAttributesInput) (*sns.GetPlatformApplicationAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.GetPlatformApplicationAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.GetPlatformApplicationAttributesInput) *sns.GetPlatformApplicationAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetPlatformApplicationAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.GetPlatformApplicationAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetPlatformApplicationAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetPlatformApplicationAttributesRequest(_a0 *sns.GetPlatformApplicationAttributesInput) (*request.Request, *sns.GetPlatformApplicationAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.GetPlatformApplicationAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.GetPlatformApplicationAttributesInput) *sns.GetPlatformApplicationAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.GetPlatformApplicationAttributesOutput)
		}
	}

	return r0, r1
}

// GetPlatformApplicationAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) GetPlatformApplicationAttributesWithContext(_a0 context.Context, _a1 *sns.GetPlatformApplicationAttributesInput, _a2 ...request.Option) (*sns.GetPlatformApplicationAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.GetPlatformApplicationAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.GetPlatformApplicationAttributesInput, ...request.Option) *sns.GetPlatformApplicationAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetPlatformApplicationAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.GetPlatformApplicationAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSMSAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetSMSAttributes(_a0 *sns.GetSMSAttributesInput) (*sns.GetSMSAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.GetSMSAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.GetSMSAttributesInput) *sns.GetSMSAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetSMSAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.GetSMSAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSMSAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetSMSAttributesRequest(_a0 *sns.GetSMSAttributesInput) (*request.Request, *sns.GetSMSAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.GetSMSAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.GetSMSAttributesInput) *sns.GetSMSAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.GetSMSAttributesOutput)
		}
	}

	return r0, r1
}

// GetSMSAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) GetSMSAttributesWithContext(_a0 context.Context, _a1 *sns.GetSMSAttributesInput, _a2 ...request.Option) (*sns.GetSMSAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.GetSMSAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.GetSMSAttributesInput, ...request.Option) *sns.GetSMSAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetSMSAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.GetSMSAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSMSSandboxAccountStatus provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetSMSSandboxAccountStatus(_a0 *sns.GetSMSSandboxAccountStatusInput) (*sns.GetSMSSandboxAccountStatusOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.GetSMSSandboxAccountStatusOutput
	if rf, ok := ret.Get(0).(func(*sns.GetSMSSandboxAccountStatusInput) *sns.GetSMSSandboxAccountStatusOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetSMSSandboxAccountStatusOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.GetSMSSandboxAccountStatusInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSMSSandboxAccountStatusRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetSMSSandboxAccountStatusRequest(_a0 *sns.GetSMSSandboxAccountStatusInput) (*request.Request, *sns.GetSMSSandboxAccountStatusOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.GetSMSSandboxAccountStatusOutput
	if rf, ok := ret.Get(1).(func(*sns.GetSMSSandboxAccountStatusInput) *sns.GetSMSSandboxAccountStatusOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.GetSMSSandboxAccountStatusOutput)
		}
	}

	return r0, r1
}

// GetSMSSandboxAccountStatusWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) GetSMSSandboxAccountStatusWithContext(_a0 context.Context, _a1 *sns.GetSMSSandboxAccountStatusInput, _a2 ...request.Option) (*sns.GetSMSSandboxAccountStatusOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.GetSMSSandboxAccountStatusOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.GetSMSSandboxAccountStatusInput, ...request.Option) *sns.GetSMSSandboxAccountStatusOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetSMSSandboxAccountStatusOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.GetSMSSandboxAccountStatusInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSubscriptionAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetSubscriptionAttributes(_a0 *sns.GetSubscriptionAttributesInput) (*sns.GetSubscriptionAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.GetSubscriptionAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.GetSubscriptionAttributesInput) *sns.GetSubscriptionAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetSubscriptionAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.GetSubscriptionAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSubscriptionAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetSubscriptionAttributesRequest(_a0 *sns.GetSubscriptionAttributesInput) (*request.Request, *sns.GetSubscriptionAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.GetSubscriptionAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.GetSubscriptionAttributesInput) *sns.GetSubscriptionAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.GetSubscriptionAttributesOutput)
		}
	}

	return r0, r1
}

// GetSubscriptionAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) GetSubscriptionAttributesWithContext(_a0 context.Context, _a1 *sns.GetSubscriptionAttributesInput, _a2 ...request.Option) (*sns.GetSubscriptionAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.GetSubscriptionAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.GetSubscriptionAttributesInput, ...request.Option) *sns.GetSubscriptionAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetSubscriptionAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.GetSubscriptionAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTopicAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetTopicAttributes(_a0 *sns.GetTopicAttributesInput) (*sns.GetTopicAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.GetTopicAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.GetTopicAttributesInput) *sns.GetTopicAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetTopicAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.GetTopicAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetTopicAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) GetTopicAttributesRequest(_a0 *sns.GetTopicAttributesInput) (*request.Request, *sns.GetTopicAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.GetTopicAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.GetTopicAttributesInput) *sns.GetTopicAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.GetTopicAttributesOutput)
		}
	}

	return r0, r1
}

// GetTopicAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) GetTopicAttributesWithContext(_a0 context.Context, _a1 *sns.GetTopicAttributesInput, _a2 ...request.Option) (*sns.GetTopicAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.GetTopicAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.GetTopicAttributesInput, ...request.Option) *sns.GetTopicAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.GetTopicAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.GetTopicAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListEndpointsByPlatformApplication provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListEndpointsByPlatformApplication(_a0 *sns.ListEndpointsByPlatformApplicationInput) (*sns.ListEndpointsByPlatformApplicationOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListEndpointsByPlatformApplicationOutput
	if rf, ok := ret.Get(0).(func(*sns.ListEndpointsByPlatformApplicationInput) *sns.ListEndpointsByPlatformApplicationOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListEndpointsByPlatformApplicationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListEndpointsByPlatformApplicationInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListEndpointsByPlatformApplicationPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListEndpointsByPlatformApplicationPages(_a0 *sns.ListEndpointsByPlatformApplicationInput, _a1 func(*sns.ListEndpointsByPlatformApplicationOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListEndpointsByPlatformApplicationInput, func(*sns.ListEndpointsByPlatformApplicationOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListEndpointsByPlatformApplicationPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListEndpointsByPlatformApplicationPagesWithContext(_a0 context.Context, _a1 *sns.ListEndpointsByPlatformApplicationInput, _a2 func(*sns.ListEndpointsByPlatformApplicationOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListEndpointsByPlatformApplicationInput, func(*sns.ListEndpointsByPlatformApplicationOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListEndpointsByPlatformApplicationRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListEndpointsByPlatformApplicationRequest(_a0 *sns.ListEndpointsByPlatformApplicationInput) (*request.Request, *sns.ListEndpointsByPlatformApplicationOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListEndpointsByPlatformApplicationOutput
	if rf, ok := ret.Get(1).(func(*sns.ListEndpointsByPlatformApplicationInput) *sns.ListEndpointsByPlatformApplicationOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListEndpointsByPlatformApplicationOutput)
		}
	}

	return r0, r1
}

// ListEndpointsByPlatformApplicationWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListEndpointsByPlatformApplicationWithContext(_a0 context.Context, _a1 *sns.ListEndpointsByPlatformApplicationInput, _a2 ...request.Option) (*sns.ListEndpointsByPlatformApplicationOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListEndpointsByPlatformApplicationOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListEndpointsByPlatformApplicationInput, ...request.Option) *sns.ListEndpointsByPlatformApplicationOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListEndpointsByPlatformApplicationOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListEndpointsByPlatformApplicationInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListOriginationNumbers provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListOriginationNumbers(_a0 *sns.ListOriginationNumbersInput) (*sns.ListOriginationNumbersOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListOriginationNumbersOutput
	if rf, ok := ret.Get(0).(func(*sns.ListOriginationNumbersInput) *sns.ListOriginationNumbersOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListOriginationNumbersOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListOriginationNumbersInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListOriginationNumbersPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListOriginationNumbersPages(_a0 *sns.ListOriginationNumbersInput, _a1 func(*sns.ListOriginationNumbersOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListOriginationNumbersInput, func(*sns.ListOriginationNumbersOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListOriginationNumbersPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListOriginationNumbersPagesWithContext(_a0 context.Context, _a1 *sns.ListOriginationNumbersInput, _a2 func(*sns.ListOriginationNumbersOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListOriginationNumbersInput, func(*sns.ListOriginationNumbersOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListOriginationNumbersRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListOriginationNumbersRequest(_a0 *sns.ListOriginationNumbersInput) (*request.Request, *sns.ListOriginationNumbersOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListOriginationNumbersOutput
	if rf, ok := ret.Get(1).(func(*sns.ListOriginationNumbersInput) *sns.ListOriginationNumbersOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListOriginationNumbersOutput)
		}
	}

	return r0, r1
}

// ListOriginationNumbersWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListOriginationNumbersWithContext(_a0 context.Context, _a1 *sns.ListOriginationNumbersInput, _a2 ...request.Option) (*sns.ListOriginationNumbersOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListOriginationNumbersOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListOriginationNumbersInput, ...request.Option) *sns.ListOriginationNumbersOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListOriginationNumbersOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListOriginationNumbersInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPhoneNumbersOptedOut provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListPhoneNumbersOptedOut(_a0 *sns.ListPhoneNumbersOptedOutInput) (*sns.ListPhoneNumbersOptedOutOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListPhoneNumbersOptedOutOutput
	if rf, ok := ret.Get(0).(func(*sns.ListPhoneNumbersOptedOutInput) *sns.ListPhoneNumbersOptedOutOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListPhoneNumbersOptedOutOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListPhoneNumbersOptedOutInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPhoneNumbersOptedOutRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListPhoneNumbersOptedOutRequest(_a0 *sns.ListPhoneNumbersOptedOutInput) (*request.Request, *sns.ListPhoneNumbersOptedOutOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListPhoneNumbersOptedOutOutput
	if rf, ok := ret.Get(1).(func(*sns.ListPhoneNumbersOptedOutInput) *sns.ListPhoneNumbersOptedOutOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListPhoneNumbersOptedOutOutput)
		}
	}

	return r0, r1
}

// ListPhoneNumbersOptedOutWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListPhoneNumbersOptedOutWithContext(_a0 context.Context, _a1 *sns.ListPhoneNumbersOptedOutInput, _a2 ...request.Option) (*sns.ListPhoneNumbersOptedOutOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListPhoneNumbersOptedOutOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListPhoneNumbersOptedOutInput, ...request.Option) *sns.ListPhoneNumbersOptedOutOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListPhoneNumbersOptedOutOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListPhoneNumbersOptedOutInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPlatformApplications provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListPlatformApplications(_a0 *sns.ListPlatformApplicationsInput) (*sns.ListPlatformApplicationsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListPlatformApplicationsOutput
	if rf, ok := ret.Get(0).(func(*sns.ListPlatformApplicationsInput) *sns.ListPlatformApplicationsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListPlatformApplicationsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListPlatformApplicationsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPlatformApplicationsPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListPlatformApplicationsPages(_a0 *sns.ListPlatformApplicationsInput, _a1 func(*sns.ListPlatformApplicationsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListPlatformApplicationsInput, func(*sns.ListPlatformApplicationsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListPlatformApplicationsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListPlatformApplicationsPagesWithContext(_a0 context.Context, _a1 *sns.ListPlatformApplicationsInput, _a2 func(*sns.ListPlatformApplicationsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListPlatformApplicationsInput, func(*sns.ListPlatformApplicationsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListPlatformApplicationsRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListPlatformApplicationsRequest(_a0 *sns.ListPlatformApplicationsInput) (*request.Request, *sns.ListPlatformApplicationsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListPlatformApplicationsOutput
	if rf, ok := ret.Get(1).(func(*sns.ListPlatformApplicationsInput) *sns.ListPlatformApplicationsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListPlatformApplicationsOutput)
		}
	}

	return r0, r1
}

// ListPlatformApplicationsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListPlatformApplicationsWithContext(_a0 context.Context, _a1 *sns.ListPlatformApplicationsInput, _a2 ...request.Option) (*sns.ListPlatformApplicationsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListPlatformApplicationsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListPlatformApplicationsInput, ...request.Option) *sns.ListPlatformApplicationsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListPlatformApplicationsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListPlatformApplicationsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListSMSSandboxPhoneNumbers provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListSMSSandboxPhoneNumbers(_a0 *sns.ListSMSSandboxPhoneNumbersInput) (*sns.ListSMSSandboxPhoneNumbersOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListSMSSandboxPhoneNumbersOutput
	if rf, ok := ret.Get(0).(func(*sns.ListSMSSandboxPhoneNumbersInput) *sns.ListSMSSandboxPhoneNumbersOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListSMSSandboxPhoneNumbersOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListSMSSandboxPhoneNumbersInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListSMSSandboxPhoneNumbersPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListSMSSandboxPhoneNumbersPages(_a0 *sns.ListSMSSandboxPhoneNumbersInput, _a1 func(*sns.ListSMSSandboxPhoneNumbersOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListSMSSandboxPhoneNumbersInput, func(*sns.ListSMSSandboxPhoneNumbersOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListSMSSandboxPhoneNumbersPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListSMSSandboxPhoneNumbersPagesWithContext(_a0 context.Context, _a1 *sns.ListSMSSandboxPhoneNumbersInput, _a2 func(*sns.ListSMSSandboxPhoneNumbersOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListSMSSandboxPhoneNumbersInput, func(*sns.ListSMSSandboxPhoneNumbersOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListSMSSandboxPhoneNumbersRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListSMSSandboxPhoneNumbersRequest(_a0 *sns.ListSMSSandboxPhoneNumbersInput) (*request.Request, *sns.ListSMSSandboxPhoneNumbersOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListSMSSandboxPhoneNumbersOutput
	if rf, ok := ret.Get(1).(func(*sns.ListSMSSandboxPhoneNumbersInput) *sns.ListSMSSandboxPhoneNumbersOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListSMSSandboxPhoneNumbersOutput)
		}
	}

	return r0, r1
}

// ListSMSSandboxPhoneNumbersWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListSMSSandboxPhoneNumbersWithContext(_a0 context.Context, _a1 *sns.ListSMSSandboxPhoneNumbersInput, _a2 ...request.Option) (*sns.ListSMSSandboxPhoneNumbersOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListSMSSandboxPhoneNumbersOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListSMSSandboxPhoneNumbersInput, ...request.Option) *sns.ListSMSSandboxPhoneNumbersOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListSMSSandboxPhoneNumbersOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListSMSSandboxPhoneNumbersInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListSubscriptions provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListSubscriptions(_a0 *sns.ListSubscriptionsInput) (*sns.ListSubscriptionsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListSubscriptionsOutput
	if rf, ok := ret.Get(0).(func(*sns.ListSubscriptionsInput) *sns.ListSubscriptionsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListSubscriptionsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListSubscriptionsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListSubscriptionsByTopic provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListSubscriptionsByTopic(_a0 *sns.ListSubscriptionsByTopicInput) (*sns.ListSubscriptionsByTopicOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListSubscriptionsByTopicOutput
	if rf, ok := ret.Get(0).(func(*sns.ListSubscriptionsByTopicInput) *sns.ListSubscriptionsByTopicOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListSubscriptionsByTopicOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListSubscriptionsByTopicInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListSubscriptionsByTopicPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListSubscriptionsByTopicPages(_a0 *sns.ListSubscriptionsByTopicInput, _a1 func(*sns.ListSubscriptionsByTopicOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListSubscriptionsByTopicInput, func(*sns.ListSubscriptionsByTopicOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListSubscriptionsByTopicPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListSubscriptionsByTopicPagesWithContext(_a0 context.Context, _a1 *sns.ListSubscriptionsByTopicInput, _a2 func(*sns.ListSubscriptionsByTopicOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListSubscriptionsByTopicInput, func(*sns.ListSubscriptionsByTopicOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListSubscriptionsByTopicRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListSubscriptionsByTopicRequest(_a0 *sns.ListSubscriptionsByTopicInput) (*request.Request, *sns.ListSubscriptionsByTopicOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListSubscriptionsByTopicOutput
	if rf, ok := ret.Get(1).(func(*sns.ListSubscriptionsByTopicInput) *sns.ListSubscriptionsByTopicOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListSubscriptionsByTopicOutput)
		}
	}

	return r0, r1
}

// ListSubscriptionsByTopicWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListSubscriptionsByTopicWithContext(_a0 context.Context, _a1 *sns.ListSubscriptionsByTopicInput, _a2 ...request.Option) (*sns.ListSubscriptionsByTopicOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListSubscriptionsByTopicOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListSubscriptionsByTopicInput, ...request.Option) *sns.ListSubscriptionsByTopicOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListSubscriptionsByTopicOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListSubscriptionsByTopicInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListSubscriptionsPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListSubscriptionsPages(_a0 *sns.ListSubscriptionsInput, _a1 func(*sns.ListSubscriptionsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListSubscriptionsInput, func(*sns.ListSubscriptionsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListSubscriptionsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListSubscriptionsPagesWithContext(_a0 context.Context, _a1 *sns.ListSubscriptionsInput, _a2 func(*sns.ListSubscriptionsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListSubscriptionsInput, func(*sns.ListSubscriptionsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListSubscriptionsRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListSubscriptionsRequest(_a0 *sns.ListSubscriptionsInput) (*request.Request, *sns.ListSubscriptionsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListSubscriptionsOutput
	if rf, ok := ret.Get(1).(func(*sns.ListSubscriptionsInput) *sns.ListSubscriptionsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListSubscriptionsOutput)
		}
	}

	return r0, r1
}

// ListSubscriptionsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListSubscriptionsWithContext(_a0 context.Context, _a1 *sns.ListSubscriptionsInput, _a2 ...request.Option) (*sns.ListSubscriptionsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListSubscriptionsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListSubscriptionsInput, ...request.Option) *sns.ListSubscriptionsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListSubscriptionsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListSubscriptionsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTagsForResource provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListTagsForResource(_a0 *sns.ListTagsForResourceInput) (*sns.ListTagsForResourceOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListTagsForResourceOutput
	if rf, ok := ret.Get(0).(func(*sns.ListTagsForResourceInput) *sns.ListTagsForResourceOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListTagsForResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListTagsForResourceInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTagsForResourceRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListTagsForResourceRequest(_a0 *sns.ListTagsForResourceInput) (*request.Request, *sns.ListTagsForResourceOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListTagsForResourceOutput
	if rf, ok := ret.Get(1).(func(*sns.ListTagsForResourceInput) *sns.ListTagsForResourceOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListTagsForResourceOutput)
		}
	}

	return r0, r1
}

// ListTagsForResourceWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListTagsForResourceWithContext(_a0 context.Context, _a1 *sns.ListTagsForResourceInput, _a2 ...request.Option) (*sns.ListTagsForResourceOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListTagsForResourceOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListTagsForResourceInput, ...request.Option) *sns.ListTagsForResourceOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListTagsForResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListTagsForResourceInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTopics provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListTopics(_a0 *sns.ListTopicsInput) (*sns.ListTopicsOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.ListTopicsOutput
	if rf, ok := ret.Get(0).(func(*sns.ListTopicsInput) *sns.ListTopicsOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListTopicsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.ListTopicsInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListTopicsPages provides a mock function with given fields: _a0, _a1
func (_m *MockFakeSNS) ListTopicsPages(_a0 *sns.ListTopicsInput, _a1 func(*sns.ListTopicsOutput, bool) bool) error {
	ret := _m.Called(_a0, _a1)

	var r0 error
	if rf, ok := ret.Get(0).(func(*sns.ListTopicsInput, func(*sns.ListTopicsOutput, bool) bool) error); ok {
		r0 = rf(_a0, _a1)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTopicsPagesWithContext provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *MockFakeSNS) ListTopicsPagesWithContext(_a0 context.Context, _a1 *sns.ListTopicsInput, _a2 func(*sns.ListTopicsOutput, bool) bool, _a3 ...request.Option) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListTopicsInput, func(*sns.ListTopicsOutput, bool) bool, ...request.Option) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// ListTopicsRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) ListTopicsRequest(_a0 *sns.ListTopicsInput) (*request.Request, *sns.ListTopicsOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.ListTopicsOutput
	if rf, ok := ret.Get(1).(func(*sns.ListTopicsInput) *sns.ListTopicsOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.ListTopicsOutput)
		}
	}

	return r0, r1
}

// ListTopicsWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) ListTopicsWithContext(_a0 context.Context, _a1 *sns.ListTopicsInput, _a2 ...request.Option) (*sns.ListTopicsOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.ListTopicsOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.ListTopicsInput, ...request.Option) *sns.ListTopicsOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.ListTopicsOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.ListTopicsInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// OptInPhoneNumber provides a mock function with given fields: _a0
func (_m *MockFakeSNS) OptInPhoneNumber(_a0 *sns.OptInPhoneNumberInput) (*sns.OptInPhoneNumberOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.OptInPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(*sns.OptInPhoneNumberInput) *sns.OptInPhoneNumberOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.OptInPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.OptInPhoneNumberInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// OptInPhoneNumberRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) OptInPhoneNumberRequest(_a0 *sns.OptInPhoneNumberInput) (*request.Request, *sns.OptInPhoneNumberOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.OptInPhoneNumberOutput
	if rf, ok := ret.Get(1).(func(*sns.OptInPhoneNumberInput) *sns.OptInPhoneNumberOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.OptInPhoneNumberOutput)
		}
	}

	return r0, r1
}

// OptInPhoneNumberWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) OptInPhoneNumberWithContext(_a0 context.Context, _a1 *sns.OptInPhoneNumberInput, _a2 ...request.Option) (*sns.OptInPhoneNumberOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.OptInPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.OptInPhoneNumberInput, ...request.Option) *sns.OptInPhoneNumberOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.OptInPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.OptInPhoneNumberInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Publish provides a mock function with given fields: _a0
func (_m *MockFakeSNS) Publish(_a0 *sns.PublishInput) (*sns.PublishOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.PublishOutput
	if rf, ok := ret.Get(0).(func(*sns.PublishInput) *sns.PublishOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.PublishOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.PublishInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// PublishRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) PublishRequest(_a0 *sns.PublishInput) (*request.Request, *sns.PublishOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.PublishOutput
	if rf, ok := ret.Get(1).(func(*sns.PublishInput) *sns.PublishOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.PublishOutput)
		}
	}

	return r0, r1
}

// PublishWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) PublishWithContext(_a0 context.Context, _a1 *sns.PublishInput, _a2 ...request.Option) (*sns.PublishOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.PublishOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.PublishInput, ...request.Option) *sns.PublishOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.PublishOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.PublishInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RemovePermission provides a mock function with given fields: _a0
func (_m *MockFakeSNS) RemovePermission(_a0 *sns.RemovePermissionInput) (*sns.RemovePermissionOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.RemovePermissionOutput
	if rf, ok := ret.Get(0).(func(*sns.RemovePermissionInput) *sns.RemovePermissionOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.RemovePermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.RemovePermissionInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RemovePermissionRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) RemovePermissionRequest(_a0 *sns.RemovePermissionInput) (*request.Request, *sns.RemovePermissionOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.RemovePermissionOutput
	if rf, ok := ret.Get(1).(func(*sns.RemovePermissionInput) *sns.RemovePermissionOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.RemovePermissionOutput)
		}
	}

	return r0, r1
}

// RemovePermissionWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) RemovePermissionWithContext(_a0 context.Context, _a1 *sns.RemovePermissionInput, _a2 ...request.Option) (*sns.RemovePermissionOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.RemovePermissionOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.RemovePermissionInput, ...request.Option) *sns.RemovePermissionOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.RemovePermissionOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.RemovePermissionInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetEndpointAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetEndpointAttributes(_a0 *sns.SetEndpointAttributesInput) (*sns.SetEndpointAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.SetEndpointAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.SetEndpointAttributesInput) *sns.SetEndpointAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetEndpointAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.SetEndpointAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetEndpointAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetEndpointAttributesRequest(_a0 *sns.SetEndpointAttributesInput) (*request.Request, *sns.SetEndpointAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.SetEndpointAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.SetEndpointAttributesInput) *sns.SetEndpointAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.SetEndpointAttributesOutput)
		}
	}

	return r0, r1
}

// SetEndpointAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) SetEndpointAttributesWithContext(_a0 context.Context, _a1 *sns.SetEndpointAttributesInput, _a2 ...request.Option) (*sns.SetEndpointAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.SetEndpointAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.SetEndpointAttributesInput, ...request.Option) *sns.SetEndpointAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetEndpointAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.SetEndpointAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetPlatformApplicationAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetPlatformApplicationAttributes(_a0 *sns.SetPlatformApplicationAttributesInput) (*sns.SetPlatformApplicationAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.SetPlatformApplicationAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.SetPlatformApplicationAttributesInput) *sns.SetPlatformApplicationAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetPlatformApplicationAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.SetPlatformApplicationAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetPlatformApplicationAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetPlatformApplicationAttributesRequest(_a0 *sns.SetPlatformApplicationAttributesInput) (*request.Request, *sns.SetPlatformApplicationAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.SetPlatformApplicationAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.SetPlatformApplicationAttributesInput) *sns.SetPlatformApplicationAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.SetPlatformApplicationAttributesOutput)
		}
	}

	return r0, r1
}

// SetPlatformApplicationAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) SetPlatformApplicationAttributesWithContext(_a0 context.Context, _a1 *sns.SetPlatformApplicationAttributesInput, _a2 ...request.Option) (*sns.SetPlatformApplicationAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.SetPlatformApplicationAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.SetPlatformApplicationAttributesInput, ...request.Option) *sns.SetPlatformApplicationAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetPlatformApplicationAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.SetPlatformApplicationAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetSMSAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetSMSAttributes(_a0 *sns.SetSMSAttributesInput) (*sns.SetSMSAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.SetSMSAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.SetSMSAttributesInput) *sns.SetSMSAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetSMSAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.SetSMSAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetSMSAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetSMSAttributesRequest(_a0 *sns.SetSMSAttributesInput) (*request.Request, *sns.SetSMSAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.SetSMSAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.SetSMSAttributesInput) *sns.SetSMSAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.SetSMSAttributesOutput)
		}
	}

	return r0, r1
}

// SetSMSAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) SetSMSAttributesWithContext(_a0 context.Context, _a1 *sns.SetSMSAttributesInput, _a2 ...request.Option) (*sns.SetSMSAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.SetSMSAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.SetSMSAttributesInput, ...request.Option) *sns.SetSMSAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetSMSAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.SetSMSAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetSubscriptionAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetSubscriptionAttributes(_a0 *sns.SetSubscriptionAttributesInput) (*sns.SetSubscriptionAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.SetSubscriptionAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.SetSubscriptionAttributesInput) *sns.SetSubscriptionAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetSubscriptionAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.SetSubscriptionAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetSubscriptionAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetSubscriptionAttributesRequest(_a0 *sns.SetSubscriptionAttributesInput) (*request.Request, *sns.SetSubscriptionAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.SetSubscriptionAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.SetSubscriptionAttributesInput) *sns.SetSubscriptionAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.SetSubscriptionAttributesOutput)
		}
	}

	return r0, r1
}

// SetSubscriptionAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) SetSubscriptionAttributesWithContext(_a0 context.Context, _a1 *sns.SetSubscriptionAttributesInput, _a2 ...request.Option) (*sns.SetSubscriptionAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.SetSubscriptionAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.SetSubscriptionAttributesInput, ...request.Option) *sns.SetSubscriptionAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetSubscriptionAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.SetSubscriptionAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetTopicAttributes provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetTopicAttributes(_a0 *sns.SetTopicAttributesInput) (*sns.SetTopicAttributesOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.SetTopicAttributesOutput
	if rf, ok := ret.Get(0).(func(*sns.SetTopicAttributesInput) *sns.SetTopicAttributesOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetTopicAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.SetTopicAttributesInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SetTopicAttributesRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SetTopicAttributesRequest(_a0 *sns.SetTopicAttributesInput) (*request.Request, *sns.SetTopicAttributesOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.SetTopicAttributesOutput
	if rf, ok := ret.Get(1).(func(*sns.SetTopicAttributesInput) *sns.SetTopicAttributesOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.SetTopicAttributesOutput)
		}
	}

	return r0, r1
}

// SetTopicAttributesWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) SetTopicAttributesWithContext(_a0 context.Context, _a1 *sns.SetTopicAttributesInput, _a2 ...request.Option) (*sns.SetTopicAttributesOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.SetTopicAttributesOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.SetTopicAttributesInput, ...request.Option) *sns.SetTopicAttributesOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SetTopicAttributesOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.SetTopicAttributesInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Subscribe provides a mock function with given fields: _a0
func (_m *MockFakeSNS) Subscribe(_a0 *sns.SubscribeInput) (*sns.SubscribeOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.SubscribeOutput
	if rf, ok := ret.Get(0).(func(*sns.SubscribeInput) *sns.SubscribeOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SubscribeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.SubscribeInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// SubscribeRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) SubscribeRequest(_a0 *sns.SubscribeInput) (*request.Request, *sns.SubscribeOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.SubscribeOutput
	if rf, ok := ret.Get(1).(func(*sns.SubscribeInput) *sns.SubscribeOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.SubscribeOutput)
		}
	}

	return r0, r1
}

// SubscribeWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) SubscribeWithContext(_a0 context.Context, _a1 *sns.SubscribeInput, _a2 ...request.Option) (*sns.SubscribeOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.SubscribeOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.SubscribeInput, ...request.Option) *sns.SubscribeOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.SubscribeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.SubscribeInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// TagResource provides a mock function with given fields: _a0
func (_m *MockFakeSNS) TagResource(_a0 *sns.TagResourceInput) (*sns.TagResourceOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.TagResourceOutput
	if rf, ok := ret.Get(0).(func(*sns.TagResourceInput) *sns.TagResourceOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.TagResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.TagResourceInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// TagResourceRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) TagResourceRequest(_a0 *sns.TagResourceInput) (*request.Request, *sns.TagResourceOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.TagResourceOutput
	if rf, ok := ret.Get(1).(func(*sns.TagResourceInput) *sns.TagResourceOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.TagResourceOutput)
		}
	}

	return r0, r1
}

// TagResourceWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) TagResourceWithContext(_a0 context.Context, _a1 *sns.TagResourceInput, _a2 ...request.Option) (*sns.TagResourceOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.TagResourceOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.TagResourceInput, ...request.Option) *sns.TagResourceOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.TagResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.TagResourceInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Unsubscribe provides a mock function with given fields: _a0
func (_m *MockFakeSNS) Unsubscribe(_a0 *sns.UnsubscribeInput) (*sns.UnsubscribeOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.UnsubscribeOutput
	if rf, ok := ret.Get(0).(func(*sns.UnsubscribeInput) *sns.UnsubscribeOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.UnsubscribeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.UnsubscribeInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UnsubscribeRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) UnsubscribeRequest(_a0 *sns.UnsubscribeInput) (*request.Request, *sns.UnsubscribeOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.UnsubscribeOutput
	if rf, ok := ret.Get(1).(func(*sns.UnsubscribeInput) *sns.UnsubscribeOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.UnsubscribeOutput)
		}
	}

	return r0, r1
}

// UnsubscribeWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) UnsubscribeWithContext(_a0 context.Context, _a1 *sns.UnsubscribeInput, _a2 ...request.Option) (*sns.UnsubscribeOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.UnsubscribeOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.UnsubscribeInput, ...request.Option) *sns.UnsubscribeOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.UnsubscribeOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.UnsubscribeInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UntagResource provides a mock function with given fields: _a0
func (_m *MockFakeSNS) UntagResource(_a0 *sns.UntagResourceInput) (*sns.UntagResourceOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.UntagResourceOutput
	if rf, ok := ret.Get(0).(func(*sns.UntagResourceInput) *sns.UntagResourceOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.UntagResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.UntagResourceInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UntagResourceRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) UntagResourceRequest(_a0 *sns.UntagResourceInput) (*request.Request, *sns.UntagResourceOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.UntagResourceOutput
	if rf, ok := ret.Get(1).(func(*sns.UntagResourceInput) *sns.UntagResourceOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.UntagResourceOutput)
		}
	}

	return r0, r1
}

// UntagResourceWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) UntagResourceWithContext(_a0 context.Context, _a1 *sns.UntagResourceInput, _a2 ...request.Option) (*sns.UntagResourceOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.UntagResourceOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.UntagResourceInput, ...request.Option) *sns.UntagResourceOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.UntagResourceOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.UntagResourceInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// VerifySMSSandboxPhoneNumber provides a mock function with given fields: _a0
func (_m *MockFakeSNS) VerifySMSSandboxPhoneNumber(_a0 *sns.VerifySMSSandboxPhoneNumberInput) (*sns.VerifySMSSandboxPhoneNumberOutput, error) {
	ret := _m.Called(_a0)

	var r0 *sns.VerifySMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(*sns.VerifySMSSandboxPhoneNumberInput) *sns.VerifySMSSandboxPhoneNumberOutput); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.VerifySMSSandboxPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(*sns.VerifySMSSandboxPhoneNumberInput) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// VerifySMSSandboxPhoneNumberRequest provides a mock function with given fields: _a0
func (_m *MockFakeSNS) VerifySMSSandboxPhoneNumberRequest(_a0 *sns.VerifySMSSandboxPhoneNumberInput) (*request.Request, *sns.VerifySMSSandboxPhoneNumberOutput) {
	ret := _m.Called(_a0)

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

	var r1 *sns.VerifySMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(1).(func(*sns.VerifySMSSandboxPhoneNumberInput) *sns.VerifySMSSandboxPhoneNumberOutput); ok {
		r1 = rf(_a0)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*sns.VerifySMSSandboxPhoneNumberOutput)
		}
	}

	return r0, r1
}

// VerifySMSSandboxPhoneNumberWithContext provides a mock function with given fields: _a0, _a1, _a2
func (_m *MockFakeSNS) VerifySMSSandboxPhoneNumberWithContext(_a0 context.Context, _a1 *sns.VerifySMSSandboxPhoneNumberInput, _a2 ...request.Option) (*sns.VerifySMSSandboxPhoneNumberOutput, error) {
	_va := make([]interface{}, len(_a2))
	for _i := range _a2 {
		_va[_i] = _a2[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sns.VerifySMSSandboxPhoneNumberOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sns.VerifySMSSandboxPhoneNumberInput, ...request.Option) *sns.VerifySMSSandboxPhoneNumberOutput); ok {
		r0 = rf(_a0, _a1, _a2...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sns.VerifySMSSandboxPhoneNumberOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sns.VerifySMSSandboxPhoneNumberInput, ...request.Option) error); ok {
		r1 = rf(_a0, _a1, _a2...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
