package api

import (
	runtime "k8s.io/apimachinery/pkg/runtime"
)

func (in *Address) DeepCopyInto(out *Address) {
	*out = *in
	return
}

func (in *Address) DeepCopy() *Address {
	if in == nil {
		return nil
	}
	out := new(Address)
	in.DeepCopyInto(out)
	return out
}

func (in *Alias) DeepCopyInto(out *Alias) {
	*out = *in
	return
}

func (in *Alias) DeepCopy() *Alias {
	if in == nil {
		return nil
	}
	out := new(Alias)
	in.DeepCopyInto(out)
	return out
}

func (in *Arg) DeepCopyInto(out *Arg) {
	*out = *in
	return
}

func (in *Arg) DeepCopy() *Arg {
	if in == nil {
		return nil
	}
	out := new(Arg)
	in.DeepCopyInto(out)
	return out
}

func (in *BIOS) DeepCopyInto(out *BIOS) {
	*out = *in
	return
}

func (in *BIOS) DeepCopy() *BIOS {
	if in == nil {
		return nil
	}
	out := new(BIOS)
	in.DeepCopyInto(out)
	return out
}

func (in *BackingStore) DeepCopyInto(out *BackingStore) {
	*out = *in
	if in.Format != nil {
		in, out := &in.Format, &out.Format
		*out = new(BackingStoreFormat)
		**out = **in
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(DiskSource)
		(*in).DeepCopyInto(*out)
	}
	return
}

func (in *BackingStore) DeepCopy() *BackingStore {
	if in == nil {
		return nil
	}
	out := new(BackingStore)
	in.DeepCopyInto(out)
	return out
}

func (in *BackingStoreFormat) DeepCopyInto(out *BackingStoreFormat) {
	*out = *in
	return
}

func (in *BackingStoreFormat) DeepCopy() *BackingStoreFormat {
	if in == nil {
		return nil
	}
	out := new(BackingStoreFormat)
	in.DeepCopyInto(out)
	return out
}

func (in *Ballooning) DeepCopyInto(out *Ballooning) {
	*out = *in
	return
}

func (in *Ballooning) DeepCopy() *Ballooning {
	if in == nil {
		return nil
	}
	out := new(Ballooning)
	in.DeepCopyInto(out)
	return out
}

func (in *BandWidth) DeepCopyInto(out *BandWidth) {
	*out = *in
	return
}

func (in *BandWidth) DeepCopy() *BandWidth {
	if in == nil {
		return nil
	}
	out := new(BandWidth)
	in.DeepCopyInto(out)
	return out
}

func (in *Boot) DeepCopyInto(out *Boot) {
	*out = *in
	return
}

func (in *Boot) DeepCopy() *Boot {
	if in == nil {
		return nil
	}
	out := new(Boot)
	in.DeepCopyInto(out)
	return out
}

func (in *BootMenu) DeepCopyInto(out *BootMenu) {
	*out = *in
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *BootMenu) DeepCopy() *BootMenu {
	if in == nil {
		return nil
	}
	out := new(BootMenu)
	in.DeepCopyInto(out)
	return out
}

func (in *BootOrder) DeepCopyInto(out *BootOrder) {
	*out = *in
	return
}

func (in *BootOrder) DeepCopy() *BootOrder {
	if in == nil {
		return nil
	}
	out := new(BootOrder)
	in.DeepCopyInto(out)
	return out
}

func (in *CPU) DeepCopyInto(out *CPU) {
	*out = *in
	if in.Features != nil {
		in, out := &in.Features, &out.Features
		*out = make([]CPUFeature, len(*in))
		copy(*out, *in)
	}
	if in.Topology != nil {
		in, out := &in.Topology, &out.Topology
		*out = new(CPUTopology)
		**out = **in
	}
	return
}

func (in *CPU) DeepCopy() *CPU {
	if in == nil {
		return nil
	}
	out := new(CPU)
	in.DeepCopyInto(out)
	return out
}

func (in *CPUEmulatorPin) DeepCopyInto(out *CPUEmulatorPin) {
	*out = *in
	return
}

func (in *CPUEmulatorPin) DeepCopy() *CPUEmulatorPin {
	if in == nil {
		return nil
	}
	out := new(CPUEmulatorPin)
	in.DeepCopyInto(out)
	return out
}

func (in *CPUFeature) DeepCopyInto(out *CPUFeature) {
	*out = *in
	return
}

func (in *CPUFeature) DeepCopy() *CPUFeature {
	if in == nil {
		return nil
	}
	out := new(CPUFeature)
	in.DeepCopyInto(out)
	return out
}

func (in *CPUTopology) DeepCopyInto(out *CPUTopology) {
	*out = *in
	return
}

func (in *CPUTopology) DeepCopy() *CPUTopology {
	if in == nil {
		return nil
	}
	out := new(CPUTopology)
	in.DeepCopyInto(out)
	return out
}

func (in *CPUTune) DeepCopyInto(out *CPUTune) {
	*out = *in
	if in.VCPUPin != nil {
		in, out := &in.VCPUPin, &out.VCPUPin
		*out = make([]CPUTuneVCPUPin, len(*in))
		copy(*out, *in)
	}
	if in.IOThreadPin != nil {
		in, out := &in.IOThreadPin, &out.IOThreadPin
		*out = make([]CPUTuneIOThreadPin, len(*in))
		copy(*out, *in)
	}
	if in.EmulatorPin != nil {
		in, out := &in.EmulatorPin, &out.EmulatorPin
		*out = new(CPUEmulatorPin)
		**out = **in
	}
	return
}

func (in *CPUTune) DeepCopy() *CPUTune {
	if in == nil {
		return nil
	}
	out := new(CPUTune)
	in.DeepCopyInto(out)
	return out
}

func (in *CPUTuneIOThreadPin) DeepCopyInto(out *CPUTuneIOThreadPin) {
	*out = *in
	return
}

func (in *CPUTuneIOThreadPin) DeepCopy() *CPUTuneIOThreadPin {
	if in == nil {
		return nil
	}
	out := new(CPUTuneIOThreadPin)
	in.DeepCopyInto(out)
	return out
}

func (in *CPUTuneVCPUPin) DeepCopyInto(out *CPUTuneVCPUPin) {
	*out = *in
	return
}

func (in *CPUTuneVCPUPin) DeepCopy() *CPUTuneVCPUPin {
	if in == nil {
		return nil
	}
	out := new(CPUTuneVCPUPin)
	in.DeepCopyInto(out)
	return out
}

func (in *Channel) DeepCopyInto(out *Channel) {
	*out = *in
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(ChannelSource)
		**out = **in
	}
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(ChannelTarget)
		**out = **in
	}
	return
}

func (in *Channel) DeepCopy() *Channel {
	if in == nil {
		return nil
	}
	out := new(Channel)
	in.DeepCopyInto(out)
	return out
}

func (in *ChannelSource) DeepCopyInto(out *ChannelSource) {
	*out = *in
	return
}

func (in *ChannelSource) DeepCopy() *ChannelSource {
	if in == nil {
		return nil
	}
	out := new(ChannelSource)
	in.DeepCopyInto(out)
	return out
}

func (in *ChannelTarget) DeepCopyInto(out *ChannelTarget) {
	*out = *in
	return
}

func (in *ChannelTarget) DeepCopy() *ChannelTarget {
	if in == nil {
		return nil
	}
	out := new(ChannelTarget)
	in.DeepCopyInto(out)
	return out
}

func (in *Clock) DeepCopyInto(out *Clock) {
	*out = *in
	if in.Timer != nil {
		in, out := &in.Timer, &out.Timer
		*out = make([]Timer, len(*in))
		copy(*out, *in)
	}
	return
}

func (in *Clock) DeepCopy() *Clock {
	if in == nil {
		return nil
	}
	out := new(Clock)
	in.DeepCopyInto(out)
	return out
}

func (in *Commandline) DeepCopyInto(out *Commandline) {
	*out = *in
	if in.QEMUEnv != nil {
		in, out := &in.QEMUEnv, &out.QEMUEnv
		*out = make([]Env, len(*in))
		copy(*out, *in)
	}
	if in.QEMUArg != nil {
		in, out := &in.QEMUArg, &out.QEMUArg
		*out = make([]Arg, len(*in))
		copy(*out, *in)
	}
	return
}

func (in *Commandline) DeepCopy() *Commandline {
	if in == nil {
		return nil
	}
	out := new(Commandline)
	in.DeepCopyInto(out)
	return out
}

func (in *Console) DeepCopyInto(out *Console) {
	*out = *in
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(ConsoleTarget)
		(*in).DeepCopyInto(*out)
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(ConsoleSource)
		**out = **in
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	return
}

func (in *Console) DeepCopy() *Console {
	if in == nil {
		return nil
	}
	out := new(Console)
	in.DeepCopyInto(out)
	return out
}

func (in *ConsoleSource) DeepCopyInto(out *ConsoleSource) {
	*out = *in
	return
}

func (in *ConsoleSource) DeepCopy() *ConsoleSource {
	if in == nil {
		return nil
	}
	out := new(ConsoleSource)
	in.DeepCopyInto(out)
	return out
}

func (in *ConsoleTarget) DeepCopyInto(out *ConsoleTarget) {
	*out = *in
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *ConsoleTarget) DeepCopy() *ConsoleTarget {
	if in == nil {
		return nil
	}
	out := new(ConsoleTarget)
	in.DeepCopyInto(out)
	return out
}

func (in *Controller) DeepCopyInto(out *Controller) {
	*out = *in
	if in.Driver != nil {
		in, out := &in.Driver, &out.Driver
		*out = new(ControllerDriver)
		(*in).DeepCopyInto(*out)
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *Controller) DeepCopy() *Controller {
	if in == nil {
		return nil
	}
	out := new(Controller)
	in.DeepCopyInto(out)
	return out
}

func (in *ControllerDriver) DeepCopyInto(out *ControllerDriver) {
	*out = *in
	if in.IOThread != nil {
		in, out := &in.IOThread, &out.IOThread
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *ControllerDriver) DeepCopy() *ControllerDriver {
	if in == nil {
		return nil
	}
	out := new(ControllerDriver)
	in.DeepCopyInto(out)
	return out
}

func (in *Defaulter) DeepCopyInto(out *Defaulter) {
	*out = *in
	return
}

func (in *Defaulter) DeepCopy() *Defaulter {
	if in == nil {
		return nil
	}
	out := new(Defaulter)
	in.DeepCopyInto(out)
	return out
}

func (in *Devices) DeepCopyInto(out *Devices) {
	*out = *in
	if in.Interfaces != nil {
		in, out := &in.Interfaces, &out.Interfaces
		*out = make([]Interface, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Channels != nil {
		in, out := &in.Channels, &out.Channels
		*out = make([]Channel, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.HostDevices != nil {
		in, out := &in.HostDevices, &out.HostDevices
		*out = make([]HostDevice, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Controllers != nil {
		in, out := &in.Controllers, &out.Controllers
		*out = make([]Controller, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Video != nil {
		in, out := &in.Video, &out.Video
		*out = make([]Video, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Graphics != nil {
		in, out := &in.Graphics, &out.Graphics
		*out = make([]Graphics, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Ballooning != nil {
		in, out := &in.Ballooning, &out.Ballooning
		*out = new(Ballooning)
		**out = **in
	}
	if in.Disks != nil {
		in, out := &in.Disks, &out.Disks
		*out = make([]Disk, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Inputs != nil {
		in, out := &in.Inputs, &out.Inputs
		*out = make([]Input, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Serials != nil {
		in, out := &in.Serials, &out.Serials
		*out = make([]Serial, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Consoles != nil {
		in, out := &in.Consoles, &out.Consoles
		*out = make([]Console, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Watchdog != nil {
		in, out := &in.Watchdog, &out.Watchdog
		*out = new(Watchdog)
		(*in).DeepCopyInto(*out)
	}
	if in.Rng != nil {
		in, out := &in.Rng, &out.Rng
		*out = new(Rng)
		(*in).DeepCopyInto(*out)
	}
	return
}

func (in *Devices) DeepCopy() *Devices {
	if in == nil {
		return nil
	}
	out := new(Devices)
	in.DeepCopyInto(out)
	return out
}

func (in *Disk) DeepCopyInto(out *Disk) {
	*out = *in
	in.Source.DeepCopyInto(&out.Source)
	out.Target = in.Target
	if in.Driver != nil {
		in, out := &in.Driver, &out.Driver
		*out = new(DiskDriver)
		(*in).DeepCopyInto(*out)
	}
	if in.ReadOnly != nil {
		in, out := &in.ReadOnly, &out.ReadOnly
		*out = new(ReadOnly)
		**out = **in
	}
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = new(DiskAuth)
		(*in).DeepCopyInto(*out)
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.BackingStore != nil {
		in, out := &in.BackingStore, &out.BackingStore
		*out = new(BackingStore)
		(*in).DeepCopyInto(*out)
	}
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = new(BootOrder)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *Disk) DeepCopy() *Disk {
	if in == nil {
		return nil
	}
	out := new(Disk)
	in.DeepCopyInto(out)
	return out
}

func (in *DiskAuth) DeepCopyInto(out *DiskAuth) {
	*out = *in
	if in.Secret != nil {
		in, out := &in.Secret, &out.Secret
		*out = new(DiskSecret)
		**out = **in
	}
	return
}

func (in *DiskAuth) DeepCopy() *DiskAuth {
	if in == nil {
		return nil
	}
	out := new(DiskAuth)
	in.DeepCopyInto(out)
	return out
}

func (in *DiskDriver) DeepCopyInto(out *DiskDriver) {
	*out = *in
	if in.IOThread != nil {
		in, out := &in.IOThread, &out.IOThread
		*out = new(uint)
		**out = **in
	}
	if in.Queues != nil {
		in, out := &in.Queues, &out.Queues
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *DiskDriver) DeepCopy() *DiskDriver {
	if in == nil {
		return nil
	}
	out := new(DiskDriver)
	in.DeepCopyInto(out)
	return out
}

func (in *DiskSecret) DeepCopyInto(out *DiskSecret) {
	*out = *in
	return
}

func (in *DiskSecret) DeepCopy() *DiskSecret {
	if in == nil {
		return nil
	}
	out := new(DiskSecret)
	in.DeepCopyInto(out)
	return out
}

func (in *DiskSource) DeepCopyInto(out *DiskSource) {
	*out = *in
	if in.Host != nil {
		in, out := &in.Host, &out.Host
		*out = new(DiskSourceHost)
		**out = **in
	}
	return
}

func (in *DiskSource) DeepCopy() *DiskSource {
	if in == nil {
		return nil
	}
	out := new(DiskSource)
	in.DeepCopyInto(out)
	return out
}

func (in *DiskSourceHost) DeepCopyInto(out *DiskSourceHost) {
	*out = *in
	return
}

func (in *DiskSourceHost) DeepCopy() *DiskSourceHost {
	if in == nil {
		return nil
	}
	out := new(DiskSourceHost)
	in.DeepCopyInto(out)
	return out
}

func (in *DiskTarget) DeepCopyInto(out *DiskTarget) {
	*out = *in
	return
}

func (in *DiskTarget) DeepCopy() *DiskTarget {
	if in == nil {
		return nil
	}
	out := new(DiskTarget)
	in.DeepCopyInto(out)
	return out
}

func (in *Domain) DeepCopyInto(out *Domain) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

func (in *Domain) DeepCopy() *Domain {
	if in == nil {
		return nil
	}
	out := new(Domain)
	in.DeepCopyInto(out)
	return out
}

func (in *Domain) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

func (in *DomainGuestInfo) DeepCopyInto(out *DomainGuestInfo) {
	*out = *in
	if in.Interfaces != nil {
		in, out := &in.Interfaces, &out.Interfaces
		*out = make([]InterfaceStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OSInfo != nil {
		in, out := &in.OSInfo, &out.OSInfo
		*out = new(GuestOSInfo)
		**out = **in
	}
	return
}

func (in *DomainGuestInfo) DeepCopy() *DomainGuestInfo {
	if in == nil {
		return nil
	}
	out := new(DomainGuestInfo)
	in.DeepCopyInto(out)
	return out
}

func (in *DomainList) DeepCopyInto(out *DomainList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Domain, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

func (in *DomainList) DeepCopy() *DomainList {
	if in == nil {
		return nil
	}
	out := new(DomainList)
	in.DeepCopyInto(out)
	return out
}

func (in *DomainList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

func (in *DomainSpec) DeepCopyInto(out *DomainSpec) {
	*out = *in
	out.XMLName = in.XMLName
	out.Memory = in.Memory
	if in.MemoryBacking != nil {
		in, out := &in.MemoryBacking, &out.MemoryBacking
		*out = new(MemoryBacking)
		(*in).DeepCopyInto(*out)
	}
	in.OS.DeepCopyInto(&out.OS)
	if in.SysInfo != nil {
		in, out := &in.SysInfo, &out.SysInfo
		*out = new(SysInfo)
		(*in).DeepCopyInto(*out)
	}
	in.Devices.DeepCopyInto(&out.Devices)
	if in.Clock != nil {
		in, out := &in.Clock, &out.Clock
		*out = new(Clock)
		(*in).DeepCopyInto(*out)
	}
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(Resource)
		**out = **in
	}
	if in.QEMUCmd != nil {
		in, out := &in.QEMUCmd, &out.QEMUCmd
		*out = new(Commandline)
		(*in).DeepCopyInto(*out)
	}
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Features != nil {
		in, out := &in.Features, &out.Features
		*out = new(Features)
		(*in).DeepCopyInto(*out)
	}
	in.CPU.DeepCopyInto(&out.CPU)
	if in.VCPU != nil {
		in, out := &in.VCPU, &out.VCPU
		*out = new(VCPU)
		**out = **in
	}
	if in.CPUTune != nil {
		in, out := &in.CPUTune, &out.CPUTune
		*out = new(CPUTune)
		(*in).DeepCopyInto(*out)
	}
	if in.IOThreads != nil {
		in, out := &in.IOThreads, &out.IOThreads
		*out = new(IOThreads)
		**out = **in
	}
	return
}

func (in *DomainSpec) DeepCopy() *DomainSpec {
	if in == nil {
		return nil
	}
	out := new(DomainSpec)
	in.DeepCopyInto(out)
	return out
}

func (in *DomainStatus) DeepCopyInto(out *DomainStatus) {
	*out = *in
	if in.Interfaces != nil {
		in, out := &in.Interfaces, &out.Interfaces
		*out = make([]InterfaceStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.OSInfo = in.OSInfo
	return
}

func (in *DomainStatus) DeepCopy() *DomainStatus {
	if in == nil {
		return nil
	}
	out := new(DomainStatus)
	in.DeepCopyInto(out)
	return out
}

func (in *DomainSysInfo) DeepCopyInto(out *DomainSysInfo) {
	*out = *in
	out.OSInfo = in.OSInfo
	out.Timezone = in.Timezone
	return
}

func (in *DomainSysInfo) DeepCopy() *DomainSysInfo {
	if in == nil {
		return nil
	}
	out := new(DomainSysInfo)
	in.DeepCopyInto(out)
	return out
}

func (in *Entry) DeepCopyInto(out *Entry) {
	*out = *in
	return
}

func (in *Entry) DeepCopy() *Entry {
	if in == nil {
		return nil
	}
	out := new(Entry)
	in.DeepCopyInto(out)
	return out
}

func (in *Env) DeepCopyInto(out *Env) {
	*out = *in
	return
}

func (in *Env) DeepCopy() *Env {
	if in == nil {
		return nil
	}
	out := new(Env)
	in.DeepCopyInto(out)
	return out
}

func (in *FeatureEnabled) DeepCopyInto(out *FeatureEnabled) {
	*out = *in
	return
}

func (in *FeatureEnabled) DeepCopy() *FeatureEnabled {
	if in == nil {
		return nil
	}
	out := new(FeatureEnabled)
	in.DeepCopyInto(out)
	return out
}

func (in *FeatureHyperv) DeepCopyInto(out *FeatureHyperv) {
	*out = *in
	if in.Relaxed != nil {
		in, out := &in.Relaxed, &out.Relaxed
		*out = new(FeatureState)
		**out = **in
	}
	if in.VAPIC != nil {
		in, out := &in.VAPIC, &out.VAPIC
		*out = new(FeatureState)
		**out = **in
	}
	if in.Spinlocks != nil {
		in, out := &in.Spinlocks, &out.Spinlocks
		*out = new(FeatureSpinlocks)
		(*in).DeepCopyInto(*out)
	}
	if in.VPIndex != nil {
		in, out := &in.VPIndex, &out.VPIndex
		*out = new(FeatureState)
		**out = **in
	}
	if in.Runtime != nil {
		in, out := &in.Runtime, &out.Runtime
		*out = new(FeatureState)
		**out = **in
	}
	if in.SyNIC != nil {
		in, out := &in.SyNIC, &out.SyNIC
		*out = new(FeatureState)
		**out = **in
	}
	if in.SyNICTimer != nil {
		in, out := &in.SyNICTimer, &out.SyNICTimer
		*out = new(FeatureState)
		**out = **in
	}
	if in.Reset != nil {
		in, out := &in.Reset, &out.Reset
		*out = new(FeatureState)
		**out = **in
	}
	if in.VendorID != nil {
		in, out := &in.VendorID, &out.VendorID
		*out = new(FeatureVendorID)
		**out = **in
	}
	if in.Frequencies != nil {
		in, out := &in.Frequencies, &out.Frequencies
		*out = new(FeatureState)
		**out = **in
	}
	if in.Reenlightenment != nil {
		in, out := &in.Reenlightenment, &out.Reenlightenment
		*out = new(FeatureState)
		**out = **in
	}
	if in.TLBFlush != nil {
		in, out := &in.TLBFlush, &out.TLBFlush
		*out = new(FeatureState)
		**out = **in
	}
	if in.IPI != nil {
		in, out := &in.IPI, &out.IPI
		*out = new(FeatureState)
		**out = **in
	}
	if in.EVMCS != nil {
		in, out := &in.EVMCS, &out.EVMCS
		*out = new(FeatureState)
		**out = **in
	}
	return
}

func (in *FeatureHyperv) DeepCopy() *FeatureHyperv {
	if in == nil {
		return nil
	}
	out := new(FeatureHyperv)
	in.DeepCopyInto(out)
	return out
}

func (in *FeatureSpinlocks) DeepCopyInto(out *FeatureSpinlocks) {
	*out = *in
	if in.Retries != nil {
		in, out := &in.Retries, &out.Retries
		*out = new(uint32)
		**out = **in
	}
	return
}

func (in *FeatureSpinlocks) DeepCopy() *FeatureSpinlocks {
	if in == nil {
		return nil
	}
	out := new(FeatureSpinlocks)
	in.DeepCopyInto(out)
	return out
}

func (in *FeatureState) DeepCopyInto(out *FeatureState) {
	*out = *in
	return
}

func (in *FeatureState) DeepCopy() *FeatureState {
	if in == nil {
		return nil
	}
	out := new(FeatureState)
	in.DeepCopyInto(out)
	return out
}

func (in *FeatureVendorID) DeepCopyInto(out *FeatureVendorID) {
	*out = *in
	return
}

func (in *FeatureVendorID) DeepCopy() *FeatureVendorID {
	if in == nil {
		return nil
	}
	out := new(FeatureVendorID)
	in.DeepCopyInto(out)
	return out
}

func (in *Features) DeepCopyInto(out *Features) {
	*out = *in
	if in.ACPI != nil {
		in, out := &in.ACPI, &out.ACPI
		*out = new(FeatureEnabled)
		**out = **in
	}
	if in.APIC != nil {
		in, out := &in.APIC, &out.APIC
		*out = new(FeatureEnabled)
		**out = **in
	}
	if in.Hyperv != nil {
		in, out := &in.Hyperv, &out.Hyperv
		*out = new(FeatureHyperv)
		(*in).DeepCopyInto(*out)
	}
	if in.SMM != nil {
		in, out := &in.SMM, &out.SMM
		*out = new(FeatureEnabled)
		**out = **in
	}
	return
}

func (in *Features) DeepCopy() *Features {
	if in == nil {
		return nil
	}
	out := new(Features)
	in.DeepCopyInto(out)
	return out
}

func (in *Filesystem) DeepCopyInto(out *Filesystem) {
	*out = *in
	return
}

func (in *Filesystem) DeepCopy() *Filesystem {
	if in == nil {
		return nil
	}
	out := new(Filesystem)
	in.DeepCopyInto(out)
	return out
}

func (in *FilterRef) DeepCopyInto(out *FilterRef) {
	*out = *in
	return
}

func (in *FilterRef) DeepCopy() *FilterRef {
	if in == nil {
		return nil
	}
	out := new(FilterRef)
	in.DeepCopyInto(out)
	return out
}

func (in *GracePeriodMetadata) DeepCopyInto(out *GracePeriodMetadata) {
	*out = *in
	if in.DeletionTimestamp != nil {
		in, out := &in.DeletionTimestamp, &out.DeletionTimestamp
		*out = (*in).DeepCopy()
	}
	return
}

func (in *GracePeriodMetadata) DeepCopy() *GracePeriodMetadata {
	if in == nil {
		return nil
	}
	out := new(GracePeriodMetadata)
	in.DeepCopyInto(out)
	return out
}

func (in *Graphics) DeepCopyInto(out *Graphics) {
	*out = *in
	if in.Listen != nil {
		in, out := &in.Listen, &out.Listen
		*out = new(GraphicsListen)
		**out = **in
	}
	return
}

func (in *Graphics) DeepCopy() *Graphics {
	if in == nil {
		return nil
	}
	out := new(Graphics)
	in.DeepCopyInto(out)
	return out
}

func (in *GraphicsListen) DeepCopyInto(out *GraphicsListen) {
	*out = *in
	return
}

func (in *GraphicsListen) DeepCopy() *GraphicsListen {
	if in == nil {
		return nil
	}
	out := new(GraphicsListen)
	in.DeepCopyInto(out)
	return out
}

func (in *GuestOSInfo) DeepCopyInto(out *GuestOSInfo) {
	*out = *in
	return
}

func (in *GuestOSInfo) DeepCopy() *GuestOSInfo {
	if in == nil {
		return nil
	}
	out := new(GuestOSInfo)
	in.DeepCopyInto(out)
	return out
}

func (in *HostDevice) DeepCopyInto(out *HostDevice) {
	*out = *in
	in.Source.DeepCopyInto(&out.Source)
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = new(BootOrder)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *HostDevice) DeepCopy() *HostDevice {
	if in == nil {
		return nil
	}
	out := new(HostDevice)
	in.DeepCopyInto(out)
	return out
}

func (in *HostDeviceSource) DeepCopyInto(out *HostDeviceSource) {
	*out = *in
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *HostDeviceSource) DeepCopy() *HostDeviceSource {
	if in == nil {
		return nil
	}
	out := new(HostDeviceSource)
	in.DeepCopyInto(out)
	return out
}

func (in *HugePage) DeepCopyInto(out *HugePage) {
	*out = *in
	return
}

func (in *HugePage) DeepCopy() *HugePage {
	if in == nil {
		return nil
	}
	out := new(HugePage)
	in.DeepCopyInto(out)
	return out
}

func (in *HugePages) DeepCopyInto(out *HugePages) {
	*out = *in
	if in.HugePage != nil {
		in, out := &in.HugePage, &out.HugePage
		*out = make([]HugePage, len(*in))
		copy(*out, *in)
	}
	return
}

func (in *HugePages) DeepCopy() *HugePages {
	if in == nil {
		return nil
	}
	out := new(HugePages)
	in.DeepCopyInto(out)
	return out
}

func (in *IOThreads) DeepCopyInto(out *IOThreads) {
	*out = *in
	return
}

func (in *IOThreads) DeepCopy() *IOThreads {
	if in == nil {
		return nil
	}
	out := new(IOThreads)
	in.DeepCopyInto(out)
	return out
}

func (in *Input) DeepCopyInto(out *Input) {
	*out = *in
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *Input) DeepCopy() *Input {
	if in == nil {
		return nil
	}
	out := new(Input)
	in.DeepCopyInto(out)
	return out
}

func (in *Interface) DeepCopyInto(out *Interface) {
	*out = *in
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	in.Source.DeepCopyInto(&out.Source)
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(InterfaceTarget)
		**out = **in
	}
	if in.Model != nil {
		in, out := &in.Model, &out.Model
		*out = new(Model)
		**out = **in
	}
	if in.MAC != nil {
		in, out := &in.MAC, &out.MAC
		*out = new(MAC)
		**out = **in
	}
	if in.MTU != nil {
		in, out := &in.MTU, &out.MTU
		*out = new(MTU)
		**out = **in
	}
	if in.BandWidth != nil {
		in, out := &in.BandWidth, &out.BandWidth
		*out = new(BandWidth)
		**out = **in
	}
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = new(BootOrder)
		**out = **in
	}
	if in.LinkState != nil {
		in, out := &in.LinkState, &out.LinkState
		*out = new(LinkState)
		**out = **in
	}
	if in.FilterRef != nil {
		in, out := &in.FilterRef, &out.FilterRef
		*out = new(FilterRef)
		**out = **in
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Driver != nil {
		in, out := &in.Driver, &out.Driver
		*out = new(InterfaceDriver)
		(*in).DeepCopyInto(*out)
	}
	return
}

func (in *Interface) DeepCopy() *Interface {
	if in == nil {
		return nil
	}
	out := new(Interface)
	in.DeepCopyInto(out)
	return out
}

func (in *InterfaceDriver) DeepCopyInto(out *InterfaceDriver) {
	*out = *in
	if in.Queues != nil {
		in, out := &in.Queues, &out.Queues
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *InterfaceDriver) DeepCopy() *InterfaceDriver {
	if in == nil {
		return nil
	}
	out := new(InterfaceDriver)
	in.DeepCopyInto(out)
	return out
}

func (in *InterfaceSource) DeepCopyInto(out *InterfaceSource) {
	*out = *in
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *InterfaceSource) DeepCopy() *InterfaceSource {
	if in == nil {
		return nil
	}
	out := new(InterfaceSource)
	in.DeepCopyInto(out)
	return out
}

func (in *InterfaceStatus) DeepCopyInto(out *InterfaceStatus) {
	*out = *in
	if in.IPs != nil {
		in, out := &in.IPs, &out.IPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

func (in *InterfaceStatus) DeepCopy() *InterfaceStatus {
	if in == nil {
		return nil
	}
	out := new(InterfaceStatus)
	in.DeepCopyInto(out)
	return out
}

func (in *InterfaceTarget) DeepCopyInto(out *InterfaceTarget) {
	*out = *in
	return
}

func (in *InterfaceTarget) DeepCopy() *InterfaceTarget {
	if in == nil {
		return nil
	}
	out := new(InterfaceTarget)
	in.DeepCopyInto(out)
	return out
}

func (in *KubeVirtMetadata) DeepCopyInto(out *KubeVirtMetadata) {
	*out = *in
	if in.GracePeriod != nil {
		in, out := &in.GracePeriod, &out.GracePeriod
		*out = new(GracePeriodMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Migration != nil {
		in, out := &in.Migration, &out.Migration
		*out = new(MigrationMetadata)
		(*in).DeepCopyInto(*out)
	}
	return
}

func (in *KubeVirtMetadata) DeepCopy() *KubeVirtMetadata {
	if in == nil {
		return nil
	}
	out := new(KubeVirtMetadata)
	in.DeepCopyInto(out)
	return out
}

func (in *LinkState) DeepCopyInto(out *LinkState) {
	*out = *in
	return
}

func (in *LinkState) DeepCopy() *LinkState {
	if in == nil {
		return nil
	}
	out := new(LinkState)
	in.DeepCopyInto(out)
	return out
}

func (in *Loader) DeepCopyInto(out *Loader) {
	*out = *in
	return
}

func (in *Loader) DeepCopy() *Loader {
	if in == nil {
		return nil
	}
	out := new(Loader)
	in.DeepCopyInto(out)
	return out
}

func (in *MAC) DeepCopyInto(out *MAC) {
	*out = *in
	return
}

func (in *MAC) DeepCopy() *MAC {
	if in == nil {
		return nil
	}
	out := new(MAC)
	in.DeepCopyInto(out)
	return out
}

func (in *MTU) DeepCopyInto(out *MTU) {
	*out = *in
	return
}

func (in *MTU) DeepCopy() *MTU {
	if in == nil {
		return nil
	}
	out := new(MTU)
	in.DeepCopyInto(out)
	return out
}

func (in *Memory) DeepCopyInto(out *Memory) {
	*out = *in
	return
}

func (in *Memory) DeepCopy() *Memory {
	if in == nil {
		return nil
	}
	out := new(Memory)
	in.DeepCopyInto(out)
	return out
}

func (in *MemoryBacking) DeepCopyInto(out *MemoryBacking) {
	*out = *in
	if in.HugePages != nil {
		in, out := &in.HugePages, &out.HugePages
		*out = new(HugePages)
		(*in).DeepCopyInto(*out)
	}
	return
}

func (in *MemoryBacking) DeepCopy() *MemoryBacking {
	if in == nil {
		return nil
	}
	out := new(MemoryBacking)
	in.DeepCopyInto(out)
	return out
}

func (in *Metadata) DeepCopyInto(out *Metadata) {
	*out = *in
	in.KubeVirt.DeepCopyInto(&out.KubeVirt)
	return
}

func (in *Metadata) DeepCopy() *Metadata {
	if in == nil {
		return nil
	}
	out := new(Metadata)
	in.DeepCopyInto(out)
	return out
}

func (in *MigrationMetadata) DeepCopyInto(out *MigrationMetadata) {
	*out = *in
	if in.StartTimestamp != nil {
		in, out := &in.StartTimestamp, &out.StartTimestamp
		*out = (*in).DeepCopy()
	}
	if in.EndTimestamp != nil {
		in, out := &in.EndTimestamp, &out.EndTimestamp
		*out = (*in).DeepCopy()
	}
	return
}

func (in *MigrationMetadata) DeepCopy() *MigrationMetadata {
	if in == nil {
		return nil
	}
	out := new(MigrationMetadata)
	in.DeepCopyInto(out)
	return out
}

func (in *Model) DeepCopyInto(out *Model) {
	*out = *in
	return
}

func (in *Model) DeepCopy() *Model {
	if in == nil {
		return nil
	}
	out := new(Model)
	in.DeepCopyInto(out)
	return out
}

func (in *NVRam) DeepCopyInto(out *NVRam) {
	*out = *in
	return
}

func (in *NVRam) DeepCopy() *NVRam {
	if in == nil {
		return nil
	}
	out := new(NVRam)
	in.DeepCopyInto(out)
	return out
}

func (in *OS) DeepCopyInto(out *OS) {
	*out = *in
	out.Type = in.Type
	if in.SMBios != nil {
		in, out := &in.SMBios, &out.SMBios
		*out = new(SMBios)
		**out = **in
	}
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = make([]Boot, len(*in))
		copy(*out, *in)
	}
	if in.BootMenu != nil {
		in, out := &in.BootMenu, &out.BootMenu
		*out = new(BootMenu)
		(*in).DeepCopyInto(*out)
	}
	if in.BIOS != nil {
		in, out := &in.BIOS, &out.BIOS
		*out = new(BIOS)
		**out = **in
	}
	if in.BootLoader != nil {
		in, out := &in.BootLoader, &out.BootLoader
		*out = new(Loader)
		**out = **in
	}
	if in.NVRam != nil {
		in, out := &in.NVRam, &out.NVRam
		*out = new(NVRam)
		**out = **in
	}
	return
}

func (in *OS) DeepCopy() *OS {
	if in == nil {
		return nil
	}
	out := new(OS)
	in.DeepCopyInto(out)
	return out
}

func (in *OSType) DeepCopyInto(out *OSType) {
	*out = *in
	return
}

func (in *OSType) DeepCopy() *OSType {
	if in == nil {
		return nil
	}
	out := new(OSType)
	in.DeepCopyInto(out)
	return out
}

func (in *ReadOnly) DeepCopyInto(out *ReadOnly) {
	*out = *in
	return
}

func (in *ReadOnly) DeepCopy() *ReadOnly {
	if in == nil {
		return nil
	}
	out := new(ReadOnly)
	in.DeepCopyInto(out)
	return out
}

func (in *Resource) DeepCopyInto(out *Resource) {
	*out = *in
	return
}

func (in *Resource) DeepCopy() *Resource {
	if in == nil {
		return nil
	}
	out := new(Resource)
	in.DeepCopyInto(out)
	return out
}

func (in *Rng) DeepCopyInto(out *Rng) {
	*out = *in
	if in.Backend != nil {
		in, out := &in.Backend, &out.Backend
		*out = new(RngBackend)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *Rng) DeepCopy() *Rng {
	if in == nil {
		return nil
	}
	out := new(Rng)
	in.DeepCopyInto(out)
	return out
}

func (in *RngBackend) DeepCopyInto(out *RngBackend) {
	*out = *in
	return
}

func (in *RngBackend) DeepCopy() *RngBackend {
	if in == nil {
		return nil
	}
	out := new(RngBackend)
	in.DeepCopyInto(out)
	return out
}

func (in *RngRate) DeepCopyInto(out *RngRate) {
	*out = *in
	return
}

func (in *RngRate) DeepCopy() *RngRate {
	if in == nil {
		return nil
	}
	out := new(RngRate)
	in.DeepCopyInto(out)
	return out
}

func (in *SMBios) DeepCopyInto(out *SMBios) {
	*out = *in
	return
}

func (in *SMBios) DeepCopy() *SMBios {
	if in == nil {
		return nil
	}
	out := new(SMBios)
	in.DeepCopyInto(out)
	return out
}

func (in *SecretSpec) DeepCopyInto(out *SecretSpec) {
	*out = *in
	out.XMLName = in.XMLName
	out.Usage = in.Usage
	return
}

func (in *SecretSpec) DeepCopy() *SecretSpec {
	if in == nil {
		return nil
	}
	out := new(SecretSpec)
	in.DeepCopyInto(out)
	return out
}

func (in *SecretUsage) DeepCopyInto(out *SecretUsage) {
	*out = *in
	return
}

func (in *SecretUsage) DeepCopy() *SecretUsage {
	if in == nil {
		return nil
	}
	out := new(SecretUsage)
	in.DeepCopyInto(out)
	return out
}

func (in *Serial) DeepCopyInto(out *Serial) {
	*out = *in
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(SerialTarget)
		(*in).DeepCopyInto(*out)
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(SerialSource)
		**out = **in
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	return
}

func (in *Serial) DeepCopy() *Serial {
	if in == nil {
		return nil
	}
	out := new(Serial)
	in.DeepCopyInto(out)
	return out
}

func (in *SerialSource) DeepCopyInto(out *SerialSource) {
	*out = *in
	return
}

func (in *SerialSource) DeepCopy() *SerialSource {
	if in == nil {
		return nil
	}
	out := new(SerialSource)
	in.DeepCopyInto(out)
	return out
}

func (in *SerialTarget) DeepCopyInto(out *SerialTarget) {
	*out = *in
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *SerialTarget) DeepCopy() *SerialTarget {
	if in == nil {
		return nil
	}
	out := new(SerialTarget)
	in.DeepCopyInto(out)
	return out
}

func (in *SysInfo) DeepCopyInto(out *SysInfo) {
	*out = *in
	if in.System != nil {
		in, out := &in.System, &out.System
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	if in.BIOS != nil {
		in, out := &in.BIOS, &out.BIOS
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	if in.BaseBoard != nil {
		in, out := &in.BaseBoard, &out.BaseBoard
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	if in.Chassis != nil {
		in, out := &in.Chassis, &out.Chassis
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	return
}

func (in *SysInfo) DeepCopy() *SysInfo {
	if in == nil {
		return nil
	}
	out := new(SysInfo)
	in.DeepCopyInto(out)
	return out
}

func (in *Timer) DeepCopyInto(out *Timer) {
	*out = *in
	return
}

func (in *Timer) DeepCopy() *Timer {
	if in == nil {
		return nil
	}
	out := new(Timer)
	in.DeepCopyInto(out)
	return out
}

func (in *Timezone) DeepCopyInto(out *Timezone) {
	*out = *in
	return
}

func (in *Timezone) DeepCopy() *Timezone {
	if in == nil {
		return nil
	}
	out := new(Timezone)
	in.DeepCopyInto(out)
	return out
}

func (in *User) DeepCopyInto(out *User) {
	*out = *in
	return
}

func (in *User) DeepCopy() *User {
	if in == nil {
		return nil
	}
	out := new(User)
	in.DeepCopyInto(out)
	return out
}

func (in *UserAlias) DeepCopyInto(out *UserAlias) {
	*out = *in
	return
}

func (in *UserAlias) DeepCopy() *UserAlias {
	if in == nil {
		return nil
	}
	out := new(UserAlias)
	in.DeepCopyInto(out)
	return out
}

func (in *VCPU) DeepCopyInto(out *VCPU) {
	*out = *in
	return
}

func (in *VCPU) DeepCopy() *VCPU {
	if in == nil {
		return nil
	}
	out := new(VCPU)
	in.DeepCopyInto(out)
	return out
}

func (in *Video) DeepCopyInto(out *Video) {
	*out = *in
	in.Model.DeepCopyInto(&out.Model)
	return
}

func (in *Video) DeepCopy() *Video {
	if in == nil {
		return nil
	}
	out := new(Video)
	in.DeepCopyInto(out)
	return out
}

func (in *VideoModel) DeepCopyInto(out *VideoModel) {
	*out = *in
	if in.Heads != nil {
		in, out := &in.Heads, &out.Heads
		*out = new(uint)
		**out = **in
	}
	if in.Ram != nil {
		in, out := &in.Ram, &out.Ram
		*out = new(uint)
		**out = **in
	}
	if in.VRam != nil {
		in, out := &in.VRam, &out.VRam
		*out = new(uint)
		**out = **in
	}
	if in.VGAMem != nil {
		in, out := &in.VGAMem, &out.VGAMem
		*out = new(uint)
		**out = **in
	}
	return
}

func (in *VideoModel) DeepCopy() *VideoModel {
	if in == nil {
		return nil
	}
	out := new(VideoModel)
	in.DeepCopyInto(out)
	return out
}

func (in *Watchdog) DeepCopyInto(out *Watchdog) {
	*out = *in
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

func (in *Watchdog) DeepCopy() *Watchdog {
	if in == nil {
		return nil
	}
	out := new(Watchdog)
	in.DeepCopyInto(out)
	return out
}
// +build !ignore_autogenerated

/*
Copyright 2020 The KubeVirt Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// Code generated by deepcopy-gen. DO NOT EDIT.

package api

import (
	runtime "k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Address) DeepCopyInto(out *Address) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Address.
func (in *Address) DeepCopy() *Address {
	if in == nil {
		return nil
	}
	out := new(Address)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Alias) DeepCopyInto(out *Alias) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alias.
func (in *Alias) DeepCopy() *Alias {
	if in == nil {
		return nil
	}
	out := new(Alias)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Arg) DeepCopyInto(out *Arg) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Arg.
func (in *Arg) DeepCopy() *Arg {
	if in == nil {
		return nil
	}
	out := new(Arg)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BIOS) DeepCopyInto(out *BIOS) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BIOS.
func (in *BIOS) DeepCopy() *BIOS {
	if in == nil {
		return nil
	}
	out := new(BIOS)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackingStore) DeepCopyInto(out *BackingStore) {
	*out = *in
	if in.Format != nil {
		in, out := &in.Format, &out.Format
		*out = new(BackingStoreFormat)
		**out = **in
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(DiskSource)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackingStore.
func (in *BackingStore) DeepCopy() *BackingStore {
	if in == nil {
		return nil
	}
	out := new(BackingStore)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackingStoreFormat) DeepCopyInto(out *BackingStoreFormat) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackingStoreFormat.
func (in *BackingStoreFormat) DeepCopy() *BackingStoreFormat {
	if in == nil {
		return nil
	}
	out := new(BackingStoreFormat)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Ballooning) DeepCopyInto(out *Ballooning) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ballooning.
func (in *Ballooning) DeepCopy() *Ballooning {
	if in == nil {
		return nil
	}
	out := new(Ballooning)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BandWidth) DeepCopyInto(out *BandWidth) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BandWidth.
func (in *BandWidth) DeepCopy() *BandWidth {
	if in == nil {
		return nil
	}
	out := new(BandWidth)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Boot) DeepCopyInto(out *Boot) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Boot.
func (in *Boot) DeepCopy() *Boot {
	if in == nil {
		return nil
	}
	out := new(Boot)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BootMenu) DeepCopyInto(out *BootMenu) {
	*out = *in
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootMenu.
func (in *BootMenu) DeepCopy() *BootMenu {
	if in == nil {
		return nil
	}
	out := new(BootMenu)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BootOrder) DeepCopyInto(out *BootOrder) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootOrder.
func (in *BootOrder) DeepCopy() *BootOrder {
	if in == nil {
		return nil
	}
	out := new(BootOrder)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPU) DeepCopyInto(out *CPU) {
	*out = *in
	if in.Features != nil {
		in, out := &in.Features, &out.Features
		*out = make([]CPUFeature, len(*in))
		copy(*out, *in)
	}
	if in.Topology != nil {
		in, out := &in.Topology, &out.Topology
		*out = new(CPUTopology)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.
func (in *CPU) DeepCopy() *CPU {
	if in == nil {
		return nil
	}
	out := new(CPU)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPUEmulatorPin) DeepCopyInto(out *CPUEmulatorPin) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUEmulatorPin.
func (in *CPUEmulatorPin) DeepCopy() *CPUEmulatorPin {
	if in == nil {
		return nil
	}
	out := new(CPUEmulatorPin)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPUFeature) DeepCopyInto(out *CPUFeature) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUFeature.
func (in *CPUFeature) DeepCopy() *CPUFeature {
	if in == nil {
		return nil
	}
	out := new(CPUFeature)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPUTopology) DeepCopyInto(out *CPUTopology) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUTopology.
func (in *CPUTopology) DeepCopy() *CPUTopology {
	if in == nil {
		return nil
	}
	out := new(CPUTopology)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPUTune) DeepCopyInto(out *CPUTune) {
	*out = *in
	if in.VCPUPin != nil {
		in, out := &in.VCPUPin, &out.VCPUPin
		*out = make([]CPUTuneVCPUPin, len(*in))
		copy(*out, *in)
	}
	if in.IOThreadPin != nil {
		in, out := &in.IOThreadPin, &out.IOThreadPin
		*out = make([]CPUTuneIOThreadPin, len(*in))
		copy(*out, *in)
	}
	if in.EmulatorPin != nil {
		in, out := &in.EmulatorPin, &out.EmulatorPin
		*out = new(CPUEmulatorPin)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUTune.
func (in *CPUTune) DeepCopy() *CPUTune {
	if in == nil {
		return nil
	}
	out := new(CPUTune)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPUTuneIOThreadPin) DeepCopyInto(out *CPUTuneIOThreadPin) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUTuneIOThreadPin.
func (in *CPUTuneIOThreadPin) DeepCopy() *CPUTuneIOThreadPin {
	if in == nil {
		return nil
	}
	out := new(CPUTuneIOThreadPin)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CPUTuneVCPUPin) DeepCopyInto(out *CPUTuneVCPUPin) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUTuneVCPUPin.
func (in *CPUTuneVCPUPin) DeepCopy() *CPUTuneVCPUPin {
	if in == nil {
		return nil
	}
	out := new(CPUTuneVCPUPin)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Channel) DeepCopyInto(out *Channel) {
	*out = *in
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(ChannelSource)
		**out = **in
	}
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(ChannelTarget)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Channel.
func (in *Channel) DeepCopy() *Channel {
	if in == nil {
		return nil
	}
	out := new(Channel)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChannelSource) DeepCopyInto(out *ChannelSource) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChannelSource.
func (in *ChannelSource) DeepCopy() *ChannelSource {
	if in == nil {
		return nil
	}
	out := new(ChannelSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChannelTarget) DeepCopyInto(out *ChannelTarget) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChannelTarget.
func (in *ChannelTarget) DeepCopy() *ChannelTarget {
	if in == nil {
		return nil
	}
	out := new(ChannelTarget)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Clock) DeepCopyInto(out *Clock) {
	*out = *in
	if in.Timer != nil {
		in, out := &in.Timer, &out.Timer
		*out = make([]Timer, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Clock.
func (in *Clock) DeepCopy() *Clock {
	if in == nil {
		return nil
	}
	out := new(Clock)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Commandline) DeepCopyInto(out *Commandline) {
	*out = *in
	if in.QEMUEnv != nil {
		in, out := &in.QEMUEnv, &out.QEMUEnv
		*out = make([]Env, len(*in))
		copy(*out, *in)
	}
	if in.QEMUArg != nil {
		in, out := &in.QEMUArg, &out.QEMUArg
		*out = make([]Arg, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Commandline.
func (in *Commandline) DeepCopy() *Commandline {
	if in == nil {
		return nil
	}
	out := new(Commandline)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Console) DeepCopyInto(out *Console) {
	*out = *in
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(ConsoleTarget)
		(*in).DeepCopyInto(*out)
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(ConsoleSource)
		**out = **in
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Console.
func (in *Console) DeepCopy() *Console {
	if in == nil {
		return nil
	}
	out := new(Console)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConsoleSource) DeepCopyInto(out *ConsoleSource) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSource.
func (in *ConsoleSource) DeepCopy() *ConsoleSource {
	if in == nil {
		return nil
	}
	out := new(ConsoleSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConsoleTarget) DeepCopyInto(out *ConsoleTarget) {
	*out = *in
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleTarget.
func (in *ConsoleTarget) DeepCopy() *ConsoleTarget {
	if in == nil {
		return nil
	}
	out := new(ConsoleTarget)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Controller) DeepCopyInto(out *Controller) {
	*out = *in
	if in.Driver != nil {
		in, out := &in.Driver, &out.Driver
		*out = new(ControllerDriver)
		(*in).DeepCopyInto(*out)
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Controller.
func (in *Controller) DeepCopy() *Controller {
	if in == nil {
		return nil
	}
	out := new(Controller)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ControllerDriver) DeepCopyInto(out *ControllerDriver) {
	*out = *in
	if in.IOThread != nil {
		in, out := &in.IOThread, &out.IOThread
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerDriver.
func (in *ControllerDriver) DeepCopy() *ControllerDriver {
	if in == nil {
		return nil
	}
	out := new(ControllerDriver)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Defaulter) DeepCopyInto(out *Defaulter) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Defaulter.
func (in *Defaulter) DeepCopy() *Defaulter {
	if in == nil {
		return nil
	}
	out := new(Defaulter)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Devices) DeepCopyInto(out *Devices) {
	*out = *in
	if in.Interfaces != nil {
		in, out := &in.Interfaces, &out.Interfaces
		*out = make([]Interface, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Channels != nil {
		in, out := &in.Channels, &out.Channels
		*out = make([]Channel, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.HostDevices != nil {
		in, out := &in.HostDevices, &out.HostDevices
		*out = make([]HostDevice, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Controllers != nil {
		in, out := &in.Controllers, &out.Controllers
		*out = make([]Controller, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Video != nil {
		in, out := &in.Video, &out.Video
		*out = make([]Video, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Graphics != nil {
		in, out := &in.Graphics, &out.Graphics
		*out = make([]Graphics, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Ballooning != nil {
		in, out := &in.Ballooning, &out.Ballooning
		*out = new(Ballooning)
		**out = **in
	}
	if in.Disks != nil {
		in, out := &in.Disks, &out.Disks
		*out = make([]Disk, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Inputs != nil {
		in, out := &in.Inputs, &out.Inputs
		*out = make([]Input, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Serials != nil {
		in, out := &in.Serials, &out.Serials
		*out = make([]Serial, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Consoles != nil {
		in, out := &in.Consoles, &out.Consoles
		*out = make([]Console, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Watchdog != nil {
		in, out := &in.Watchdog, &out.Watchdog
		*out = new(Watchdog)
		(*in).DeepCopyInto(*out)
	}
	if in.Rng != nil {
		in, out := &in.Rng, &out.Rng
		*out = new(Rng)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Devices.
func (in *Devices) DeepCopy() *Devices {
	if in == nil {
		return nil
	}
	out := new(Devices)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Disk) DeepCopyInto(out *Disk) {
	*out = *in
	in.Source.DeepCopyInto(&out.Source)
	out.Target = in.Target
	if in.Driver != nil {
		in, out := &in.Driver, &out.Driver
		*out = new(DiskDriver)
		(*in).DeepCopyInto(*out)
	}
	if in.ReadOnly != nil {
		in, out := &in.ReadOnly, &out.ReadOnly
		*out = new(ReadOnly)
		**out = **in
	}
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = new(DiskAuth)
		(*in).DeepCopyInto(*out)
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.BackingStore != nil {
		in, out := &in.BackingStore, &out.BackingStore
		*out = new(BackingStore)
		(*in).DeepCopyInto(*out)
	}
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = new(BootOrder)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.
func (in *Disk) DeepCopy() *Disk {
	if in == nil {
		return nil
	}
	out := new(Disk)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiskAuth) DeepCopyInto(out *DiskAuth) {
	*out = *in
	if in.Secret != nil {
		in, out := &in.Secret, &out.Secret
		*out = new(DiskSecret)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskAuth.
func (in *DiskAuth) DeepCopy() *DiskAuth {
	if in == nil {
		return nil
	}
	out := new(DiskAuth)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiskDriver) DeepCopyInto(out *DiskDriver) {
	*out = *in
	if in.IOThread != nil {
		in, out := &in.IOThread, &out.IOThread
		*out = new(uint)
		**out = **in
	}
	if in.Queues != nil {
		in, out := &in.Queues, &out.Queues
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskDriver.
func (in *DiskDriver) DeepCopy() *DiskDriver {
	if in == nil {
		return nil
	}
	out := new(DiskDriver)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiskSecret) DeepCopyInto(out *DiskSecret) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSecret.
func (in *DiskSecret) DeepCopy() *DiskSecret {
	if in == nil {
		return nil
	}
	out := new(DiskSecret)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiskSource) DeepCopyInto(out *DiskSource) {
	*out = *in
	if in.Host != nil {
		in, out := &in.Host, &out.Host
		*out = new(DiskSourceHost)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSource.
func (in *DiskSource) DeepCopy() *DiskSource {
	if in == nil {
		return nil
	}
	out := new(DiskSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiskSourceHost) DeepCopyInto(out *DiskSourceHost) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSourceHost.
func (in *DiskSourceHost) DeepCopy() *DiskSourceHost {
	if in == nil {
		return nil
	}
	out := new(DiskSourceHost)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiskTarget) DeepCopyInto(out *DiskTarget) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskTarget.
func (in *DiskTarget) DeepCopy() *DiskTarget {
	if in == nil {
		return nil
	}
	out := new(DiskTarget)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Domain) DeepCopyInto(out *Domain) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.
func (in *Domain) DeepCopy() *Domain {
	if in == nil {
		return nil
	}
	out := new(Domain)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Domain) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DomainGuestInfo) DeepCopyInto(out *DomainGuestInfo) {
	*out = *in
	if in.Interfaces != nil {
		in, out := &in.Interfaces, &out.Interfaces
		*out = make([]InterfaceStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OSInfo != nil {
		in, out := &in.OSInfo, &out.OSInfo
		*out = new(GuestOSInfo)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainGuestInfo.
func (in *DomainGuestInfo) DeepCopy() *DomainGuestInfo {
	if in == nil {
		return nil
	}
	out := new(DomainGuestInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DomainList) DeepCopyInto(out *DomainList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Domain, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainList.
func (in *DomainList) DeepCopy() *DomainList {
	if in == nil {
		return nil
	}
	out := new(DomainList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DomainList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DomainSpec) DeepCopyInto(out *DomainSpec) {
	*out = *in
	out.XMLName = in.XMLName
	out.Memory = in.Memory
	if in.MemoryBacking != nil {
		in, out := &in.MemoryBacking, &out.MemoryBacking
		*out = new(MemoryBacking)
		(*in).DeepCopyInto(*out)
	}
	in.OS.DeepCopyInto(&out.OS)
	if in.SysInfo != nil {
		in, out := &in.SysInfo, &out.SysInfo
		*out = new(SysInfo)
		(*in).DeepCopyInto(*out)
	}
	in.Devices.DeepCopyInto(&out.Devices)
	if in.Clock != nil {
		in, out := &in.Clock, &out.Clock
		*out = new(Clock)
		(*in).DeepCopyInto(*out)
	}
	if in.Resource != nil {
		in, out := &in.Resource, &out.Resource
		*out = new(Resource)
		**out = **in
	}
	if in.QEMUCmd != nil {
		in, out := &in.QEMUCmd, &out.QEMUCmd
		*out = new(Commandline)
		(*in).DeepCopyInto(*out)
	}
	in.Metadata.DeepCopyInto(&out.Metadata)
	if in.Features != nil {
		in, out := &in.Features, &out.Features
		*out = new(Features)
		(*in).DeepCopyInto(*out)
	}
	in.CPU.DeepCopyInto(&out.CPU)
	if in.VCPU != nil {
		in, out := &in.VCPU, &out.VCPU
		*out = new(VCPU)
		**out = **in
	}
	if in.CPUTune != nil {
		in, out := &in.CPUTune, &out.CPUTune
		*out = new(CPUTune)
		(*in).DeepCopyInto(*out)
	}
	if in.IOThreads != nil {
		in, out := &in.IOThreads, &out.IOThreads
		*out = new(IOThreads)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainSpec.
func (in *DomainSpec) DeepCopy() *DomainSpec {
	if in == nil {
		return nil
	}
	out := new(DomainSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DomainStatus) DeepCopyInto(out *DomainStatus) {
	*out = *in
	if in.Interfaces != nil {
		in, out := &in.Interfaces, &out.Interfaces
		*out = make([]InterfaceStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.OSInfo = in.OSInfo
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainStatus.
func (in *DomainStatus) DeepCopy() *DomainStatus {
	if in == nil {
		return nil
	}
	out := new(DomainStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DomainSysInfo) DeepCopyInto(out *DomainSysInfo) {
	*out = *in
	out.OSInfo = in.OSInfo
	out.Timezone = in.Timezone
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainSysInfo.
func (in *DomainSysInfo) DeepCopy() *DomainSysInfo {
	if in == nil {
		return nil
	}
	out := new(DomainSysInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Entry) DeepCopyInto(out *Entry) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Entry.
func (in *Entry) DeepCopy() *Entry {
	if in == nil {
		return nil
	}
	out := new(Entry)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Env) DeepCopyInto(out *Env) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Env.
func (in *Env) DeepCopy() *Env {
	if in == nil {
		return nil
	}
	out := new(Env)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureEnabled) DeepCopyInto(out *FeatureEnabled) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureEnabled.
func (in *FeatureEnabled) DeepCopy() *FeatureEnabled {
	if in == nil {
		return nil
	}
	out := new(FeatureEnabled)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureHyperv) DeepCopyInto(out *FeatureHyperv) {
	*out = *in
	if in.Relaxed != nil {
		in, out := &in.Relaxed, &out.Relaxed
		*out = new(FeatureState)
		**out = **in
	}
	if in.VAPIC != nil {
		in, out := &in.VAPIC, &out.VAPIC
		*out = new(FeatureState)
		**out = **in
	}
	if in.Spinlocks != nil {
		in, out := &in.Spinlocks, &out.Spinlocks
		*out = new(FeatureSpinlocks)
		(*in).DeepCopyInto(*out)
	}
	if in.VPIndex != nil {
		in, out := &in.VPIndex, &out.VPIndex
		*out = new(FeatureState)
		**out = **in
	}
	if in.Runtime != nil {
		in, out := &in.Runtime, &out.Runtime
		*out = new(FeatureState)
		**out = **in
	}
	if in.SyNIC != nil {
		in, out := &in.SyNIC, &out.SyNIC
		*out = new(FeatureState)
		**out = **in
	}
	if in.SyNICTimer != nil {
		in, out := &in.SyNICTimer, &out.SyNICTimer
		*out = new(FeatureState)
		**out = **in
	}
	if in.Reset != nil {
		in, out := &in.Reset, &out.Reset
		*out = new(FeatureState)
		**out = **in
	}
	if in.VendorID != nil {
		in, out := &in.VendorID, &out.VendorID
		*out = new(FeatureVendorID)
		**out = **in
	}
	if in.Frequencies != nil {
		in, out := &in.Frequencies, &out.Frequencies
		*out = new(FeatureState)
		**out = **in
	}
	if in.Reenlightenment != nil {
		in, out := &in.Reenlightenment, &out.Reenlightenment
		*out = new(FeatureState)
		**out = **in
	}
	if in.TLBFlush != nil {
		in, out := &in.TLBFlush, &out.TLBFlush
		*out = new(FeatureState)
		**out = **in
	}
	if in.IPI != nil {
		in, out := &in.IPI, &out.IPI
		*out = new(FeatureState)
		**out = **in
	}
	if in.EVMCS != nil {
		in, out := &in.EVMCS, &out.EVMCS
		*out = new(FeatureState)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureHyperv.
func (in *FeatureHyperv) DeepCopy() *FeatureHyperv {
	if in == nil {
		return nil
	}
	out := new(FeatureHyperv)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureSpinlocks) DeepCopyInto(out *FeatureSpinlocks) {
	*out = *in
	if in.Retries != nil {
		in, out := &in.Retries, &out.Retries
		*out = new(uint32)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureSpinlocks.
func (in *FeatureSpinlocks) DeepCopy() *FeatureSpinlocks {
	if in == nil {
		return nil
	}
	out := new(FeatureSpinlocks)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureState) DeepCopyInto(out *FeatureState) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureState.
func (in *FeatureState) DeepCopy() *FeatureState {
	if in == nil {
		return nil
	}
	out := new(FeatureState)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FeatureVendorID) DeepCopyInto(out *FeatureVendorID) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureVendorID.
func (in *FeatureVendorID) DeepCopy() *FeatureVendorID {
	if in == nil {
		return nil
	}
	out := new(FeatureVendorID)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Features) DeepCopyInto(out *Features) {
	*out = *in
	if in.ACPI != nil {
		in, out := &in.ACPI, &out.ACPI
		*out = new(FeatureEnabled)
		**out = **in
	}
	if in.APIC != nil {
		in, out := &in.APIC, &out.APIC
		*out = new(FeatureEnabled)
		**out = **in
	}
	if in.Hyperv != nil {
		in, out := &in.Hyperv, &out.Hyperv
		*out = new(FeatureHyperv)
		(*in).DeepCopyInto(*out)
	}
	if in.SMM != nil {
		in, out := &in.SMM, &out.SMM
		*out = new(FeatureEnabled)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.
func (in *Features) DeepCopy() *Features {
	if in == nil {
		return nil
	}
	out := new(Features)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Filesystem) DeepCopyInto(out *Filesystem) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filesystem.
func (in *Filesystem) DeepCopy() *Filesystem {
	if in == nil {
		return nil
	}
	out := new(Filesystem)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FilterRef) DeepCopyInto(out *FilterRef) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterRef.
func (in *FilterRef) DeepCopy() *FilterRef {
	if in == nil {
		return nil
	}
	out := new(FilterRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GracePeriodMetadata) DeepCopyInto(out *GracePeriodMetadata) {
	*out = *in
	if in.DeletionTimestamp != nil {
		in, out := &in.DeletionTimestamp, &out.DeletionTimestamp
		*out = (*in).DeepCopy()
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GracePeriodMetadata.
func (in *GracePeriodMetadata) DeepCopy() *GracePeriodMetadata {
	if in == nil {
		return nil
	}
	out := new(GracePeriodMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Graphics) DeepCopyInto(out *Graphics) {
	*out = *in
	if in.Listen != nil {
		in, out := &in.Listen, &out.Listen
		*out = new(GraphicsListen)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Graphics.
func (in *Graphics) DeepCopy() *Graphics {
	if in == nil {
		return nil
	}
	out := new(Graphics)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GraphicsListen) DeepCopyInto(out *GraphicsListen) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GraphicsListen.
func (in *GraphicsListen) DeepCopy() *GraphicsListen {
	if in == nil {
		return nil
	}
	out := new(GraphicsListen)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GuestOSInfo) DeepCopyInto(out *GuestOSInfo) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestOSInfo.
func (in *GuestOSInfo) DeepCopy() *GuestOSInfo {
	if in == nil {
		return nil
	}
	out := new(GuestOSInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HostDevice) DeepCopyInto(out *HostDevice) {
	*out = *in
	in.Source.DeepCopyInto(&out.Source)
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = new(BootOrder)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDevice.
func (in *HostDevice) DeepCopy() *HostDevice {
	if in == nil {
		return nil
	}
	out := new(HostDevice)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HostDeviceSource) DeepCopyInto(out *HostDeviceSource) {
	*out = *in
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDeviceSource.
func (in *HostDeviceSource) DeepCopy() *HostDeviceSource {
	if in == nil {
		return nil
	}
	out := new(HostDeviceSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HugePage) DeepCopyInto(out *HugePage) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HugePage.
func (in *HugePage) DeepCopy() *HugePage {
	if in == nil {
		return nil
	}
	out := new(HugePage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HugePages) DeepCopyInto(out *HugePages) {
	*out = *in
	if in.HugePage != nil {
		in, out := &in.HugePage, &out.HugePage
		*out = make([]HugePage, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HugePages.
func (in *HugePages) DeepCopy() *HugePages {
	if in == nil {
		return nil
	}
	out := new(HugePages)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IOThreads) DeepCopyInto(out *IOThreads) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOThreads.
func (in *IOThreads) DeepCopy() *IOThreads {
	if in == nil {
		return nil
	}
	out := new(IOThreads)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Input) DeepCopyInto(out *Input) {
	*out = *in
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Input.
func (in *Input) DeepCopy() *Input {
	if in == nil {
		return nil
	}
	out := new(Input)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Interface) DeepCopyInto(out *Interface) {
	*out = *in
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	in.Source.DeepCopyInto(&out.Source)
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(InterfaceTarget)
		**out = **in
	}
	if in.Model != nil {
		in, out := &in.Model, &out.Model
		*out = new(Model)
		**out = **in
	}
	if in.MAC != nil {
		in, out := &in.MAC, &out.MAC
		*out = new(MAC)
		**out = **in
	}
	if in.MTU != nil {
		in, out := &in.MTU, &out.MTU
		*out = new(MTU)
		**out = **in
	}
	if in.BandWidth != nil {
		in, out := &in.BandWidth, &out.BandWidth
		*out = new(BandWidth)
		**out = **in
	}
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = new(BootOrder)
		**out = **in
	}
	if in.LinkState != nil {
		in, out := &in.LinkState, &out.LinkState
		*out = new(LinkState)
		**out = **in
	}
	if in.FilterRef != nil {
		in, out := &in.FilterRef, &out.FilterRef
		*out = new(FilterRef)
		**out = **in
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Driver != nil {
		in, out := &in.Driver, &out.Driver
		*out = new(InterfaceDriver)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.
func (in *Interface) DeepCopy() *Interface {
	if in == nil {
		return nil
	}
	out := new(Interface)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InterfaceDriver) DeepCopyInto(out *InterfaceDriver) {
	*out = *in
	if in.Queues != nil {
		in, out := &in.Queues, &out.Queues
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceDriver.
func (in *InterfaceDriver) DeepCopy() *InterfaceDriver {
	if in == nil {
		return nil
	}
	out := new(InterfaceDriver)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InterfaceSource) DeepCopyInto(out *InterfaceSource) {
	*out = *in
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSource.
func (in *InterfaceSource) DeepCopy() *InterfaceSource {
	if in == nil {
		return nil
	}
	out := new(InterfaceSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InterfaceStatus) DeepCopyInto(out *InterfaceStatus) {
	*out = *in
	if in.IPs != nil {
		in, out := &in.IPs, &out.IPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceStatus.
func (in *InterfaceStatus) DeepCopy() *InterfaceStatus {
	if in == nil {
		return nil
	}
	out := new(InterfaceStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InterfaceTarget) DeepCopyInto(out *InterfaceTarget) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceTarget.
func (in *InterfaceTarget) DeepCopy() *InterfaceTarget {
	if in == nil {
		return nil
	}
	out := new(InterfaceTarget)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeVirtMetadata) DeepCopyInto(out *KubeVirtMetadata) {
	*out = *in
	if in.GracePeriod != nil {
		in, out := &in.GracePeriod, &out.GracePeriod
		*out = new(GracePeriodMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Migration != nil {
		in, out := &in.Migration, &out.Migration
		*out = new(MigrationMetadata)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtMetadata.
func (in *KubeVirtMetadata) DeepCopy() *KubeVirtMetadata {
	if in == nil {
		return nil
	}
	out := new(KubeVirtMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LinkState) DeepCopyInto(out *LinkState) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinkState.
func (in *LinkState) DeepCopy() *LinkState {
	if in == nil {
		return nil
	}
	out := new(LinkState)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Loader) DeepCopyInto(out *Loader) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Loader.
func (in *Loader) DeepCopy() *Loader {
	if in == nil {
		return nil
	}
	out := new(Loader)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MAC) DeepCopyInto(out *MAC) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MAC.
func (in *MAC) DeepCopy() *MAC {
	if in == nil {
		return nil
	}
	out := new(MAC)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MTU) DeepCopyInto(out *MTU) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MTU.
func (in *MTU) DeepCopy() *MTU {
	if in == nil {
		return nil
	}
	out := new(MTU)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Memory) DeepCopyInto(out *Memory) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memory.
func (in *Memory) DeepCopy() *Memory {
	if in == nil {
		return nil
	}
	out := new(Memory)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MemoryBacking) DeepCopyInto(out *MemoryBacking) {
	*out = *in
	if in.HugePages != nil {
		in, out := &in.HugePages, &out.HugePages
		*out = new(HugePages)
		(*in).DeepCopyInto(*out)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryBacking.
func (in *MemoryBacking) DeepCopy() *MemoryBacking {
	if in == nil {
		return nil
	}
	out := new(MemoryBacking)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Metadata) DeepCopyInto(out *Metadata) {
	*out = *in
	in.KubeVirt.DeepCopyInto(&out.KubeVirt)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (in *Metadata) DeepCopy() *Metadata {
	if in == nil {
		return nil
	}
	out := new(Metadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MigrationMetadata) DeepCopyInto(out *MigrationMetadata) {
	*out = *in
	if in.StartTimestamp != nil {
		in, out := &in.StartTimestamp, &out.StartTimestamp
		*out = (*in).DeepCopy()
	}
	if in.EndTimestamp != nil {
		in, out := &in.EndTimestamp, &out.EndTimestamp
		*out = (*in).DeepCopy()
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationMetadata.
func (in *MigrationMetadata) DeepCopy() *MigrationMetadata {
	if in == nil {
		return nil
	}
	out := new(MigrationMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Model) DeepCopyInto(out *Model) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Model.
func (in *Model) DeepCopy() *Model {
	if in == nil {
		return nil
	}
	out := new(Model)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NVRam) DeepCopyInto(out *NVRam) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NVRam.
func (in *NVRam) DeepCopy() *NVRam {
	if in == nil {
		return nil
	}
	out := new(NVRam)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OS) DeepCopyInto(out *OS) {
	*out = *in
	out.Type = in.Type
	if in.SMBios != nil {
		in, out := &in.SMBios, &out.SMBios
		*out = new(SMBios)
		**out = **in
	}
	if in.BootOrder != nil {
		in, out := &in.BootOrder, &out.BootOrder
		*out = make([]Boot, len(*in))
		copy(*out, *in)
	}
	if in.BootMenu != nil {
		in, out := &in.BootMenu, &out.BootMenu
		*out = new(BootMenu)
		(*in).DeepCopyInto(*out)
	}
	if in.BIOS != nil {
		in, out := &in.BIOS, &out.BIOS
		*out = new(BIOS)
		**out = **in
	}
	if in.BootLoader != nil {
		in, out := &in.BootLoader, &out.BootLoader
		*out = new(Loader)
		**out = **in
	}
	if in.NVRam != nil {
		in, out := &in.NVRam, &out.NVRam
		*out = new(NVRam)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OS.
func (in *OS) DeepCopy() *OS {
	if in == nil {
		return nil
	}
	out := new(OS)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OSType) DeepCopyInto(out *OSType) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSType.
func (in *OSType) DeepCopy() *OSType {
	if in == nil {
		return nil
	}
	out := new(OSType)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReadOnly) DeepCopyInto(out *ReadOnly) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadOnly.
func (in *ReadOnly) DeepCopy() *ReadOnly {
	if in == nil {
		return nil
	}
	out := new(ReadOnly)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Resource) DeepCopyInto(out *Resource) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (in *Resource) DeepCopy() *Resource {
	if in == nil {
		return nil
	}
	out := new(Resource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Rng) DeepCopyInto(out *Rng) {
	*out = *in
	if in.Backend != nil {
		in, out := &in.Backend, &out.Backend
		*out = new(RngBackend)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rng.
func (in *Rng) DeepCopy() *Rng {
	if in == nil {
		return nil
	}
	out := new(Rng)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RngBackend) DeepCopyInto(out *RngBackend) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RngBackend.
func (in *RngBackend) DeepCopy() *RngBackend {
	if in == nil {
		return nil
	}
	out := new(RngBackend)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RngRate) DeepCopyInto(out *RngRate) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RngRate.
func (in *RngRate) DeepCopy() *RngRate {
	if in == nil {
		return nil
	}
	out := new(RngRate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SMBios) DeepCopyInto(out *SMBios) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMBios.
func (in *SMBios) DeepCopy() *SMBios {
	if in == nil {
		return nil
	}
	out := new(SMBios)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecretSpec) DeepCopyInto(out *SecretSpec) {
	*out = *in
	out.XMLName = in.XMLName
	out.Usage = in.Usage
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretSpec.
func (in *SecretSpec) DeepCopy() *SecretSpec {
	if in == nil {
		return nil
	}
	out := new(SecretSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecretUsage) DeepCopyInto(out *SecretUsage) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretUsage.
func (in *SecretUsage) DeepCopy() *SecretUsage {
	if in == nil {
		return nil
	}
	out := new(SecretUsage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Serial) DeepCopyInto(out *Serial) {
	*out = *in
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(SerialTarget)
		(*in).DeepCopyInto(*out)
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(SerialSource)
		**out = **in
	}
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Serial.
func (in *Serial) DeepCopy() *Serial {
	if in == nil {
		return nil
	}
	out := new(Serial)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SerialSource) DeepCopyInto(out *SerialSource) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SerialSource.
func (in *SerialSource) DeepCopy() *SerialSource {
	if in == nil {
		return nil
	}
	out := new(SerialSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SerialTarget) DeepCopyInto(out *SerialTarget) {
	*out = *in
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SerialTarget.
func (in *SerialTarget) DeepCopy() *SerialTarget {
	if in == nil {
		return nil
	}
	out := new(SerialTarget)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SysInfo) DeepCopyInto(out *SysInfo) {
	*out = *in
	if in.System != nil {
		in, out := &in.System, &out.System
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	if in.BIOS != nil {
		in, out := &in.BIOS, &out.BIOS
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	if in.BaseBoard != nil {
		in, out := &in.BaseBoard, &out.BaseBoard
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	if in.Chassis != nil {
		in, out := &in.Chassis, &out.Chassis
		*out = make([]Entry, len(*in))
		copy(*out, *in)
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysInfo.
func (in *SysInfo) DeepCopy() *SysInfo {
	if in == nil {
		return nil
	}
	out := new(SysInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Timer) DeepCopyInto(out *Timer) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timer.
func (in *Timer) DeepCopy() *Timer {
	if in == nil {
		return nil
	}
	out := new(Timer)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Timezone) DeepCopyInto(out *Timezone) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timezone.
func (in *Timezone) DeepCopy() *Timezone {
	if in == nil {
		return nil
	}
	out := new(Timezone)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *User) DeepCopyInto(out *User) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (in *User) DeepCopy() *User {
	if in == nil {
		return nil
	}
	out := new(User)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UserAlias) DeepCopyInto(out *UserAlias) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAlias.
func (in *UserAlias) DeepCopy() *UserAlias {
	if in == nil {
		return nil
	}
	out := new(UserAlias)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VCPU) DeepCopyInto(out *VCPU) {
	*out = *in
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPU.
func (in *VCPU) DeepCopy() *VCPU {
	if in == nil {
		return nil
	}
	out := new(VCPU)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Video) DeepCopyInto(out *Video) {
	*out = *in
	in.Model.DeepCopyInto(&out.Model)
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Video.
func (in *Video) DeepCopy() *Video {
	if in == nil {
		return nil
	}
	out := new(Video)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VideoModel) DeepCopyInto(out *VideoModel) {
	*out = *in
	if in.Heads != nil {
		in, out := &in.Heads, &out.Heads
		*out = new(uint)
		**out = **in
	}
	if in.Ram != nil {
		in, out := &in.Ram, &out.Ram
		*out = new(uint)
		**out = **in
	}
	if in.VRam != nil {
		in, out := &in.VRam, &out.VRam
		*out = new(uint)
		**out = **in
	}
	if in.VGAMem != nil {
		in, out := &in.VGAMem, &out.VGAMem
		*out = new(uint)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VideoModel.
func (in *VideoModel) DeepCopy() *VideoModel {
	if in == nil {
		return nil
	}
	out := new(VideoModel)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Watchdog) DeepCopyInto(out *Watchdog) {
	*out = *in
	if in.Alias != nil {
		in, out := &in.Alias, &out.Alias
		*out = new(Alias)
		**out = **in
	}
	if in.Address != nil {
		in, out := &in.Address, &out.Address
		*out = new(Address)
		**out = **in
	}
	return
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Watchdog.
func (in *Watchdog) DeepCopy() *Watchdog {
	if in == nil {
		return nil
	}
	out := new(Watchdog)
	in.DeepCopyInto(out)
	return out
}
