// 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"
)

// fakeAddOnTemplates implements AddOnTemplateInterface
type fakeAddOnTemplates struct {
	*gentype.FakeClientWithList[*v1alpha1.AddOnTemplate, *v1alpha1.AddOnTemplateList]
	Fake *FakeAddonV1alpha1
}

func newFakeAddOnTemplates(fake *FakeAddonV1alpha1) addonv1alpha1.AddOnTemplateInterface {
	return &fakeAddOnTemplates{
		gentype.NewFakeClientWithList[*v1alpha1.AddOnTemplate, *v1alpha1.AddOnTemplateList](
			fake.Fake,
			"",
			v1alpha1.SchemeGroupVersion.WithResource("addontemplates"),
			v1alpha1.SchemeGroupVersion.WithKind("AddOnTemplate"),
			func() *v1alpha1.AddOnTemplate { return &v1alpha1.AddOnTemplate{} },
			func() *v1alpha1.AddOnTemplateList { return &v1alpha1.AddOnTemplateList{} },
			func(dst, src *v1alpha1.AddOnTemplateList) { dst.ListMeta = src.ListMeta },
			func(list *v1alpha1.AddOnTemplateList) []*v1alpha1.AddOnTemplate {
				return gentype.ToPointerSlice(list.Items)
			},
			func(list *v1alpha1.AddOnTemplateList, items []*v1alpha1.AddOnTemplate) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
