// Copyright Contributors to the Open Cluster Management project
// Code generated by client-gen. DO NOT EDIT.

package fake

import (
	gentype "k8s.io/client-go/gentype"
	v1alpha1 "open-cluster-management.io/api/addon/v1alpha1"
	addonv1alpha1 "open-cluster-management.io/api/client/addon/clientset/versioned/typed/addon/v1alpha1"
)

// fakeClusterManagementAddOns implements ClusterManagementAddOnInterface
type fakeClusterManagementAddOns struct {
	*gentype.FakeClientWithList[*v1alpha1.ClusterManagementAddOn, *v1alpha1.ClusterManagementAddOnList]
	Fake *FakeAddonV1alpha1
}

func newFakeClusterManagementAddOns(fake *FakeAddonV1alpha1) addonv1alpha1.ClusterManagementAddOnInterface {
	return &fakeClusterManagementAddOns{
		gentype.NewFakeClientWithList[*v1alpha1.ClusterManagementAddOn, *v1alpha1.ClusterManagementAddOnList](
			fake.Fake,
			"",
			v1alpha1.SchemeGroupVersion.WithResource("clustermanagementaddons"),
			v1alpha1.SchemeGroupVersion.WithKind("ClusterManagementAddOn"),
			func() *v1alpha1.ClusterManagementAddOn { return &v1alpha1.ClusterManagementAddOn{} },
			func() *v1alpha1.ClusterManagementAddOnList { return &v1alpha1.ClusterManagementAddOnList{} },
			func(dst, src *v1alpha1.ClusterManagementAddOnList) { dst.ListMeta = src.ListMeta },
			func(list *v1alpha1.ClusterManagementAddOnList) []*v1alpha1.ClusterManagementAddOn {
				return gentype.ToPointerSlice(list.Items)
			},
			func(list *v1alpha1.ClusterManagementAddOnList, items []*v1alpha1.ClusterManagementAddOn) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
