//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
Copyright The Kubernetes 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 conversion-gen. DO NOT EDIT.

package v1alpha2

import (
	unsafe "unsafe"

	conversion "k8s.io/apimachinery/pkg/conversion"
	runtime "k8s.io/apimachinery/pkg/runtime"
	output "k8s.io/kubernetes/cmd/kubeadm/app/apis/output"
)

func init() {
	localSchemeBuilder.Register(RegisterConversions)
}

// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(s *runtime.Scheme) error {
	if err := s.AddGeneratedConversionFunc((*BootstrapToken)(nil), (*output.BootstrapToken)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha2_BootstrapToken_To_output_BootstrapToken(a.(*BootstrapToken), b.(*output.BootstrapToken), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*output.BootstrapToken)(nil), (*BootstrapToken)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_output_BootstrapToken_To_v1alpha2_BootstrapToken(a.(*output.BootstrapToken), b.(*BootstrapToken), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ComponentConfigVersionState)(nil), (*output.ComponentConfigVersionState)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha2_ComponentConfigVersionState_To_output_ComponentConfigVersionState(a.(*ComponentConfigVersionState), b.(*output.ComponentConfigVersionState), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*output.ComponentConfigVersionState)(nil), (*ComponentConfigVersionState)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_output_ComponentConfigVersionState_To_v1alpha2_ComponentConfigVersionState(a.(*output.ComponentConfigVersionState), b.(*ComponentConfigVersionState), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ComponentUpgradePlan)(nil), (*output.ComponentUpgradePlan)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha2_ComponentUpgradePlan_To_output_ComponentUpgradePlan(a.(*ComponentUpgradePlan), b.(*output.ComponentUpgradePlan), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Images)(nil), (*output.Images)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha2_Images_To_output_Images(a.(*Images), b.(*output.Images), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*output.Images)(nil), (*Images)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_output_Images_To_v1alpha2_Images(a.(*output.Images), b.(*Images), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*UpgradePlan)(nil), (*output.UpgradePlan)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha2_UpgradePlan_To_output_UpgradePlan(a.(*UpgradePlan), b.(*output.UpgradePlan), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*output.ComponentUpgradePlan)(nil), (*ComponentUpgradePlan)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_output_ComponentUpgradePlan_To_v1alpha2_ComponentUpgradePlan(a.(*output.ComponentUpgradePlan), b.(*ComponentUpgradePlan), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*output.UpgradePlan)(nil), (*UpgradePlan)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_output_UpgradePlan_To_v1alpha2_UpgradePlan(a.(*output.UpgradePlan), b.(*UpgradePlan), scope)
	}); err != nil {
		return err
	}
	return nil
}

func autoConvert_v1alpha2_BootstrapToken_To_output_BootstrapToken(in *BootstrapToken, out *output.BootstrapToken, s conversion.Scope) error {
	out.BootstrapToken = in.BootstrapToken
	return nil
}

// Convert_v1alpha2_BootstrapToken_To_output_BootstrapToken is an autogenerated conversion function.
func Convert_v1alpha2_BootstrapToken_To_output_BootstrapToken(in *BootstrapToken, out *output.BootstrapToken, s conversion.Scope) error {
	return autoConvert_v1alpha2_BootstrapToken_To_output_BootstrapToken(in, out, s)
}

func autoConvert_output_BootstrapToken_To_v1alpha2_BootstrapToken(in *output.BootstrapToken, out *BootstrapToken, s conversion.Scope) error {
	out.BootstrapToken = in.BootstrapToken
	return nil
}

// Convert_output_BootstrapToken_To_v1alpha2_BootstrapToken is an autogenerated conversion function.
func Convert_output_BootstrapToken_To_v1alpha2_BootstrapToken(in *output.BootstrapToken, out *BootstrapToken, s conversion.Scope) error {
	return autoConvert_output_BootstrapToken_To_v1alpha2_BootstrapToken(in, out, s)
}

func autoConvert_v1alpha2_ComponentConfigVersionState_To_output_ComponentConfigVersionState(in *ComponentConfigVersionState, out *output.ComponentConfigVersionState, s conversion.Scope) error {
	out.Group = in.Group
	out.CurrentVersion = in.CurrentVersion
	out.PreferredVersion = in.PreferredVersion
	out.ManualUpgradeRequired = in.ManualUpgradeRequired
	return nil
}

// Convert_v1alpha2_ComponentConfigVersionState_To_output_ComponentConfigVersionState is an autogenerated conversion function.
func Convert_v1alpha2_ComponentConfigVersionState_To_output_ComponentConfigVersionState(in *ComponentConfigVersionState, out *output.ComponentConfigVersionState, s conversion.Scope) error {
	return autoConvert_v1alpha2_ComponentConfigVersionState_To_output_ComponentConfigVersionState(in, out, s)
}

func autoConvert_output_ComponentConfigVersionState_To_v1alpha2_ComponentConfigVersionState(in *output.ComponentConfigVersionState, out *ComponentConfigVersionState, s conversion.Scope) error {
	out.Group = in.Group
	out.CurrentVersion = in.CurrentVersion
	out.PreferredVersion = in.PreferredVersion
	out.ManualUpgradeRequired = in.ManualUpgradeRequired
	return nil
}

// Convert_output_ComponentConfigVersionState_To_v1alpha2_ComponentConfigVersionState is an autogenerated conversion function.
func Convert_output_ComponentConfigVersionState_To_v1alpha2_ComponentConfigVersionState(in *output.ComponentConfigVersionState, out *ComponentConfigVersionState, s conversion.Scope) error {
	return autoConvert_output_ComponentConfigVersionState_To_v1alpha2_ComponentConfigVersionState(in, out, s)
}

func autoConvert_v1alpha2_ComponentUpgradePlan_To_output_ComponentUpgradePlan(in *ComponentUpgradePlan, out *output.ComponentUpgradePlan, s conversion.Scope) error {
	out.Name = in.Name
	out.CurrentVersion = in.CurrentVersion
	out.NewVersion = in.NewVersion
	return nil
}

// Convert_v1alpha2_ComponentUpgradePlan_To_output_ComponentUpgradePlan is an autogenerated conversion function.
func Convert_v1alpha2_ComponentUpgradePlan_To_output_ComponentUpgradePlan(in *ComponentUpgradePlan, out *output.ComponentUpgradePlan, s conversion.Scope) error {
	return autoConvert_v1alpha2_ComponentUpgradePlan_To_output_ComponentUpgradePlan(in, out, s)
}

func autoConvert_output_ComponentUpgradePlan_To_v1alpha2_ComponentUpgradePlan(in *output.ComponentUpgradePlan, out *ComponentUpgradePlan, s conversion.Scope) error {
	out.Name = in.Name
	out.CurrentVersion = in.CurrentVersion
	out.NewVersion = in.NewVersion
	// WARNING: in.NodeName requires manual conversion: does not exist in peer-type
	return nil
}

func autoConvert_v1alpha2_Images_To_output_Images(in *Images, out *output.Images, s conversion.Scope) error {
	out.Images = *(*[]string)(unsafe.Pointer(&in.Images))
	return nil
}

// Convert_v1alpha2_Images_To_output_Images is an autogenerated conversion function.
func Convert_v1alpha2_Images_To_output_Images(in *Images, out *output.Images, s conversion.Scope) error {
	return autoConvert_v1alpha2_Images_To_output_Images(in, out, s)
}

func autoConvert_output_Images_To_v1alpha2_Images(in *output.Images, out *Images, s conversion.Scope) error {
	out.Images = *(*[]string)(unsafe.Pointer(&in.Images))
	return nil
}

// Convert_output_Images_To_v1alpha2_Images is an autogenerated conversion function.
func Convert_output_Images_To_v1alpha2_Images(in *output.Images, out *Images, s conversion.Scope) error {
	return autoConvert_output_Images_To_v1alpha2_Images(in, out, s)
}

func autoConvert_v1alpha2_UpgradePlan_To_output_UpgradePlan(in *UpgradePlan, out *output.UpgradePlan, s conversion.Scope) error {
	if in.Components != nil {
		in, out := &in.Components, &out.Components
		*out = make([]output.ComponentUpgradePlan, len(*in))
		for i := range *in {
			if err := Convert_v1alpha2_ComponentUpgradePlan_To_output_ComponentUpgradePlan(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Components = nil
	}
	out.ConfigVersions = *(*[]output.ComponentConfigVersionState)(unsafe.Pointer(&in.ConfigVersions))
	return nil
}

// Convert_v1alpha2_UpgradePlan_To_output_UpgradePlan is an autogenerated conversion function.
func Convert_v1alpha2_UpgradePlan_To_output_UpgradePlan(in *UpgradePlan, out *output.UpgradePlan, s conversion.Scope) error {
	return autoConvert_v1alpha2_UpgradePlan_To_output_UpgradePlan(in, out, s)
}

func autoConvert_output_UpgradePlan_To_v1alpha2_UpgradePlan(in *output.UpgradePlan, out *UpgradePlan, s conversion.Scope) error {
	// WARNING: in.AvailableUpgrades requires manual conversion: does not exist in peer-type
	out.ConfigVersions = *(*[]ComponentConfigVersionState)(unsafe.Pointer(&in.ConfigVersions))
	if in.Components != nil {
		in, out := &in.Components, &out.Components
		*out = make([]ComponentUpgradePlan, len(*in))
		for i := range *in {
			if err := Convert_output_ComponentUpgradePlan_To_v1alpha2_ComponentUpgradePlan(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Components = nil
	}
	return nil
}
