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

// fakeAddOnDeploymentConfigs implements AddOnDeploymentConfigInterface
type fakeAddOnDeploymentConfigs struct {
	*gentype.FakeClientWithList[*v1beta1.AddOnDeploymentConfig, *v1beta1.AddOnDeploymentConfigList]
	Fake *FakeAddonV1beta1
}

func newFakeAddOnDeploymentConfigs(fake *FakeAddonV1beta1, namespace string) addonv1beta1.AddOnDeploymentConfigInterface {
	return &fakeAddOnDeploymentConfigs{
		gentype.NewFakeClientWithList[*v1beta1.AddOnDeploymentConfig, *v1beta1.AddOnDeploymentConfigList](
			fake.Fake,
			namespace,
			v1beta1.SchemeGroupVersion.WithResource("addondeploymentconfigs"),
			v1beta1.SchemeGroupVersion.WithKind("AddOnDeploymentConfig"),
			func() *v1beta1.AddOnDeploymentConfig { return &v1beta1.AddOnDeploymentConfig{} },
			func() *v1beta1.AddOnDeploymentConfigList { return &v1beta1.AddOnDeploymentConfigList{} },
			func(dst, src *v1beta1.AddOnDeploymentConfigList) { dst.ListMeta = src.ListMeta },
			func(list *v1beta1.AddOnDeploymentConfigList) []*v1beta1.AddOnDeploymentConfig {
				return gentype.ToPointerSlice(list.Items)
			},
			func(list *v1beta1.AddOnDeploymentConfigList, items []*v1beta1.AddOnDeploymentConfig) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
