// Code generated by MockGen. DO NOT EDIT.
// Source: pkg/aws/imds.go

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

import (
	context "context"
	reflect "reflect"

	imds "github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
	gomock "github.com/golang/mock/gomock"
)

// MockIMDSClient is a mock of IMDSClient interface.
type MockIMDSClient struct {
	ctrl     *gomock.Controller
	recorder *MockIMDSClientMockRecorder
}

// MockIMDSClientMockRecorder is the mock recorder for MockIMDSClient.
type MockIMDSClientMockRecorder struct {
	mock *MockIMDSClient
}

// NewMockIMDSClient creates a new mock instance.
func NewMockIMDSClient(ctrl *gomock.Controller) *MockIMDSClient {
	mock := &MockIMDSClient{ctrl: ctrl}
	mock.recorder = &MockIMDSClientMockRecorder{mock}
	return mock
}

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

// GetMetadata mocks base method.
func (m *MockIMDSClient) GetMetadata(ctx context.Context, params *imds.GetMetadataInput, optFns ...func(*imds.Options)) (*imds.GetMetadataOutput, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, params}
	for _, a := range optFns {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetMetadata", varargs...)
	ret0, _ := ret[0].(*imds.GetMetadataOutput)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetMetadata indicates an expected call of GetMetadata.
func (mr *MockIMDSClientMockRecorder) GetMetadata(ctx, params interface{}, optFns ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, params}, optFns...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMetadata", reflect.TypeOf((*MockIMDSClient)(nil).GetMetadata), varargs...)
}
