// +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 v1alpha3

import (
	v1beta2 "github.com/docker/compose-on-kubernetes/api/compose/v1beta2"
	conversion "k8s.io/apimachinery/pkg/conversion"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

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

// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
	return scheme.AddGeneratedConversionFuncs(
		Convert_v1alpha3_ComposeFile_To_v1beta2_ComposeFile,
		Convert_v1beta2_ComposeFile_To_v1alpha3_ComposeFile,
		Convert_v1alpha3_ConfigObjConfig_To_v1beta2_ConfigObjConfig,
		Convert_v1beta2_ConfigObjConfig_To_v1alpha3_ConfigObjConfig,
		Convert_v1alpha3_Constraint_To_v1beta2_Constraint,
		Convert_v1beta2_Constraint_To_v1alpha3_Constraint,
		Convert_v1alpha3_Constraints_To_v1beta2_Constraints,
		Convert_v1beta2_Constraints_To_v1alpha3_Constraints,
		Convert_v1alpha3_DeployConfig_To_v1beta2_DeployConfig,
		Convert_v1beta2_DeployConfig_To_v1alpha3_DeployConfig,
		Convert_v1alpha3_External_To_v1beta2_External,
		Convert_v1beta2_External_To_v1alpha3_External,
		Convert_v1alpha3_FileObjectConfig_To_v1beta2_FileObjectConfig,
		Convert_v1beta2_FileObjectConfig_To_v1alpha3_FileObjectConfig,
		Convert_v1alpha3_FileReferenceConfig_To_v1beta2_FileReferenceConfig,
		Convert_v1beta2_FileReferenceConfig_To_v1alpha3_FileReferenceConfig,
		Convert_v1alpha3_HealthCheckConfig_To_v1beta2_HealthCheckConfig,
		Convert_v1beta2_HealthCheckConfig_To_v1alpha3_HealthCheckConfig,
		Convert_v1alpha3_Owner_To_v1beta2_Owner,
		Convert_v1beta2_Owner_To_v1alpha3_Owner,
		Convert_v1alpha3_Placement_To_v1beta2_Placement,
		Convert_v1beta2_Placement_To_v1alpha3_Placement,
		Convert_v1alpha3_Resource_To_v1beta2_Resource,
		Convert_v1beta2_Resource_To_v1alpha3_Resource,
		Convert_v1alpha3_Resources_To_v1beta2_Resources,
		Convert_v1beta2_Resources_To_v1alpha3_Resources,
		Convert_v1alpha3_RestartPolicy_To_v1beta2_RestartPolicy,
		Convert_v1beta2_RestartPolicy_To_v1alpha3_RestartPolicy,
		Convert_v1alpha3_Scale_To_v1beta2_Scale,
		Convert_v1beta2_Scale_To_v1alpha3_Scale,
		Convert_v1alpha3_SecretConfig_To_v1beta2_SecretConfig,
		Convert_v1beta2_SecretConfig_To_v1alpha3_SecretConfig,
		Convert_v1alpha3_ServiceConfig_To_v1beta2_ServiceConfig,
		Convert_v1beta2_ServiceConfig_To_v1alpha3_ServiceConfig,
		Convert_v1alpha3_ServiceConfigObjConfig_To_v1beta2_ServiceConfigObjConfig,
		Convert_v1beta2_ServiceConfigObjConfig_To_v1alpha3_ServiceConfigObjConfig,
		Convert_v1alpha3_ServicePortConfig_To_v1beta2_ServicePortConfig,
		Convert_v1beta2_ServicePortConfig_To_v1alpha3_ServicePortConfig,
		Convert_v1alpha3_ServiceSecretConfig_To_v1beta2_ServiceSecretConfig,
		Convert_v1beta2_ServiceSecretConfig_To_v1alpha3_ServiceSecretConfig,
		Convert_v1alpha3_ServiceVolumeConfig_To_v1beta2_ServiceVolumeConfig,
		Convert_v1beta2_ServiceVolumeConfig_To_v1alpha3_ServiceVolumeConfig,
		Convert_v1alpha3_Stack_To_v1beta2_Stack,
		Convert_v1beta2_Stack_To_v1alpha3_Stack,
		Convert_v1alpha3_StackList_To_v1beta2_StackList,
		Convert_v1beta2_StackList_To_v1alpha3_StackList,
		Convert_v1alpha3_StackSpec_To_v1beta2_StackSpec,
		Convert_v1beta2_StackSpec_To_v1alpha3_StackSpec,
		Convert_v1alpha3_StackStatus_To_v1beta2_StackStatus,
		Convert_v1beta2_StackStatus_To_v1alpha3_StackStatus,
		Convert_v1alpha3_UpdateConfig_To_v1beta2_UpdateConfig,
		Convert_v1beta2_UpdateConfig_To_v1alpha3_UpdateConfig,
	)
}

func autoConvert_v1alpha3_ComposeFile_To_v1beta2_ComposeFile(in *ComposeFile, out *v1beta2.ComposeFile, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	out.ComposeFile = in.ComposeFile
	return nil
}

// Convert_v1alpha3_ComposeFile_To_v1beta2_ComposeFile is an autogenerated conversion function.
func Convert_v1alpha3_ComposeFile_To_v1beta2_ComposeFile(in *ComposeFile, out *v1beta2.ComposeFile, s conversion.Scope) error {
	return autoConvert_v1alpha3_ComposeFile_To_v1beta2_ComposeFile(in, out, s)
}

func autoConvert_v1beta2_ComposeFile_To_v1alpha3_ComposeFile(in *v1beta2.ComposeFile, out *ComposeFile, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	out.ComposeFile = in.ComposeFile
	return nil
}

// Convert_v1beta2_ComposeFile_To_v1alpha3_ComposeFile is an autogenerated conversion function.
func Convert_v1beta2_ComposeFile_To_v1alpha3_ComposeFile(in *v1beta2.ComposeFile, out *ComposeFile, s conversion.Scope) error {
	return autoConvert_v1beta2_ComposeFile_To_v1alpha3_ComposeFile(in, out, s)
}

func autoConvert_v1alpha3_ConfigObjConfig_To_v1beta2_ConfigObjConfig(in *ConfigObjConfig, out *v1beta2.ConfigObjConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.File = in.File
	if err := Convert_v1alpha3_External_To_v1beta2_External(&in.External, &out.External, s); err != nil {
		return err
	}
	out.Labels = in.Labels
	return nil
}

// Convert_v1alpha3_ConfigObjConfig_To_v1beta2_ConfigObjConfig is an autogenerated conversion function.
func Convert_v1alpha3_ConfigObjConfig_To_v1beta2_ConfigObjConfig(in *ConfigObjConfig, out *v1beta2.ConfigObjConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_ConfigObjConfig_To_v1beta2_ConfigObjConfig(in, out, s)
}

func autoConvert_v1beta2_ConfigObjConfig_To_v1alpha3_ConfigObjConfig(in *v1beta2.ConfigObjConfig, out *ConfigObjConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.File = in.File
	if err := Convert_v1beta2_External_To_v1alpha3_External(&in.External, &out.External, s); err != nil {
		return err
	}
	out.Labels = in.Labels
	return nil
}

// Convert_v1beta2_ConfigObjConfig_To_v1alpha3_ConfigObjConfig is an autogenerated conversion function.
func Convert_v1beta2_ConfigObjConfig_To_v1alpha3_ConfigObjConfig(in *v1beta2.ConfigObjConfig, out *ConfigObjConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_ConfigObjConfig_To_v1alpha3_ConfigObjConfig(in, out, s)
}

func autoConvert_v1alpha3_Constraint_To_v1beta2_Constraint(in *Constraint, out *v1beta2.Constraint, s conversion.Scope) error {
	out.Value = in.Value
	out.Operator = in.Operator
	return nil
}

// Convert_v1alpha3_Constraint_To_v1beta2_Constraint is an autogenerated conversion function.
func Convert_v1alpha3_Constraint_To_v1beta2_Constraint(in *Constraint, out *v1beta2.Constraint, s conversion.Scope) error {
	return autoConvert_v1alpha3_Constraint_To_v1beta2_Constraint(in, out, s)
}

func autoConvert_v1beta2_Constraint_To_v1alpha3_Constraint(in *v1beta2.Constraint, out *Constraint, s conversion.Scope) error {
	out.Value = in.Value
	out.Operator = in.Operator
	return nil
}

// Convert_v1beta2_Constraint_To_v1alpha3_Constraint is an autogenerated conversion function.
func Convert_v1beta2_Constraint_To_v1alpha3_Constraint(in *v1beta2.Constraint, out *Constraint, s conversion.Scope) error {
	return autoConvert_v1beta2_Constraint_To_v1alpha3_Constraint(in, out, s)
}

func autoConvert_v1alpha3_Constraints_To_v1beta2_Constraints(in *Constraints, out *v1beta2.Constraints, s conversion.Scope) error {
	if in.OperatingSystem != nil {
		in, out := &in.OperatingSystem, &out.OperatingSystem
		*out = new(v1beta2.Constraint)
		if err := Convert_v1alpha3_Constraint_To_v1beta2_Constraint(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.OperatingSystem = nil
	}
	if in.Architecture != nil {
		in, out := &in.Architecture, &out.Architecture
		*out = new(v1beta2.Constraint)
		if err := Convert_v1alpha3_Constraint_To_v1beta2_Constraint(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Architecture = nil
	}
	if in.Hostname != nil {
		in, out := &in.Hostname, &out.Hostname
		*out = new(v1beta2.Constraint)
		if err := Convert_v1alpha3_Constraint_To_v1beta2_Constraint(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Hostname = nil
	}
	if in.MatchLabels != nil {
		in, out := &in.MatchLabels, &out.MatchLabels
		*out = make(map[string]v1beta2.Constraint, len(*in))
		for key, val := range *in {
			newVal := new(v1beta2.Constraint)
			if err := Convert_v1alpha3_Constraint_To_v1beta2_Constraint(&val, newVal, s); err != nil {
				return err
			}
			(*out)[key] = *newVal
		}
	} else {
		out.MatchLabels = nil
	}
	return nil
}

// Convert_v1alpha3_Constraints_To_v1beta2_Constraints is an autogenerated conversion function.
func Convert_v1alpha3_Constraints_To_v1beta2_Constraints(in *Constraints, out *v1beta2.Constraints, s conversion.Scope) error {
	return autoConvert_v1alpha3_Constraints_To_v1beta2_Constraints(in, out, s)
}

func autoConvert_v1beta2_Constraints_To_v1alpha3_Constraints(in *v1beta2.Constraints, out *Constraints, s conversion.Scope) error {
	if in.OperatingSystem != nil {
		in, out := &in.OperatingSystem, &out.OperatingSystem
		*out = new(Constraint)
		if err := Convert_v1beta2_Constraint_To_v1alpha3_Constraint(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.OperatingSystem = nil
	}
	if in.Architecture != nil {
		in, out := &in.Architecture, &out.Architecture
		*out = new(Constraint)
		if err := Convert_v1beta2_Constraint_To_v1alpha3_Constraint(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Architecture = nil
	}
	if in.Hostname != nil {
		in, out := &in.Hostname, &out.Hostname
		*out = new(Constraint)
		if err := Convert_v1beta2_Constraint_To_v1alpha3_Constraint(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Hostname = nil
	}
	if in.MatchLabels != nil {
		in, out := &in.MatchLabels, &out.MatchLabels
		*out = make(map[string]Constraint, len(*in))
		for key, val := range *in {
			newVal := new(Constraint)
			if err := Convert_v1beta2_Constraint_To_v1alpha3_Constraint(&val, newVal, s); err != nil {
				return err
			}
			(*out)[key] = *newVal
		}
	} else {
		out.MatchLabels = nil
	}
	return nil
}

// Convert_v1beta2_Constraints_To_v1alpha3_Constraints is an autogenerated conversion function.
func Convert_v1beta2_Constraints_To_v1alpha3_Constraints(in *v1beta2.Constraints, out *Constraints, s conversion.Scope) error {
	return autoConvert_v1beta2_Constraints_To_v1alpha3_Constraints(in, out, s)
}

func autoConvert_v1alpha3_DeployConfig_To_v1beta2_DeployConfig(in *DeployConfig, out *v1beta2.DeployConfig, s conversion.Scope) error {
	out.Mode = in.Mode
	out.Replicas = in.Replicas
	out.Labels = in.Labels
	if in.UpdateConfig != nil {
		in, out := &in.UpdateConfig, &out.UpdateConfig
		*out = new(v1beta2.UpdateConfig)
		if err := Convert_v1alpha3_UpdateConfig_To_v1beta2_UpdateConfig(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.UpdateConfig = nil
	}
	if err := Convert_v1alpha3_Resources_To_v1beta2_Resources(&in.Resources, &out.Resources, s); err != nil {
		return err
	}
	if in.RestartPolicy != nil {
		in, out := &in.RestartPolicy, &out.RestartPolicy
		*out = new(v1beta2.RestartPolicy)
		if err := Convert_v1alpha3_RestartPolicy_To_v1beta2_RestartPolicy(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.RestartPolicy = nil
	}
	if err := Convert_v1alpha3_Placement_To_v1beta2_Placement(&in.Placement, &out.Placement, s); err != nil {
		return err
	}
	return nil
}

// Convert_v1alpha3_DeployConfig_To_v1beta2_DeployConfig is an autogenerated conversion function.
func Convert_v1alpha3_DeployConfig_To_v1beta2_DeployConfig(in *DeployConfig, out *v1beta2.DeployConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_DeployConfig_To_v1beta2_DeployConfig(in, out, s)
}

func autoConvert_v1beta2_DeployConfig_To_v1alpha3_DeployConfig(in *v1beta2.DeployConfig, out *DeployConfig, s conversion.Scope) error {
	out.Mode = in.Mode
	out.Replicas = in.Replicas
	out.Labels = in.Labels
	if in.UpdateConfig != nil {
		in, out := &in.UpdateConfig, &out.UpdateConfig
		*out = new(UpdateConfig)
		if err := Convert_v1beta2_UpdateConfig_To_v1alpha3_UpdateConfig(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.UpdateConfig = nil
	}
	if err := Convert_v1beta2_Resources_To_v1alpha3_Resources(&in.Resources, &out.Resources, s); err != nil {
		return err
	}
	if in.RestartPolicy != nil {
		in, out := &in.RestartPolicy, &out.RestartPolicy
		*out = new(RestartPolicy)
		if err := Convert_v1beta2_RestartPolicy_To_v1alpha3_RestartPolicy(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.RestartPolicy = nil
	}
	if err := Convert_v1beta2_Placement_To_v1alpha3_Placement(&in.Placement, &out.Placement, s); err != nil {
		return err
	}
	return nil
}

// Convert_v1beta2_DeployConfig_To_v1alpha3_DeployConfig is an autogenerated conversion function.
func Convert_v1beta2_DeployConfig_To_v1alpha3_DeployConfig(in *v1beta2.DeployConfig, out *DeployConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_DeployConfig_To_v1alpha3_DeployConfig(in, out, s)
}

func autoConvert_v1alpha3_External_To_v1beta2_External(in *External, out *v1beta2.External, s conversion.Scope) error {
	out.Name = in.Name
	out.External = in.External
	return nil
}

// Convert_v1alpha3_External_To_v1beta2_External is an autogenerated conversion function.
func Convert_v1alpha3_External_To_v1beta2_External(in *External, out *v1beta2.External, s conversion.Scope) error {
	return autoConvert_v1alpha3_External_To_v1beta2_External(in, out, s)
}

func autoConvert_v1beta2_External_To_v1alpha3_External(in *v1beta2.External, out *External, s conversion.Scope) error {
	out.Name = in.Name
	out.External = in.External
	return nil
}

// Convert_v1beta2_External_To_v1alpha3_External is an autogenerated conversion function.
func Convert_v1beta2_External_To_v1alpha3_External(in *v1beta2.External, out *External, s conversion.Scope) error {
	return autoConvert_v1beta2_External_To_v1alpha3_External(in, out, s)
}

func autoConvert_v1alpha3_FileObjectConfig_To_v1beta2_FileObjectConfig(in *FileObjectConfig, out *v1beta2.FileObjectConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.File = in.File
	if err := Convert_v1alpha3_External_To_v1beta2_External(&in.External, &out.External, s); err != nil {
		return err
	}
	out.Labels = in.Labels
	return nil
}

// Convert_v1alpha3_FileObjectConfig_To_v1beta2_FileObjectConfig is an autogenerated conversion function.
func Convert_v1alpha3_FileObjectConfig_To_v1beta2_FileObjectConfig(in *FileObjectConfig, out *v1beta2.FileObjectConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_FileObjectConfig_To_v1beta2_FileObjectConfig(in, out, s)
}

func autoConvert_v1beta2_FileObjectConfig_To_v1alpha3_FileObjectConfig(in *v1beta2.FileObjectConfig, out *FileObjectConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.File = in.File
	if err := Convert_v1beta2_External_To_v1alpha3_External(&in.External, &out.External, s); err != nil {
		return err
	}
	out.Labels = in.Labels
	return nil
}

// Convert_v1beta2_FileObjectConfig_To_v1alpha3_FileObjectConfig is an autogenerated conversion function.
func Convert_v1beta2_FileObjectConfig_To_v1alpha3_FileObjectConfig(in *v1beta2.FileObjectConfig, out *FileObjectConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_FileObjectConfig_To_v1alpha3_FileObjectConfig(in, out, s)
}

func autoConvert_v1alpha3_FileReferenceConfig_To_v1beta2_FileReferenceConfig(in *FileReferenceConfig, out *v1beta2.FileReferenceConfig, s conversion.Scope) error {
	out.Source = in.Source
	out.Target = in.Target
	out.UID = in.UID
	out.GID = in.GID
	out.Mode = in.Mode
	return nil
}

// Convert_v1alpha3_FileReferenceConfig_To_v1beta2_FileReferenceConfig is an autogenerated conversion function.
func Convert_v1alpha3_FileReferenceConfig_To_v1beta2_FileReferenceConfig(in *FileReferenceConfig, out *v1beta2.FileReferenceConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_FileReferenceConfig_To_v1beta2_FileReferenceConfig(in, out, s)
}

func autoConvert_v1beta2_FileReferenceConfig_To_v1alpha3_FileReferenceConfig(in *v1beta2.FileReferenceConfig, out *FileReferenceConfig, s conversion.Scope) error {
	out.Source = in.Source
	out.Target = in.Target
	out.UID = in.UID
	out.GID = in.GID
	out.Mode = in.Mode
	return nil
}

// Convert_v1beta2_FileReferenceConfig_To_v1alpha3_FileReferenceConfig is an autogenerated conversion function.
func Convert_v1beta2_FileReferenceConfig_To_v1alpha3_FileReferenceConfig(in *v1beta2.FileReferenceConfig, out *FileReferenceConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_FileReferenceConfig_To_v1alpha3_FileReferenceConfig(in, out, s)
}

func autoConvert_v1alpha3_HealthCheckConfig_To_v1beta2_HealthCheckConfig(in *HealthCheckConfig, out *v1beta2.HealthCheckConfig, s conversion.Scope) error {
	out.Test = in.Test
	out.Timeout = in.Timeout
	out.Interval = in.Interval
	out.Retries = in.Retries
	return nil
}

// Convert_v1alpha3_HealthCheckConfig_To_v1beta2_HealthCheckConfig is an autogenerated conversion function.
func Convert_v1alpha3_HealthCheckConfig_To_v1beta2_HealthCheckConfig(in *HealthCheckConfig, out *v1beta2.HealthCheckConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_HealthCheckConfig_To_v1beta2_HealthCheckConfig(in, out, s)
}

func autoConvert_v1beta2_HealthCheckConfig_To_v1alpha3_HealthCheckConfig(in *v1beta2.HealthCheckConfig, out *HealthCheckConfig, s conversion.Scope) error {
	out.Test = in.Test
	out.Timeout = in.Timeout
	out.Interval = in.Interval
	out.Retries = in.Retries
	return nil
}

// Convert_v1beta2_HealthCheckConfig_To_v1alpha3_HealthCheckConfig is an autogenerated conversion function.
func Convert_v1beta2_HealthCheckConfig_To_v1alpha3_HealthCheckConfig(in *v1beta2.HealthCheckConfig, out *HealthCheckConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_HealthCheckConfig_To_v1alpha3_HealthCheckConfig(in, out, s)
}

func autoConvert_v1alpha3_Owner_To_v1beta2_Owner(in *Owner, out *v1beta2.Owner, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	out.Owner = in.Owner
	return nil
}

// Convert_v1alpha3_Owner_To_v1beta2_Owner is an autogenerated conversion function.
func Convert_v1alpha3_Owner_To_v1beta2_Owner(in *Owner, out *v1beta2.Owner, s conversion.Scope) error {
	return autoConvert_v1alpha3_Owner_To_v1beta2_Owner(in, out, s)
}

func autoConvert_v1beta2_Owner_To_v1alpha3_Owner(in *v1beta2.Owner, out *Owner, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	out.Owner = in.Owner
	return nil
}

// Convert_v1beta2_Owner_To_v1alpha3_Owner is an autogenerated conversion function.
func Convert_v1beta2_Owner_To_v1alpha3_Owner(in *v1beta2.Owner, out *Owner, s conversion.Scope) error {
	return autoConvert_v1beta2_Owner_To_v1alpha3_Owner(in, out, s)
}

func autoConvert_v1alpha3_Placement_To_v1beta2_Placement(in *Placement, out *v1beta2.Placement, s conversion.Scope) error {
	if in.Constraints != nil {
		in, out := &in.Constraints, &out.Constraints
		*out = new(v1beta2.Constraints)
		if err := Convert_v1alpha3_Constraints_To_v1beta2_Constraints(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Constraints = nil
	}
	return nil
}

// Convert_v1alpha3_Placement_To_v1beta2_Placement is an autogenerated conversion function.
func Convert_v1alpha3_Placement_To_v1beta2_Placement(in *Placement, out *v1beta2.Placement, s conversion.Scope) error {
	return autoConvert_v1alpha3_Placement_To_v1beta2_Placement(in, out, s)
}

func autoConvert_v1beta2_Placement_To_v1alpha3_Placement(in *v1beta2.Placement, out *Placement, s conversion.Scope) error {
	if in.Constraints != nil {
		in, out := &in.Constraints, &out.Constraints
		*out = new(Constraints)
		if err := Convert_v1beta2_Constraints_To_v1alpha3_Constraints(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Constraints = nil
	}
	return nil
}

// Convert_v1beta2_Placement_To_v1alpha3_Placement is an autogenerated conversion function.
func Convert_v1beta2_Placement_To_v1alpha3_Placement(in *v1beta2.Placement, out *Placement, s conversion.Scope) error {
	return autoConvert_v1beta2_Placement_To_v1alpha3_Placement(in, out, s)
}

func autoConvert_v1alpha3_Resource_To_v1beta2_Resource(in *Resource, out *v1beta2.Resource, s conversion.Scope) error {
	out.NanoCPUs = in.NanoCPUs
	out.MemoryBytes = in.MemoryBytes
	return nil
}

// Convert_v1alpha3_Resource_To_v1beta2_Resource is an autogenerated conversion function.
func Convert_v1alpha3_Resource_To_v1beta2_Resource(in *Resource, out *v1beta2.Resource, s conversion.Scope) error {
	return autoConvert_v1alpha3_Resource_To_v1beta2_Resource(in, out, s)
}

func autoConvert_v1beta2_Resource_To_v1alpha3_Resource(in *v1beta2.Resource, out *Resource, s conversion.Scope) error {
	out.NanoCPUs = in.NanoCPUs
	out.MemoryBytes = in.MemoryBytes
	return nil
}

// Convert_v1beta2_Resource_To_v1alpha3_Resource is an autogenerated conversion function.
func Convert_v1beta2_Resource_To_v1alpha3_Resource(in *v1beta2.Resource, out *Resource, s conversion.Scope) error {
	return autoConvert_v1beta2_Resource_To_v1alpha3_Resource(in, out, s)
}

func autoConvert_v1alpha3_Resources_To_v1beta2_Resources(in *Resources, out *v1beta2.Resources, s conversion.Scope) error {
	if in.Limits != nil {
		in, out := &in.Limits, &out.Limits
		*out = new(v1beta2.Resource)
		if err := Convert_v1alpha3_Resource_To_v1beta2_Resource(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Limits = nil
	}
	if in.Reservations != nil {
		in, out := &in.Reservations, &out.Reservations
		*out = new(v1beta2.Resource)
		if err := Convert_v1alpha3_Resource_To_v1beta2_Resource(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Reservations = nil
	}
	return nil
}

// Convert_v1alpha3_Resources_To_v1beta2_Resources is an autogenerated conversion function.
func Convert_v1alpha3_Resources_To_v1beta2_Resources(in *Resources, out *v1beta2.Resources, s conversion.Scope) error {
	return autoConvert_v1alpha3_Resources_To_v1beta2_Resources(in, out, s)
}

func autoConvert_v1beta2_Resources_To_v1alpha3_Resources(in *v1beta2.Resources, out *Resources, s conversion.Scope) error {
	if in.Limits != nil {
		in, out := &in.Limits, &out.Limits
		*out = new(Resource)
		if err := Convert_v1beta2_Resource_To_v1alpha3_Resource(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Limits = nil
	}
	if in.Reservations != nil {
		in, out := &in.Reservations, &out.Reservations
		*out = new(Resource)
		if err := Convert_v1beta2_Resource_To_v1alpha3_Resource(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Reservations = nil
	}
	return nil
}

// Convert_v1beta2_Resources_To_v1alpha3_Resources is an autogenerated conversion function.
func Convert_v1beta2_Resources_To_v1alpha3_Resources(in *v1beta2.Resources, out *Resources, s conversion.Scope) error {
	return autoConvert_v1beta2_Resources_To_v1alpha3_Resources(in, out, s)
}

func autoConvert_v1alpha3_RestartPolicy_To_v1beta2_RestartPolicy(in *RestartPolicy, out *v1beta2.RestartPolicy, s conversion.Scope) error {
	out.Condition = in.Condition
	return nil
}

// Convert_v1alpha3_RestartPolicy_To_v1beta2_RestartPolicy is an autogenerated conversion function.
func Convert_v1alpha3_RestartPolicy_To_v1beta2_RestartPolicy(in *RestartPolicy, out *v1beta2.RestartPolicy, s conversion.Scope) error {
	return autoConvert_v1alpha3_RestartPolicy_To_v1beta2_RestartPolicy(in, out, s)
}

func autoConvert_v1beta2_RestartPolicy_To_v1alpha3_RestartPolicy(in *v1beta2.RestartPolicy, out *RestartPolicy, s conversion.Scope) error {
	out.Condition = in.Condition
	return nil
}

// Convert_v1beta2_RestartPolicy_To_v1alpha3_RestartPolicy is an autogenerated conversion function.
func Convert_v1beta2_RestartPolicy_To_v1alpha3_RestartPolicy(in *v1beta2.RestartPolicy, out *RestartPolicy, s conversion.Scope) error {
	return autoConvert_v1beta2_RestartPolicy_To_v1alpha3_RestartPolicy(in, out, s)
}

func autoConvert_v1alpha3_Scale_To_v1beta2_Scale(in *Scale, out *v1beta2.Scale, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	out.Spec = in.Spec
	out.Status = in.Status
	return nil
}

// Convert_v1alpha3_Scale_To_v1beta2_Scale is an autogenerated conversion function.
func Convert_v1alpha3_Scale_To_v1beta2_Scale(in *Scale, out *v1beta2.Scale, s conversion.Scope) error {
	return autoConvert_v1alpha3_Scale_To_v1beta2_Scale(in, out, s)
}

func autoConvert_v1beta2_Scale_To_v1alpha3_Scale(in *v1beta2.Scale, out *Scale, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	out.Spec = in.Spec
	out.Status = in.Status
	return nil
}

// Convert_v1beta2_Scale_To_v1alpha3_Scale is an autogenerated conversion function.
func Convert_v1beta2_Scale_To_v1alpha3_Scale(in *v1beta2.Scale, out *Scale, s conversion.Scope) error {
	return autoConvert_v1beta2_Scale_To_v1alpha3_Scale(in, out, s)
}

func autoConvert_v1alpha3_SecretConfig_To_v1beta2_SecretConfig(in *SecretConfig, out *v1beta2.SecretConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.File = in.File
	if err := Convert_v1alpha3_External_To_v1beta2_External(&in.External, &out.External, s); err != nil {
		return err
	}
	out.Labels = in.Labels
	return nil
}

// Convert_v1alpha3_SecretConfig_To_v1beta2_SecretConfig is an autogenerated conversion function.
func Convert_v1alpha3_SecretConfig_To_v1beta2_SecretConfig(in *SecretConfig, out *v1beta2.SecretConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_SecretConfig_To_v1beta2_SecretConfig(in, out, s)
}

func autoConvert_v1beta2_SecretConfig_To_v1alpha3_SecretConfig(in *v1beta2.SecretConfig, out *SecretConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.File = in.File
	if err := Convert_v1beta2_External_To_v1alpha3_External(&in.External, &out.External, s); err != nil {
		return err
	}
	out.Labels = in.Labels
	return nil
}

// Convert_v1beta2_SecretConfig_To_v1alpha3_SecretConfig is an autogenerated conversion function.
func Convert_v1beta2_SecretConfig_To_v1alpha3_SecretConfig(in *v1beta2.SecretConfig, out *SecretConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_SecretConfig_To_v1alpha3_SecretConfig(in, out, s)
}

func autoConvert_v1alpha3_ServiceConfig_To_v1beta2_ServiceConfig(in *ServiceConfig, out *v1beta2.ServiceConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.CapAdd = in.CapAdd
	out.CapDrop = in.CapDrop
	out.Command = in.Command
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make([]v1beta2.ServiceConfigObjConfig, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_ServiceConfigObjConfig_To_v1beta2_ServiceConfigObjConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Configs = nil
	}
	if err := Convert_v1alpha3_DeployConfig_To_v1beta2_DeployConfig(&in.Deploy, &out.Deploy, s); err != nil {
		return err
	}
	out.Entrypoint = in.Entrypoint
	out.Environment = in.Environment
	out.ExtraHosts = in.ExtraHosts
	out.Hostname = in.Hostname
	if in.HealthCheck != nil {
		in, out := &in.HealthCheck, &out.HealthCheck
		*out = new(v1beta2.HealthCheckConfig)
		if err := Convert_v1alpha3_HealthCheckConfig_To_v1beta2_HealthCheckConfig(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.HealthCheck = nil
	}
	out.Image = in.Image
	out.Ipc = in.Ipc
	out.Labels = in.Labels
	out.Pid = in.Pid
	if in.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]v1beta2.ServicePortConfig, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_ServicePortConfig_To_v1beta2_ServicePortConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Ports = nil
	}
	out.Privileged = in.Privileged
	out.ReadOnly = in.ReadOnly
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]v1beta2.ServiceSecretConfig, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_ServiceSecretConfig_To_v1beta2_ServiceSecretConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Secrets = nil
	}
	out.StdinOpen = in.StdinOpen
	out.StopGracePeriod = in.StopGracePeriod
	out.Tmpfs = in.Tmpfs
	out.Tty = in.Tty
	out.User = in.User
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]v1beta2.ServiceVolumeConfig, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_ServiceVolumeConfig_To_v1beta2_ServiceVolumeConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Volumes = nil
	}
	out.WorkingDir = in.WorkingDir
	return nil
}

// Convert_v1alpha3_ServiceConfig_To_v1beta2_ServiceConfig is an autogenerated conversion function.
func Convert_v1alpha3_ServiceConfig_To_v1beta2_ServiceConfig(in *ServiceConfig, out *v1beta2.ServiceConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_ServiceConfig_To_v1beta2_ServiceConfig(in, out, s)
}

func autoConvert_v1beta2_ServiceConfig_To_v1alpha3_ServiceConfig(in *v1beta2.ServiceConfig, out *ServiceConfig, s conversion.Scope) error {
	out.Name = in.Name
	out.CapAdd = in.CapAdd
	out.CapDrop = in.CapDrop
	out.Command = in.Command
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make([]ServiceConfigObjConfig, len(*in))
		for i := range *in {
			if err := Convert_v1beta2_ServiceConfigObjConfig_To_v1alpha3_ServiceConfigObjConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Configs = nil
	}
	if err := Convert_v1beta2_DeployConfig_To_v1alpha3_DeployConfig(&in.Deploy, &out.Deploy, s); err != nil {
		return err
	}
	out.Entrypoint = in.Entrypoint
	out.Environment = in.Environment
	out.ExtraHosts = in.ExtraHosts
	out.Hostname = in.Hostname
	if in.HealthCheck != nil {
		in, out := &in.HealthCheck, &out.HealthCheck
		*out = new(HealthCheckConfig)
		if err := Convert_v1beta2_HealthCheckConfig_To_v1alpha3_HealthCheckConfig(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.HealthCheck = nil
	}
	out.Image = in.Image
	out.Ipc = in.Ipc
	out.Labels = in.Labels
	out.Pid = in.Pid
	if in.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]ServicePortConfig, len(*in))
		for i := range *in {
			if err := Convert_v1beta2_ServicePortConfig_To_v1alpha3_ServicePortConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Ports = nil
	}
	out.Privileged = in.Privileged
	out.ReadOnly = in.ReadOnly
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]ServiceSecretConfig, len(*in))
		for i := range *in {
			if err := Convert_v1beta2_ServiceSecretConfig_To_v1alpha3_ServiceSecretConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Secrets = nil
	}
	out.StdinOpen = in.StdinOpen
	out.StopGracePeriod = in.StopGracePeriod
	out.Tmpfs = in.Tmpfs
	out.Tty = in.Tty
	out.User = in.User
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]ServiceVolumeConfig, len(*in))
		for i := range *in {
			if err := Convert_v1beta2_ServiceVolumeConfig_To_v1alpha3_ServiceVolumeConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Volumes = nil
	}
	out.WorkingDir = in.WorkingDir
	return nil
}

// Convert_v1beta2_ServiceConfig_To_v1alpha3_ServiceConfig is an autogenerated conversion function.
func Convert_v1beta2_ServiceConfig_To_v1alpha3_ServiceConfig(in *v1beta2.ServiceConfig, out *ServiceConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_ServiceConfig_To_v1alpha3_ServiceConfig(in, out, s)
}

func autoConvert_v1alpha3_ServiceConfigObjConfig_To_v1beta2_ServiceConfigObjConfig(in *ServiceConfigObjConfig, out *v1beta2.ServiceConfigObjConfig, s conversion.Scope) error {
	out.Source = in.Source
	out.Target = in.Target
	out.UID = in.UID
	out.GID = in.GID
	out.Mode = in.Mode
	return nil
}

// Convert_v1alpha3_ServiceConfigObjConfig_To_v1beta2_ServiceConfigObjConfig is an autogenerated conversion function.
func Convert_v1alpha3_ServiceConfigObjConfig_To_v1beta2_ServiceConfigObjConfig(in *ServiceConfigObjConfig, out *v1beta2.ServiceConfigObjConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_ServiceConfigObjConfig_To_v1beta2_ServiceConfigObjConfig(in, out, s)
}

func autoConvert_v1beta2_ServiceConfigObjConfig_To_v1alpha3_ServiceConfigObjConfig(in *v1beta2.ServiceConfigObjConfig, out *ServiceConfigObjConfig, s conversion.Scope) error {
	out.Source = in.Source
	out.Target = in.Target
	out.UID = in.UID
	out.GID = in.GID
	out.Mode = in.Mode
	return nil
}

// Convert_v1beta2_ServiceConfigObjConfig_To_v1alpha3_ServiceConfigObjConfig is an autogenerated conversion function.
func Convert_v1beta2_ServiceConfigObjConfig_To_v1alpha3_ServiceConfigObjConfig(in *v1beta2.ServiceConfigObjConfig, out *ServiceConfigObjConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_ServiceConfigObjConfig_To_v1alpha3_ServiceConfigObjConfig(in, out, s)
}

func autoConvert_v1alpha3_ServicePortConfig_To_v1beta2_ServicePortConfig(in *ServicePortConfig, out *v1beta2.ServicePortConfig, s conversion.Scope) error {
	out.Mode = in.Mode
	out.Target = in.Target
	out.Published = in.Published
	out.Protocol = in.Protocol
	return nil
}

// Convert_v1alpha3_ServicePortConfig_To_v1beta2_ServicePortConfig is an autogenerated conversion function.
func Convert_v1alpha3_ServicePortConfig_To_v1beta2_ServicePortConfig(in *ServicePortConfig, out *v1beta2.ServicePortConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_ServicePortConfig_To_v1beta2_ServicePortConfig(in, out, s)
}

func autoConvert_v1beta2_ServicePortConfig_To_v1alpha3_ServicePortConfig(in *v1beta2.ServicePortConfig, out *ServicePortConfig, s conversion.Scope) error {
	out.Mode = in.Mode
	out.Target = in.Target
	out.Published = in.Published
	out.Protocol = in.Protocol
	return nil
}

// Convert_v1beta2_ServicePortConfig_To_v1alpha3_ServicePortConfig is an autogenerated conversion function.
func Convert_v1beta2_ServicePortConfig_To_v1alpha3_ServicePortConfig(in *v1beta2.ServicePortConfig, out *ServicePortConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_ServicePortConfig_To_v1alpha3_ServicePortConfig(in, out, s)
}

func autoConvert_v1alpha3_ServiceSecretConfig_To_v1beta2_ServiceSecretConfig(in *ServiceSecretConfig, out *v1beta2.ServiceSecretConfig, s conversion.Scope) error {
	out.Source = in.Source
	out.Target = in.Target
	out.UID = in.UID
	out.GID = in.GID
	out.Mode = in.Mode
	return nil
}

// Convert_v1alpha3_ServiceSecretConfig_To_v1beta2_ServiceSecretConfig is an autogenerated conversion function.
func Convert_v1alpha3_ServiceSecretConfig_To_v1beta2_ServiceSecretConfig(in *ServiceSecretConfig, out *v1beta2.ServiceSecretConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_ServiceSecretConfig_To_v1beta2_ServiceSecretConfig(in, out, s)
}

func autoConvert_v1beta2_ServiceSecretConfig_To_v1alpha3_ServiceSecretConfig(in *v1beta2.ServiceSecretConfig, out *ServiceSecretConfig, s conversion.Scope) error {
	out.Source = in.Source
	out.Target = in.Target
	out.UID = in.UID
	out.GID = in.GID
	out.Mode = in.Mode
	return nil
}

// Convert_v1beta2_ServiceSecretConfig_To_v1alpha3_ServiceSecretConfig is an autogenerated conversion function.
func Convert_v1beta2_ServiceSecretConfig_To_v1alpha3_ServiceSecretConfig(in *v1beta2.ServiceSecretConfig, out *ServiceSecretConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_ServiceSecretConfig_To_v1alpha3_ServiceSecretConfig(in, out, s)
}

func autoConvert_v1alpha3_ServiceVolumeConfig_To_v1beta2_ServiceVolumeConfig(in *ServiceVolumeConfig, out *v1beta2.ServiceVolumeConfig, s conversion.Scope) error {
	out.Type = in.Type
	out.Source = in.Source
	out.Target = in.Target
	out.ReadOnly = in.ReadOnly
	return nil
}

// Convert_v1alpha3_ServiceVolumeConfig_To_v1beta2_ServiceVolumeConfig is an autogenerated conversion function.
func Convert_v1alpha3_ServiceVolumeConfig_To_v1beta2_ServiceVolumeConfig(in *ServiceVolumeConfig, out *v1beta2.ServiceVolumeConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_ServiceVolumeConfig_To_v1beta2_ServiceVolumeConfig(in, out, s)
}

func autoConvert_v1beta2_ServiceVolumeConfig_To_v1alpha3_ServiceVolumeConfig(in *v1beta2.ServiceVolumeConfig, out *ServiceVolumeConfig, s conversion.Scope) error {
	out.Type = in.Type
	out.Source = in.Source
	out.Target = in.Target
	out.ReadOnly = in.ReadOnly
	return nil
}

// Convert_v1beta2_ServiceVolumeConfig_To_v1alpha3_ServiceVolumeConfig is an autogenerated conversion function.
func Convert_v1beta2_ServiceVolumeConfig_To_v1alpha3_ServiceVolumeConfig(in *v1beta2.ServiceVolumeConfig, out *ServiceVolumeConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_ServiceVolumeConfig_To_v1alpha3_ServiceVolumeConfig(in, out, s)
}

func autoConvert_v1alpha3_Stack_To_v1beta2_Stack(in *Stack, out *v1beta2.Stack, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if in.Spec != nil {
		in, out := &in.Spec, &out.Spec
		*out = new(v1beta2.StackSpec)
		if err := Convert_v1alpha3_StackSpec_To_v1beta2_StackSpec(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Spec = nil
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(v1beta2.StackStatus)
		if err := Convert_v1alpha3_StackStatus_To_v1beta2_StackStatus(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Status = nil
	}
	return nil
}

// Convert_v1alpha3_Stack_To_v1beta2_Stack is an autogenerated conversion function.
func Convert_v1alpha3_Stack_To_v1beta2_Stack(in *Stack, out *v1beta2.Stack, s conversion.Scope) error {
	return autoConvert_v1alpha3_Stack_To_v1beta2_Stack(in, out, s)
}

func autoConvert_v1beta2_Stack_To_v1alpha3_Stack(in *v1beta2.Stack, out *Stack, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if in.Spec != nil {
		in, out := &in.Spec, &out.Spec
		*out = new(StackSpec)
		if err := Convert_v1beta2_StackSpec_To_v1alpha3_StackSpec(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Spec = nil
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(StackStatus)
		if err := Convert_v1beta2_StackStatus_To_v1alpha3_StackStatus(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Status = nil
	}
	return nil
}

// Convert_v1beta2_Stack_To_v1alpha3_Stack is an autogenerated conversion function.
func Convert_v1beta2_Stack_To_v1alpha3_Stack(in *v1beta2.Stack, out *Stack, s conversion.Scope) error {
	return autoConvert_v1beta2_Stack_To_v1alpha3_Stack(in, out, s)
}

func autoConvert_v1alpha3_StackList_To_v1beta2_StackList(in *StackList, out *v1beta2.StackList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]v1beta2.Stack, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_Stack_To_v1beta2_Stack(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}

// Convert_v1alpha3_StackList_To_v1beta2_StackList is an autogenerated conversion function.
func Convert_v1alpha3_StackList_To_v1beta2_StackList(in *StackList, out *v1beta2.StackList, s conversion.Scope) error {
	return autoConvert_v1alpha3_StackList_To_v1beta2_StackList(in, out, s)
}

func autoConvert_v1beta2_StackList_To_v1alpha3_StackList(in *v1beta2.StackList, out *StackList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Stack, len(*in))
		for i := range *in {
			if err := Convert_v1beta2_Stack_To_v1alpha3_Stack(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}

// Convert_v1beta2_StackList_To_v1alpha3_StackList is an autogenerated conversion function.
func Convert_v1beta2_StackList_To_v1alpha3_StackList(in *v1beta2.StackList, out *StackList, s conversion.Scope) error {
	return autoConvert_v1beta2_StackList_To_v1alpha3_StackList(in, out, s)
}

func autoConvert_v1alpha3_StackSpec_To_v1beta2_StackSpec(in *StackSpec, out *v1beta2.StackSpec, s conversion.Scope) error {
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]v1beta2.ServiceConfig, len(*in))
		for i := range *in {
			if err := Convert_v1alpha3_ServiceConfig_To_v1beta2_ServiceConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Services = nil
	}
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make(map[string]v1beta2.SecretConfig, len(*in))
		for key, val := range *in {
			newVal := new(v1beta2.SecretConfig)
			if err := Convert_v1alpha3_SecretConfig_To_v1beta2_SecretConfig(&val, newVal, s); err != nil {
				return err
			}
			(*out)[key] = *newVal
		}
	} else {
		out.Secrets = nil
	}
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make(map[string]v1beta2.ConfigObjConfig, len(*in))
		for key, val := range *in {
			newVal := new(v1beta2.ConfigObjConfig)
			if err := Convert_v1alpha3_ConfigObjConfig_To_v1beta2_ConfigObjConfig(&val, newVal, s); err != nil {
				return err
			}
			(*out)[key] = *newVal
		}
	} else {
		out.Configs = nil
	}
	return nil
}

// Convert_v1alpha3_StackSpec_To_v1beta2_StackSpec is an autogenerated conversion function.
func Convert_v1alpha3_StackSpec_To_v1beta2_StackSpec(in *StackSpec, out *v1beta2.StackSpec, s conversion.Scope) error {
	return autoConvert_v1alpha3_StackSpec_To_v1beta2_StackSpec(in, out, s)
}

func autoConvert_v1beta2_StackSpec_To_v1alpha3_StackSpec(in *v1beta2.StackSpec, out *StackSpec, s conversion.Scope) error {
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]ServiceConfig, len(*in))
		for i := range *in {
			if err := Convert_v1beta2_ServiceConfig_To_v1alpha3_ServiceConfig(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Services = nil
	}
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make(map[string]SecretConfig, len(*in))
		for key, val := range *in {
			newVal := new(SecretConfig)
			if err := Convert_v1beta2_SecretConfig_To_v1alpha3_SecretConfig(&val, newVal, s); err != nil {
				return err
			}
			(*out)[key] = *newVal
		}
	} else {
		out.Secrets = nil
	}
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make(map[string]ConfigObjConfig, len(*in))
		for key, val := range *in {
			newVal := new(ConfigObjConfig)
			if err := Convert_v1beta2_ConfigObjConfig_To_v1alpha3_ConfigObjConfig(&val, newVal, s); err != nil {
				return err
			}
			(*out)[key] = *newVal
		}
	} else {
		out.Configs = nil
	}
	return nil
}

// Convert_v1beta2_StackSpec_To_v1alpha3_StackSpec is an autogenerated conversion function.
func Convert_v1beta2_StackSpec_To_v1alpha3_StackSpec(in *v1beta2.StackSpec, out *StackSpec, s conversion.Scope) error {
	return autoConvert_v1beta2_StackSpec_To_v1alpha3_StackSpec(in, out, s)
}

func autoConvert_v1alpha3_StackStatus_To_v1beta2_StackStatus(in *StackStatus, out *v1beta2.StackStatus, s conversion.Scope) error {
	out.Phase = v1beta2.StackPhase(in.Phase)
	out.Message = in.Message
	return nil
}

// Convert_v1alpha3_StackStatus_To_v1beta2_StackStatus is an autogenerated conversion function.
func Convert_v1alpha3_StackStatus_To_v1beta2_StackStatus(in *StackStatus, out *v1beta2.StackStatus, s conversion.Scope) error {
	return autoConvert_v1alpha3_StackStatus_To_v1beta2_StackStatus(in, out, s)
}

func autoConvert_v1beta2_StackStatus_To_v1alpha3_StackStatus(in *v1beta2.StackStatus, out *StackStatus, s conversion.Scope) error {
	out.Phase = StackPhase(in.Phase)
	out.Message = in.Message
	return nil
}

// Convert_v1beta2_StackStatus_To_v1alpha3_StackStatus is an autogenerated conversion function.
func Convert_v1beta2_StackStatus_To_v1alpha3_StackStatus(in *v1beta2.StackStatus, out *StackStatus, s conversion.Scope) error {
	return autoConvert_v1beta2_StackStatus_To_v1alpha3_StackStatus(in, out, s)
}

func autoConvert_v1alpha3_UpdateConfig_To_v1beta2_UpdateConfig(in *UpdateConfig, out *v1beta2.UpdateConfig, s conversion.Scope) error {
	out.Parallelism = in.Parallelism
	return nil
}

// Convert_v1alpha3_UpdateConfig_To_v1beta2_UpdateConfig is an autogenerated conversion function.
func Convert_v1alpha3_UpdateConfig_To_v1beta2_UpdateConfig(in *UpdateConfig, out *v1beta2.UpdateConfig, s conversion.Scope) error {
	return autoConvert_v1alpha3_UpdateConfig_To_v1beta2_UpdateConfig(in, out, s)
}

func autoConvert_v1beta2_UpdateConfig_To_v1alpha3_UpdateConfig(in *v1beta2.UpdateConfig, out *UpdateConfig, s conversion.Scope) error {
	out.Parallelism = in.Parallelism
	return nil
}

// Convert_v1beta2_UpdateConfig_To_v1alpha3_UpdateConfig is an autogenerated conversion function.
func Convert_v1beta2_UpdateConfig_To_v1alpha3_UpdateConfig(in *v1beta2.UpdateConfig, out *UpdateConfig, s conversion.Scope) error {
	return autoConvert_v1beta2_UpdateConfig_To_v1alpha3_UpdateConfig(in, out, s)
}
