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

package mocksv2

import (
	context "context"

	sts "github.com/aws/aws-sdk-go-v2/service/sts"
	mock "github.com/stretchr/testify/mock"
)

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

// AssumeRole provides a mock function with given fields: ctx, params, optFns
func (_m *STS) AssumeRole(ctx context.Context, params *sts.AssumeRoleInput, optFns ...func(*sts.Options)) (*sts.AssumeRoleOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.AssumeRoleOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.AssumeRoleInput, ...func(*sts.Options)) *sts.AssumeRoleOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.AssumeRoleOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.AssumeRoleInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// AssumeRoleWithSAML provides a mock function with given fields: ctx, params, optFns
func (_m *STS) AssumeRoleWithSAML(ctx context.Context, params *sts.AssumeRoleWithSAMLInput, optFns ...func(*sts.Options)) (*sts.AssumeRoleWithSAMLOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.AssumeRoleWithSAMLOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.AssumeRoleWithSAMLInput, ...func(*sts.Options)) *sts.AssumeRoleWithSAMLOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.AssumeRoleWithSAMLOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.AssumeRoleWithSAMLInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// AssumeRoleWithWebIdentity provides a mock function with given fields: ctx, params, optFns
func (_m *STS) AssumeRoleWithWebIdentity(ctx context.Context, params *sts.AssumeRoleWithWebIdentityInput, optFns ...func(*sts.Options)) (*sts.AssumeRoleWithWebIdentityOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.AssumeRoleWithWebIdentityOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.AssumeRoleWithWebIdentityInput, ...func(*sts.Options)) *sts.AssumeRoleWithWebIdentityOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.AssumeRoleWithWebIdentityOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.AssumeRoleWithWebIdentityInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DecodeAuthorizationMessage provides a mock function with given fields: ctx, params, optFns
func (_m *STS) DecodeAuthorizationMessage(ctx context.Context, params *sts.DecodeAuthorizationMessageInput, optFns ...func(*sts.Options)) (*sts.DecodeAuthorizationMessageOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.DecodeAuthorizationMessageOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.DecodeAuthorizationMessageInput, ...func(*sts.Options)) *sts.DecodeAuthorizationMessageOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.DecodeAuthorizationMessageOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.DecodeAuthorizationMessageInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetAccessKeyInfo provides a mock function with given fields: ctx, params, optFns
func (_m *STS) GetAccessKeyInfo(ctx context.Context, params *sts.GetAccessKeyInfoInput, optFns ...func(*sts.Options)) (*sts.GetAccessKeyInfoOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.GetAccessKeyInfoOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.GetAccessKeyInfoInput, ...func(*sts.Options)) *sts.GetAccessKeyInfoOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.GetAccessKeyInfoOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.GetAccessKeyInfoInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetCallerIdentity provides a mock function with given fields: ctx, params, optFns
func (_m *STS) GetCallerIdentity(ctx context.Context, params *sts.GetCallerIdentityInput, optFns ...func(*sts.Options)) (*sts.GetCallerIdentityOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.GetCallerIdentityOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.GetCallerIdentityInput, ...func(*sts.Options)) *sts.GetCallerIdentityOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.GetCallerIdentityOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.GetCallerIdentityInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetFederationToken provides a mock function with given fields: ctx, params, optFns
func (_m *STS) GetFederationToken(ctx context.Context, params *sts.GetFederationTokenInput, optFns ...func(*sts.Options)) (*sts.GetFederationTokenOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.GetFederationTokenOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.GetFederationTokenInput, ...func(*sts.Options)) *sts.GetFederationTokenOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.GetFederationTokenOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.GetFederationTokenInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetSessionToken provides a mock function with given fields: ctx, params, optFns
func (_m *STS) GetSessionToken(ctx context.Context, params *sts.GetSessionTokenInput, optFns ...func(*sts.Options)) (*sts.GetSessionTokenOutput, error) {
	_va := make([]interface{}, len(optFns))
	for _i := range optFns {
		_va[_i] = optFns[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, params)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 *sts.GetSessionTokenOutput
	if rf, ok := ret.Get(0).(func(context.Context, *sts.GetSessionTokenInput, ...func(*sts.Options)) *sts.GetSessionTokenOutput); ok {
		r0 = rf(ctx, params, optFns...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*sts.GetSessionTokenOutput)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, *sts.GetSessionTokenInput, ...func(*sts.Options)) error); ok {
		r1 = rf(ctx, params, optFns...)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
