// Code generated by MockGen. DO NOT EDIT.
// Source: client.go
//
// Generated by this command:
//
//	mockgen -package azure -source=client.go -destination=client_mock.go
//

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

import (
	context "context"
	reflect "reflect"

	azcore "github.com/Azure/azure-sdk-for-go/sdk/azcore"
	azkeys "github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys"
	gomock "go.uber.org/mock/gomock"
)

// MockClient is a mock of Client interface.
type MockClient struct {
	ctrl     *gomock.Controller
	recorder *MockClientMockRecorder
}

// MockClientMockRecorder is the mock recorder for MockClient.
type MockClientMockRecorder struct {
	mock *MockClient
}

// NewMockClient creates a new mock instance.
func NewMockClient(ctrl *gomock.Controller) *MockClient {
	mock := &MockClient{ctrl: ctrl}
	mock.recorder = &MockClientMockRecorder{mock}
	return mock
}

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

// DecryptByKeyvaultKey mocks base method.
func (m *MockClient) DecryptByKeyvaultKey(ctx context.Context, vaultName, keyName, keyVersion string, parameters azkeys.KeyOperationParameters) (*azkeys.DecryptResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DecryptByKeyvaultKey", ctx, vaultName, keyName, keyVersion, parameters)
	ret0, _ := ret[0].(*azkeys.DecryptResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DecryptByKeyvaultKey indicates an expected call of DecryptByKeyvaultKey.
func (mr *MockClientMockRecorder) DecryptByKeyvaultKey(ctx, vaultName, keyName, keyVersion, parameters any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecryptByKeyvaultKey", reflect.TypeOf((*MockClient)(nil).DecryptByKeyvaultKey), ctx, vaultName, keyName, keyVersion, parameters)
}

// EncryptByKeyvaultKey mocks base method.
func (m *MockClient) EncryptByKeyvaultKey(ctx context.Context, vaultName, keyName, keyVersion string, parameters azkeys.KeyOperationParameters) (*azkeys.EncryptResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "EncryptByKeyvaultKey", ctx, vaultName, keyName, keyVersion, parameters)
	ret0, _ := ret[0].(*azkeys.EncryptResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// EncryptByKeyvaultKey indicates an expected call of EncryptByKeyvaultKey.
func (mr *MockClientMockRecorder) EncryptByKeyvaultKey(ctx, vaultName, keyName, keyVersion, parameters any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EncryptByKeyvaultKey", reflect.TypeOf((*MockClient)(nil).EncryptByKeyvaultKey), ctx, vaultName, keyName, keyVersion, parameters)
}

// GetKeyvaultKey mocks base method.
func (m *MockClient) GetKeyvaultKey(ctx context.Context, vaultName, keyName, keyVersion string) (*azkeys.KeyBundle, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetKeyvaultKey", ctx, vaultName, keyName, keyVersion)
	ret0, _ := ret[0].(*azkeys.KeyBundle)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetKeyvaultKey indicates an expected call of GetKeyvaultKey.
func (mr *MockClientMockRecorder) GetKeyvaultKey(ctx, vaultName, keyName, keyVersion any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKeyvaultKey", reflect.TypeOf((*MockClient)(nil).GetKeyvaultKey), ctx, vaultName, keyName, keyVersion)
}

// QueryKeyvaultKeyVersions mocks base method.
func (m *MockClient) QueryKeyvaultKeyVersions(ctx context.Context, vaultName, keyName string) ([]*azkeys.KeyProperties, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueryKeyvaultKeyVersions", ctx, vaultName, keyName)
	ret0, _ := ret[0].([]*azkeys.KeyProperties)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryKeyvaultKeyVersions indicates an expected call of QueryKeyvaultKeyVersions.
func (mr *MockClientMockRecorder) QueryKeyvaultKeyVersions(ctx, vaultName, keyName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryKeyvaultKeyVersions", reflect.TypeOf((*MockClient)(nil).QueryKeyvaultKeyVersions), ctx, vaultName, keyName)
}

// RestartVM mocks base method.
func (m *MockClient) RestartVM(ctx context.Context, subscription, rg, vmss, instance string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RestartVM", ctx, subscription, rg, vmss, instance)
	ret0, _ := ret[0].(error)
	return ret0
}

// RestartVM indicates an expected call of RestartVM.
func (mr *MockClientMockRecorder) RestartVM(ctx, subscription, rg, vmss, instance any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RestartVM", reflect.TypeOf((*MockClient)(nil).RestartVM), ctx, subscription, rg, vmss, instance)
}

// UnwrapKeyByKeyvaultKey mocks base method.
func (m *MockClient) UnwrapKeyByKeyvaultKey(ctx context.Context, vaultName, keyName, keyVersion string, parameters azkeys.KeyOperationParameters) (*azkeys.UnwrapKeyResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UnwrapKeyByKeyvaultKey", ctx, vaultName, keyName, keyVersion, parameters)
	ret0, _ := ret[0].(*azkeys.UnwrapKeyResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UnwrapKeyByKeyvaultKey indicates an expected call of UnwrapKeyByKeyvaultKey.
func (mr *MockClientMockRecorder) UnwrapKeyByKeyvaultKey(ctx, vaultName, keyName, keyVersion, parameters any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnwrapKeyByKeyvaultKey", reflect.TypeOf((*MockClient)(nil).UnwrapKeyByKeyvaultKey), ctx, vaultName, keyName, keyVersion, parameters)
}

// WithCredential mocks base method.
func (m *MockClient) WithCredential(cred azcore.TokenCredential) Client {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WithCredential", cred)
	ret0, _ := ret[0].(Client)
	return ret0
}

// WithCredential indicates an expected call of WithCredential.
func (mr *MockClientMockRecorder) WithCredential(cred any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WithCredential", reflect.TypeOf((*MockClient)(nil).WithCredential), cred)
}

// WrapKeyByKeyvaultKey mocks base method.
func (m *MockClient) WrapKeyByKeyvaultKey(ctx context.Context, vaultName, keyName, keyVersion string, parameters azkeys.KeyOperationParameters) (*azkeys.WrapKeyResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WrapKeyByKeyvaultKey", ctx, vaultName, keyName, keyVersion, parameters)
	ret0, _ := ret[0].(*azkeys.WrapKeyResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// WrapKeyByKeyvaultKey indicates an expected call of WrapKeyByKeyvaultKey.
func (mr *MockClientMockRecorder) WrapKeyByKeyvaultKey(ctx, vaultName, keyName, keyVersion, parameters any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WrapKeyByKeyvaultKey", reflect.TypeOf((*MockClient)(nil).WrapKeyByKeyvaultKey), ctx, vaultName, keyName, keyVersion, parameters)
}
