// Code generated by counterfeiter. DO NOT EDIT.
package policiesfakes

import (
	"sync"

	"github.com/nginx/nginx-gateway-fabric/v2/internal/controller/nginx/config/policies"
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/runtime/schema"
	"k8s.io/apimachinery/pkg/types"
	"sigs.k8s.io/gateway-api/apis/v1alpha2"
)

type FakePolicy struct {
	DeepCopyObjectStub        func() runtime.Object
	deepCopyObjectMutex       sync.RWMutex
	deepCopyObjectArgsForCall []struct {
	}
	deepCopyObjectReturns struct {
		result1 runtime.Object
	}
	deepCopyObjectReturnsOnCall map[int]struct {
		result1 runtime.Object
	}
	GetAnnotationsStub        func() map[string]string
	getAnnotationsMutex       sync.RWMutex
	getAnnotationsArgsForCall []struct {
	}
	getAnnotationsReturns struct {
		result1 map[string]string
	}
	getAnnotationsReturnsOnCall map[int]struct {
		result1 map[string]string
	}
	GetCreationTimestampStub        func() v1.Time
	getCreationTimestampMutex       sync.RWMutex
	getCreationTimestampArgsForCall []struct {
	}
	getCreationTimestampReturns struct {
		result1 v1.Time
	}
	getCreationTimestampReturnsOnCall map[int]struct {
		result1 v1.Time
	}
	GetDeletionGracePeriodSecondsStub        func() *int64
	getDeletionGracePeriodSecondsMutex       sync.RWMutex
	getDeletionGracePeriodSecondsArgsForCall []struct {
	}
	getDeletionGracePeriodSecondsReturns struct {
		result1 *int64
	}
	getDeletionGracePeriodSecondsReturnsOnCall map[int]struct {
		result1 *int64
	}
	GetDeletionTimestampStub        func() *v1.Time
	getDeletionTimestampMutex       sync.RWMutex
	getDeletionTimestampArgsForCall []struct {
	}
	getDeletionTimestampReturns struct {
		result1 *v1.Time
	}
	getDeletionTimestampReturnsOnCall map[int]struct {
		result1 *v1.Time
	}
	GetFinalizersStub        func() []string
	getFinalizersMutex       sync.RWMutex
	getFinalizersArgsForCall []struct {
	}
	getFinalizersReturns struct {
		result1 []string
	}
	getFinalizersReturnsOnCall map[int]struct {
		result1 []string
	}
	GetGenerateNameStub        func() string
	getGenerateNameMutex       sync.RWMutex
	getGenerateNameArgsForCall []struct {
	}
	getGenerateNameReturns struct {
		result1 string
	}
	getGenerateNameReturnsOnCall map[int]struct {
		result1 string
	}
	GetGenerationStub        func() int64
	getGenerationMutex       sync.RWMutex
	getGenerationArgsForCall []struct {
	}
	getGenerationReturns struct {
		result1 int64
	}
	getGenerationReturnsOnCall map[int]struct {
		result1 int64
	}
	GetLabelsStub        func() map[string]string
	getLabelsMutex       sync.RWMutex
	getLabelsArgsForCall []struct {
	}
	getLabelsReturns struct {
		result1 map[string]string
	}
	getLabelsReturnsOnCall map[int]struct {
		result1 map[string]string
	}
	GetManagedFieldsStub        func() []v1.ManagedFieldsEntry
	getManagedFieldsMutex       sync.RWMutex
	getManagedFieldsArgsForCall []struct {
	}
	getManagedFieldsReturns struct {
		result1 []v1.ManagedFieldsEntry
	}
	getManagedFieldsReturnsOnCall map[int]struct {
		result1 []v1.ManagedFieldsEntry
	}
	GetNameStub        func() string
	getNameMutex       sync.RWMutex
	getNameArgsForCall []struct {
	}
	getNameReturns struct {
		result1 string
	}
	getNameReturnsOnCall map[int]struct {
		result1 string
	}
	GetNamespaceStub        func() string
	getNamespaceMutex       sync.RWMutex
	getNamespaceArgsForCall []struct {
	}
	getNamespaceReturns struct {
		result1 string
	}
	getNamespaceReturnsOnCall map[int]struct {
		result1 string
	}
	GetObjectKindStub        func() schema.ObjectKind
	getObjectKindMutex       sync.RWMutex
	getObjectKindArgsForCall []struct {
	}
	getObjectKindReturns struct {
		result1 schema.ObjectKind
	}
	getObjectKindReturnsOnCall map[int]struct {
		result1 schema.ObjectKind
	}
	GetOwnerReferencesStub        func() []v1.OwnerReference
	getOwnerReferencesMutex       sync.RWMutex
	getOwnerReferencesArgsForCall []struct {
	}
	getOwnerReferencesReturns struct {
		result1 []v1.OwnerReference
	}
	getOwnerReferencesReturnsOnCall map[int]struct {
		result1 []v1.OwnerReference
	}
	GetPolicyStatusStub        func() v1alpha2.PolicyStatus
	getPolicyStatusMutex       sync.RWMutex
	getPolicyStatusArgsForCall []struct {
	}
	getPolicyStatusReturns struct {
		result1 v1alpha2.PolicyStatus
	}
	getPolicyStatusReturnsOnCall map[int]struct {
		result1 v1alpha2.PolicyStatus
	}
	GetResourceVersionStub        func() string
	getResourceVersionMutex       sync.RWMutex
	getResourceVersionArgsForCall []struct {
	}
	getResourceVersionReturns struct {
		result1 string
	}
	getResourceVersionReturnsOnCall map[int]struct {
		result1 string
	}
	GetSelfLinkStub        func() string
	getSelfLinkMutex       sync.RWMutex
	getSelfLinkArgsForCall []struct {
	}
	getSelfLinkReturns struct {
		result1 string
	}
	getSelfLinkReturnsOnCall map[int]struct {
		result1 string
	}
	GetTargetRefsStub        func() []v1alpha2.LocalPolicyTargetReference
	getTargetRefsMutex       sync.RWMutex
	getTargetRefsArgsForCall []struct {
	}
	getTargetRefsReturns struct {
		result1 []v1alpha2.LocalPolicyTargetReference
	}
	getTargetRefsReturnsOnCall map[int]struct {
		result1 []v1alpha2.LocalPolicyTargetReference
	}
	GetUIDStub        func() types.UID
	getUIDMutex       sync.RWMutex
	getUIDArgsForCall []struct {
	}
	getUIDReturns struct {
		result1 types.UID
	}
	getUIDReturnsOnCall map[int]struct {
		result1 types.UID
	}
	SetAnnotationsStub        func(map[string]string)
	setAnnotationsMutex       sync.RWMutex
	setAnnotationsArgsForCall []struct {
		arg1 map[string]string
	}
	SetCreationTimestampStub        func(v1.Time)
	setCreationTimestampMutex       sync.RWMutex
	setCreationTimestampArgsForCall []struct {
		arg1 v1.Time
	}
	SetDeletionGracePeriodSecondsStub        func(*int64)
	setDeletionGracePeriodSecondsMutex       sync.RWMutex
	setDeletionGracePeriodSecondsArgsForCall []struct {
		arg1 *int64
	}
	SetDeletionTimestampStub        func(*v1.Time)
	setDeletionTimestampMutex       sync.RWMutex
	setDeletionTimestampArgsForCall []struct {
		arg1 *v1.Time
	}
	SetFinalizersStub        func([]string)
	setFinalizersMutex       sync.RWMutex
	setFinalizersArgsForCall []struct {
		arg1 []string
	}
	SetGenerateNameStub        func(string)
	setGenerateNameMutex       sync.RWMutex
	setGenerateNameArgsForCall []struct {
		arg1 string
	}
	SetGenerationStub        func(int64)
	setGenerationMutex       sync.RWMutex
	setGenerationArgsForCall []struct {
		arg1 int64
	}
	SetLabelsStub        func(map[string]string)
	setLabelsMutex       sync.RWMutex
	setLabelsArgsForCall []struct {
		arg1 map[string]string
	}
	SetManagedFieldsStub        func([]v1.ManagedFieldsEntry)
	setManagedFieldsMutex       sync.RWMutex
	setManagedFieldsArgsForCall []struct {
		arg1 []v1.ManagedFieldsEntry
	}
	SetNameStub        func(string)
	setNameMutex       sync.RWMutex
	setNameArgsForCall []struct {
		arg1 string
	}
	SetNamespaceStub        func(string)
	setNamespaceMutex       sync.RWMutex
	setNamespaceArgsForCall []struct {
		arg1 string
	}
	SetOwnerReferencesStub        func([]v1.OwnerReference)
	setOwnerReferencesMutex       sync.RWMutex
	setOwnerReferencesArgsForCall []struct {
		arg1 []v1.OwnerReference
	}
	SetPolicyStatusStub        func(v1alpha2.PolicyStatus)
	setPolicyStatusMutex       sync.RWMutex
	setPolicyStatusArgsForCall []struct {
		arg1 v1alpha2.PolicyStatus
	}
	SetResourceVersionStub        func(string)
	setResourceVersionMutex       sync.RWMutex
	setResourceVersionArgsForCall []struct {
		arg1 string
	}
	SetSelfLinkStub        func(string)
	setSelfLinkMutex       sync.RWMutex
	setSelfLinkArgsForCall []struct {
		arg1 string
	}
	SetUIDStub        func(types.UID)
	setUIDMutex       sync.RWMutex
	setUIDArgsForCall []struct {
		arg1 types.UID
	}
	invocations      map[string][][]interface{}
	invocationsMutex sync.RWMutex
}

func (fake *FakePolicy) DeepCopyObject() runtime.Object {
	fake.deepCopyObjectMutex.Lock()
	ret, specificReturn := fake.deepCopyObjectReturnsOnCall[len(fake.deepCopyObjectArgsForCall)]
	fake.deepCopyObjectArgsForCall = append(fake.deepCopyObjectArgsForCall, struct {
	}{})
	stub := fake.DeepCopyObjectStub
	fakeReturns := fake.deepCopyObjectReturns
	fake.recordInvocation("DeepCopyObject", []interface{}{})
	fake.deepCopyObjectMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) DeepCopyObjectCallCount() int {
	fake.deepCopyObjectMutex.RLock()
	defer fake.deepCopyObjectMutex.RUnlock()
	return len(fake.deepCopyObjectArgsForCall)
}

func (fake *FakePolicy) DeepCopyObjectCalls(stub func() runtime.Object) {
	fake.deepCopyObjectMutex.Lock()
	defer fake.deepCopyObjectMutex.Unlock()
	fake.DeepCopyObjectStub = stub
}

func (fake *FakePolicy) DeepCopyObjectReturns(result1 runtime.Object) {
	fake.deepCopyObjectMutex.Lock()
	defer fake.deepCopyObjectMutex.Unlock()
	fake.DeepCopyObjectStub = nil
	fake.deepCopyObjectReturns = struct {
		result1 runtime.Object
	}{result1}
}

func (fake *FakePolicy) DeepCopyObjectReturnsOnCall(i int, result1 runtime.Object) {
	fake.deepCopyObjectMutex.Lock()
	defer fake.deepCopyObjectMutex.Unlock()
	fake.DeepCopyObjectStub = nil
	if fake.deepCopyObjectReturnsOnCall == nil {
		fake.deepCopyObjectReturnsOnCall = make(map[int]struct {
			result1 runtime.Object
		})
	}
	fake.deepCopyObjectReturnsOnCall[i] = struct {
		result1 runtime.Object
	}{result1}
}

func (fake *FakePolicy) GetAnnotations() map[string]string {
	fake.getAnnotationsMutex.Lock()
	ret, specificReturn := fake.getAnnotationsReturnsOnCall[len(fake.getAnnotationsArgsForCall)]
	fake.getAnnotationsArgsForCall = append(fake.getAnnotationsArgsForCall, struct {
	}{})
	stub := fake.GetAnnotationsStub
	fakeReturns := fake.getAnnotationsReturns
	fake.recordInvocation("GetAnnotations", []interface{}{})
	fake.getAnnotationsMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetAnnotationsCallCount() int {
	fake.getAnnotationsMutex.RLock()
	defer fake.getAnnotationsMutex.RUnlock()
	return len(fake.getAnnotationsArgsForCall)
}

func (fake *FakePolicy) GetAnnotationsCalls(stub func() map[string]string) {
	fake.getAnnotationsMutex.Lock()
	defer fake.getAnnotationsMutex.Unlock()
	fake.GetAnnotationsStub = stub
}

func (fake *FakePolicy) GetAnnotationsReturns(result1 map[string]string) {
	fake.getAnnotationsMutex.Lock()
	defer fake.getAnnotationsMutex.Unlock()
	fake.GetAnnotationsStub = nil
	fake.getAnnotationsReturns = struct {
		result1 map[string]string
	}{result1}
}

func (fake *FakePolicy) GetAnnotationsReturnsOnCall(i int, result1 map[string]string) {
	fake.getAnnotationsMutex.Lock()
	defer fake.getAnnotationsMutex.Unlock()
	fake.GetAnnotationsStub = nil
	if fake.getAnnotationsReturnsOnCall == nil {
		fake.getAnnotationsReturnsOnCall = make(map[int]struct {
			result1 map[string]string
		})
	}
	fake.getAnnotationsReturnsOnCall[i] = struct {
		result1 map[string]string
	}{result1}
}

func (fake *FakePolicy) GetCreationTimestamp() v1.Time {
	fake.getCreationTimestampMutex.Lock()
	ret, specificReturn := fake.getCreationTimestampReturnsOnCall[len(fake.getCreationTimestampArgsForCall)]
	fake.getCreationTimestampArgsForCall = append(fake.getCreationTimestampArgsForCall, struct {
	}{})
	stub := fake.GetCreationTimestampStub
	fakeReturns := fake.getCreationTimestampReturns
	fake.recordInvocation("GetCreationTimestamp", []interface{}{})
	fake.getCreationTimestampMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetCreationTimestampCallCount() int {
	fake.getCreationTimestampMutex.RLock()
	defer fake.getCreationTimestampMutex.RUnlock()
	return len(fake.getCreationTimestampArgsForCall)
}

func (fake *FakePolicy) GetCreationTimestampCalls(stub func() v1.Time) {
	fake.getCreationTimestampMutex.Lock()
	defer fake.getCreationTimestampMutex.Unlock()
	fake.GetCreationTimestampStub = stub
}

func (fake *FakePolicy) GetCreationTimestampReturns(result1 v1.Time) {
	fake.getCreationTimestampMutex.Lock()
	defer fake.getCreationTimestampMutex.Unlock()
	fake.GetCreationTimestampStub = nil
	fake.getCreationTimestampReturns = struct {
		result1 v1.Time
	}{result1}
}

func (fake *FakePolicy) GetCreationTimestampReturnsOnCall(i int, result1 v1.Time) {
	fake.getCreationTimestampMutex.Lock()
	defer fake.getCreationTimestampMutex.Unlock()
	fake.GetCreationTimestampStub = nil
	if fake.getCreationTimestampReturnsOnCall == nil {
		fake.getCreationTimestampReturnsOnCall = make(map[int]struct {
			result1 v1.Time
		})
	}
	fake.getCreationTimestampReturnsOnCall[i] = struct {
		result1 v1.Time
	}{result1}
}

func (fake *FakePolicy) GetDeletionGracePeriodSeconds() *int64 {
	fake.getDeletionGracePeriodSecondsMutex.Lock()
	ret, specificReturn := fake.getDeletionGracePeriodSecondsReturnsOnCall[len(fake.getDeletionGracePeriodSecondsArgsForCall)]
	fake.getDeletionGracePeriodSecondsArgsForCall = append(fake.getDeletionGracePeriodSecondsArgsForCall, struct {
	}{})
	stub := fake.GetDeletionGracePeriodSecondsStub
	fakeReturns := fake.getDeletionGracePeriodSecondsReturns
	fake.recordInvocation("GetDeletionGracePeriodSeconds", []interface{}{})
	fake.getDeletionGracePeriodSecondsMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetDeletionGracePeriodSecondsCallCount() int {
	fake.getDeletionGracePeriodSecondsMutex.RLock()
	defer fake.getDeletionGracePeriodSecondsMutex.RUnlock()
	return len(fake.getDeletionGracePeriodSecondsArgsForCall)
}

func (fake *FakePolicy) GetDeletionGracePeriodSecondsCalls(stub func() *int64) {
	fake.getDeletionGracePeriodSecondsMutex.Lock()
	defer fake.getDeletionGracePeriodSecondsMutex.Unlock()
	fake.GetDeletionGracePeriodSecondsStub = stub
}

func (fake *FakePolicy) GetDeletionGracePeriodSecondsReturns(result1 *int64) {
	fake.getDeletionGracePeriodSecondsMutex.Lock()
	defer fake.getDeletionGracePeriodSecondsMutex.Unlock()
	fake.GetDeletionGracePeriodSecondsStub = nil
	fake.getDeletionGracePeriodSecondsReturns = struct {
		result1 *int64
	}{result1}
}

func (fake *FakePolicy) GetDeletionGracePeriodSecondsReturnsOnCall(i int, result1 *int64) {
	fake.getDeletionGracePeriodSecondsMutex.Lock()
	defer fake.getDeletionGracePeriodSecondsMutex.Unlock()
	fake.GetDeletionGracePeriodSecondsStub = nil
	if fake.getDeletionGracePeriodSecondsReturnsOnCall == nil {
		fake.getDeletionGracePeriodSecondsReturnsOnCall = make(map[int]struct {
			result1 *int64
		})
	}
	fake.getDeletionGracePeriodSecondsReturnsOnCall[i] = struct {
		result1 *int64
	}{result1}
}

func (fake *FakePolicy) GetDeletionTimestamp() *v1.Time {
	fake.getDeletionTimestampMutex.Lock()
	ret, specificReturn := fake.getDeletionTimestampReturnsOnCall[len(fake.getDeletionTimestampArgsForCall)]
	fake.getDeletionTimestampArgsForCall = append(fake.getDeletionTimestampArgsForCall, struct {
	}{})
	stub := fake.GetDeletionTimestampStub
	fakeReturns := fake.getDeletionTimestampReturns
	fake.recordInvocation("GetDeletionTimestamp", []interface{}{})
	fake.getDeletionTimestampMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetDeletionTimestampCallCount() int {
	fake.getDeletionTimestampMutex.RLock()
	defer fake.getDeletionTimestampMutex.RUnlock()
	return len(fake.getDeletionTimestampArgsForCall)
}

func (fake *FakePolicy) GetDeletionTimestampCalls(stub func() *v1.Time) {
	fake.getDeletionTimestampMutex.Lock()
	defer fake.getDeletionTimestampMutex.Unlock()
	fake.GetDeletionTimestampStub = stub
}

func (fake *FakePolicy) GetDeletionTimestampReturns(result1 *v1.Time) {
	fake.getDeletionTimestampMutex.Lock()
	defer fake.getDeletionTimestampMutex.Unlock()
	fake.GetDeletionTimestampStub = nil
	fake.getDeletionTimestampReturns = struct {
		result1 *v1.Time
	}{result1}
}

func (fake *FakePolicy) GetDeletionTimestampReturnsOnCall(i int, result1 *v1.Time) {
	fake.getDeletionTimestampMutex.Lock()
	defer fake.getDeletionTimestampMutex.Unlock()
	fake.GetDeletionTimestampStub = nil
	if fake.getDeletionTimestampReturnsOnCall == nil {
		fake.getDeletionTimestampReturnsOnCall = make(map[int]struct {
			result1 *v1.Time
		})
	}
	fake.getDeletionTimestampReturnsOnCall[i] = struct {
		result1 *v1.Time
	}{result1}
}

func (fake *FakePolicy) GetFinalizers() []string {
	fake.getFinalizersMutex.Lock()
	ret, specificReturn := fake.getFinalizersReturnsOnCall[len(fake.getFinalizersArgsForCall)]
	fake.getFinalizersArgsForCall = append(fake.getFinalizersArgsForCall, struct {
	}{})
	stub := fake.GetFinalizersStub
	fakeReturns := fake.getFinalizersReturns
	fake.recordInvocation("GetFinalizers", []interface{}{})
	fake.getFinalizersMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetFinalizersCallCount() int {
	fake.getFinalizersMutex.RLock()
	defer fake.getFinalizersMutex.RUnlock()
	return len(fake.getFinalizersArgsForCall)
}

func (fake *FakePolicy) GetFinalizersCalls(stub func() []string) {
	fake.getFinalizersMutex.Lock()
	defer fake.getFinalizersMutex.Unlock()
	fake.GetFinalizersStub = stub
}

func (fake *FakePolicy) GetFinalizersReturns(result1 []string) {
	fake.getFinalizersMutex.Lock()
	defer fake.getFinalizersMutex.Unlock()
	fake.GetFinalizersStub = nil
	fake.getFinalizersReturns = struct {
		result1 []string
	}{result1}
}

func (fake *FakePolicy) GetFinalizersReturnsOnCall(i int, result1 []string) {
	fake.getFinalizersMutex.Lock()
	defer fake.getFinalizersMutex.Unlock()
	fake.GetFinalizersStub = nil
	if fake.getFinalizersReturnsOnCall == nil {
		fake.getFinalizersReturnsOnCall = make(map[int]struct {
			result1 []string
		})
	}
	fake.getFinalizersReturnsOnCall[i] = struct {
		result1 []string
	}{result1}
}

func (fake *FakePolicy) GetGenerateName() string {
	fake.getGenerateNameMutex.Lock()
	ret, specificReturn := fake.getGenerateNameReturnsOnCall[len(fake.getGenerateNameArgsForCall)]
	fake.getGenerateNameArgsForCall = append(fake.getGenerateNameArgsForCall, struct {
	}{})
	stub := fake.GetGenerateNameStub
	fakeReturns := fake.getGenerateNameReturns
	fake.recordInvocation("GetGenerateName", []interface{}{})
	fake.getGenerateNameMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetGenerateNameCallCount() int {
	fake.getGenerateNameMutex.RLock()
	defer fake.getGenerateNameMutex.RUnlock()
	return len(fake.getGenerateNameArgsForCall)
}

func (fake *FakePolicy) GetGenerateNameCalls(stub func() string) {
	fake.getGenerateNameMutex.Lock()
	defer fake.getGenerateNameMutex.Unlock()
	fake.GetGenerateNameStub = stub
}

func (fake *FakePolicy) GetGenerateNameReturns(result1 string) {
	fake.getGenerateNameMutex.Lock()
	defer fake.getGenerateNameMutex.Unlock()
	fake.GetGenerateNameStub = nil
	fake.getGenerateNameReturns = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetGenerateNameReturnsOnCall(i int, result1 string) {
	fake.getGenerateNameMutex.Lock()
	defer fake.getGenerateNameMutex.Unlock()
	fake.GetGenerateNameStub = nil
	if fake.getGenerateNameReturnsOnCall == nil {
		fake.getGenerateNameReturnsOnCall = make(map[int]struct {
			result1 string
		})
	}
	fake.getGenerateNameReturnsOnCall[i] = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetGeneration() int64 {
	fake.getGenerationMutex.Lock()
	ret, specificReturn := fake.getGenerationReturnsOnCall[len(fake.getGenerationArgsForCall)]
	fake.getGenerationArgsForCall = append(fake.getGenerationArgsForCall, struct {
	}{})
	stub := fake.GetGenerationStub
	fakeReturns := fake.getGenerationReturns
	fake.recordInvocation("GetGeneration", []interface{}{})
	fake.getGenerationMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetGenerationCallCount() int {
	fake.getGenerationMutex.RLock()
	defer fake.getGenerationMutex.RUnlock()
	return len(fake.getGenerationArgsForCall)
}

func (fake *FakePolicy) GetGenerationCalls(stub func() int64) {
	fake.getGenerationMutex.Lock()
	defer fake.getGenerationMutex.Unlock()
	fake.GetGenerationStub = stub
}

func (fake *FakePolicy) GetGenerationReturns(result1 int64) {
	fake.getGenerationMutex.Lock()
	defer fake.getGenerationMutex.Unlock()
	fake.GetGenerationStub = nil
	fake.getGenerationReturns = struct {
		result1 int64
	}{result1}
}

func (fake *FakePolicy) GetGenerationReturnsOnCall(i int, result1 int64) {
	fake.getGenerationMutex.Lock()
	defer fake.getGenerationMutex.Unlock()
	fake.GetGenerationStub = nil
	if fake.getGenerationReturnsOnCall == nil {
		fake.getGenerationReturnsOnCall = make(map[int]struct {
			result1 int64
		})
	}
	fake.getGenerationReturnsOnCall[i] = struct {
		result1 int64
	}{result1}
}

func (fake *FakePolicy) GetLabels() map[string]string {
	fake.getLabelsMutex.Lock()
	ret, specificReturn := fake.getLabelsReturnsOnCall[len(fake.getLabelsArgsForCall)]
	fake.getLabelsArgsForCall = append(fake.getLabelsArgsForCall, struct {
	}{})
	stub := fake.GetLabelsStub
	fakeReturns := fake.getLabelsReturns
	fake.recordInvocation("GetLabels", []interface{}{})
	fake.getLabelsMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetLabelsCallCount() int {
	fake.getLabelsMutex.RLock()
	defer fake.getLabelsMutex.RUnlock()
	return len(fake.getLabelsArgsForCall)
}

func (fake *FakePolicy) GetLabelsCalls(stub func() map[string]string) {
	fake.getLabelsMutex.Lock()
	defer fake.getLabelsMutex.Unlock()
	fake.GetLabelsStub = stub
}

func (fake *FakePolicy) GetLabelsReturns(result1 map[string]string) {
	fake.getLabelsMutex.Lock()
	defer fake.getLabelsMutex.Unlock()
	fake.GetLabelsStub = nil
	fake.getLabelsReturns = struct {
		result1 map[string]string
	}{result1}
}

func (fake *FakePolicy) GetLabelsReturnsOnCall(i int, result1 map[string]string) {
	fake.getLabelsMutex.Lock()
	defer fake.getLabelsMutex.Unlock()
	fake.GetLabelsStub = nil
	if fake.getLabelsReturnsOnCall == nil {
		fake.getLabelsReturnsOnCall = make(map[int]struct {
			result1 map[string]string
		})
	}
	fake.getLabelsReturnsOnCall[i] = struct {
		result1 map[string]string
	}{result1}
}

func (fake *FakePolicy) GetManagedFields() []v1.ManagedFieldsEntry {
	fake.getManagedFieldsMutex.Lock()
	ret, specificReturn := fake.getManagedFieldsReturnsOnCall[len(fake.getManagedFieldsArgsForCall)]
	fake.getManagedFieldsArgsForCall = append(fake.getManagedFieldsArgsForCall, struct {
	}{})
	stub := fake.GetManagedFieldsStub
	fakeReturns := fake.getManagedFieldsReturns
	fake.recordInvocation("GetManagedFields", []interface{}{})
	fake.getManagedFieldsMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetManagedFieldsCallCount() int {
	fake.getManagedFieldsMutex.RLock()
	defer fake.getManagedFieldsMutex.RUnlock()
	return len(fake.getManagedFieldsArgsForCall)
}

func (fake *FakePolicy) GetManagedFieldsCalls(stub func() []v1.ManagedFieldsEntry) {
	fake.getManagedFieldsMutex.Lock()
	defer fake.getManagedFieldsMutex.Unlock()
	fake.GetManagedFieldsStub = stub
}

func (fake *FakePolicy) GetManagedFieldsReturns(result1 []v1.ManagedFieldsEntry) {
	fake.getManagedFieldsMutex.Lock()
	defer fake.getManagedFieldsMutex.Unlock()
	fake.GetManagedFieldsStub = nil
	fake.getManagedFieldsReturns = struct {
		result1 []v1.ManagedFieldsEntry
	}{result1}
}

func (fake *FakePolicy) GetManagedFieldsReturnsOnCall(i int, result1 []v1.ManagedFieldsEntry) {
	fake.getManagedFieldsMutex.Lock()
	defer fake.getManagedFieldsMutex.Unlock()
	fake.GetManagedFieldsStub = nil
	if fake.getManagedFieldsReturnsOnCall == nil {
		fake.getManagedFieldsReturnsOnCall = make(map[int]struct {
			result1 []v1.ManagedFieldsEntry
		})
	}
	fake.getManagedFieldsReturnsOnCall[i] = struct {
		result1 []v1.ManagedFieldsEntry
	}{result1}
}

func (fake *FakePolicy) GetName() string {
	fake.getNameMutex.Lock()
	ret, specificReturn := fake.getNameReturnsOnCall[len(fake.getNameArgsForCall)]
	fake.getNameArgsForCall = append(fake.getNameArgsForCall, struct {
	}{})
	stub := fake.GetNameStub
	fakeReturns := fake.getNameReturns
	fake.recordInvocation("GetName", []interface{}{})
	fake.getNameMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetNameCallCount() int {
	fake.getNameMutex.RLock()
	defer fake.getNameMutex.RUnlock()
	return len(fake.getNameArgsForCall)
}

func (fake *FakePolicy) GetNameCalls(stub func() string) {
	fake.getNameMutex.Lock()
	defer fake.getNameMutex.Unlock()
	fake.GetNameStub = stub
}

func (fake *FakePolicy) GetNameReturns(result1 string) {
	fake.getNameMutex.Lock()
	defer fake.getNameMutex.Unlock()
	fake.GetNameStub = nil
	fake.getNameReturns = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetNameReturnsOnCall(i int, result1 string) {
	fake.getNameMutex.Lock()
	defer fake.getNameMutex.Unlock()
	fake.GetNameStub = nil
	if fake.getNameReturnsOnCall == nil {
		fake.getNameReturnsOnCall = make(map[int]struct {
			result1 string
		})
	}
	fake.getNameReturnsOnCall[i] = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetNamespace() string {
	fake.getNamespaceMutex.Lock()
	ret, specificReturn := fake.getNamespaceReturnsOnCall[len(fake.getNamespaceArgsForCall)]
	fake.getNamespaceArgsForCall = append(fake.getNamespaceArgsForCall, struct {
	}{})
	stub := fake.GetNamespaceStub
	fakeReturns := fake.getNamespaceReturns
	fake.recordInvocation("GetNamespace", []interface{}{})
	fake.getNamespaceMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetNamespaceCallCount() int {
	fake.getNamespaceMutex.RLock()
	defer fake.getNamespaceMutex.RUnlock()
	return len(fake.getNamespaceArgsForCall)
}

func (fake *FakePolicy) GetNamespaceCalls(stub func() string) {
	fake.getNamespaceMutex.Lock()
	defer fake.getNamespaceMutex.Unlock()
	fake.GetNamespaceStub = stub
}

func (fake *FakePolicy) GetNamespaceReturns(result1 string) {
	fake.getNamespaceMutex.Lock()
	defer fake.getNamespaceMutex.Unlock()
	fake.GetNamespaceStub = nil
	fake.getNamespaceReturns = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetNamespaceReturnsOnCall(i int, result1 string) {
	fake.getNamespaceMutex.Lock()
	defer fake.getNamespaceMutex.Unlock()
	fake.GetNamespaceStub = nil
	if fake.getNamespaceReturnsOnCall == nil {
		fake.getNamespaceReturnsOnCall = make(map[int]struct {
			result1 string
		})
	}
	fake.getNamespaceReturnsOnCall[i] = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetObjectKind() schema.ObjectKind {
	fake.getObjectKindMutex.Lock()
	ret, specificReturn := fake.getObjectKindReturnsOnCall[len(fake.getObjectKindArgsForCall)]
	fake.getObjectKindArgsForCall = append(fake.getObjectKindArgsForCall, struct {
	}{})
	stub := fake.GetObjectKindStub
	fakeReturns := fake.getObjectKindReturns
	fake.recordInvocation("GetObjectKind", []interface{}{})
	fake.getObjectKindMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetObjectKindCallCount() int {
	fake.getObjectKindMutex.RLock()
	defer fake.getObjectKindMutex.RUnlock()
	return len(fake.getObjectKindArgsForCall)
}

func (fake *FakePolicy) GetObjectKindCalls(stub func() schema.ObjectKind) {
	fake.getObjectKindMutex.Lock()
	defer fake.getObjectKindMutex.Unlock()
	fake.GetObjectKindStub = stub
}

func (fake *FakePolicy) GetObjectKindReturns(result1 schema.ObjectKind) {
	fake.getObjectKindMutex.Lock()
	defer fake.getObjectKindMutex.Unlock()
	fake.GetObjectKindStub = nil
	fake.getObjectKindReturns = struct {
		result1 schema.ObjectKind
	}{result1}
}

func (fake *FakePolicy) GetObjectKindReturnsOnCall(i int, result1 schema.ObjectKind) {
	fake.getObjectKindMutex.Lock()
	defer fake.getObjectKindMutex.Unlock()
	fake.GetObjectKindStub = nil
	if fake.getObjectKindReturnsOnCall == nil {
		fake.getObjectKindReturnsOnCall = make(map[int]struct {
			result1 schema.ObjectKind
		})
	}
	fake.getObjectKindReturnsOnCall[i] = struct {
		result1 schema.ObjectKind
	}{result1}
}

func (fake *FakePolicy) GetOwnerReferences() []v1.OwnerReference {
	fake.getOwnerReferencesMutex.Lock()
	ret, specificReturn := fake.getOwnerReferencesReturnsOnCall[len(fake.getOwnerReferencesArgsForCall)]
	fake.getOwnerReferencesArgsForCall = append(fake.getOwnerReferencesArgsForCall, struct {
	}{})
	stub := fake.GetOwnerReferencesStub
	fakeReturns := fake.getOwnerReferencesReturns
	fake.recordInvocation("GetOwnerReferences", []interface{}{})
	fake.getOwnerReferencesMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetOwnerReferencesCallCount() int {
	fake.getOwnerReferencesMutex.RLock()
	defer fake.getOwnerReferencesMutex.RUnlock()
	return len(fake.getOwnerReferencesArgsForCall)
}

func (fake *FakePolicy) GetOwnerReferencesCalls(stub func() []v1.OwnerReference) {
	fake.getOwnerReferencesMutex.Lock()
	defer fake.getOwnerReferencesMutex.Unlock()
	fake.GetOwnerReferencesStub = stub
}

func (fake *FakePolicy) GetOwnerReferencesReturns(result1 []v1.OwnerReference) {
	fake.getOwnerReferencesMutex.Lock()
	defer fake.getOwnerReferencesMutex.Unlock()
	fake.GetOwnerReferencesStub = nil
	fake.getOwnerReferencesReturns = struct {
		result1 []v1.OwnerReference
	}{result1}
}

func (fake *FakePolicy) GetOwnerReferencesReturnsOnCall(i int, result1 []v1.OwnerReference) {
	fake.getOwnerReferencesMutex.Lock()
	defer fake.getOwnerReferencesMutex.Unlock()
	fake.GetOwnerReferencesStub = nil
	if fake.getOwnerReferencesReturnsOnCall == nil {
		fake.getOwnerReferencesReturnsOnCall = make(map[int]struct {
			result1 []v1.OwnerReference
		})
	}
	fake.getOwnerReferencesReturnsOnCall[i] = struct {
		result1 []v1.OwnerReference
	}{result1}
}

func (fake *FakePolicy) GetPolicyStatus() v1alpha2.PolicyStatus {
	fake.getPolicyStatusMutex.Lock()
	ret, specificReturn := fake.getPolicyStatusReturnsOnCall[len(fake.getPolicyStatusArgsForCall)]
	fake.getPolicyStatusArgsForCall = append(fake.getPolicyStatusArgsForCall, struct {
	}{})
	stub := fake.GetPolicyStatusStub
	fakeReturns := fake.getPolicyStatusReturns
	fake.recordInvocation("GetPolicyStatus", []interface{}{})
	fake.getPolicyStatusMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetPolicyStatusCallCount() int {
	fake.getPolicyStatusMutex.RLock()
	defer fake.getPolicyStatusMutex.RUnlock()
	return len(fake.getPolicyStatusArgsForCall)
}

func (fake *FakePolicy) GetPolicyStatusCalls(stub func() v1alpha2.PolicyStatus) {
	fake.getPolicyStatusMutex.Lock()
	defer fake.getPolicyStatusMutex.Unlock()
	fake.GetPolicyStatusStub = stub
}

func (fake *FakePolicy) GetPolicyStatusReturns(result1 v1alpha2.PolicyStatus) {
	fake.getPolicyStatusMutex.Lock()
	defer fake.getPolicyStatusMutex.Unlock()
	fake.GetPolicyStatusStub = nil
	fake.getPolicyStatusReturns = struct {
		result1 v1alpha2.PolicyStatus
	}{result1}
}

func (fake *FakePolicy) GetPolicyStatusReturnsOnCall(i int, result1 v1alpha2.PolicyStatus) {
	fake.getPolicyStatusMutex.Lock()
	defer fake.getPolicyStatusMutex.Unlock()
	fake.GetPolicyStatusStub = nil
	if fake.getPolicyStatusReturnsOnCall == nil {
		fake.getPolicyStatusReturnsOnCall = make(map[int]struct {
			result1 v1alpha2.PolicyStatus
		})
	}
	fake.getPolicyStatusReturnsOnCall[i] = struct {
		result1 v1alpha2.PolicyStatus
	}{result1}
}

func (fake *FakePolicy) GetResourceVersion() string {
	fake.getResourceVersionMutex.Lock()
	ret, specificReturn := fake.getResourceVersionReturnsOnCall[len(fake.getResourceVersionArgsForCall)]
	fake.getResourceVersionArgsForCall = append(fake.getResourceVersionArgsForCall, struct {
	}{})
	stub := fake.GetResourceVersionStub
	fakeReturns := fake.getResourceVersionReturns
	fake.recordInvocation("GetResourceVersion", []interface{}{})
	fake.getResourceVersionMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetResourceVersionCallCount() int {
	fake.getResourceVersionMutex.RLock()
	defer fake.getResourceVersionMutex.RUnlock()
	return len(fake.getResourceVersionArgsForCall)
}

func (fake *FakePolicy) GetResourceVersionCalls(stub func() string) {
	fake.getResourceVersionMutex.Lock()
	defer fake.getResourceVersionMutex.Unlock()
	fake.GetResourceVersionStub = stub
}

func (fake *FakePolicy) GetResourceVersionReturns(result1 string) {
	fake.getResourceVersionMutex.Lock()
	defer fake.getResourceVersionMutex.Unlock()
	fake.GetResourceVersionStub = nil
	fake.getResourceVersionReturns = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetResourceVersionReturnsOnCall(i int, result1 string) {
	fake.getResourceVersionMutex.Lock()
	defer fake.getResourceVersionMutex.Unlock()
	fake.GetResourceVersionStub = nil
	if fake.getResourceVersionReturnsOnCall == nil {
		fake.getResourceVersionReturnsOnCall = make(map[int]struct {
			result1 string
		})
	}
	fake.getResourceVersionReturnsOnCall[i] = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetSelfLink() string {
	fake.getSelfLinkMutex.Lock()
	ret, specificReturn := fake.getSelfLinkReturnsOnCall[len(fake.getSelfLinkArgsForCall)]
	fake.getSelfLinkArgsForCall = append(fake.getSelfLinkArgsForCall, struct {
	}{})
	stub := fake.GetSelfLinkStub
	fakeReturns := fake.getSelfLinkReturns
	fake.recordInvocation("GetSelfLink", []interface{}{})
	fake.getSelfLinkMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetSelfLinkCallCount() int {
	fake.getSelfLinkMutex.RLock()
	defer fake.getSelfLinkMutex.RUnlock()
	return len(fake.getSelfLinkArgsForCall)
}

func (fake *FakePolicy) GetSelfLinkCalls(stub func() string) {
	fake.getSelfLinkMutex.Lock()
	defer fake.getSelfLinkMutex.Unlock()
	fake.GetSelfLinkStub = stub
}

func (fake *FakePolicy) GetSelfLinkReturns(result1 string) {
	fake.getSelfLinkMutex.Lock()
	defer fake.getSelfLinkMutex.Unlock()
	fake.GetSelfLinkStub = nil
	fake.getSelfLinkReturns = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetSelfLinkReturnsOnCall(i int, result1 string) {
	fake.getSelfLinkMutex.Lock()
	defer fake.getSelfLinkMutex.Unlock()
	fake.GetSelfLinkStub = nil
	if fake.getSelfLinkReturnsOnCall == nil {
		fake.getSelfLinkReturnsOnCall = make(map[int]struct {
			result1 string
		})
	}
	fake.getSelfLinkReturnsOnCall[i] = struct {
		result1 string
	}{result1}
}

func (fake *FakePolicy) GetTargetRefs() []v1alpha2.LocalPolicyTargetReference {
	fake.getTargetRefsMutex.Lock()
	ret, specificReturn := fake.getTargetRefsReturnsOnCall[len(fake.getTargetRefsArgsForCall)]
	fake.getTargetRefsArgsForCall = append(fake.getTargetRefsArgsForCall, struct {
	}{})
	stub := fake.GetTargetRefsStub
	fakeReturns := fake.getTargetRefsReturns
	fake.recordInvocation("GetTargetRefs", []interface{}{})
	fake.getTargetRefsMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetTargetRefsCallCount() int {
	fake.getTargetRefsMutex.RLock()
	defer fake.getTargetRefsMutex.RUnlock()
	return len(fake.getTargetRefsArgsForCall)
}

func (fake *FakePolicy) GetTargetRefsCalls(stub func() []v1alpha2.LocalPolicyTargetReference) {
	fake.getTargetRefsMutex.Lock()
	defer fake.getTargetRefsMutex.Unlock()
	fake.GetTargetRefsStub = stub
}

func (fake *FakePolicy) GetTargetRefsReturns(result1 []v1alpha2.LocalPolicyTargetReference) {
	fake.getTargetRefsMutex.Lock()
	defer fake.getTargetRefsMutex.Unlock()
	fake.GetTargetRefsStub = nil
	fake.getTargetRefsReturns = struct {
		result1 []v1alpha2.LocalPolicyTargetReference
	}{result1}
}

func (fake *FakePolicy) GetTargetRefsReturnsOnCall(i int, result1 []v1alpha2.LocalPolicyTargetReference) {
	fake.getTargetRefsMutex.Lock()
	defer fake.getTargetRefsMutex.Unlock()
	fake.GetTargetRefsStub = nil
	if fake.getTargetRefsReturnsOnCall == nil {
		fake.getTargetRefsReturnsOnCall = make(map[int]struct {
			result1 []v1alpha2.LocalPolicyTargetReference
		})
	}
	fake.getTargetRefsReturnsOnCall[i] = struct {
		result1 []v1alpha2.LocalPolicyTargetReference
	}{result1}
}

func (fake *FakePolicy) GetUID() types.UID {
	fake.getUIDMutex.Lock()
	ret, specificReturn := fake.getUIDReturnsOnCall[len(fake.getUIDArgsForCall)]
	fake.getUIDArgsForCall = append(fake.getUIDArgsForCall, struct {
	}{})
	stub := fake.GetUIDStub
	fakeReturns := fake.getUIDReturns
	fake.recordInvocation("GetUID", []interface{}{})
	fake.getUIDMutex.Unlock()
	if stub != nil {
		return stub()
	}
	if specificReturn {
		return ret.result1
	}
	return fakeReturns.result1
}

func (fake *FakePolicy) GetUIDCallCount() int {
	fake.getUIDMutex.RLock()
	defer fake.getUIDMutex.RUnlock()
	return len(fake.getUIDArgsForCall)
}

func (fake *FakePolicy) GetUIDCalls(stub func() types.UID) {
	fake.getUIDMutex.Lock()
	defer fake.getUIDMutex.Unlock()
	fake.GetUIDStub = stub
}

func (fake *FakePolicy) GetUIDReturns(result1 types.UID) {
	fake.getUIDMutex.Lock()
	defer fake.getUIDMutex.Unlock()
	fake.GetUIDStub = nil
	fake.getUIDReturns = struct {
		result1 types.UID
	}{result1}
}

func (fake *FakePolicy) GetUIDReturnsOnCall(i int, result1 types.UID) {
	fake.getUIDMutex.Lock()
	defer fake.getUIDMutex.Unlock()
	fake.GetUIDStub = nil
	if fake.getUIDReturnsOnCall == nil {
		fake.getUIDReturnsOnCall = make(map[int]struct {
			result1 types.UID
		})
	}
	fake.getUIDReturnsOnCall[i] = struct {
		result1 types.UID
	}{result1}
}

func (fake *FakePolicy) SetAnnotations(arg1 map[string]string) {
	fake.setAnnotationsMutex.Lock()
	fake.setAnnotationsArgsForCall = append(fake.setAnnotationsArgsForCall, struct {
		arg1 map[string]string
	}{arg1})
	stub := fake.SetAnnotationsStub
	fake.recordInvocation("SetAnnotations", []interface{}{arg1})
	fake.setAnnotationsMutex.Unlock()
	if stub != nil {
		fake.SetAnnotationsStub(arg1)
	}
}

func (fake *FakePolicy) SetAnnotationsCallCount() int {
	fake.setAnnotationsMutex.RLock()
	defer fake.setAnnotationsMutex.RUnlock()
	return len(fake.setAnnotationsArgsForCall)
}

func (fake *FakePolicy) SetAnnotationsCalls(stub func(map[string]string)) {
	fake.setAnnotationsMutex.Lock()
	defer fake.setAnnotationsMutex.Unlock()
	fake.SetAnnotationsStub = stub
}

func (fake *FakePolicy) SetAnnotationsArgsForCall(i int) map[string]string {
	fake.setAnnotationsMutex.RLock()
	defer fake.setAnnotationsMutex.RUnlock()
	argsForCall := fake.setAnnotationsArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetCreationTimestamp(arg1 v1.Time) {
	fake.setCreationTimestampMutex.Lock()
	fake.setCreationTimestampArgsForCall = append(fake.setCreationTimestampArgsForCall, struct {
		arg1 v1.Time
	}{arg1})
	stub := fake.SetCreationTimestampStub
	fake.recordInvocation("SetCreationTimestamp", []interface{}{arg1})
	fake.setCreationTimestampMutex.Unlock()
	if stub != nil {
		fake.SetCreationTimestampStub(arg1)
	}
}

func (fake *FakePolicy) SetCreationTimestampCallCount() int {
	fake.setCreationTimestampMutex.RLock()
	defer fake.setCreationTimestampMutex.RUnlock()
	return len(fake.setCreationTimestampArgsForCall)
}

func (fake *FakePolicy) SetCreationTimestampCalls(stub func(v1.Time)) {
	fake.setCreationTimestampMutex.Lock()
	defer fake.setCreationTimestampMutex.Unlock()
	fake.SetCreationTimestampStub = stub
}

func (fake *FakePolicy) SetCreationTimestampArgsForCall(i int) v1.Time {
	fake.setCreationTimestampMutex.RLock()
	defer fake.setCreationTimestampMutex.RUnlock()
	argsForCall := fake.setCreationTimestampArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetDeletionGracePeriodSeconds(arg1 *int64) {
	fake.setDeletionGracePeriodSecondsMutex.Lock()
	fake.setDeletionGracePeriodSecondsArgsForCall = append(fake.setDeletionGracePeriodSecondsArgsForCall, struct {
		arg1 *int64
	}{arg1})
	stub := fake.SetDeletionGracePeriodSecondsStub
	fake.recordInvocation("SetDeletionGracePeriodSeconds", []interface{}{arg1})
	fake.setDeletionGracePeriodSecondsMutex.Unlock()
	if stub != nil {
		fake.SetDeletionGracePeriodSecondsStub(arg1)
	}
}

func (fake *FakePolicy) SetDeletionGracePeriodSecondsCallCount() int {
	fake.setDeletionGracePeriodSecondsMutex.RLock()
	defer fake.setDeletionGracePeriodSecondsMutex.RUnlock()
	return len(fake.setDeletionGracePeriodSecondsArgsForCall)
}

func (fake *FakePolicy) SetDeletionGracePeriodSecondsCalls(stub func(*int64)) {
	fake.setDeletionGracePeriodSecondsMutex.Lock()
	defer fake.setDeletionGracePeriodSecondsMutex.Unlock()
	fake.SetDeletionGracePeriodSecondsStub = stub
}

func (fake *FakePolicy) SetDeletionGracePeriodSecondsArgsForCall(i int) *int64 {
	fake.setDeletionGracePeriodSecondsMutex.RLock()
	defer fake.setDeletionGracePeriodSecondsMutex.RUnlock()
	argsForCall := fake.setDeletionGracePeriodSecondsArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetDeletionTimestamp(arg1 *v1.Time) {
	fake.setDeletionTimestampMutex.Lock()
	fake.setDeletionTimestampArgsForCall = append(fake.setDeletionTimestampArgsForCall, struct {
		arg1 *v1.Time
	}{arg1})
	stub := fake.SetDeletionTimestampStub
	fake.recordInvocation("SetDeletionTimestamp", []interface{}{arg1})
	fake.setDeletionTimestampMutex.Unlock()
	if stub != nil {
		fake.SetDeletionTimestampStub(arg1)
	}
}

func (fake *FakePolicy) SetDeletionTimestampCallCount() int {
	fake.setDeletionTimestampMutex.RLock()
	defer fake.setDeletionTimestampMutex.RUnlock()
	return len(fake.setDeletionTimestampArgsForCall)
}

func (fake *FakePolicy) SetDeletionTimestampCalls(stub func(*v1.Time)) {
	fake.setDeletionTimestampMutex.Lock()
	defer fake.setDeletionTimestampMutex.Unlock()
	fake.SetDeletionTimestampStub = stub
}

func (fake *FakePolicy) SetDeletionTimestampArgsForCall(i int) *v1.Time {
	fake.setDeletionTimestampMutex.RLock()
	defer fake.setDeletionTimestampMutex.RUnlock()
	argsForCall := fake.setDeletionTimestampArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetFinalizers(arg1 []string) {
	var arg1Copy []string
	if arg1 != nil {
		arg1Copy = make([]string, len(arg1))
		copy(arg1Copy, arg1)
	}
	fake.setFinalizersMutex.Lock()
	fake.setFinalizersArgsForCall = append(fake.setFinalizersArgsForCall, struct {
		arg1 []string
	}{arg1Copy})
	stub := fake.SetFinalizersStub
	fake.recordInvocation("SetFinalizers", []interface{}{arg1Copy})
	fake.setFinalizersMutex.Unlock()
	if stub != nil {
		fake.SetFinalizersStub(arg1)
	}
}

func (fake *FakePolicy) SetFinalizersCallCount() int {
	fake.setFinalizersMutex.RLock()
	defer fake.setFinalizersMutex.RUnlock()
	return len(fake.setFinalizersArgsForCall)
}

func (fake *FakePolicy) SetFinalizersCalls(stub func([]string)) {
	fake.setFinalizersMutex.Lock()
	defer fake.setFinalizersMutex.Unlock()
	fake.SetFinalizersStub = stub
}

func (fake *FakePolicy) SetFinalizersArgsForCall(i int) []string {
	fake.setFinalizersMutex.RLock()
	defer fake.setFinalizersMutex.RUnlock()
	argsForCall := fake.setFinalizersArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetGenerateName(arg1 string) {
	fake.setGenerateNameMutex.Lock()
	fake.setGenerateNameArgsForCall = append(fake.setGenerateNameArgsForCall, struct {
		arg1 string
	}{arg1})
	stub := fake.SetGenerateNameStub
	fake.recordInvocation("SetGenerateName", []interface{}{arg1})
	fake.setGenerateNameMutex.Unlock()
	if stub != nil {
		fake.SetGenerateNameStub(arg1)
	}
}

func (fake *FakePolicy) SetGenerateNameCallCount() int {
	fake.setGenerateNameMutex.RLock()
	defer fake.setGenerateNameMutex.RUnlock()
	return len(fake.setGenerateNameArgsForCall)
}

func (fake *FakePolicy) SetGenerateNameCalls(stub func(string)) {
	fake.setGenerateNameMutex.Lock()
	defer fake.setGenerateNameMutex.Unlock()
	fake.SetGenerateNameStub = stub
}

func (fake *FakePolicy) SetGenerateNameArgsForCall(i int) string {
	fake.setGenerateNameMutex.RLock()
	defer fake.setGenerateNameMutex.RUnlock()
	argsForCall := fake.setGenerateNameArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetGeneration(arg1 int64) {
	fake.setGenerationMutex.Lock()
	fake.setGenerationArgsForCall = append(fake.setGenerationArgsForCall, struct {
		arg1 int64
	}{arg1})
	stub := fake.SetGenerationStub
	fake.recordInvocation("SetGeneration", []interface{}{arg1})
	fake.setGenerationMutex.Unlock()
	if stub != nil {
		fake.SetGenerationStub(arg1)
	}
}

func (fake *FakePolicy) SetGenerationCallCount() int {
	fake.setGenerationMutex.RLock()
	defer fake.setGenerationMutex.RUnlock()
	return len(fake.setGenerationArgsForCall)
}

func (fake *FakePolicy) SetGenerationCalls(stub func(int64)) {
	fake.setGenerationMutex.Lock()
	defer fake.setGenerationMutex.Unlock()
	fake.SetGenerationStub = stub
}

func (fake *FakePolicy) SetGenerationArgsForCall(i int) int64 {
	fake.setGenerationMutex.RLock()
	defer fake.setGenerationMutex.RUnlock()
	argsForCall := fake.setGenerationArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetLabels(arg1 map[string]string) {
	fake.setLabelsMutex.Lock()
	fake.setLabelsArgsForCall = append(fake.setLabelsArgsForCall, struct {
		arg1 map[string]string
	}{arg1})
	stub := fake.SetLabelsStub
	fake.recordInvocation("SetLabels", []interface{}{arg1})
	fake.setLabelsMutex.Unlock()
	if stub != nil {
		fake.SetLabelsStub(arg1)
	}
}

func (fake *FakePolicy) SetLabelsCallCount() int {
	fake.setLabelsMutex.RLock()
	defer fake.setLabelsMutex.RUnlock()
	return len(fake.setLabelsArgsForCall)
}

func (fake *FakePolicy) SetLabelsCalls(stub func(map[string]string)) {
	fake.setLabelsMutex.Lock()
	defer fake.setLabelsMutex.Unlock()
	fake.SetLabelsStub = stub
}

func (fake *FakePolicy) SetLabelsArgsForCall(i int) map[string]string {
	fake.setLabelsMutex.RLock()
	defer fake.setLabelsMutex.RUnlock()
	argsForCall := fake.setLabelsArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetManagedFields(arg1 []v1.ManagedFieldsEntry) {
	var arg1Copy []v1.ManagedFieldsEntry
	if arg1 != nil {
		arg1Copy = make([]v1.ManagedFieldsEntry, len(arg1))
		copy(arg1Copy, arg1)
	}
	fake.setManagedFieldsMutex.Lock()
	fake.setManagedFieldsArgsForCall = append(fake.setManagedFieldsArgsForCall, struct {
		arg1 []v1.ManagedFieldsEntry
	}{arg1Copy})
	stub := fake.SetManagedFieldsStub
	fake.recordInvocation("SetManagedFields", []interface{}{arg1Copy})
	fake.setManagedFieldsMutex.Unlock()
	if stub != nil {
		fake.SetManagedFieldsStub(arg1)
	}
}

func (fake *FakePolicy) SetManagedFieldsCallCount() int {
	fake.setManagedFieldsMutex.RLock()
	defer fake.setManagedFieldsMutex.RUnlock()
	return len(fake.setManagedFieldsArgsForCall)
}

func (fake *FakePolicy) SetManagedFieldsCalls(stub func([]v1.ManagedFieldsEntry)) {
	fake.setManagedFieldsMutex.Lock()
	defer fake.setManagedFieldsMutex.Unlock()
	fake.SetManagedFieldsStub = stub
}

func (fake *FakePolicy) SetManagedFieldsArgsForCall(i int) []v1.ManagedFieldsEntry {
	fake.setManagedFieldsMutex.RLock()
	defer fake.setManagedFieldsMutex.RUnlock()
	argsForCall := fake.setManagedFieldsArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetName(arg1 string) {
	fake.setNameMutex.Lock()
	fake.setNameArgsForCall = append(fake.setNameArgsForCall, struct {
		arg1 string
	}{arg1})
	stub := fake.SetNameStub
	fake.recordInvocation("SetName", []interface{}{arg1})
	fake.setNameMutex.Unlock()
	if stub != nil {
		fake.SetNameStub(arg1)
	}
}

func (fake *FakePolicy) SetNameCallCount() int {
	fake.setNameMutex.RLock()
	defer fake.setNameMutex.RUnlock()
	return len(fake.setNameArgsForCall)
}

func (fake *FakePolicy) SetNameCalls(stub func(string)) {
	fake.setNameMutex.Lock()
	defer fake.setNameMutex.Unlock()
	fake.SetNameStub = stub
}

func (fake *FakePolicy) SetNameArgsForCall(i int) string {
	fake.setNameMutex.RLock()
	defer fake.setNameMutex.RUnlock()
	argsForCall := fake.setNameArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetNamespace(arg1 string) {
	fake.setNamespaceMutex.Lock()
	fake.setNamespaceArgsForCall = append(fake.setNamespaceArgsForCall, struct {
		arg1 string
	}{arg1})
	stub := fake.SetNamespaceStub
	fake.recordInvocation("SetNamespace", []interface{}{arg1})
	fake.setNamespaceMutex.Unlock()
	if stub != nil {
		fake.SetNamespaceStub(arg1)
	}
}

func (fake *FakePolicy) SetNamespaceCallCount() int {
	fake.setNamespaceMutex.RLock()
	defer fake.setNamespaceMutex.RUnlock()
	return len(fake.setNamespaceArgsForCall)
}

func (fake *FakePolicy) SetNamespaceCalls(stub func(string)) {
	fake.setNamespaceMutex.Lock()
	defer fake.setNamespaceMutex.Unlock()
	fake.SetNamespaceStub = stub
}

func (fake *FakePolicy) SetNamespaceArgsForCall(i int) string {
	fake.setNamespaceMutex.RLock()
	defer fake.setNamespaceMutex.RUnlock()
	argsForCall := fake.setNamespaceArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetOwnerReferences(arg1 []v1.OwnerReference) {
	var arg1Copy []v1.OwnerReference
	if arg1 != nil {
		arg1Copy = make([]v1.OwnerReference, len(arg1))
		copy(arg1Copy, arg1)
	}
	fake.setOwnerReferencesMutex.Lock()
	fake.setOwnerReferencesArgsForCall = append(fake.setOwnerReferencesArgsForCall, struct {
		arg1 []v1.OwnerReference
	}{arg1Copy})
	stub := fake.SetOwnerReferencesStub
	fake.recordInvocation("SetOwnerReferences", []interface{}{arg1Copy})
	fake.setOwnerReferencesMutex.Unlock()
	if stub != nil {
		fake.SetOwnerReferencesStub(arg1)
	}
}

func (fake *FakePolicy) SetOwnerReferencesCallCount() int {
	fake.setOwnerReferencesMutex.RLock()
	defer fake.setOwnerReferencesMutex.RUnlock()
	return len(fake.setOwnerReferencesArgsForCall)
}

func (fake *FakePolicy) SetOwnerReferencesCalls(stub func([]v1.OwnerReference)) {
	fake.setOwnerReferencesMutex.Lock()
	defer fake.setOwnerReferencesMutex.Unlock()
	fake.SetOwnerReferencesStub = stub
}

func (fake *FakePolicy) SetOwnerReferencesArgsForCall(i int) []v1.OwnerReference {
	fake.setOwnerReferencesMutex.RLock()
	defer fake.setOwnerReferencesMutex.RUnlock()
	argsForCall := fake.setOwnerReferencesArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetPolicyStatus(arg1 v1alpha2.PolicyStatus) {
	fake.setPolicyStatusMutex.Lock()
	fake.setPolicyStatusArgsForCall = append(fake.setPolicyStatusArgsForCall, struct {
		arg1 v1alpha2.PolicyStatus
	}{arg1})
	stub := fake.SetPolicyStatusStub
	fake.recordInvocation("SetPolicyStatus", []interface{}{arg1})
	fake.setPolicyStatusMutex.Unlock()
	if stub != nil {
		fake.SetPolicyStatusStub(arg1)
	}
}

func (fake *FakePolicy) SetPolicyStatusCallCount() int {
	fake.setPolicyStatusMutex.RLock()
	defer fake.setPolicyStatusMutex.RUnlock()
	return len(fake.setPolicyStatusArgsForCall)
}

func (fake *FakePolicy) SetPolicyStatusCalls(stub func(v1alpha2.PolicyStatus)) {
	fake.setPolicyStatusMutex.Lock()
	defer fake.setPolicyStatusMutex.Unlock()
	fake.SetPolicyStatusStub = stub
}

func (fake *FakePolicy) SetPolicyStatusArgsForCall(i int) v1alpha2.PolicyStatus {
	fake.setPolicyStatusMutex.RLock()
	defer fake.setPolicyStatusMutex.RUnlock()
	argsForCall := fake.setPolicyStatusArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetResourceVersion(arg1 string) {
	fake.setResourceVersionMutex.Lock()
	fake.setResourceVersionArgsForCall = append(fake.setResourceVersionArgsForCall, struct {
		arg1 string
	}{arg1})
	stub := fake.SetResourceVersionStub
	fake.recordInvocation("SetResourceVersion", []interface{}{arg1})
	fake.setResourceVersionMutex.Unlock()
	if stub != nil {
		fake.SetResourceVersionStub(arg1)
	}
}

func (fake *FakePolicy) SetResourceVersionCallCount() int {
	fake.setResourceVersionMutex.RLock()
	defer fake.setResourceVersionMutex.RUnlock()
	return len(fake.setResourceVersionArgsForCall)
}

func (fake *FakePolicy) SetResourceVersionCalls(stub func(string)) {
	fake.setResourceVersionMutex.Lock()
	defer fake.setResourceVersionMutex.Unlock()
	fake.SetResourceVersionStub = stub
}

func (fake *FakePolicy) SetResourceVersionArgsForCall(i int) string {
	fake.setResourceVersionMutex.RLock()
	defer fake.setResourceVersionMutex.RUnlock()
	argsForCall := fake.setResourceVersionArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetSelfLink(arg1 string) {
	fake.setSelfLinkMutex.Lock()
	fake.setSelfLinkArgsForCall = append(fake.setSelfLinkArgsForCall, struct {
		arg1 string
	}{arg1})
	stub := fake.SetSelfLinkStub
	fake.recordInvocation("SetSelfLink", []interface{}{arg1})
	fake.setSelfLinkMutex.Unlock()
	if stub != nil {
		fake.SetSelfLinkStub(arg1)
	}
}

func (fake *FakePolicy) SetSelfLinkCallCount() int {
	fake.setSelfLinkMutex.RLock()
	defer fake.setSelfLinkMutex.RUnlock()
	return len(fake.setSelfLinkArgsForCall)
}

func (fake *FakePolicy) SetSelfLinkCalls(stub func(string)) {
	fake.setSelfLinkMutex.Lock()
	defer fake.setSelfLinkMutex.Unlock()
	fake.SetSelfLinkStub = stub
}

func (fake *FakePolicy) SetSelfLinkArgsForCall(i int) string {
	fake.setSelfLinkMutex.RLock()
	defer fake.setSelfLinkMutex.RUnlock()
	argsForCall := fake.setSelfLinkArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) SetUID(arg1 types.UID) {
	fake.setUIDMutex.Lock()
	fake.setUIDArgsForCall = append(fake.setUIDArgsForCall, struct {
		arg1 types.UID
	}{arg1})
	stub := fake.SetUIDStub
	fake.recordInvocation("SetUID", []interface{}{arg1})
	fake.setUIDMutex.Unlock()
	if stub != nil {
		fake.SetUIDStub(arg1)
	}
}

func (fake *FakePolicy) SetUIDCallCount() int {
	fake.setUIDMutex.RLock()
	defer fake.setUIDMutex.RUnlock()
	return len(fake.setUIDArgsForCall)
}

func (fake *FakePolicy) SetUIDCalls(stub func(types.UID)) {
	fake.setUIDMutex.Lock()
	defer fake.setUIDMutex.Unlock()
	fake.SetUIDStub = stub
}

func (fake *FakePolicy) SetUIDArgsForCall(i int) types.UID {
	fake.setUIDMutex.RLock()
	defer fake.setUIDMutex.RUnlock()
	argsForCall := fake.setUIDArgsForCall[i]
	return argsForCall.arg1
}

func (fake *FakePolicy) Invocations() map[string][][]interface{} {
	fake.invocationsMutex.RLock()
	defer fake.invocationsMutex.RUnlock()
	copiedInvocations := map[string][][]interface{}{}
	for key, value := range fake.invocations {
		copiedInvocations[key] = value
	}
	return copiedInvocations
}

func (fake *FakePolicy) recordInvocation(key string, args []interface{}) {
	fake.invocationsMutex.Lock()
	defer fake.invocationsMutex.Unlock()
	if fake.invocations == nil {
		fake.invocations = map[string][][]interface{}{}
	}
	if fake.invocations[key] == nil {
		fake.invocations[key] = [][]interface{}{}
	}
	fake.invocations[key] = append(fake.invocations[key], args)
}

var _ policies.Policy = new(FakePolicy)
