mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 12:07:47 +00:00
Optimise the ValidateBytes function
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
This commit is contained in:
parent
60b7f14500
commit
cd158938b9
@ -1124,32 +1124,28 @@ func (c *clientSwaggerSchema) ValidateBytes(data []byte) error {
|
|||||||
if ok := registered.IsEnabledVersion(gvk.GroupVersion()); !ok {
|
if ok := registered.IsEnabledVersion(gvk.GroupVersion()); !ok {
|
||||||
return fmt.Errorf("API version %q isn't supported, only supports API versions %q", gvk.GroupVersion().String(), registered.EnabledVersions())
|
return fmt.Errorf("API version %q isn't supported, only supports API versions %q", gvk.GroupVersion().String(), registered.EnabledVersions())
|
||||||
}
|
}
|
||||||
if gvk.Group == autoscaling.GroupName {
|
switch gvk.Group {
|
||||||
|
case autoscaling.GroupName:
|
||||||
if c.c.AutoscalingClient == nil {
|
if c.c.AutoscalingClient == nil {
|
||||||
return errors.New("unable to validate: no autoscaling client")
|
return errors.New("unable to validate: no autoscaling client")
|
||||||
}
|
}
|
||||||
return getSchemaAndValidate(c.c.AutoscalingClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
return getSchemaAndValidate(c.c.AutoscalingClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
||||||
}
|
case policy.GroupName:
|
||||||
if gvk.Group == policy.GroupName {
|
|
||||||
if c.c.PolicyClient == nil {
|
if c.c.PolicyClient == nil {
|
||||||
return errors.New("unable to validate: no policy client")
|
return errors.New("unable to validate: no policy client")
|
||||||
}
|
}
|
||||||
return getSchemaAndValidate(c.c.PolicyClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
return getSchemaAndValidate(c.c.PolicyClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
||||||
}
|
case apps.GroupName:
|
||||||
if gvk.Group == apps.GroupName {
|
|
||||||
if c.c.AppsClient == nil {
|
if c.c.AppsClient == nil {
|
||||||
return errors.New("unable to validate: no apps client")
|
return errors.New("unable to validate: no apps client")
|
||||||
}
|
}
|
||||||
return getSchemaAndValidate(c.c.AppsClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
return getSchemaAndValidate(c.c.AppsClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
||||||
}
|
case batch.GroupName:
|
||||||
|
|
||||||
if gvk.Group == batch.GroupName {
|
|
||||||
if c.c.BatchClient == nil {
|
if c.c.BatchClient == nil {
|
||||||
return errors.New("unable to validate: no batch client")
|
return errors.New("unable to validate: no batch client")
|
||||||
}
|
}
|
||||||
return getSchemaAndValidate(c.c.BatchClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
return getSchemaAndValidate(c.c.BatchClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
||||||
}
|
case rbac.GroupName:
|
||||||
if gvk.Group == rbac.GroupName {
|
|
||||||
if c.c.RbacClient == nil {
|
if c.c.RbacClient == nil {
|
||||||
return errors.New("unable to validate: no rbac client")
|
return errors.New("unable to validate: no rbac client")
|
||||||
}
|
}
|
||||||
@ -1159,19 +1155,18 @@ func (c *clientSwaggerSchema) ValidateBytes(data []byte) error {
|
|||||||
// Don't attempt to validate third party objects
|
// Don't attempt to validate third party objects
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if gvk.Group == extensions.GroupName {
|
switch gvk.Group {
|
||||||
|
case extensions.GroupName:
|
||||||
if c.c.ExtensionsClient == nil {
|
if c.c.ExtensionsClient == nil {
|
||||||
return errors.New("unable to validate: no experimental client")
|
return errors.New("unable to validate: no experimental client")
|
||||||
}
|
}
|
||||||
return getSchemaAndValidate(c.c.ExtensionsClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
return getSchemaAndValidate(c.c.ExtensionsClient.RESTClient, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
||||||
}
|
case federation.GroupName:
|
||||||
if gvk.Group == federation.GroupName {
|
|
||||||
if c.fedc == nil {
|
if c.fedc == nil {
|
||||||
return errors.New("unable to validate: no federation client")
|
return errors.New("unable to validate: no federation client")
|
||||||
}
|
}
|
||||||
return getSchemaAndValidate(c.fedc, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
return getSchemaAndValidate(c.fedc, data, "apis/", gvk.GroupVersion().String(), c.cacheDir, c)
|
||||||
}
|
case certificates.GroupName:
|
||||||
if gvk.Group == certificates.GroupName {
|
|
||||||
if c.c.CertificatesClient == nil {
|
if c.c.CertificatesClient == nil {
|
||||||
return errors.New("unable to validate: no certificates client")
|
return errors.New("unable to validate: no certificates client")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user