|  |  | @@ -65,10 +65,9 @@ var ( | 
			
		
	
		
		
			
				
					
					|  |  |  | ) |  |  |  | ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | type TestGroup struct { |  |  |  | type TestGroup struct { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	// the first element in the group is meant to be the preferred version |  |  |  | 	externalGroupVersion unversioned.GroupVersion | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	externalGroupVersions []unversioned.GroupVersion |  |  |  | 	internalGroupVersion unversioned.GroupVersion | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	internalGroupVersion  unversioned.GroupVersion |  |  |  | 	internalTypes        map[string]reflect.Type | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	internalTypes         map[string]reflect.Type |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | func init() { |  |  |  | func init() { | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -106,31 +105,26 @@ func init() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion := unversioned.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal} |  |  |  | 			internalGroupVersion := unversioned.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if group, ok := Groups[groupVersion.Group]; !ok { |  |  |  | 			Groups[groupVersion.Group] = TestGroup{ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 				Groups[groupVersion.Group] = TestGroup{ |  |  |  | 				externalGroupVersion: groupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					externalGroupVersions: []unversioned.GroupVersion{groupVersion}, |  |  |  | 				internalGroupVersion: internalGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					internalGroupVersion:  internalGroupVersion, |  |  |  | 				internalTypes:        api.Scheme.KnownTypes(internalGroupVersion), | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 					internalTypes:         api.Scheme.KnownTypes(internalGroupVersion), |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 				group.externalGroupVersions = append(group.externalGroupVersions, groupVersion) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 				Groups[groupVersion.Group] = group |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[api.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[api.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[api.GroupName] = TestGroup{ |  |  |  | 		Groups[api.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: api.GroupName, Version: registered.GroupOrDie(api.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: api.GroupName, Version: registered.GroupOrDie(api.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  api.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: api.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(api.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(api.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[extensions.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[extensions.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[extensions.GroupName] = TestGroup{ |  |  |  | 		Groups[extensions.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: extensions.GroupName, Version: registered.GroupOrDie(extensions.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: extensions.GroupName, Version: registered.GroupOrDie(extensions.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  extensions.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: extensions.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(extensions.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(extensions.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[autoscaling.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[autoscaling.GroupName]; !ok { | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -142,9 +136,9 @@ func init() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes[k] = t |  |  |  | 			internalTypes[k] = t | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[autoscaling.GroupName] = TestGroup{ |  |  |  | 		Groups[autoscaling.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  extensions.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: extensions.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         internalTypes, |  |  |  | 			internalTypes:        internalTypes, | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[autoscaling.GroupName+"IntraGroup"]; !ok { |  |  |  | 	if _, ok := Groups[autoscaling.GroupName+"IntraGroup"]; !ok { | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -156,48 +150,44 @@ func init() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[autoscaling.GroupName] = TestGroup{ |  |  |  | 		Groups[autoscaling.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: autoscaling.GroupName, Version: registered.GroupOrDie(autoscaling.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  autoscaling.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: autoscaling.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         internalTypes, |  |  |  | 			internalTypes:        internalTypes, | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[batch.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[batch.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		var gvs []unversioned.GroupVersion |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		for _, gv := range registered.GroupOrDie(batch.GroupName).GroupVersions { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 			gvs = append(gvs, gv) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[batch.GroupName] = TestGroup{ |  |  |  | 		Groups[batch.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: gvs, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: batch.GroupName, Version: registered.GroupOrDie(batch.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  batch.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: batch.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(batch.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(batch.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[apps.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[apps.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[apps.GroupName] = TestGroup{ |  |  |  | 		Groups[apps.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: apps.GroupName, Version: registered.GroupOrDie(apps.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: apps.GroupName, Version: registered.GroupOrDie(apps.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  extensions.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: extensions.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(extensions.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(extensions.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[policy.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[policy.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[policy.GroupName] = TestGroup{ |  |  |  | 		Groups[policy.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: policy.GroupName, Version: registered.GroupOrDie(policy.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: policy.GroupName, Version: registered.GroupOrDie(policy.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  policy.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: policy.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(policy.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(policy.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[federation.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[federation.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[federation.GroupName] = TestGroup{ |  |  |  | 		Groups[federation.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: federation.GroupName, Version: registered.GroupOrDie(federation.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: federation.GroupName, Version: registered.GroupOrDie(federation.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  federation.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: federation.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(federation.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(federation.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if _, ok := Groups[rbac.GroupName]; !ok { |  |  |  | 	if _, ok := Groups[rbac.GroupName]; !ok { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		Groups[rbac.GroupName] = TestGroup{ |  |  |  | 		Groups[rbac.GroupName] = TestGroup{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			externalGroupVersions: []unversioned.GroupVersion{{Group: rbac.GroupName, Version: registered.GroupOrDie(rbac.GroupName).GroupVersion.Version}}, |  |  |  | 			externalGroupVersion: unversioned.GroupVersion{Group: rbac.GroupName, Version: registered.GroupOrDie(rbac.GroupName).GroupVersion.Version}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalGroupVersion:  rbac.SchemeGroupVersion, |  |  |  | 			internalGroupVersion: rbac.SchemeGroupVersion, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			internalTypes:         api.Scheme.KnownTypes(rbac.SchemeGroupVersion), |  |  |  | 			internalTypes:        api.Scheme.KnownTypes(rbac.SchemeGroupVersion), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -216,14 +206,10 @@ func (g TestGroup) ContentConfig() (string, *unversioned.GroupVersion, runtime.C | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) GroupVersion() *unversioned.GroupVersion { |  |  |  | func (g TestGroup) GroupVersion() *unversioned.GroupVersion { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	copyOfGroupVersion := g.externalGroupVersions[0] |  |  |  | 	copyOfGroupVersion := g.externalGroupVersion | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	return ©OfGroupVersion |  |  |  | 	return ©OfGroupVersion | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) GroupVersions() []unversioned.GroupVersion { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	return append([]unversioned.GroupVersion{}, g.externalGroupVersions...) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | // InternalGroupVersion returns the group,version used to identify the internal |  |  |  | // InternalGroupVersion returns the group,version used to identify the internal | 
			
		
	
		
		
			
				
					
					|  |  |  | // types for this API |  |  |  | // types for this API | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) InternalGroupVersion() unversioned.GroupVersion { |  |  |  | func (g TestGroup) InternalGroupVersion() unversioned.GroupVersion { | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -239,9 +225,9 @@ func (g TestGroup) InternalTypes() map[string]reflect.Type { | 
			
		
	
		
		
			
				
					
					|  |  |  | // KUBE_TEST_API_TYPE env var. |  |  |  | // KUBE_TEST_API_TYPE env var. | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) Codec() runtime.Codec { |  |  |  | func (g TestGroup) Codec() runtime.Codec { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if serializer.Serializer == nil { |  |  |  | 	if serializer.Serializer == nil { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return api.Codecs.LegacyCodec(g.externalGroupVersions[0]) |  |  |  | 		return api.Codecs.LegacyCodec(g.externalGroupVersion) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	return api.Codecs.CodecForVersions(serializer, api.Codecs.UniversalDeserializer(), g.externalGroupVersions, nil) |  |  |  | 	return api.Codecs.CodecForVersions(serializer, api.Codecs.UniversalDeserializer(), []unversioned.GroupVersion{g.externalGroupVersion}, nil) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | // NegotiatedSerializer returns the negotiated serializer for the server. |  |  |  | // NegotiatedSerializer returns the negotiated serializer for the server. | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -259,7 +245,7 @@ func (g TestGroup) StorageCodec() runtime.Codec { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	s := storageSerializer.Serializer |  |  |  | 	s := storageSerializer.Serializer | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if s == nil { |  |  |  | 	if s == nil { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return api.Codecs.LegacyCodec(g.externalGroupVersions[0]) |  |  |  | 		return api.Codecs.LegacyCodec(g.externalGroupVersion) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	// etcd2 only supports string data - we must wrap any result before returning |  |  |  | 	// etcd2 only supports string data - we must wrap any result before returning | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -269,13 +255,13 @@ func (g TestGroup) StorageCodec() runtime.Codec { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	ds := recognizer.NewDecoder(s, api.Codecs.UniversalDeserializer()) |  |  |  | 	ds := recognizer.NewDecoder(s, api.Codecs.UniversalDeserializer()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	return api.Codecs.CodecForVersions(s, ds, g.externalGroupVersions, nil) |  |  |  | 	return api.Codecs.CodecForVersions(s, ds, []unversioned.GroupVersion{g.externalGroupVersion}, nil) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | // Converter returns the api.Scheme for the API version to test against, as set by the |  |  |  | // Converter returns the api.Scheme for the API version to test against, as set by the | 
			
		
	
		
		
			
				
					
					|  |  |  | // KUBE_TEST_API env var. |  |  |  | // KUBE_TEST_API env var. | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) Converter() runtime.ObjectConvertor { |  |  |  | func (g TestGroup) Converter() runtime.ObjectConvertor { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	interfaces, err := registered.GroupOrDie(g.externalGroupVersions[0].Group).InterfacesFor(g.externalGroupVersions[0]) |  |  |  | 	interfaces, err := registered.GroupOrDie(g.externalGroupVersion.Group).InterfacesFor(g.externalGroupVersion) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	if err != nil { |  |  |  | 	if err != nil { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		panic(err) |  |  |  | 		panic(err) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -285,7 +271,7 @@ func (g TestGroup) Converter() runtime.ObjectConvertor { | 
			
		
	
		
		
			
				
					
					|  |  |  | // MetadataAccessor returns the MetadataAccessor for the API version to test against, |  |  |  | // MetadataAccessor returns the MetadataAccessor for the API version to test against, | 
			
		
	
		
		
			
				
					
					|  |  |  | // as set by the KUBE_TEST_API env var. |  |  |  | // as set by the KUBE_TEST_API env var. | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) MetadataAccessor() meta.MetadataAccessor { |  |  |  | func (g TestGroup) MetadataAccessor() meta.MetadataAccessor { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	interfaces, err := registered.GroupOrDie(g.externalGroupVersions[0].Group).InterfacesFor(g.externalGroupVersions[0]) |  |  |  | 	interfaces, err := registered.GroupOrDie(g.externalGroupVersion.Group).InterfacesFor(g.externalGroupVersion) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	if err != nil { |  |  |  | 	if err != nil { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		panic(err) |  |  |  | 		panic(err) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -296,18 +282,18 @@ func (g TestGroup) MetadataAccessor() meta.MetadataAccessor { | 
			
		
	
		
		
			
				
					
					|  |  |  | // 'resource' should be the resource path, e.g. "pods" for the Pod type. 'name' should be |  |  |  | // 'resource' should be the resource path, e.g. "pods" for the Pod type. 'name' should be | 
			
		
	
		
		
			
				
					
					|  |  |  | // empty for lists. |  |  |  | // empty for lists. | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) SelfLink(resource, name string) string { |  |  |  | func (g TestGroup) SelfLink(resource, name string) string { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if g.externalGroupVersions[0].Group == api.GroupName { |  |  |  | 	if g.externalGroupVersion.Group == api.GroupName { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		if name == "" { |  |  |  | 		if name == "" { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			return fmt.Sprintf("/api/%s/%s", g.externalGroupVersions[0].Version, resource) |  |  |  | 			return fmt.Sprintf("/api/%s/%s", g.externalGroupVersion.Version, resource) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return fmt.Sprintf("/api/%s/%s/%s", g.externalGroupVersions[0].Version, resource, name) |  |  |  | 		return fmt.Sprintf("/api/%s/%s/%s", g.externalGroupVersion.Version, resource, name) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} else { |  |  |  | 	} else { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// TODO: will need a /apis prefix once we have proper multi-group |  |  |  | 		// TODO: will need a /apis prefix once we have proper multi-group | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// support |  |  |  | 		// support | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if name == "" { |  |  |  | 		if name == "" { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			return fmt.Sprintf("/apis/%s/%s/%s", g.externalGroupVersions[0].Group, g.externalGroupVersions[0].Version, resource) |  |  |  | 			return fmt.Sprintf("/apis/%s/%s/%s", g.externalGroupVersion.Group, g.externalGroupVersion.Version, resource) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return fmt.Sprintf("/apis/%s/%s/%s/%s", g.externalGroupVersions[0].Group, g.externalGroupVersions[0].Version, resource, name) |  |  |  | 		return fmt.Sprintf("/apis/%s/%s/%s/%s", g.externalGroupVersion.Group, g.externalGroupVersion.Version, resource, name) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -316,12 +302,12 @@ func (g TestGroup) SelfLink(resource, name string) string { | 
			
		
	
		
		
			
				
					
					|  |  |  | // /api/v1/watch/namespaces/foo/pods/pod0 for v1. |  |  |  | // /api/v1/watch/namespaces/foo/pods/pod0 for v1. | 
			
		
	
		
		
			
				
					
					|  |  |  | func (g TestGroup) ResourcePathWithPrefix(prefix, resource, namespace, name string) string { |  |  |  | func (g TestGroup) ResourcePathWithPrefix(prefix, resource, namespace, name string) string { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	var path string |  |  |  | 	var path string | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if g.externalGroupVersions[0].Group == api.GroupName { |  |  |  | 	if g.externalGroupVersion.Group == api.GroupName { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 		path = "/api/" + g.externalGroupVersions[0].Version |  |  |  | 		path = "/api/" + g.externalGroupVersion.Version | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} else { |  |  |  | 	} else { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// TODO: switch back once we have proper multiple group support |  |  |  | 		// TODO: switch back once we have proper multiple group support | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// path = "/apis/" + g.Group + "/" + Version(group...) |  |  |  | 		// path = "/apis/" + g.Group + "/" + Version(group...) | 
			
		
	
		
		
			
				
					
					|  |  |  | 		path = "/apis/" + g.externalGroupVersions[0].Group + "/" + g.externalGroupVersions[0].Version |  |  |  | 		path = "/apis/" + g.externalGroupVersion.Group + "/" + g.externalGroupVersion.Version | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if prefix != "" { |  |  |  | 	if prefix != "" { | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -391,9 +377,5 @@ func GetCodecForObject(obj runtime.Object) (runtime.Codec, error) { | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | func NewTestGroup(external, internal unversioned.GroupVersion, internalTypes map[string]reflect.Type) TestGroup { |  |  |  | func NewTestGroup(external, internal unversioned.GroupVersion, internalTypes map[string]reflect.Type) TestGroup { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	return TestGroup{ |  |  |  | 	return TestGroup{external, internal, internalTypes} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 		externalGroupVersions: []unversioned.GroupVersion{external}, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		internalGroupVersion:  internal, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		internalTypes:         internalTypes, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					
					| 
						
						
						
						 |  |   |