mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
kubetcl create --validate crashes when no apiVersion or kind is provided
This commit is contained in:
parent
0f1c4c25c3
commit
37abe11f8a
@ -77,9 +77,15 @@ func (s *SwaggerSchema) ValidateBytes(data []byte) error {
|
||||
if !ok {
|
||||
return fmt.Errorf("error in unmarshaling data %s", string(data))
|
||||
}
|
||||
apiVersion := fields["apiVersion"].(string)
|
||||
kind := fields["kind"].(string)
|
||||
return s.ValidateObject(obj, apiVersion, "", apiVersion+"."+kind)
|
||||
apiVersion := fields["apiVersion"]
|
||||
if apiVersion == nil {
|
||||
fmt.Errorf("apiVersion not set")
|
||||
}
|
||||
kind := fields["kind"]
|
||||
if kind == nil {
|
||||
fmt.Errorf("kind not set")
|
||||
}
|
||||
return s.ValidateObject(obj, apiVersion.(string), "", apiVersion.(string)+"."+kind.(string))
|
||||
}
|
||||
|
||||
func (s *SwaggerSchema) ValidateObject(obj interface{}, apiVersion, fieldName, typeName string) error {
|
||||
|
@ -266,7 +266,7 @@ type clientSwaggerSchema struct {
|
||||
}
|
||||
|
||||
func (c *clientSwaggerSchema) ValidateBytes(data []byte) error {
|
||||
version, _, err := c.t.DataVersionAndKind(data)
|
||||
version, _, err := runtime.UnstructuredJSONScheme.DataVersionAndKind(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -213,7 +213,7 @@ func (v *PathVisitor) Visit(fn VisitorFunc) error {
|
||||
return fmt.Errorf("unable to read %q: %v", v.Path, err)
|
||||
}
|
||||
if err := ValidateSchema(data, v.Schema); err != nil {
|
||||
return err
|
||||
return fmt.Errorf("error validating %q: %v", v.Path, err)
|
||||
}
|
||||
info, err := v.Mapper.InfoForData(data, v.Path)
|
||||
if err != nil {
|
||||
@ -276,7 +276,7 @@ func (v *DirectoryVisitor) Visit(fn VisitorFunc) error {
|
||||
return fmt.Errorf("unable to read %q: %v", path, err)
|
||||
}
|
||||
if err := ValidateSchema(data, v.Schema); err != nil {
|
||||
return err
|
||||
return fmt.Errorf("error validating %q: %v", path, err)
|
||||
}
|
||||
info, err := v.Mapper.InfoForData(data, path)
|
||||
if err != nil {
|
||||
@ -312,7 +312,7 @@ func (v *URLVisitor) Visit(fn VisitorFunc) error {
|
||||
return fmt.Errorf("unable to read URL %q: %v\n", v.URL, err)
|
||||
}
|
||||
if err := ValidateSchema(data, v.Schema); err != nil {
|
||||
return err
|
||||
return fmt.Errorf("error validating %q: %v", v.URL, err)
|
||||
}
|
||||
info, err := v.Mapper.InfoForData(data, v.URL.String())
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user