mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #36996 from liggitt/require-tpr-version
Automatic merge from submit-queue Require at least one version in ThirdPartyResource objects Fixes #36991
This commit is contained in:
		@@ -124,7 +124,6 @@ type ThirdPartyResource struct {
 | 
			
		||||
	Description string `json:"description,omitempty"`
 | 
			
		||||
 | 
			
		||||
	// Versions are versions for this third party object
 | 
			
		||||
	// +optional
 | 
			
		||||
	Versions []APIVersion `json:"versions,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -143,7 +142,6 @@ type ThirdPartyResourceList struct {
 | 
			
		||||
// TODO: we should consider merge this struct with GroupVersion in unversioned.go
 | 
			
		||||
type APIVersion struct {
 | 
			
		||||
	// Name of this version (e.g. 'v1').
 | 
			
		||||
	// +optional
 | 
			
		||||
	Name string `json:"name,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,9 @@ func ValidateThirdPartyResource(obj *extensions.ThirdPartyResource) field.ErrorL
 | 
			
		||||
	allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&obj.ObjectMeta, false, ValidateThirdPartyResourceName, field.NewPath("metadata"))...)
 | 
			
		||||
 | 
			
		||||
	versions := sets.String{}
 | 
			
		||||
	if len(obj.Versions) == 0 {
 | 
			
		||||
		allErrs = append(allErrs, field.Required(field.NewPath("versions"), "must specify at least one version"))
 | 
			
		||||
	}
 | 
			
		||||
	for ix := range obj.Versions {
 | 
			
		||||
		version := &obj.Versions[ix]
 | 
			
		||||
		if len(version.Name) == 0 {
 | 
			
		||||
 
 | 
			
		||||
@@ -3245,6 +3245,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
				Required: []string{"name"},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		Dependencies: []string{},
 | 
			
		||||
@@ -4899,6 +4900,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
				Required: []string{"versions"},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		Dependencies: []string{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								pkg/master/thirdparty/thirdparty.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								pkg/master/thirdparty/thirdparty.go
									
									
									
									
										vendored
									
									
								
							@@ -246,6 +246,9 @@ func (m *ThirdPartyResourceServer) InstallThirdPartyResource(rsrc *extensions.Th
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if len(rsrc.Versions) == 0 {
 | 
			
		||||
		return fmt.Errorf("ThirdPartyResource %s has no defined versions", rsrc.Name)
 | 
			
		||||
	}
 | 
			
		||||
	plural, _ := meta.KindToResource(unversioned.GroupVersionKind{
 | 
			
		||||
		Group:   group,
 | 
			
		||||
		Version: rsrc.Versions[0].Name,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user