func Convert_v1alpha3_OpenStackMachineTemplate_To_v1alpha4_OpenStackMachineTemplate(in *OpenStackMachineTemplate, out *v1alpha4.OpenStackMachineTemplate, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackMachineTemplate_To_v1alpha4_OpenStackMachineTemplate(in, out, s)
}
Convert_v1alpha3_OpenStackMachineTemplate_To_v1alpha4_OpenStackMachineTemplate is an autogenerated conversion function.
package v1alpha3
import (
	unsafe "unsafe"
	v1 "k8s.io/api/core/v1"
	conversion "k8s.io/apimachinery/pkg/conversion"
	runtime "k8s.io/apimachinery/pkg/runtime"
	v1alpha4 "sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha4"
	apiv1alpha3 "sigs.k8s.io/cluster-api/api/v1alpha3"
	apiv1alpha4 "sigs.k8s.io/cluster-api/api/v1alpha4"
	errors "sigs.k8s.io/cluster-api/errors"
)
func init() {
	localSchemeBuilder.Register(RegisterConversions)
}
func RegisterConversions(s *runtime.Scheme) error {
	if err := s.AddGeneratedConversionFunc((*Bastion)(nil), (*v1alpha4.Bastion)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_Bastion_To_v1alpha4_Bastion(a.(*Bastion), b.(*v1alpha4.Bastion), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.Bastion)(nil), (*Bastion)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_Bastion_To_v1alpha3_Bastion(a.(*v1alpha4.Bastion), b.(*Bastion), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ExternalRouterIPParam)(nil), (*v1alpha4.ExternalRouterIPParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_ExternalRouterIPParam_To_v1alpha4_ExternalRouterIPParam(a.(*ExternalRouterIPParam), b.(*v1alpha4.ExternalRouterIPParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.ExternalRouterIPParam)(nil), (*ExternalRouterIPParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_ExternalRouterIPParam_To_v1alpha3_ExternalRouterIPParam(a.(*v1alpha4.ExternalRouterIPParam), b.(*ExternalRouterIPParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Filter)(nil), (*v1alpha4.Filter)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_Filter_To_v1alpha4_Filter(a.(*Filter), b.(*v1alpha4.Filter), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.Filter)(nil), (*Filter)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_Filter_To_v1alpha3_Filter(a.(*v1alpha4.Filter), b.(*Filter), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Instance)(nil), (*v1alpha4.Instance)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_Instance_To_v1alpha4_Instance(a.(*Instance), b.(*v1alpha4.Instance), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.Instance)(nil), (*Instance)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_Instance_To_v1alpha3_Instance(a.(*v1alpha4.Instance), b.(*Instance), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*LoadBalancer)(nil), (*v1alpha4.LoadBalancer)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_LoadBalancer_To_v1alpha4_LoadBalancer(a.(*LoadBalancer), b.(*v1alpha4.LoadBalancer), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.LoadBalancer)(nil), (*LoadBalancer)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_LoadBalancer_To_v1alpha3_LoadBalancer(a.(*v1alpha4.LoadBalancer), b.(*LoadBalancer), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Network)(nil), (*v1alpha4.Network)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_Network_To_v1alpha4_Network(a.(*Network), b.(*v1alpha4.Network), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*NetworkParam)(nil), (*v1alpha4.NetworkParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_NetworkParam_To_v1alpha4_NetworkParam(a.(*NetworkParam), b.(*v1alpha4.NetworkParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.NetworkParam)(nil), (*NetworkParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_NetworkParam_To_v1alpha3_NetworkParam(a.(*v1alpha4.NetworkParam), b.(*NetworkParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackCluster)(nil), (*v1alpha4.OpenStackCluster)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackCluster_To_v1alpha4_OpenStackCluster(a.(*OpenStackCluster), b.(*v1alpha4.OpenStackCluster), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackCluster)(nil), (*OpenStackCluster)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackCluster_To_v1alpha3_OpenStackCluster(a.(*v1alpha4.OpenStackCluster), b.(*OpenStackCluster), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackClusterList)(nil), (*v1alpha4.OpenStackClusterList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackClusterList_To_v1alpha4_OpenStackClusterList(a.(*OpenStackClusterList), b.(*v1alpha4.OpenStackClusterList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackClusterList)(nil), (*OpenStackClusterList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackClusterList_To_v1alpha3_OpenStackClusterList(a.(*v1alpha4.OpenStackClusterList), b.(*OpenStackClusterList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackClusterStatus)(nil), (*v1alpha4.OpenStackClusterStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackClusterStatus_To_v1alpha4_OpenStackClusterStatus(a.(*OpenStackClusterStatus), b.(*v1alpha4.OpenStackClusterStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachine)(nil), (*v1alpha4.OpenStackMachine)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachine_To_v1alpha4_OpenStackMachine(a.(*OpenStackMachine), b.(*v1alpha4.OpenStackMachine), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachine)(nil), (*OpenStackMachine)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachine_To_v1alpha3_OpenStackMachine(a.(*v1alpha4.OpenStackMachine), b.(*OpenStackMachine), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachineList)(nil), (*v1alpha4.OpenStackMachineList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineList_To_v1alpha4_OpenStackMachineList(a.(*OpenStackMachineList), b.(*v1alpha4.OpenStackMachineList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachineList)(nil), (*OpenStackMachineList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineList_To_v1alpha3_OpenStackMachineList(a.(*v1alpha4.OpenStackMachineList), b.(*OpenStackMachineList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachineStatus)(nil), (*v1alpha4.OpenStackMachineStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineStatus_To_v1alpha4_OpenStackMachineStatus(a.(*OpenStackMachineStatus), b.(*v1alpha4.OpenStackMachineStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachineStatus)(nil), (*OpenStackMachineStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineStatus_To_v1alpha3_OpenStackMachineStatus(a.(*v1alpha4.OpenStackMachineStatus), b.(*OpenStackMachineStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachineTemplate)(nil), (*v1alpha4.OpenStackMachineTemplate)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineTemplate_To_v1alpha4_OpenStackMachineTemplate(a.(*OpenStackMachineTemplate), b.(*v1alpha4.OpenStackMachineTemplate), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachineTemplate)(nil), (*OpenStackMachineTemplate)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineTemplate_To_v1alpha3_OpenStackMachineTemplate(a.(*v1alpha4.OpenStackMachineTemplate), b.(*OpenStackMachineTemplate), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachineTemplateList)(nil), (*v1alpha4.OpenStackMachineTemplateList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineTemplateList_To_v1alpha4_OpenStackMachineTemplateList(a.(*OpenStackMachineTemplateList), b.(*v1alpha4.OpenStackMachineTemplateList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachineTemplateList)(nil), (*OpenStackMachineTemplateList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineTemplateList_To_v1alpha3_OpenStackMachineTemplateList(a.(*v1alpha4.OpenStackMachineTemplateList), b.(*OpenStackMachineTemplateList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachineTemplateResource)(nil), (*v1alpha4.OpenStackMachineTemplateResource)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineTemplateResource_To_v1alpha4_OpenStackMachineTemplateResource(a.(*OpenStackMachineTemplateResource), b.(*v1alpha4.OpenStackMachineTemplateResource), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachineTemplateResource)(nil), (*OpenStackMachineTemplateResource)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineTemplateResource_To_v1alpha3_OpenStackMachineTemplateResource(a.(*v1alpha4.OpenStackMachineTemplateResource), b.(*OpenStackMachineTemplateResource), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*OpenStackMachineTemplateSpec)(nil), (*v1alpha4.OpenStackMachineTemplateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineTemplateSpec_To_v1alpha4_OpenStackMachineTemplateSpec(a.(*OpenStackMachineTemplateSpec), b.(*v1alpha4.OpenStackMachineTemplateSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.OpenStackMachineTemplateSpec)(nil), (*OpenStackMachineTemplateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineTemplateSpec_To_v1alpha3_OpenStackMachineTemplateSpec(a.(*v1alpha4.OpenStackMachineTemplateSpec), b.(*OpenStackMachineTemplateSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*RootVolume)(nil), (*v1alpha4.RootVolume)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_RootVolume_To_v1alpha4_RootVolume(a.(*RootVolume), b.(*v1alpha4.RootVolume), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.RootVolume)(nil), (*RootVolume)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_RootVolume_To_v1alpha3_RootVolume(a.(*v1alpha4.RootVolume), b.(*RootVolume), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Router)(nil), (*v1alpha4.Router)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_Router_To_v1alpha4_Router(a.(*Router), b.(*v1alpha4.Router), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.Router)(nil), (*Router)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_Router_To_v1alpha3_Router(a.(*v1alpha4.Router), b.(*Router), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*SecurityGroup)(nil), (*v1alpha4.SecurityGroup)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_SecurityGroup_To_v1alpha4_SecurityGroup(a.(*SecurityGroup), b.(*v1alpha4.SecurityGroup), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.SecurityGroup)(nil), (*SecurityGroup)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_SecurityGroup_To_v1alpha3_SecurityGroup(a.(*v1alpha4.SecurityGroup), b.(*SecurityGroup), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*SecurityGroupFilter)(nil), (*v1alpha4.SecurityGroupFilter)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_SecurityGroupFilter_To_v1alpha4_SecurityGroupFilter(a.(*SecurityGroupFilter), b.(*v1alpha4.SecurityGroupFilter), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.SecurityGroupFilter)(nil), (*SecurityGroupFilter)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_SecurityGroupFilter_To_v1alpha3_SecurityGroupFilter(a.(*v1alpha4.SecurityGroupFilter), b.(*SecurityGroupFilter), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*SecurityGroupParam)(nil), (*v1alpha4.SecurityGroupParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_SecurityGroupParam_To_v1alpha4_SecurityGroupParam(a.(*SecurityGroupParam), b.(*v1alpha4.SecurityGroupParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.SecurityGroupParam)(nil), (*SecurityGroupParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_SecurityGroupParam_To_v1alpha3_SecurityGroupParam(a.(*v1alpha4.SecurityGroupParam), b.(*SecurityGroupParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*SecurityGroupRule)(nil), (*v1alpha4.SecurityGroupRule)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_SecurityGroupRule_To_v1alpha4_SecurityGroupRule(a.(*SecurityGroupRule), b.(*v1alpha4.SecurityGroupRule), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.SecurityGroupRule)(nil), (*SecurityGroupRule)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_SecurityGroupRule_To_v1alpha3_SecurityGroupRule(a.(*v1alpha4.SecurityGroupRule), b.(*SecurityGroupRule), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Subnet)(nil), (*v1alpha4.Subnet)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_Subnet_To_v1alpha4_Subnet(a.(*Subnet), b.(*v1alpha4.Subnet), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.Subnet)(nil), (*Subnet)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_Subnet_To_v1alpha3_Subnet(a.(*v1alpha4.Subnet), b.(*Subnet), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*SubnetFilter)(nil), (*v1alpha4.SubnetFilter)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_SubnetFilter_To_v1alpha4_SubnetFilter(a.(*SubnetFilter), b.(*v1alpha4.SubnetFilter), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.SubnetFilter)(nil), (*SubnetFilter)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_SubnetFilter_To_v1alpha3_SubnetFilter(a.(*v1alpha4.SubnetFilter), b.(*SubnetFilter), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*SubnetParam)(nil), (*v1alpha4.SubnetParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_SubnetParam_To_v1alpha4_SubnetParam(a.(*SubnetParam), b.(*v1alpha4.SubnetParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*v1alpha4.SubnetParam)(nil), (*SubnetParam)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_SubnetParam_To_v1alpha3_SubnetParam(a.(*v1alpha4.SubnetParam), b.(*SubnetParam), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*[]Network)(nil), (*[]v1alpha4.Network)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_Slice_v1alpha3_Network_To_Slice_v1alpha4_Network(a.(*[]Network), b.(*[]v1alpha4.Network), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*[]v1alpha4.Network)(nil), (*[]Network)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_Slice_v1alpha4_Network_To_Slice_v1alpha3_Network(a.(*[]v1alpha4.Network), b.(*[]Network), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*apiv1alpha3.APIEndpoint)(nil), (*apiv1alpha4.APIEndpoint)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_APIEndpoint_To_v1alpha4_APIEndpoint(a.(*apiv1alpha3.APIEndpoint), b.(*apiv1alpha4.APIEndpoint), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*OpenStackClusterSpec)(nil), (*v1alpha4.OpenStackClusterSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackClusterSpec_To_v1alpha4_OpenStackClusterSpec(a.(*OpenStackClusterSpec), b.(*v1alpha4.OpenStackClusterSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*OpenStackMachineSpec)(nil), (*v1alpha4.OpenStackMachineSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha3_OpenStackMachineSpec_To_v1alpha4_OpenStackMachineSpec(a.(*OpenStackMachineSpec), b.(*v1alpha4.OpenStackMachineSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*apiv1alpha4.APIEndpoint)(nil), (*apiv1alpha3.APIEndpoint)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_APIEndpoint_To_v1alpha3_APIEndpoint(a.(*apiv1alpha4.APIEndpoint), b.(*apiv1alpha3.APIEndpoint), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*v1alpha4.Network)(nil), (*Network)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_Network_To_v1alpha3_Network(a.(*v1alpha4.Network), b.(*Network), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*v1alpha4.OpenStackClusterSpec)(nil), (*OpenStackClusterSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackClusterSpec_To_v1alpha3_OpenStackClusterSpec(a.(*v1alpha4.OpenStackClusterSpec), b.(*OpenStackClusterSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*v1alpha4.OpenStackClusterStatus)(nil), (*OpenStackClusterStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackClusterStatus_To_v1alpha3_OpenStackClusterStatus(a.(*v1alpha4.OpenStackClusterStatus), b.(*OpenStackClusterStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddConversionFunc((*v1alpha4.OpenStackMachineSpec)(nil), (*OpenStackMachineSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha4_OpenStackMachineSpec_To_v1alpha3_OpenStackMachineSpec(a.(*v1alpha4.OpenStackMachineSpec), b.(*OpenStackMachineSpec), scope)
	}); err != nil {
		return err
	}
	return nil
}
func autoConvert_v1alpha3_Bastion_To_v1alpha4_Bastion(in *Bastion, out *v1alpha4.Bastion, s conversion.Scope) error {
	out.Enabled = in.Enabled
	if err := Convert_v1alpha3_OpenStackMachineSpec_To_v1alpha4_OpenStackMachineSpec(&in.Instance, &out.Instance, s); err != nil {
		return err
	}
	out.AvailabilityZone = in.AvailabilityZone
	return nil
}
func Convert_v1alpha3_Bastion_To_v1alpha4_Bastion(in *Bastion, out *v1alpha4.Bastion, s conversion.Scope) error {
	return autoConvert_v1alpha3_Bastion_To_v1alpha4_Bastion(in, out, s)
}
func autoConvert_v1alpha4_Bastion_To_v1alpha3_Bastion(in *v1alpha4.Bastion, out *Bastion, s conversion.Scope) error {
	out.Enabled = in.Enabled
	if err := Convert_v1alpha4_OpenStackMachineSpec_To_v1alpha3_OpenStackMachineSpec(&in.Instance, &out.Instance, s); err != nil {
		return err
	}
	out.AvailabilityZone = in.AvailabilityZone
	return nil
}
func Convert_v1alpha4_Bastion_To_v1alpha3_Bastion(in *v1alpha4.Bastion, out *Bastion, s conversion.Scope) error {
	return autoConvert_v1alpha4_Bastion_To_v1alpha3_Bastion(in, out, s)
}
func autoConvert_v1alpha3_ExternalRouterIPParam_To_v1alpha4_ExternalRouterIPParam(in *ExternalRouterIPParam, out *v1alpha4.ExternalRouterIPParam, s conversion.Scope) error {
	out.FixedIP = in.FixedIP
	if err := Convert_v1alpha3_SubnetParam_To_v1alpha4_SubnetParam(&in.Subnet, &out.Subnet, s); err != nil {
		return err
	}
	return nil
}
func Convert_v1alpha3_ExternalRouterIPParam_To_v1alpha4_ExternalRouterIPParam(in *ExternalRouterIPParam, out *v1alpha4.ExternalRouterIPParam, s conversion.Scope) error {
	return autoConvert_v1alpha3_ExternalRouterIPParam_To_v1alpha4_ExternalRouterIPParam(in, out, s)
}
func autoConvert_v1alpha4_ExternalRouterIPParam_To_v1alpha3_ExternalRouterIPParam(in *v1alpha4.ExternalRouterIPParam, out *ExternalRouterIPParam, s conversion.Scope) error {
	out.FixedIP = in.FixedIP
	if err := Convert_v1alpha4_SubnetParam_To_v1alpha3_SubnetParam(&in.Subnet, &out.Subnet, s); err != nil {
		return err
	}
	return nil
}
func Convert_v1alpha4_ExternalRouterIPParam_To_v1alpha3_ExternalRouterIPParam(in *v1alpha4.ExternalRouterIPParam, out *ExternalRouterIPParam, s conversion.Scope) error {
	return autoConvert_v1alpha4_ExternalRouterIPParam_To_v1alpha3_ExternalRouterIPParam(in, out, s)
}
func autoConvert_v1alpha3_Filter_To_v1alpha4_Filter(in *Filter, out *v1alpha4.Filter, s conversion.Scope) error {
	out.Status = in.Status
	out.Name = in.Name
	out.Description = in.Description
	out.AdminStateUp = (*bool)(unsafe.Pointer(in.AdminStateUp))
	out.TenantID = in.TenantID
	out.ProjectID = in.ProjectID
	out.Shared = (*bool)(unsafe.Pointer(in.Shared))
	out.ID = in.ID
	out.Marker = in.Marker
	out.Limit = in.Limit
	out.SortKey = in.SortKey
	out.SortDir = in.SortDir
	out.Tags = in.Tags
	out.TagsAny = in.TagsAny
	out.NotTags = in.NotTags
	out.NotTagsAny = in.NotTagsAny
	return nil
}
func Convert_v1alpha3_Filter_To_v1alpha4_Filter(in *Filter, out *v1alpha4.Filter, s conversion.Scope) error {
	return autoConvert_v1alpha3_Filter_To_v1alpha4_Filter(in, out, s)
}
func autoConvert_v1alpha4_Filter_To_v1alpha3_Filter(in *v1alpha4.Filter, out *Filter, s conversion.Scope) error {
	out.Status = in.Status
	out.Name = in.Name
	out.Description = in.Description
	out.AdminStateUp = (*bool)(unsafe.Pointer(in.AdminStateUp))
	out.TenantID = in.TenantID
	out.ProjectID = in.ProjectID
	out.Shared = (*bool)(unsafe.Pointer(in.Shared))
	out.ID = in.ID
	out.Marker = in.Marker
	out.Limit = in.Limit
	out.SortKey = in.SortKey
	out.SortDir = in.SortDir
	out.Tags = in.Tags
	out.TagsAny = in.TagsAny
	out.NotTags = in.NotTags
	out.NotTagsAny = in.NotTagsAny
	return nil
}
func Convert_v1alpha4_Filter_To_v1alpha3_Filter(in *v1alpha4.Filter, out *Filter, s conversion.Scope) error {
	return autoConvert_v1alpha4_Filter_To_v1alpha3_Filter(in, out, s)
}
func autoConvert_v1alpha3_Instance_To_v1alpha4_Instance(in *Instance, out *v1alpha4.Instance, s conversion.Scope) error {
	out.ID = in.ID
	out.Name = in.Name
	out.Trunk = in.Trunk
	out.FailureDomain = in.FailureDomain
	out.SecurityGroups = (*[]string)(unsafe.Pointer(in.SecurityGroups))
	if in.Networks != nil {
		in, out := &in.Networks, &out.Networks
		*out = new([]v1alpha4.Network)
		if err := Convert_Slice_v1alpha3_Network_To_Slice_v1alpha4_Network(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Networks = nil
	}
	out.Subnet = in.Subnet
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	out.Image = in.Image
	out.Flavor = in.Flavor
	out.SSHKeyName = in.SSHKeyName
	out.UserData = in.UserData
	out.Metadata = *(*map[string]string)(unsafe.Pointer(&in.Metadata))
	out.ConfigDrive = (*bool)(unsafe.Pointer(in.ConfigDrive))
	out.RootVolume = (*v1alpha4.RootVolume)(unsafe.Pointer(in.RootVolume))
	out.ServerGroupID = in.ServerGroupID
	out.State = v1alpha4.InstanceState(in.State)
	out.IP = in.IP
	out.FloatingIP = in.FloatingIP
	return nil
}
func Convert_v1alpha3_Instance_To_v1alpha4_Instance(in *Instance, out *v1alpha4.Instance, s conversion.Scope) error {
	return autoConvert_v1alpha3_Instance_To_v1alpha4_Instance(in, out, s)
}
func autoConvert_v1alpha4_Instance_To_v1alpha3_Instance(in *v1alpha4.Instance, out *Instance, s conversion.Scope) error {
	out.ID = in.ID
	out.Name = in.Name
	out.Trunk = in.Trunk
	out.FailureDomain = in.FailureDomain
	out.SecurityGroups = (*[]string)(unsafe.Pointer(in.SecurityGroups))
	if in.Networks != nil {
		in, out := &in.Networks, &out.Networks
		*out = new([]Network)
		if err := Convert_Slice_v1alpha4_Network_To_Slice_v1alpha3_Network(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Networks = nil
	}
	out.Subnet = in.Subnet
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	out.Image = in.Image
	out.Flavor = in.Flavor
	out.SSHKeyName = in.SSHKeyName
	out.UserData = in.UserData
	out.Metadata = *(*map[string]string)(unsafe.Pointer(&in.Metadata))
	out.ConfigDrive = (*bool)(unsafe.Pointer(in.ConfigDrive))
	out.RootVolume = (*RootVolume)(unsafe.Pointer(in.RootVolume))
	out.ServerGroupID = in.ServerGroupID
	out.State = InstanceState(in.State)
	out.IP = in.IP
	out.FloatingIP = in.FloatingIP
	return nil
}
func Convert_v1alpha4_Instance_To_v1alpha3_Instance(in *v1alpha4.Instance, out *Instance, s conversion.Scope) error {
	return autoConvert_v1alpha4_Instance_To_v1alpha3_Instance(in, out, s)
}
func autoConvert_v1alpha3_LoadBalancer_To_v1alpha4_LoadBalancer(in *LoadBalancer, out *v1alpha4.LoadBalancer, s conversion.Scope) error {
	out.Name = in.Name
	out.ID = in.ID
	out.IP = in.IP
	out.InternalIP = in.InternalIP
	return nil
}
func Convert_v1alpha3_LoadBalancer_To_v1alpha4_LoadBalancer(in *LoadBalancer, out *v1alpha4.LoadBalancer, s conversion.Scope) error {
	return autoConvert_v1alpha3_LoadBalancer_To_v1alpha4_LoadBalancer(in, out, s)
}
func autoConvert_v1alpha4_LoadBalancer_To_v1alpha3_LoadBalancer(in *v1alpha4.LoadBalancer, out *LoadBalancer, s conversion.Scope) error {
	out.Name = in.Name
	out.ID = in.ID
	out.IP = in.IP
	out.InternalIP = in.InternalIP
	return nil
}
func Convert_v1alpha4_LoadBalancer_To_v1alpha3_LoadBalancer(in *v1alpha4.LoadBalancer, out *LoadBalancer, s conversion.Scope) error {
	return autoConvert_v1alpha4_LoadBalancer_To_v1alpha3_LoadBalancer(in, out, s)
}
func autoConvert_v1alpha3_Network_To_v1alpha4_Network(in *Network, out *v1alpha4.Network, s conversion.Scope) error {
	out.Name = in.Name
	out.ID = in.ID
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	out.Subnet = (*v1alpha4.Subnet)(unsafe.Pointer(in.Subnet))
	out.Router = (*v1alpha4.Router)(unsafe.Pointer(in.Router))
	out.APIServerLoadBalancer = (*v1alpha4.LoadBalancer)(unsafe.Pointer(in.APIServerLoadBalancer))
	return nil
}
func Convert_v1alpha3_Network_To_v1alpha4_Network(in *Network, out *v1alpha4.Network, s conversion.Scope) error {
	return autoConvert_v1alpha3_Network_To_v1alpha4_Network(in, out, s)
}
func autoConvert_v1alpha4_Network_To_v1alpha3_Network(in *v1alpha4.Network, out *Network, s conversion.Scope) error {
	out.Name = in.Name
	out.ID = in.ID
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	out.Subnet = (*Subnet)(unsafe.Pointer(in.Subnet))
	out.Router = (*Router)(unsafe.Pointer(in.Router))
	out.APIServerLoadBalancer = (*LoadBalancer)(unsafe.Pointer(in.APIServerLoadBalancer))
	return nil
}
func autoConvert_v1alpha3_NetworkParam_To_v1alpha4_NetworkParam(in *NetworkParam, out *v1alpha4.NetworkParam, s conversion.Scope) error {
	out.UUID = in.UUID
	out.FixedIP = in.FixedIP
	if err := Convert_v1alpha3_Filter_To_v1alpha4_Filter(&in.Filter, &out.Filter, s); err != nil {
		return err
	}
	out.Subnets = *(*[]v1alpha4.SubnetParam)(unsafe.Pointer(&in.Subnets))
	return nil
}
func Convert_v1alpha3_NetworkParam_To_v1alpha4_NetworkParam(in *NetworkParam, out *v1alpha4.NetworkParam, s conversion.Scope) error {
	return autoConvert_v1alpha3_NetworkParam_To_v1alpha4_NetworkParam(in, out, s)
}
func autoConvert_v1alpha4_NetworkParam_To_v1alpha3_NetworkParam(in *v1alpha4.NetworkParam, out *NetworkParam, s conversion.Scope) error {
	out.UUID = in.UUID
	out.FixedIP = in.FixedIP
	if err := Convert_v1alpha4_Filter_To_v1alpha3_Filter(&in.Filter, &out.Filter, s); err != nil {
		return err
	}
	out.Subnets = *(*[]SubnetParam)(unsafe.Pointer(&in.Subnets))
	return nil
}
func Convert_v1alpha4_NetworkParam_To_v1alpha3_NetworkParam(in *v1alpha4.NetworkParam, out *NetworkParam, s conversion.Scope) error {
	return autoConvert_v1alpha4_NetworkParam_To_v1alpha3_NetworkParam(in, out, s)
}
func autoConvert_v1alpha3_OpenStackCluster_To_v1alpha4_OpenStackCluster(in *OpenStackCluster, out *v1alpha4.OpenStackCluster, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_v1alpha3_OpenStackClusterSpec_To_v1alpha4_OpenStackClusterSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	if err := Convert_v1alpha3_OpenStackClusterStatus_To_v1alpha4_OpenStackClusterStatus(&in.Status, &out.Status, s); err != nil {
		return err
	}
	return nil
}
func Convert_v1alpha3_OpenStackCluster_To_v1alpha4_OpenStackCluster(in *OpenStackCluster, out *v1alpha4.OpenStackCluster, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackCluster_To_v1alpha4_OpenStackCluster(in, out, s)
}
func autoConvert_v1alpha4_OpenStackCluster_To_v1alpha3_OpenStackCluster(in *v1alpha4.OpenStackCluster, out *OpenStackCluster, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_v1alpha4_OpenStackClusterSpec_To_v1alpha3_OpenStackClusterSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	if err := Convert_v1alpha4_OpenStackClusterStatus_To_v1alpha3_OpenStackClusterStatus(&in.Status, &out.Status, s); err != nil {
		return err
	}
	return nil
}
func Convert_v1alpha4_OpenStackCluster_To_v1alpha3_OpenStackCluster(in *v1alpha4.OpenStackCluster, out *OpenStackCluster, s conversion.Scope) error {
	return autoConvert_v1alpha4_OpenStackCluster_To_v1alpha3_OpenStackCluster(in, out, s)
}
func autoConvert_v1alpha3_OpenStackClusterList_To_v1alpha4_OpenStackClusterList(in *OpenStackClusterList, out *v1alpha4.OpenStackClusterList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]v1alpha4.OpenStackCluster, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_OpenStackCluster_To_v1alpha4_OpenStackCluster(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}
func Convert_v1alpha3_OpenStackClusterList_To_v1alpha4_OpenStackClusterList(in *OpenStackClusterList, out *v1alpha4.OpenStackClusterList, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackClusterList_To_v1alpha4_OpenStackClusterList(in, out, s)
}
func autoConvert_v1alpha4_OpenStackClusterList_To_v1alpha3_OpenStackClusterList(in *v1alpha4.OpenStackClusterList, out *OpenStackClusterList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]OpenStackCluster, len(*in))
		for i := range *in {
			if err := Convert_v1alpha4_OpenStackCluster_To_v1alpha3_OpenStackCluster(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}
func Convert_v1alpha4_OpenStackClusterList_To_v1alpha3_OpenStackClusterList(in *v1alpha4.OpenStackClusterList, out *OpenStackClusterList, s conversion.Scope) error {
	return autoConvert_v1alpha4_OpenStackClusterList_To_v1alpha3_OpenStackClusterList(in, out, s)
}
func autoConvert_v1alpha3_OpenStackClusterSpec_To_v1alpha4_OpenStackClusterSpec(in *OpenStackClusterSpec, out *v1alpha4.OpenStackClusterSpec, s conversion.Scope) error {
	out.CloudName = in.CloudName
	out.NodeCIDR = in.NodeCIDR
	if err := Convert_v1alpha3_Filter_To_v1alpha4_Filter(&in.Network, &out.Network, s); err != nil {
		return err
	}
	if err := Convert_v1alpha3_SubnetFilter_To_v1alpha4_SubnetFilter(&in.Subnet, &out.Subnet, s); err != nil {
		return err
	}
	out.DNSNameservers = *(*[]string)(unsafe.Pointer(&in.DNSNameservers))
	out.ExternalRouterIPs = *(*[]v1alpha4.ExternalRouterIPParam)(unsafe.Pointer(&in.ExternalRouterIPs))
	out.ExternalNetworkID = in.ExternalNetworkID
	out.ManagedAPIServerLoadBalancer = in.ManagedAPIServerLoadBalancer
	out.APIServerFloatingIP = in.APIServerFloatingIP
	out.APIServerPort = in.APIServerPort
	out.APIServerLoadBalancerAdditionalPorts = *(*[]int)(unsafe.Pointer(&in.APIServerLoadBalancerAdditionalPorts))
	out.ManagedSecurityGroups = in.ManagedSecurityGroups
	out.DisablePortSecurity = in.DisablePortSecurity
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	if err := Convert_v1alpha3_APIEndpoint_To_v1alpha4_APIEndpoint(&in.ControlPlaneEndpoint, &out.ControlPlaneEndpoint, s); err != nil {
		return err
	}
	out.ControlPlaneAvailabilityZones = *(*[]string)(unsafe.Pointer(&in.ControlPlaneAvailabilityZones))
	if in.Bastion != nil {
		in, out := &in.Bastion, &out.Bastion
		*out = new(v1alpha4.Bastion)
		if err := Convert_v1alpha3_Bastion_To_v1alpha4_Bastion(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Bastion = nil
	}
	return nil
}
func autoConvert_v1alpha4_OpenStackClusterSpec_To_v1alpha3_OpenStackClusterSpec(in *v1alpha4.OpenStackClusterSpec, out *OpenStackClusterSpec, s conversion.Scope) error {
	out.CloudName = in.CloudName
	out.NodeCIDR = in.NodeCIDR
	if err := Convert_v1alpha4_Filter_To_v1alpha3_Filter(&in.Network, &out.Network, s); err != nil {
		return err
	}
	if err := Convert_v1alpha4_SubnetFilter_To_v1alpha3_SubnetFilter(&in.Subnet, &out.Subnet, s); err != nil {
		return err
	}
	out.DNSNameservers = *(*[]string)(unsafe.Pointer(&in.DNSNameservers))
	out.ExternalRouterIPs = *(*[]ExternalRouterIPParam)(unsafe.Pointer(&in.ExternalRouterIPs))
	out.ExternalNetworkID = in.ExternalNetworkID
	out.ManagedAPIServerLoadBalancer = in.ManagedAPIServerLoadBalancer
	out.APIServerFloatingIP = in.APIServerFloatingIP
	out.APIServerPort = in.APIServerPort
	out.APIServerLoadBalancerAdditionalPorts = *(*[]int)(unsafe.Pointer(&in.APIServerLoadBalancerAdditionalPorts))
	out.ManagedSecurityGroups = in.ManagedSecurityGroups
	out.DisablePortSecurity = in.DisablePortSecurity
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	if err := Convert_v1alpha4_APIEndpoint_To_v1alpha3_APIEndpoint(&in.ControlPlaneEndpoint, &out.ControlPlaneEndpoint, s); err != nil {
		return err
	}
	out.ControlPlaneAvailabilityZones = *(*[]string)(unsafe.Pointer(&in.ControlPlaneAvailabilityZones))
	if in.Bastion != nil {
		in, out := &in.Bastion, &out.Bastion
		*out = new(Bastion)
		if err := Convert_v1alpha4_Bastion_To_v1alpha3_Bastion(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Bastion = nil
	}
	return nil
}
func autoConvert_v1alpha3_OpenStackClusterStatus_To_v1alpha4_OpenStackClusterStatus(in *OpenStackClusterStatus, out *v1alpha4.OpenStackClusterStatus, s conversion.Scope) error {
	out.Ready = in.Ready
	if in.Network != nil {
		in, out := &in.Network, &out.Network
		*out = new(v1alpha4.Network)
		if err := Convert_v1alpha3_Network_To_v1alpha4_Network(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Network = nil
	}
	if in.ExternalNetwork != nil {
		in, out := &in.ExternalNetwork, &out.ExternalNetwork
		*out = new(v1alpha4.Network)
		if err := Convert_v1alpha3_Network_To_v1alpha4_Network(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.ExternalNetwork = nil
	}
	out.FailureDomains = *(*apiv1alpha4.FailureDomains)(unsafe.Pointer(&in.FailureDomains))
	out.ControlPlaneSecurityGroup = (*v1alpha4.SecurityGroup)(unsafe.Pointer(in.ControlPlaneSecurityGroup))
	out.WorkerSecurityGroup = (*v1alpha4.SecurityGroup)(unsafe.Pointer(in.WorkerSecurityGroup))
	out.BastionSecurityGroup = (*v1alpha4.SecurityGroup)(unsafe.Pointer(in.BastionSecurityGroup))
	if in.Bastion != nil {
		in, out := &in.Bastion, &out.Bastion
		*out = new(v1alpha4.Instance)
		if err := Convert_v1alpha3_Instance_To_v1alpha4_Instance(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Bastion = nil
	}
	return nil
}
func Convert_v1alpha3_OpenStackClusterStatus_To_v1alpha4_OpenStackClusterStatus(in *OpenStackClusterStatus, out *v1alpha4.OpenStackClusterStatus, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackClusterStatus_To_v1alpha4_OpenStackClusterStatus(in, out, s)
}
func autoConvert_v1alpha4_OpenStackClusterStatus_To_v1alpha3_OpenStackClusterStatus(in *v1alpha4.OpenStackClusterStatus, out *OpenStackClusterStatus, s conversion.Scope) error {
	out.Ready = in.Ready
	if in.Network != nil {
		in, out := &in.Network, &out.Network
		*out = new(Network)
		if err := Convert_v1alpha4_Network_To_v1alpha3_Network(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Network = nil
	}
	if in.ExternalNetwork != nil {
		in, out := &in.ExternalNetwork, &out.ExternalNetwork
		*out = new(Network)
		if err := Convert_v1alpha4_Network_To_v1alpha3_Network(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.ExternalNetwork = nil
	}
	out.FailureDomains = *(*apiv1alpha3.FailureDomains)(unsafe.Pointer(&in.FailureDomains))
	out.ControlPlaneSecurityGroup = (*SecurityGroup)(unsafe.Pointer(in.ControlPlaneSecurityGroup))
	out.WorkerSecurityGroup = (*SecurityGroup)(unsafe.Pointer(in.WorkerSecurityGroup))
	out.BastionSecurityGroup = (*SecurityGroup)(unsafe.Pointer(in.BastionSecurityGroup))
	if in.Bastion != nil {
		in, out := &in.Bastion, &out.Bastion
		*out = new(Instance)
		if err := Convert_v1alpha4_Instance_To_v1alpha3_Instance(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Bastion = nil
	}
	return nil
}
func autoConvert_v1alpha3_OpenStackMachine_To_v1alpha4_OpenStackMachine(in *OpenStackMachine, out *v1alpha4.OpenStackMachine, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_v1alpha3_OpenStackMachineSpec_To_v1alpha4_OpenStackMachineSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	if err := Convert_v1alpha3_OpenStackMachineStatus_To_v1alpha4_OpenStackMachineStatus(&in.Status, &out.Status, s); err != nil {
		return err
	}
	return nil
}
func Convert_v1alpha3_OpenStackMachine_To_v1alpha4_OpenStackMachine(in *OpenStackMachine, out *v1alpha4.OpenStackMachine, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackMachine_To_v1alpha4_OpenStackMachine(in, out, s)
}
func autoConvert_v1alpha4_OpenStackMachine_To_v1alpha3_OpenStackMachine(in *v1alpha4.OpenStackMachine, out *OpenStackMachine, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_v1alpha4_OpenStackMachineSpec_To_v1alpha3_OpenStackMachineSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	if err := Convert_v1alpha4_OpenStackMachineStatus_To_v1alpha3_OpenStackMachineStatus(&in.Status, &out.Status, s); err != nil {
		return err
	}
	return nil
}
func Convert_v1alpha4_OpenStackMachine_To_v1alpha3_OpenStackMachine(in *v1alpha4.OpenStackMachine, out *OpenStackMachine, s conversion.Scope) error {
	return autoConvert_v1alpha4_OpenStackMachine_To_v1alpha3_OpenStackMachine(in, out, s)
}
func autoConvert_v1alpha3_OpenStackMachineList_To_v1alpha4_OpenStackMachineList(in *OpenStackMachineList, out *v1alpha4.OpenStackMachineList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]v1alpha4.OpenStackMachine, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_OpenStackMachine_To_v1alpha4_OpenStackMachine(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}
func Convert_v1alpha3_OpenStackMachineList_To_v1alpha4_OpenStackMachineList(in *OpenStackMachineList, out *v1alpha4.OpenStackMachineList, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackMachineList_To_v1alpha4_OpenStackMachineList(in, out, s)
}
func autoConvert_v1alpha4_OpenStackMachineList_To_v1alpha3_OpenStackMachineList(in *v1alpha4.OpenStackMachineList, out *OpenStackMachineList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]OpenStackMachine, len(*in))
		for i := range *in {
			if err := Convert_v1alpha4_OpenStackMachine_To_v1alpha3_OpenStackMachine(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}
func Convert_v1alpha4_OpenStackMachineList_To_v1alpha3_OpenStackMachineList(in *v1alpha4.OpenStackMachineList, out *OpenStackMachineList, s conversion.Scope) error {
	return autoConvert_v1alpha4_OpenStackMachineList_To_v1alpha3_OpenStackMachineList(in, out, s)
}
func autoConvert_v1alpha3_OpenStackMachineSpec_To_v1alpha4_OpenStackMachineSpec(in *OpenStackMachineSpec, out *v1alpha4.OpenStackMachineSpec, s conversion.Scope) error {
	out.ProviderID = (*string)(unsafe.Pointer(in.ProviderID))
	out.InstanceID = (*string)(unsafe.Pointer(in.InstanceID))
	out.CloudName = in.CloudName
	out.Flavor = in.Flavor
	out.Image = in.Image
	out.SSHKeyName = in.SSHKeyName
	out.Networks = *(*[]v1alpha4.NetworkParam)(unsafe.Pointer(&in.Networks))
	out.Subnet = in.Subnet
	out.FloatingIP = in.FloatingIP
	out.SecurityGroups = *(*[]v1alpha4.SecurityGroupParam)(unsafe.Pointer(&in.SecurityGroups))
	out.Trunk = in.Trunk
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	out.ServerMetadata = *(*map[string]string)(unsafe.Pointer(&in.ServerMetadata))
	out.ConfigDrive = (*bool)(unsafe.Pointer(in.ConfigDrive))
	out.RootVolume = (*v1alpha4.RootVolume)(unsafe.Pointer(in.RootVolume))
	out.ServerGroupID = in.ServerGroupID
	return nil
}
func autoConvert_v1alpha4_OpenStackMachineSpec_To_v1alpha3_OpenStackMachineSpec(in *v1alpha4.OpenStackMachineSpec, out *OpenStackMachineSpec, s conversion.Scope) error {
	out.ProviderID = (*string)(unsafe.Pointer(in.ProviderID))
	out.InstanceID = (*string)(unsafe.Pointer(in.InstanceID))
	out.CloudName = in.CloudName
	out.Flavor = in.Flavor
	out.Image = in.Image
	out.SSHKeyName = in.SSHKeyName
	out.Networks = *(*[]NetworkParam)(unsafe.Pointer(&in.Networks))
	out.Subnet = in.Subnet
	out.FloatingIP = in.FloatingIP
	out.SecurityGroups = *(*[]SecurityGroupParam)(unsafe.Pointer(&in.SecurityGroups))
	out.Trunk = in.Trunk
	out.Tags = *(*[]string)(unsafe.Pointer(&in.Tags))
	out.ServerMetadata = *(*map[string]string)(unsafe.Pointer(&in.ServerMetadata))
	out.ConfigDrive = (*bool)(unsafe.Pointer(in.ConfigDrive))
	out.RootVolume = (*RootVolume)(unsafe.Pointer(in.RootVolume))
	out.ServerGroupID = in.ServerGroupID
	return nil
}
func autoConvert_v1alpha3_OpenStackMachineStatus_To_v1alpha4_OpenStackMachineStatus(in *OpenStackMachineStatus, out *v1alpha4.OpenStackMachineStatus, s conversion.Scope) error {
	out.Ready = in.Ready
	out.Addresses = *(*[]v1.NodeAddress)(unsafe.Pointer(&in.Addresses))
	out.InstanceState = (*v1alpha4.InstanceState)(unsafe.Pointer(in.InstanceState))
	out.FailureReason = (*errors.MachineStatusError)(unsafe.Pointer(in.FailureReason))
	out.FailureMessage = (*string)(unsafe.Pointer(in.FailureMessage))
	return nil
}
func Convert_v1alpha3_OpenStackMachineStatus_To_v1alpha4_OpenStackMachineStatus(in *OpenStackMachineStatus, out *v1alpha4.OpenStackMachineStatus, s conversion.Scope) error {
	return autoConvert_v1alpha3_OpenStackMachineStatus_To_v1alpha4_OpenStackMachineStatus(in, out, s)
}
func autoConvert_v1alpha4_OpenStackMachineStatus_To_v1alpha3_OpenStackMachineStatus(in *v1alpha4.OpenStackMachineStatus, out *OpenStackMachineStatus, s conversion.Scope) error {
	out.Ready = in.Ready
	out.Addresses = *(*[]v1.NodeAddress)(unsafe.Pointer(&in.Addresses))
	out.InstanceState = (*InstanceState)(unsafe.Pointer(in.InstanceState))
	out.FailureReason = (*errors.MachineStatusError)(unsafe.Pointer(in.FailureReason))
	out.FailureMessage = (*string)(unsafe.Pointer(in.FailureMessage))
	return nil
}
func Convert_v1alpha4_OpenStackMachineStatus_To_v1alpha3_OpenStackMachineStatus(in *v1alpha4.OpenStackMachineStatus, out *OpenStackMachineStatus, s conversion.Scope) error {
	return autoConvert_v1alpha4_OpenStackMachineStatus_To_v1alpha3_OpenStackMachineStatus(in, out, s)
}
func autoConvert_v1alpha3_OpenStackMachineTemplate_To_v1alpha4_OpenStackMachineTemplate(in *OpenStackMachineTemplate, out *v1alpha4.OpenStackMachineTemplate, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_v1alpha3_OpenStackMachineTemplateSpec_To_v1alpha4_OpenStackMachineTemplateSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	return nil
}