mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 12:18:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			232 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			232 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
/*
 | 
						|
Copyright 2014 Google Inc. All rights reserved.
 | 
						|
 | 
						|
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.
 | 
						|
*/
 | 
						|
 | 
						|
package v1
 | 
						|
 | 
						|
import (
 | 
						|
	"sort"
 | 
						|
 | 
						|
	newer "github.com/GoogleCloudPlatform/kubernetes/pkg/client/clientcmd/api"
 | 
						|
	"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
 | 
						|
	"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
 | 
						|
)
 | 
						|
 | 
						|
func init() {
 | 
						|
	err := newer.Scheme.AddConversionFuncs(
 | 
						|
		func(in *Cluster, out *newer.Cluster, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *newer.Cluster, out *Cluster, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *Preferences, out *newer.Preferences, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *newer.Preferences, out *Preferences, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *AuthInfo, out *newer.AuthInfo, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *newer.AuthInfo, out *AuthInfo, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *Context, out *newer.Context, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
		func(in *newer.Context, out *Context, s conversion.Scope) error {
 | 
						|
			return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
 | 
						|
		},
 | 
						|
 | 
						|
		func(in *Config, out *newer.Config, s conversion.Scope) error {
 | 
						|
			out.CurrentContext = in.CurrentContext
 | 
						|
			if err := s.Convert(&in.Preferences, &out.Preferences, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
 | 
						|
			out.Clusters = make(map[string]newer.Cluster)
 | 
						|
			if err := s.Convert(&in.Clusters, &out.Clusters, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			out.AuthInfos = make(map[string]newer.AuthInfo)
 | 
						|
			if err := s.Convert(&in.AuthInfos, &out.AuthInfos, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			out.Contexts = make(map[string]newer.Context)
 | 
						|
			if err := s.Convert(&in.Contexts, &out.Contexts, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			out.Extensions = make(map[string]runtime.EmbeddedObject)
 | 
						|
			if err := s.Convert(&in.Extensions, &out.Extensions, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *newer.Config, out *Config, s conversion.Scope) error {
 | 
						|
			out.CurrentContext = in.CurrentContext
 | 
						|
			if err := s.Convert(&in.Preferences, &out.Preferences, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
 | 
						|
			out.Clusters = make([]NamedCluster, 0, 0)
 | 
						|
			if err := s.Convert(&in.Clusters, &out.Clusters, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			out.AuthInfos = make([]NamedAuthInfo, 0, 0)
 | 
						|
			if err := s.Convert(&in.AuthInfos, &out.AuthInfos, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			out.Contexts = make([]NamedContext, 0, 0)
 | 
						|
			if err := s.Convert(&in.Contexts, &out.Contexts, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			out.Extensions = make([]NamedExtension, 0, 0)
 | 
						|
			if err := s.Convert(&in.Extensions, &out.Extensions, 0); err != nil {
 | 
						|
				return err
 | 
						|
			}
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *[]NamedCluster, out *map[string]newer.Cluster, s conversion.Scope) error {
 | 
						|
			for _, curr := range *in {
 | 
						|
				newCluster := newer.NewCluster()
 | 
						|
				if err := s.Convert(&curr.Cluster, newCluster, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
				(*out)[curr.Name] = *newCluster
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *map[string]newer.Cluster, out *[]NamedCluster, s conversion.Scope) error {
 | 
						|
			allKeys := make([]string, 0, len(*in))
 | 
						|
			for key := range *in {
 | 
						|
				allKeys = append(allKeys, key)
 | 
						|
			}
 | 
						|
			sort.Strings(allKeys)
 | 
						|
 | 
						|
			for _, key := range allKeys {
 | 
						|
				newCluster := (*in)[key]
 | 
						|
				oldCluster := &Cluster{}
 | 
						|
				if err := s.Convert(&newCluster, oldCluster, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
 | 
						|
				namedCluster := NamedCluster{key, *oldCluster}
 | 
						|
				*out = append(*out, namedCluster)
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *[]NamedAuthInfo, out *map[string]newer.AuthInfo, s conversion.Scope) error {
 | 
						|
			for _, curr := range *in {
 | 
						|
				newAuthInfo := newer.NewAuthInfo()
 | 
						|
				if err := s.Convert(&curr.AuthInfo, newAuthInfo, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
				(*out)[curr.Name] = *newAuthInfo
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *map[string]newer.AuthInfo, out *[]NamedAuthInfo, s conversion.Scope) error {
 | 
						|
			allKeys := make([]string, 0, len(*in))
 | 
						|
			for key := range *in {
 | 
						|
				allKeys = append(allKeys, key)
 | 
						|
			}
 | 
						|
			sort.Strings(allKeys)
 | 
						|
 | 
						|
			for _, key := range allKeys {
 | 
						|
				newAuthInfo := (*in)[key]
 | 
						|
				oldAuthInfo := &AuthInfo{}
 | 
						|
				if err := s.Convert(&newAuthInfo, oldAuthInfo, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
 | 
						|
				namedAuthInfo := NamedAuthInfo{key, *oldAuthInfo}
 | 
						|
				*out = append(*out, namedAuthInfo)
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *[]NamedContext, out *map[string]newer.Context, s conversion.Scope) error {
 | 
						|
			for _, curr := range *in {
 | 
						|
				newContext := newer.NewContext()
 | 
						|
				if err := s.Convert(&curr.Context, newContext, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
				(*out)[curr.Name] = *newContext
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *map[string]newer.Context, out *[]NamedContext, s conversion.Scope) error {
 | 
						|
			allKeys := make([]string, 0, len(*in))
 | 
						|
			for key := range *in {
 | 
						|
				allKeys = append(allKeys, key)
 | 
						|
			}
 | 
						|
			sort.Strings(allKeys)
 | 
						|
 | 
						|
			for _, key := range allKeys {
 | 
						|
				newContext := (*in)[key]
 | 
						|
				oldContext := &Context{}
 | 
						|
				if err := s.Convert(&newContext, oldContext, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
 | 
						|
				namedContext := NamedContext{key, *oldContext}
 | 
						|
				*out = append(*out, namedContext)
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *[]NamedExtension, out *map[string]runtime.EmbeddedObject, s conversion.Scope) error {
 | 
						|
			for _, curr := range *in {
 | 
						|
				newExtension := &runtime.EmbeddedObject{}
 | 
						|
				if err := s.Convert(&curr.Extension, newExtension, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
				(*out)[curr.Name] = *newExtension
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
		func(in *map[string]runtime.EmbeddedObject, out *[]NamedExtension, s conversion.Scope) error {
 | 
						|
			allKeys := make([]string, 0, len(*in))
 | 
						|
			for key := range *in {
 | 
						|
				allKeys = append(allKeys, key)
 | 
						|
			}
 | 
						|
			sort.Strings(allKeys)
 | 
						|
 | 
						|
			for _, key := range allKeys {
 | 
						|
				newExtension := (*in)[key]
 | 
						|
				oldExtension := &runtime.RawExtension{}
 | 
						|
				if err := s.Convert(&newExtension, oldExtension, 0); err != nil {
 | 
						|
					return err
 | 
						|
				}
 | 
						|
 | 
						|
				namedExtension := NamedExtension{key, *oldExtension}
 | 
						|
				*out = append(*out, namedExtension)
 | 
						|
			}
 | 
						|
 | 
						|
			return nil
 | 
						|
		},
 | 
						|
	)
 | 
						|
	if err != nil {
 | 
						|
		// If one of the conversion functions is malformed, detect it immediately.
 | 
						|
		panic(err)
 | 
						|
	}
 | 
						|
}
 |