// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/hetznercloud/cli/internal/hcapi2 (interfaces: PrimaryIPClient)
//
// Generated by this command:
//
//	mockgen -package mock -destination zz_primary_ip_client_mock.go github.com/hetznercloud/cli/internal/hcapi2 PrimaryIPClient
//

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

import (
	context "context"
	reflect "reflect"

	hcloud "github.com/hetznercloud/hcloud-go/v2/hcloud"
	gomock "go.uber.org/mock/gomock"
)

// MockPrimaryIPClient is a mock of PrimaryIPClient interface.
type MockPrimaryIPClient struct {
	ctrl     *gomock.Controller
	recorder *MockPrimaryIPClientMockRecorder
	isgomock struct{}
}

// MockPrimaryIPClientMockRecorder is the mock recorder for MockPrimaryIPClient.
type MockPrimaryIPClientMockRecorder struct {
	mock *MockPrimaryIPClient
}

// NewMockPrimaryIPClient creates a new mock instance.
func NewMockPrimaryIPClient(ctrl *gomock.Controller) *MockPrimaryIPClient {
	mock := &MockPrimaryIPClient{ctrl: ctrl}
	mock.recorder = &MockPrimaryIPClientMockRecorder{mock}
	return mock
}

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

// All mocks base method.
func (m *MockPrimaryIPClient) All(ctx context.Context) ([]*hcloud.PrimaryIP, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "All", ctx)
	ret0, _ := ret[0].([]*hcloud.PrimaryIP)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// All indicates an expected call of All.
func (mr *MockPrimaryIPClientMockRecorder) All(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "All", reflect.TypeOf((*MockPrimaryIPClient)(nil).All), ctx)
}

// AllWithOpts mocks base method.
func (m *MockPrimaryIPClient) AllWithOpts(ctx context.Context, opts hcloud.PrimaryIPListOpts) ([]*hcloud.PrimaryIP, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AllWithOpts", ctx, opts)
	ret0, _ := ret[0].([]*hcloud.PrimaryIP)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// AllWithOpts indicates an expected call of AllWithOpts.
func (mr *MockPrimaryIPClientMockRecorder) AllWithOpts(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AllWithOpts", reflect.TypeOf((*MockPrimaryIPClient)(nil).AllWithOpts), ctx, opts)
}

// Assign mocks base method.
func (m *MockPrimaryIPClient) Assign(ctx context.Context, opts hcloud.PrimaryIPAssignOpts) (*hcloud.Action, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Assign", ctx, opts)
	ret0, _ := ret[0].(*hcloud.Action)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Assign indicates an expected call of Assign.
func (mr *MockPrimaryIPClientMockRecorder) Assign(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Assign", reflect.TypeOf((*MockPrimaryIPClient)(nil).Assign), ctx, opts)
}

// ChangeDNSPtr mocks base method.
func (m *MockPrimaryIPClient) ChangeDNSPtr(ctx context.Context, opts hcloud.PrimaryIPChangeDNSPtrOpts) (*hcloud.Action, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ChangeDNSPtr", ctx, opts)
	ret0, _ := ret[0].(*hcloud.Action)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ChangeDNSPtr indicates an expected call of ChangeDNSPtr.
func (mr *MockPrimaryIPClientMockRecorder) ChangeDNSPtr(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeDNSPtr", reflect.TypeOf((*MockPrimaryIPClient)(nil).ChangeDNSPtr), ctx, opts)
}

// ChangeProtection mocks base method.
func (m *MockPrimaryIPClient) ChangeProtection(ctx context.Context, opts hcloud.PrimaryIPChangeProtectionOpts) (*hcloud.Action, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ChangeProtection", ctx, opts)
	ret0, _ := ret[0].(*hcloud.Action)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ChangeProtection indicates an expected call of ChangeProtection.
func (mr *MockPrimaryIPClientMockRecorder) ChangeProtection(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChangeProtection", reflect.TypeOf((*MockPrimaryIPClient)(nil).ChangeProtection), ctx, opts)
}

// Create mocks base method.
func (m *MockPrimaryIPClient) Create(ctx context.Context, opts hcloud.PrimaryIPCreateOpts) (*hcloud.PrimaryIPCreateResult, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, opts)
	ret0, _ := ret[0].(*hcloud.PrimaryIPCreateResult)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Create indicates an expected call of Create.
func (mr *MockPrimaryIPClientMockRecorder) Create(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockPrimaryIPClient)(nil).Create), ctx, opts)
}

// Delete mocks base method.
func (m *MockPrimaryIPClient) Delete(ctx context.Context, primaryIP *hcloud.PrimaryIP) (*hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, primaryIP)
	ret0, _ := ret[0].(*hcloud.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Delete indicates an expected call of Delete.
func (mr *MockPrimaryIPClientMockRecorder) Delete(ctx, primaryIP any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockPrimaryIPClient)(nil).Delete), ctx, primaryIP)
}

// Get mocks base method.
func (m *MockPrimaryIPClient) Get(ctx context.Context, idOrName string) (*hcloud.PrimaryIP, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, idOrName)
	ret0, _ := ret[0].(*hcloud.PrimaryIP)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Get indicates an expected call of Get.
func (mr *MockPrimaryIPClientMockRecorder) Get(ctx, idOrName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockPrimaryIPClient)(nil).Get), ctx, idOrName)
}

// GetByID mocks base method.
func (m *MockPrimaryIPClient) GetByID(ctx context.Context, id int64) (*hcloud.PrimaryIP, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByID", ctx, id)
	ret0, _ := ret[0].(*hcloud.PrimaryIP)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetByID indicates an expected call of GetByID.
func (mr *MockPrimaryIPClientMockRecorder) GetByID(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByID", reflect.TypeOf((*MockPrimaryIPClient)(nil).GetByID), ctx, id)
}

// GetByIP mocks base method.
func (m *MockPrimaryIPClient) GetByIP(ctx context.Context, ip string) (*hcloud.PrimaryIP, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByIP", ctx, ip)
	ret0, _ := ret[0].(*hcloud.PrimaryIP)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetByIP indicates an expected call of GetByIP.
func (mr *MockPrimaryIPClientMockRecorder) GetByIP(ctx, ip any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByIP", reflect.TypeOf((*MockPrimaryIPClient)(nil).GetByIP), ctx, ip)
}

// GetByName mocks base method.
func (m *MockPrimaryIPClient) GetByName(ctx context.Context, name string) (*hcloud.PrimaryIP, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByName", ctx, name)
	ret0, _ := ret[0].(*hcloud.PrimaryIP)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetByName indicates an expected call of GetByName.
func (mr *MockPrimaryIPClientMockRecorder) GetByName(ctx, name any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByName", reflect.TypeOf((*MockPrimaryIPClient)(nil).GetByName), ctx, name)
}

// LabelKeys mocks base method.
func (m *MockPrimaryIPClient) LabelKeys(idOrName string) []string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LabelKeys", idOrName)
	ret0, _ := ret[0].([]string)
	return ret0
}

// LabelKeys indicates an expected call of LabelKeys.
func (mr *MockPrimaryIPClientMockRecorder) LabelKeys(idOrName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LabelKeys", reflect.TypeOf((*MockPrimaryIPClient)(nil).LabelKeys), idOrName)
}

// List mocks base method.
func (m *MockPrimaryIPClient) List(ctx context.Context, opts hcloud.PrimaryIPListOpts) ([]*hcloud.PrimaryIP, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, opts)
	ret0, _ := ret[0].([]*hcloud.PrimaryIP)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// List indicates an expected call of List.
func (mr *MockPrimaryIPClientMockRecorder) List(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPrimaryIPClient)(nil).List), ctx, opts)
}

// Names mocks base method.
func (m *MockPrimaryIPClient) Names(hideAssigned, hideUnassigned bool, ipType *hcloud.PrimaryIPType) func() []string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Names", hideAssigned, hideUnassigned, ipType)
	ret0, _ := ret[0].(func() []string)
	return ret0
}

// Names indicates an expected call of Names.
func (mr *MockPrimaryIPClientMockRecorder) Names(hideAssigned, hideUnassigned, ipType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Names", reflect.TypeOf((*MockPrimaryIPClient)(nil).Names), hideAssigned, hideUnassigned, ipType)
}

// Unassign mocks base method.
func (m *MockPrimaryIPClient) Unassign(ctx context.Context, id int64) (*hcloud.Action, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Unassign", ctx, id)
	ret0, _ := ret[0].(*hcloud.Action)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Unassign indicates an expected call of Unassign.
func (mr *MockPrimaryIPClientMockRecorder) Unassign(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unassign", reflect.TypeOf((*MockPrimaryIPClient)(nil).Unassign), ctx, id)
}

// Update mocks base method.
func (m *MockPrimaryIPClient) Update(ctx context.Context, primaryIP *hcloud.PrimaryIP, opts hcloud.PrimaryIPUpdateOpts) (*hcloud.PrimaryIP, *hcloud.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", ctx, primaryIP, opts)
	ret0, _ := ret[0].(*hcloud.PrimaryIP)
	ret1, _ := ret[1].(*hcloud.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Update indicates an expected call of Update.
func (mr *MockPrimaryIPClientMockRecorder) Update(ctx, primaryIP, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockPrimaryIPClient)(nil).Update), ctx, primaryIP, opts)
}
