make swaggerschema agnostic about which version to use

This commit is contained in:
deads2k 2016-09-06 14:16:02 -04:00
parent c9fde2ba8a
commit aee962c0f2

View File

@ -740,12 +740,18 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
return validation.NullSchema{}, nil
},
SwaggerSchema: func(gvk unversioned.GroupVersionKind) (*swagger.ApiDeclaration, error) {
version := gvk.GroupVersion()
client, err := clients.ClientForVersion(&version)
// discovery doesn't care about which groupversion you get a client for,
// so get whichever one you happen to have available and use that.
cfg, err := clients.ClientConfigForVersion(nil)
if err != nil {
return nil, err
}
return client.Discovery().SwaggerSchema(version)
dc, err := discovery.NewDiscoveryClientForConfig(cfg)
if err != nil {
return nil, err
}
return dc.SwaggerSchema(gvk.GroupVersion())
},
DefaultNamespace: func() (string, bool, error) {
return clientConfig.Namespace()