// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

// Code generated by "deep-copy -type KubeControllerManagerConfigV1Alpha1 -type KubeEtcdEncryptionConfigV1Alpha1 -type KubeSchedulerConfigV1Alpha1 -pointer-receiver -header-file ../../../../../hack/boilerplate.txt -o deep_copy.generated.go ."; DO NOT EDIT.

package k8s

import (
	"github.com/siderolabs/talos/pkg/machinery/config/types/meta"
)

// DeepCopy generates a deep copy of *KubeControllerManagerConfigV1Alpha1.
func (o *KubeControllerManagerConfigV1Alpha1) DeepCopy() *KubeControllerManagerConfigV1Alpha1 {
	var cp KubeControllerManagerConfigV1Alpha1 = *o
	if o.PodEnabled != nil {
		cp.PodEnabled = new(bool)
		*cp.PodEnabled = *o.PodEnabled
	}
	if o.PodArgs != nil {
		cp.PodArgs = make(map[string]meta.ArgValue, len(o.PodArgs))
		for k2, v2 := range o.PodArgs {
			cp.PodArgs[k2] = v2
		}
	}
	if o.PodEnv != nil {
		cp.PodEnv = make(map[string]string, len(o.PodEnv))
		for k2, v2 := range o.PodEnv {
			cp.PodEnv[k2] = v2
		}
	}
	{
		retV := o.PodResources.Requests.DeepCopy()
		cp.PodResources.Requests = *retV
	}
	{
		retV := o.PodResources.Limits.DeepCopy()
		cp.PodResources.Limits = *retV
	}
	return &cp
}

// DeepCopy generates a deep copy of *KubeEtcdEncryptionConfigV1Alpha1.
func (o *KubeEtcdEncryptionConfigV1Alpha1) DeepCopy() *KubeEtcdEncryptionConfigV1Alpha1 {
	var cp KubeEtcdEncryptionConfigV1Alpha1 = *o
	{
		retV := o.Config.DeepCopy()
		cp.Config = *retV
	}
	return &cp
}

// DeepCopy generates a deep copy of *KubeSchedulerConfigV1Alpha1.
func (o *KubeSchedulerConfigV1Alpha1) DeepCopy() *KubeSchedulerConfigV1Alpha1 {
	var cp KubeSchedulerConfigV1Alpha1 = *o
	if o.PodEnabled != nil {
		cp.PodEnabled = new(bool)
		*cp.PodEnabled = *o.PodEnabled
	}
	{
		retV := o.PodConfig.DeepCopy()
		cp.PodConfig = *retV
	}
	if o.PodArgs != nil {
		cp.PodArgs = make(map[string]meta.ArgValue, len(o.PodArgs))
		for k2, v2 := range o.PodArgs {
			cp.PodArgs[k2] = v2
		}
	}
	if o.PodEnv != nil {
		cp.PodEnv = make(map[string]string, len(o.PodEnv))
		for k2, v2 := range o.PodEnv {
			cp.PodEnv[k2] = v2
		}
	}
	{
		retV := o.PodResources.Requests.DeepCopy()
		cp.PodResources.Requests = *retV
	}
	{
		retV := o.PodResources.Limits.DeepCopy()
		cp.PodResources.Limits = *retV
	}
	return &cp
}
