// 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 LVMVolumeGroupConfigV1Alpha1 -type LVMLogicalVolumeConfigV1Alpha1 -pointer-receiver -header-file ../../../../../hack/boilerplate.txt -o deep_copy.generated.go ."; DO NOT EDIT.

package storage

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

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

// DeepCopy generates a deep copy of *LVMLogicalVolumeConfigV1Alpha1.
func (o *LVMLogicalVolumeConfigV1Alpha1) DeepCopy() *LVMLogicalVolumeConfigV1Alpha1 {
	var cp LVMLogicalVolumeConfigV1Alpha1 = *o
	if o.LVMirrors != nil {
		cp.LVMirrors = new(uint32)
		*cp.LVMirrors = *o.LVMirrors
	}
	if o.LVStripes != nil {
		cp.LVStripes = new(uint32)
		*cp.LVStripes = *o.LVStripes
	}
	if o.Provisioning.ProvisioningMaxSize.PercentageSize != nil {
		cp.Provisioning.ProvisioningMaxSize.PercentageSize = new(block.PercentageSize)
		*cp.Provisioning.ProvisioningMaxSize.PercentageSize = *o.Provisioning.ProvisioningMaxSize.PercentageSize
	}
	if o.Provisioning.ProvisioningMaxSize.ByteSize != nil {
		cp.Provisioning.ProvisioningMaxSize.ByteSize = new(block.ByteSize)
		*cp.Provisioning.ProvisioningMaxSize.ByteSize = *o.Provisioning.ProvisioningMaxSize.ByteSize
	}
	return &cp
}
