mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
client-gen: use serializer instead of codec for versioned client
This commit is contained in:
parent
e81663c824
commit
4b5ef393c8
@ -100,6 +100,7 @@ func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
|||||||
},
|
},
|
||||||
outputPackage: outputPackagePath,
|
outputPackage: outputPackagePath,
|
||||||
group: gv.Group,
|
group: gv.Group,
|
||||||
|
version: gv.Version,
|
||||||
types: typeList,
|
types: typeList,
|
||||||
imports: generator.NewImportTracker(),
|
imports: generator.NewImportTracker(),
|
||||||
})
|
})
|
||||||
|
@ -30,6 +30,7 @@ type genGroup struct {
|
|||||||
generator.DefaultGen
|
generator.DefaultGen
|
||||||
outputPackage string
|
outputPackage string
|
||||||
group string
|
group string
|
||||||
|
version string
|
||||||
// types in this group
|
// types in this group
|
||||||
types []*types.Type
|
types []*types.Type
|
||||||
imports namer.ImportTracker
|
imports namer.ImportTracker
|
||||||
@ -49,7 +50,8 @@ func (g *genGroup) Namers(c *generator.Context) namer.NameSystems {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *genGroup) Imports(c *generator.Context) (imports []string) {
|
func (g *genGroup) Imports(c *generator.Context) (imports []string) {
|
||||||
return g.imports.ImportLines()
|
imports = append(imports, g.imports.ImportLines()...)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
|
func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
|
||||||
@ -84,6 +86,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
|
|||||||
"GroupOrDie": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "GroupOrDie"}),
|
"GroupOrDie": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "GroupOrDie"}),
|
||||||
"apiPath": apiPath(g.group),
|
"apiPath": apiPath(g.group),
|
||||||
"codecs": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Codecs"}),
|
"codecs": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Codecs"}),
|
||||||
|
"Errorf": c.Universe.Variable(types.Name{Package: "fmt", Name: "Errorf"}),
|
||||||
}
|
}
|
||||||
sw.Do(groupInterfaceTemplate, m)
|
sw.Do(groupInterfaceTemplate, m)
|
||||||
sw.Do(groupClientTemplate, m)
|
sw.Do(groupClientTemplate, m)
|
||||||
@ -103,7 +106,11 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
|
|||||||
sw.Do(newClientForConfigTemplate, m)
|
sw.Do(newClientForConfigTemplate, m)
|
||||||
sw.Do(newClientForConfigOrDieTemplate, m)
|
sw.Do(newClientForConfigOrDieTemplate, m)
|
||||||
sw.Do(newClientForRESTClientTemplate, m)
|
sw.Do(newClientForRESTClientTemplate, m)
|
||||||
sw.Do(setClientDefaultsTemplate, m)
|
if g.version == "unversioned" {
|
||||||
|
sw.Do(setInternalVersionClientDefaultsTemplate, m)
|
||||||
|
} else {
|
||||||
|
sw.Do(setClientDefaultsTemplate, m)
|
||||||
|
}
|
||||||
|
|
||||||
return sw.Error()
|
return sw.Error()
|
||||||
}
|
}
|
||||||
@ -167,7 +174,7 @@ func New(c *$.RESTClient|raw$) *$.Group$Client {
|
|||||||
return &$.Group$Client{c}
|
return &$.Group$Client{c}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
var setClientDefaultsTemplate = `
|
var setInternalVersionClientDefaultsTemplate = `
|
||||||
func setConfigDefaults(config *$.Config|raw$) error {
|
func setConfigDefaults(config *$.Config|raw$) error {
|
||||||
// if $.group$ group is not registered, return an error
|
// if $.group$ group is not registered, return an error
|
||||||
g, err := $.latestGroup|raw$("$.canonicalGroup$")
|
g, err := $.latestGroup|raw$("$.canonicalGroup$")
|
||||||
@ -194,3 +201,36 @@ func setConfigDefaults(config *$.Config|raw$) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
var setClientDefaultsTemplate = `
|
||||||
|
func setConfigDefaults(config *$.Config|raw$) error {
|
||||||
|
// if $.group$ group is not registered, return an error
|
||||||
|
g, err := $.latestGroup|raw$("$.canonicalGroup$")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
config.APIPath = $.apiPath$
|
||||||
|
if config.UserAgent == "" {
|
||||||
|
config.UserAgent = $.DefaultKubernetesUserAgent|raw$()
|
||||||
|
}
|
||||||
|
// TODO: Unconditionally set the config.Version, until we fix the config.
|
||||||
|
//if config.Version == "" {
|
||||||
|
copyGroupVersion := g.GroupVersion
|
||||||
|
config.GroupVersion = ©GroupVersion
|
||||||
|
//}
|
||||||
|
|
||||||
|
codec, ok := $.codecs|raw$.SerializerForFileExtension("json")
|
||||||
|
if !ok {
|
||||||
|
return $.Errorf|raw$("unable to find serializer for JSON")
|
||||||
|
}
|
||||||
|
config.Codec = codec
|
||||||
|
|
||||||
|
if config.QPS == 0 {
|
||||||
|
config.QPS = 5
|
||||||
|
}
|
||||||
|
if config.Burst == 0 {
|
||||||
|
config.Burst = 10
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
`
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package v1
|
package v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
fmt "fmt"
|
||||||
api "k8s.io/kubernetes/pkg/api"
|
api "k8s.io/kubernetes/pkg/api"
|
||||||
registered "k8s.io/kubernetes/pkg/apimachinery/registered"
|
registered "k8s.io/kubernetes/pkg/apimachinery/registered"
|
||||||
restclient "k8s.io/kubernetes/pkg/client/restclient"
|
restclient "k8s.io/kubernetes/pkg/client/restclient"
|
||||||
@ -149,7 +150,12 @@ func setConfigDefaults(config *restclient.Config) error {
|
|||||||
config.GroupVersion = ©GroupVersion
|
config.GroupVersion = ©GroupVersion
|
||||||
//}
|
//}
|
||||||
|
|
||||||
config.Codec = api.Codecs.LegacyCodec(*config.GroupVersion)
|
codec, ok := api.Codecs.SerializerForFileExtension("json")
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf("unable to find serializer for JSON")
|
||||||
|
}
|
||||||
|
config.Codec = codec
|
||||||
|
|
||||||
if config.QPS == 0 {
|
if config.QPS == 0 {
|
||||||
config.QPS = 5
|
config.QPS = 5
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package v1beta1
|
package v1beta1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
fmt "fmt"
|
||||||
api "k8s.io/kubernetes/pkg/api"
|
api "k8s.io/kubernetes/pkg/api"
|
||||||
registered "k8s.io/kubernetes/pkg/apimachinery/registered"
|
registered "k8s.io/kubernetes/pkg/apimachinery/registered"
|
||||||
restclient "k8s.io/kubernetes/pkg/client/restclient"
|
restclient "k8s.io/kubernetes/pkg/client/restclient"
|
||||||
@ -114,7 +115,12 @@ func setConfigDefaults(config *restclient.Config) error {
|
|||||||
config.GroupVersion = ©GroupVersion
|
config.GroupVersion = ©GroupVersion
|
||||||
//}
|
//}
|
||||||
|
|
||||||
config.Codec = api.Codecs.LegacyCodec(*config.GroupVersion)
|
codec, ok := api.Codecs.SerializerForFileExtension("json")
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf("unable to find serializer for JSON")
|
||||||
|
}
|
||||||
|
config.Codec = codec
|
||||||
|
|
||||||
if config.QPS == 0 {
|
if config.QPS == 0 {
|
||||||
config.QPS = 5
|
config.QPS = 5
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user