// 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"
	v1beta1 "open-cluster-management.io/api/addon/v1beta1"
	addonv1beta1 "open-cluster-management.io/api/client/addon/clientset/versioned/typed/addon/v1beta1"
)

// fakeManagedClusterAddOns implements ManagedClusterAddOnInterface
type fakeManagedClusterAddOns struct {
	*gentype.FakeClientWithList[*v1beta1.ManagedClusterAddOn, *v1beta1.ManagedClusterAddOnList]
	Fake *FakeAddonV1beta1
}

func newFakeManagedClusterAddOns(fake *FakeAddonV1beta1, namespace string) addonv1beta1.ManagedClusterAddOnInterface {
	return &fakeManagedClusterAddOns{
		gentype.NewFakeClientWithList[*v1beta1.ManagedClusterAddOn, *v1beta1.ManagedClusterAddOnList](
			fake.Fake,
			namespace,
			v1beta1.SchemeGroupVersion.WithResource("managedclusteraddons"),
			v1beta1.SchemeGroupVersion.WithKind("ManagedClusterAddOn"),
			func() *v1beta1.ManagedClusterAddOn { return &v1beta1.ManagedClusterAddOn{} },
			func() *v1beta1.ManagedClusterAddOnList { return &v1beta1.ManagedClusterAddOnList{} },
			func(dst, src *v1beta1.ManagedClusterAddOnList) { dst.ListMeta = src.ListMeta },
			func(list *v1beta1.ManagedClusterAddOnList) []*v1beta1.ManagedClusterAddOn {
				return gentype.ToPointerSlice(list.Items)
			},
			func(list *v1beta1.ManagedClusterAddOnList, items []*v1beta1.ManagedClusterAddOn) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
