Commit e49f44d8 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #41486 from sttts/sttts-clientset-scheme

Automatic merge from submit-queue (batch tested with PRs 41146, 41486, 41482, 41538, 41784) client-gen: independent scheme for clientsets This PR adds a clientset internal scheme instead of using `pkg/api.Scheme`. **The clientset API stays the same.** In detail: - introduce a scheme for each clientset, i.e. do not use `pkg/api.Scheme+Registry+Codec+ParameterCodecs`. This makes it easier to compose client-go's clientset (which is rewritten in `staging/copy.sh` and therefore hardcoded to use `k8s.io/client-go/pkg/api.Scheme+Registry+Codecs+ParameterCodecs`) with third-party clientsets (kube-aggregator, openshift, federation) which are not rewritten using `copy.sh` as all of them are self-contained and therefore relocatable. This fixes https://github.com/kubernetes/kubernetes/pull/41403/files#diff-76edfb07dee54ff7ddeda25c33c10d29R81 and prepares client-gen for use in OpenShift. - register types into the clientset scheme via `AddToScheme` for versioned clientsets. This decouples the client-go clients from announce+registration (internal clients continue using announce+registry and apigroup installers). This reduces complexity for client-go, possibly remove the necessity for the announce+register machinery for many use-cases, maybe even to delete it mid-term. - port federation and testgroup `install/install.go` to `announced.GroupMetaFactory` in order to have a proper `Install.Install(...)` func for registration. With the first change it's easy to add the types of one clientset to the scheme of the other using the `clientset/scheme.AddToScheme` method. This allows to use cross-clientset `runtime.RawExtensions`: ```golang import ( "k8s.io/client-go/kubernetes" clientsetscheme "k8s.io/client-go/kuberentes/scheme" aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" ) kclientset, _ := kubernetes.NewForConfig(c) aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) ``` Kubernetes types with a `RawExtension` can en/decode aggregator types after this. TODO: - [x] fix fake clientsets - [x] get the `*Options` types registered correctly for core, compare DO-NOT-MERGE commit. - [x] get prefered version right in internal client. Do we need all versions registered in the internal client to support negotiation? - [x] run `staging/copy.sh` and run tests: https://github.com/kubernetes/kubernetes/pull/41744 - ~~[ ] fixup usage through-out the code-base~~ - **Follow-up**: move `import_known_versions.go` files somewhere such that import of the `api.Scheme` package automatically installs the apigroups. It looks like we depended on the import fo the clientset for this purpose.
parents afd3db25 595f4ed2
...@@ -14,6 +14,7 @@ go_library( ...@@ -14,6 +14,7 @@ go_library(
"generator_for_clientset.go", "generator_for_clientset.go",
"generator_for_expansion.go", "generator_for_expansion.go",
"generator_for_group.go", "generator_for_group.go",
"generator_for_scheme.go",
"generator_for_type.go", "generator_for_type.go",
"tags.go", "tags.go",
], ],
......
...@@ -61,11 +61,11 @@ func generatedBy(customArgs clientgenargs.Args) string { ...@@ -61,11 +61,11 @@ func generatedBy(customArgs clientgenargs.Args) string {
return fmt.Sprintf("\n// This package is generated by client-gen with the default arguments.\n\n") return fmt.Sprintf("\n// This package is generated by client-gen with the default arguments.\n\n")
} }
func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, packageBasePath string, apiPath string, srcTreePath string, inputPath string, boilerplate []byte, generatedBy string) generator.Package { func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, clientsetPackage string, apiPath string, srcTreePath string, inputPackage string, boilerplate []byte, generatedBy string) generator.Package {
outputPackagePath := strings.ToLower(filepath.Join(packageBasePath, gv.Group.NonEmpty(), gv.Version.NonEmpty())) groupVersionClientPackage := strings.ToLower(filepath.Join(clientsetPackage, "typed", gv.Group.NonEmpty(), gv.Version.NonEmpty()))
return &generator.DefaultPackage{ return &generator.DefaultPackage{
PackageName: strings.ToLower(gv.Version.NonEmpty()), PackageName: strings.ToLower(gv.Version.NonEmpty()),
PackagePath: outputPackagePath, PackagePath: groupVersionClientPackage,
HeaderText: boilerplate, HeaderText: boilerplate,
PackageDocumentation: []byte( PackageDocumentation: []byte(
generatedBy + generatedBy +
...@@ -85,11 +85,12 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac ...@@ -85,11 +85,12 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: strings.ToLower(c.Namers["private"].Name(t)), OptionalName: strings.ToLower(c.Namers["private"].Name(t)),
}, },
outputPackage: outputPackagePath, outputPackage: groupVersionClientPackage,
group: gv.Group.NonEmpty(), clientsetPackage: clientsetPackage,
version: gv.Version.String(), group: gv.Group.NonEmpty(),
typeToMatch: t, version: gv.Version.String(),
imports: generator.NewImportTracker(), typeToMatch: t,
imports: generator.NewImportTracker(),
}) })
} }
...@@ -97,18 +98,19 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac ...@@ -97,18 +98,19 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: gv.Group.NonEmpty() + "_client", OptionalName: gv.Group.NonEmpty() + "_client",
}, },
outputPackage: outputPackagePath, outputPackage: groupVersionClientPackage,
inputPacakge: inputPath, inputPackage: inputPackage,
group: gv.Group.NonEmpty(), clientsetPackage: clientsetPackage,
version: gv.Version.String(), group: gv.Group.NonEmpty(),
apiPath: apiPath, version: gv.Version.String(),
types: typeList, apiPath: apiPath,
imports: generator.NewImportTracker(), types: typeList,
imports: generator.NewImportTracker(),
}) })
expansionFileName := "generated_expansion" expansionFileName := "generated_expansion"
generators = append(generators, &genExpansion{ generators = append(generators, &genExpansion{
groupPath: filepath.Join(srcTreePath, outputPackagePath), groupPackagePath: filepath.Join(srcTreePath, groupVersionClientPackage),
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: expansionFileName, OptionalName: expansionFileName,
}, },
...@@ -123,10 +125,10 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac ...@@ -123,10 +125,10 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac
} }
} }
func packageForClientset(customArgs clientgenargs.Args, typedClientBasePath string, boilerplate []byte, generatedBy string) generator.Package { func packageForClientset(customArgs clientgenargs.Args, clientsetPackage string, boilerplate []byte, generatedBy string) generator.Package {
return &generator.DefaultPackage{ return &generator.DefaultPackage{
PackageName: customArgs.ClientsetName, PackageName: customArgs.ClientsetName,
PackagePath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName), PackagePath: clientsetPackage,
HeaderText: boilerplate, HeaderText: boilerplate,
PackageDocumentation: []byte( PackageDocumentation: []byte(
generatedBy + generatedBy +
...@@ -143,10 +145,43 @@ func packageForClientset(customArgs clientgenargs.Args, typedClientBasePath stri ...@@ -143,10 +145,43 @@ func packageForClientset(customArgs clientgenargs.Args, typedClientBasePath stri
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: "clientset", OptionalName: "clientset",
}, },
groups: customArgs.Groups, groups: customArgs.Groups,
typedClientPath: typedClientBasePath, clientsetPackage: clientsetPackage,
outputPackage: customArgs.ClientsetName, outputPackage: customArgs.ClientsetName,
imports: generator.NewImportTracker(), imports: generator.NewImportTracker(),
},
}
return generators
},
}
}
func packageForScheme(customArgs clientgenargs.Args, clientsetPackage string, srcTreePath string, boilerplate []byte, generatedBy string) generator.Package {
schemePackage := filepath.Join(clientsetPackage, "scheme")
return &generator.DefaultPackage{
PackageName: "scheme",
PackagePath: schemePackage,
HeaderText: boilerplate,
PackageDocumentation: []byte(
generatedBy +
`// This package contains the scheme of the automatically generated clientset.
`),
// GeneratorFunc returns a list of generators. Each generator generates a
// single file.
GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) {
generators = []generator.Generator{
// Always generate a "doc.go" file.
generator.DefaultGen{OptionalName: "doc"},
&genScheme{
DefaultGen: generator.DefaultGen{
OptionalName: "register",
},
inputPackages: customArgs.GroupVersionToInputPath,
outputPackage: schemePackage,
outputPath: filepath.Join(srcTreePath, schemePackage),
groups: customArgs.Groups,
imports: generator.NewImportTracker(),
}, },
} }
return generators return generators
...@@ -201,11 +236,12 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat ...@@ -201,11 +236,12 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
} }
var packageList []generator.Package var packageList []generator.Package
typedClientBasePath := filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName, "typed") clientsetPackage := filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName)
packageList = append(packageList, packageForClientset(customArgs, typedClientBasePath, boilerplate, generatedBy)) packageList = append(packageList, packageForClientset(customArgs, clientsetPackage, boilerplate, generatedBy))
packageList = append(packageList, packageForScheme(customArgs, clientsetPackage, arguments.OutputBase, boilerplate, generatedBy))
if customArgs.FakeClient { if customArgs.FakeClient {
packageList = append(packageList, fake.PackageForClientset(customArgs, typedClientBasePath, boilerplate, generatedBy)) packageList = append(packageList, fake.PackageForClientset(customArgs, clientsetPackage, boilerplate, generatedBy))
} }
// If --clientset-only=true, we don't regenerate the individual typed clients. // If --clientset-only=true, we don't regenerate the individual typed clients.
...@@ -219,9 +255,9 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat ...@@ -219,9 +255,9 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
gv := clientgentypes.GroupVersion{Group: group.Group, Version: version} gv := clientgentypes.GroupVersion{Group: group.Group, Version: version}
types := gvToTypes[gv] types := gvToTypes[gv]
inputPath := customArgs.GroupVersionToInputPath[gv] inputPath := customArgs.GroupVersionToInputPath[gv]
packageList = append(packageList, packageForGroup(gv, orderer.OrderTypes(types), typedClientBasePath, customArgs.ClientsetAPIPath, arguments.OutputBase, inputPath, boilerplate, generatedBy)) packageList = append(packageList, packageForGroup(gv, orderer.OrderTypes(types), clientsetPackage, customArgs.ClientsetAPIPath, arguments.OutputBase, inputPath, boilerplate, generatedBy))
if customArgs.FakeClient { if customArgs.FakeClient {
packageList = append(packageList, fake.PackageForGroup(gv, orderer.OrderTypes(types), typedClientBasePath, arguments.OutputBase, inputPath, boilerplate, generatedBy)) packageList = append(packageList, fake.PackageForGroup(gv, orderer.OrderTypes(types), clientsetPackage, inputPath, boilerplate, generatedBy))
} }
} }
} }
......
...@@ -28,13 +28,13 @@ import ( ...@@ -28,13 +28,13 @@ import (
clientgentypes "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/types" clientgentypes "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/types"
) )
func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, packageBasePath string, srcTreePath string, inputPath string, boilerplate []byte, generatedBy string) generator.Package { func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, clientsetPackage string, inputPackage string, boilerplate []byte, generatedBy string) generator.Package {
outputPackagePath := strings.ToLower(filepath.Join(packageBasePath, gv.Group.NonEmpty(), gv.Version.NonEmpty(), "fake")) outputPackage := strings.ToLower(filepath.Join(clientsetPackage, "typed", gv.Group.NonEmpty(), gv.Version.NonEmpty(), "fake"))
// TODO: should make this a function, called by here and in client-generator.go // TODO: should make this a function, called by here and in client-generator.go
realClientPath := filepath.Join(packageBasePath, gv.Group.NonEmpty(), gv.Version.NonEmpty()) realClientPackage := filepath.Join(clientsetPackage, "typed", gv.Group.NonEmpty(), gv.Version.NonEmpty())
return &generator.DefaultPackage{ return &generator.DefaultPackage{
PackageName: "fake", PackageName: "fake",
PackagePath: outputPackagePath, PackagePath: outputPackage,
HeaderText: boilerplate, HeaderText: boilerplate,
PackageDocumentation: []byte( PackageDocumentation: []byte(
generatedBy + generatedBy +
...@@ -54,10 +54,10 @@ func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac ...@@ -54,10 +54,10 @@ func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: "fake_" + strings.ToLower(c.Namers["private"].Name(t)), OptionalName: "fake_" + strings.ToLower(c.Namers["private"].Name(t)),
}, },
outputPackage: outputPackagePath, outputPackage: outputPackage,
inputPackage: inputPackage,
group: gv.Group.NonEmpty(), group: gv.Group.NonEmpty(),
version: gv.Version.String(), version: gv.Version.String(),
inputPackage: inputPath,
typeToMatch: t, typeToMatch: t,
imports: generator.NewImportTracker(), imports: generator.NewImportTracker(),
}) })
...@@ -67,12 +67,12 @@ func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac ...@@ -67,12 +67,12 @@ func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, pac
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: "fake_" + gv.Group.NonEmpty() + "_client", OptionalName: "fake_" + gv.Group.NonEmpty() + "_client",
}, },
outputPackage: outputPackagePath, outputPackage: outputPackage,
realClientPath: realClientPath, realClientPackage: realClientPackage,
group: gv.Group.NonEmpty(), group: gv.Group.NonEmpty(),
version: gv.Version.String(), version: gv.Version.String(),
types: typeList, types: typeList,
imports: generator.NewImportTracker(), imports: generator.NewImportTracker(),
}) })
return generators return generators
}, },
...@@ -90,12 +90,12 @@ func extractBoolTagOrDie(key string, lines []string) bool { ...@@ -90,12 +90,12 @@ func extractBoolTagOrDie(key string, lines []string) bool {
return val return val
} }
func PackageForClientset(customArgs clientgenargs.Args, typedClientBasePath string, boilerplate []byte, generatedBy string) generator.Package { func PackageForClientset(customArgs clientgenargs.Args, fakeClientsetPackage string, boilerplate []byte, generatedBy string) generator.Package {
return &generator.DefaultPackage{ return &generator.DefaultPackage{
// TODO: we'll generate fake clientset for different release in the future. // TODO: we'll generate fake clientset for different release in the future.
// Package name and path are hard coded for now. // Package name and path are hard coded for now.
PackageName: "fake", PackageName: "fake",
PackagePath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName, "fake"), PackagePath: filepath.Join(fakeClientsetPackage, "fake"),
HeaderText: boilerplate, HeaderText: boilerplate,
PackageDocumentation: []byte( PackageDocumentation: []byte(
generatedBy + generatedBy +
...@@ -112,11 +112,11 @@ func PackageForClientset(customArgs clientgenargs.Args, typedClientBasePath stri ...@@ -112,11 +112,11 @@ func PackageForClientset(customArgs clientgenargs.Args, typedClientBasePath stri
DefaultGen: generator.DefaultGen{ DefaultGen: generator.DefaultGen{
OptionalName: "clientset_generated", OptionalName: "clientset_generated",
}, },
groups: customArgs.Groups, groups: customArgs.Groups,
typedClientPath: typedClientBasePath, fakeClientsetPackage: fakeClientsetPackage,
outputPackage: "fake", outputPackage: "fake",
imports: generator.NewImportTracker(), imports: generator.NewImportTracker(),
clientsetPath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName), realClientsetPackage: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName),
}, },
} }
return generators return generators
......
...@@ -31,13 +31,13 @@ import ( ...@@ -31,13 +31,13 @@ import (
// genClientset generates a package for a clientset. // genClientset generates a package for a clientset.
type genClientset struct { type genClientset struct {
generator.DefaultGen generator.DefaultGen
groups []clientgentypes.GroupVersions groups []clientgentypes.GroupVersions
typedClientPath string fakeClientsetPackage string
outputPackage string outputPackage string
imports namer.ImportTracker imports namer.ImportTracker
clientsetGenerated bool clientsetGenerated bool
// the import path of the generated real clientset. // the import path of the generated real clientset.
clientsetPath string realClientsetPackage string
} }
var _ generator.Generator = &genClientset{} var _ generator.Generator = &genClientset{}
...@@ -59,14 +59,15 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) { ...@@ -59,14 +59,15 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) {
imports = append(imports, g.imports.ImportLines()...) imports = append(imports, g.imports.ImportLines()...)
for _, group := range g.groups { for _, group := range g.groups {
for _, version := range group.Versions { for _, version := range group.Versions {
typedClientPath := filepath.Join(g.typedClientPath, group.Group.NonEmpty(), version.NonEmpty()) groupClientPackage := filepath.Join(g.fakeClientsetPackage, "typed", group.Group.NonEmpty(), version.NonEmpty())
imports = append(imports, strings.ToLower(fmt.Sprintf("%s%s \"%s\"", version.NonEmpty(), group.Group.NonEmpty(), typedClientPath))) fakeGroupClientPackage := filepath.Join(groupClientPackage, "fake")
fakeTypedClientPath := filepath.Join(typedClientPath, "fake")
imports = append(imports, strings.ToLower(fmt.Sprintf("fake%s%s \"%s\"", version.NonEmpty(), group.Group.NonEmpty(), fakeTypedClientPath))) imports = append(imports, strings.ToLower(fmt.Sprintf("%s%s \"%s\"", group.Group.NonEmpty(), version.NonEmpty(), groupClientPackage)))
imports = append(imports, strings.ToLower(fmt.Sprintf("fake%s%s \"%s\"", group.Group.NonEmpty(), version.NonEmpty(), fakeGroupClientPackage)))
} }
} }
// the package that has the clientset Interface // the package that has the clientset Interface
imports = append(imports, fmt.Sprintf("clientset \"%s\"", g.clientsetPath)) imports = append(imports, fmt.Sprintf("clientset \"%s\"", g.realClientsetPackage))
// imports for the code in commonTemplate // imports for the code in commonTemplate
imports = append(imports, imports = append(imports,
"k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/api",
...@@ -85,12 +86,11 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr ...@@ -85,12 +86,11 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr
// perhaps we can adapt the go2ild framework to this kind of usage. // perhaps we can adapt the go2ild framework to this kind of usage.
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
sw.Do(common, nil) allGroups := clientgentypes.ToGroupVersionPackages(g.groups)
sw.Do(common, nil)
sw.Do(checkImpl, nil) sw.Do(checkImpl, nil)
allGroups := clientgentypes.ToGroupVersionPackages(g.groups)
for _, g := range allGroups { for _, g := range allGroups {
sw.Do(clientsetInterfaceImplTemplate, g) sw.Do(clientsetInterfaceImplTemplate, g)
// don't generated the default method if generating internalversion clientset // don't generated the default method if generating internalversion clientset
......
...@@ -30,10 +30,10 @@ import ( ...@@ -30,10 +30,10 @@ import (
// genFakeForGroup produces a file for a group client, e.g. ExtensionsClient for the extension group. // genFakeForGroup produces a file for a group client, e.g. ExtensionsClient for the extension group.
type genFakeForGroup struct { type genFakeForGroup struct {
generator.DefaultGen generator.DefaultGen
outputPackage string outputPackage string
realClientPath string realClientPackage string
group string group string
version string version string
// types in this group // types in this group
types []*types.Type types []*types.Type
imports namer.ImportTracker imports namer.ImportTracker
...@@ -53,27 +53,27 @@ func (g *genFakeForGroup) Namers(c *generator.Context) namer.NameSystems { ...@@ -53,27 +53,27 @@ func (g *genFakeForGroup) Namers(c *generator.Context) namer.NameSystems {
} }
func (g *genFakeForGroup) Imports(c *generator.Context) (imports []string) { func (g *genFakeForGroup) Imports(c *generator.Context) (imports []string) {
imports = append(g.imports.ImportLines(), strings.ToLower(fmt.Sprintf("%s \"%s\"", filepath.Base(g.realClientPath), g.realClientPath))) imports = append(g.imports.ImportLines(), strings.ToLower(fmt.Sprintf("%s \"%s\"", filepath.Base(g.realClientPackage), g.realClientPackage)))
return imports return imports
} }
func (g *genFakeForGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { func (g *genFakeForGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
const pkgTestingCore = "k8s.io/client-go/testing"
const pkgRESTClient = "k8s.io/client-go/rest"
m := map[string]interface{}{ m := map[string]interface{}{
"group": g.group, "group": g.group,
"GroupVersion": namer.IC(g.group) + namer.IC(g.version), "GroupVersion": namer.IC(g.group) + namer.IC(g.version),
"Fake": c.Universe.Type(types.Name{Package: pkgTestingCore, Name: "Fake"}), "Fake": c.Universe.Type(types.Name{Package: "k8s.io/client-go/testing", Name: "Fake"}),
"RESTClientInterface": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Interface"}), "RESTClientInterface": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Interface"}),
"RESTClient": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "RESTClient"}), "RESTClient": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "RESTClient"}),
} }
sw.Do(groupClientTemplate, m) sw.Do(groupClientTemplate, m)
for _, t := range g.types { for _, t := range g.types {
wrapper := map[string]interface{}{ wrapper := map[string]interface{}{
"type": t, "type": t,
"GroupVersion": namer.IC(g.group) + namer.IC(g.version), "GroupVersion": namer.IC(g.group) + namer.IC(g.version),
"realClientPackage": strings.ToLower(filepath.Base(g.realClientPath)), "realClientPackage": strings.ToLower(filepath.Base(g.realClientPackage)),
} }
namespaced := !extractBoolTagOrDie("nonNamespaced", t.SecondClosestCommentLines) namespaced := !extractBoolTagOrDie("nonNamespaced", t.SecondClosestCommentLines)
if namespaced { if namespaced {
......
...@@ -87,7 +87,6 @@ func hasObjectMeta(t *types.Type) bool { ...@@ -87,7 +87,6 @@ func hasObjectMeta(t *types.Type) bool {
func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
pkg := filepath.Base(t.Name.Package) pkg := filepath.Base(t.Name.Package)
const pkgTestingCore = "k8s.io/client-go/testing"
namespaced := !extractBoolTagOrDie("nonNamespaced", t.SecondClosestCommentLines) namespaced := !extractBoolTagOrDie("nonNamespaced", t.SecondClosestCommentLines)
canonicalGroup := g.group canonicalGroup := g.group
if canonicalGroup == "core" { if canonicalGroup == "core" {
...@@ -105,6 +104,7 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. ...@@ -105,6 +104,7 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io.
groupName = override[0] groupName = override[0]
} }
const pkgClientGoTesting = "k8s.io/client-go/testing"
m := map[string]interface{}{ m := map[string]interface{}{
"type": t, "type": t,
"package": pkg, "package": pkg,
...@@ -123,27 +123,27 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. ...@@ -123,27 +123,27 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io.
"PatchType": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/types", Name: "PatchType"}), "PatchType": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/types", Name: "PatchType"}),
"watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"}), "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"}),
"NewRootListAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootListAction"}), "NewRootListAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootListAction"}),
"NewListAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewListAction"}), "NewListAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewListAction"}),
"NewRootGetAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootGetAction"}), "NewRootGetAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootGetAction"}),
"NewGetAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewGetAction"}), "NewGetAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewGetAction"}),
"NewRootDeleteAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootDeleteAction"}), "NewRootDeleteAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootDeleteAction"}),
"NewDeleteAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewDeleteAction"}), "NewDeleteAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewDeleteAction"}),
"NewRootDeleteCollectionAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootDeleteCollectionAction"}), "NewRootDeleteCollectionAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootDeleteCollectionAction"}),
"NewDeleteCollectionAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewDeleteCollectionAction"}), "NewDeleteCollectionAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewDeleteCollectionAction"}),
"NewRootUpdateAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootUpdateAction"}), "NewRootUpdateAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootUpdateAction"}),
"NewUpdateAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewUpdateAction"}), "NewUpdateAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewUpdateAction"}),
"NewRootCreateAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootCreateAction"}), "NewRootCreateAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootCreateAction"}),
"NewCreateAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewCreateAction"}), "NewCreateAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewCreateAction"}),
"NewRootWatchAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootWatchAction"}), "NewRootWatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootWatchAction"}),
"NewWatchAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewWatchAction"}), "NewWatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewWatchAction"}),
"NewUpdateSubresourceAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewUpdateSubresourceAction"}), "NewUpdateSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewUpdateSubresourceAction"}),
"NewRootUpdateSubresourceAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootUpdateSubresourceAction"}), "NewRootUpdateSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootUpdateSubresourceAction"}),
"NewRootPatchAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootPatchAction"}), "NewRootPatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootPatchAction"}),
"NewPatchAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewPatchAction"}), "NewPatchAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewPatchAction"}),
"NewRootPatchSubresourceAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootPatchSubresourceAction"}), "NewRootPatchSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewRootPatchSubresourceAction"}),
"NewPatchSubresourceAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewPatchSubresourceAction"}), "NewPatchSubresourceAction": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "NewPatchSubresourceAction"}),
"ExtractFromListOptions": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "ExtractFromListOptions"}), "ExtractFromListOptions": c.Universe.Function(types.Name{Package: pkgClientGoTesting, Name: "ExtractFromListOptions"}),
} }
noMethods := extractBoolTagOrDie("noMethods", t.SecondClosestCommentLines) == true noMethods := extractBoolTagOrDie("noMethods", t.SecondClosestCommentLines) == true
......
...@@ -32,7 +32,7 @@ import ( ...@@ -32,7 +32,7 @@ import (
type genClientset struct { type genClientset struct {
generator.DefaultGen generator.DefaultGen
groups []clientgentypes.GroupVersions groups []clientgentypes.GroupVersions
typedClientPath string clientsetPackage string
outputPackage string outputPackage string
imports namer.ImportTracker imports namer.ImportTracker
clientsetGenerated bool clientsetGenerated bool
...@@ -57,12 +57,10 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) { ...@@ -57,12 +57,10 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) {
imports = append(imports, g.imports.ImportLines()...) imports = append(imports, g.imports.ImportLines()...)
for _, group := range g.groups { for _, group := range g.groups {
for _, version := range group.Versions { for _, version := range group.Versions {
typedClientPath := filepath.Join(g.typedClientPath, group.Group.NonEmpty(), version.NonEmpty()) typedClientPath := filepath.Join(g.clientsetPackage, "typed", group.Group.NonEmpty(), version.NonEmpty())
imports = append(imports, strings.ToLower(fmt.Sprintf("%s%s \"%s\"", version.NonEmpty(), group.Group.NonEmpty(), typedClientPath))) imports = append(imports, strings.ToLower(fmt.Sprintf("%s%s \"%s\"", group.Group.NonEmpty(), version.NonEmpty(), typedClientPath)))
} }
} }
imports = append(imports, "github.com/golang/glog")
imports = append(imports, "k8s.io/client-go/util/flowcontrol")
return return
} }
...@@ -70,21 +68,21 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr ...@@ -70,21 +68,21 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr
// TODO: We actually don't need any type information to generate the clientset, // TODO: We actually don't need any type information to generate the clientset,
// perhaps we can adapt the go2ild framework to this kind of usage. // perhaps we can adapt the go2ild framework to this kind of usage.
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
const pkgDiscovery = "k8s.io/client-go/discovery"
const pkgRESTClient = "k8s.io/client-go/rest"
allGroups := clientgentypes.ToGroupVersionPackages(g.groups) allGroups := clientgentypes.ToGroupVersionPackages(g.groups)
m := map[string]interface{}{ m := map[string]interface{}{
"allGroups": allGroups, "allGroups": allGroups,
"Config": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Config"}), "Config": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Config"}),
"DefaultKubernetesUserAgent": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "DefaultKubernetesUserAgent"}), "DefaultKubernetesUserAgent": c.Universe.Function(types.Name{Package: "k8s.io/client-go/rest", Name: "DefaultKubernetesUserAgent"}),
"RESTClientInterface": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Interface"}), "RESTClientInterface": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Interface"}),
"DiscoveryInterface": c.Universe.Type(types.Name{Package: pkgDiscovery, Name: "DiscoveryInterface"}), "DiscoveryInterface": c.Universe.Type(types.Name{Package: "k8s.io/client-go/discovery", Name: "DiscoveryInterface"}),
"DiscoveryClient": c.Universe.Type(types.Name{Package: pkgDiscovery, Name: "DiscoveryClient"}), "DiscoveryClient": c.Universe.Type(types.Name{Package: "k8s.io/client-go/discovery", Name: "DiscoveryClient"}),
"NewDiscoveryClientForConfig": c.Universe.Function(types.Name{Package: pkgDiscovery, Name: "NewDiscoveryClientForConfig"}), "NewDiscoveryClientForConfig": c.Universe.Function(types.Name{Package: "k8s.io/client-go/discovery", Name: "NewDiscoveryClientForConfig"}),
"NewDiscoveryClientForConfigOrDie": c.Universe.Function(types.Name{Package: pkgDiscovery, Name: "NewDiscoveryClientForConfigOrDie"}), "NewDiscoveryClientForConfigOrDie": c.Universe.Function(types.Name{Package: "k8s.io/client-go/discovery", Name: "NewDiscoveryClientForConfigOrDie"}),
"NewDiscoveryClient": c.Universe.Function(types.Name{Package: pkgDiscovery, Name: "NewDiscoveryClient"}), "NewDiscoveryClient": c.Universe.Function(types.Name{Package: "k8s.io/client-go/discovery", Name: "NewDiscoveryClient"}),
"flowcontrolNewTokenBucketRateLimiter": c.Universe.Function(types.Name{Package: "k8s.io/client-go/util/flowcontrol", Name: "NewTokenBucketRateLimiter"}),
"glogErrorf": c.Universe.Function(types.Name{Package: "github.com/golang/glog", Name: "Errorf"}),
} }
sw.Do(clientsetInterface, m) sw.Do(clientsetInterface, m)
sw.Do(clientsetTemplate, m) sw.Do(clientsetTemplate, m)
...@@ -108,8 +106,8 @@ type Interface interface { ...@@ -108,8 +106,8 @@ type Interface interface {
Discovery() $.DiscoveryInterface|raw$ Discovery() $.DiscoveryInterface|raw$
$range .allGroups$$.GroupVersion$() $.PackageName$.$.GroupVersion$Interface $range .allGroups$$.GroupVersion$() $.PackageName$.$.GroupVersion$Interface
$if .IsDefaultVersion$// Deprecated: please explicitly pick a version if possible. $if .IsDefaultVersion$// Deprecated: please explicitly pick a version if possible.
$.Group$() $.PackageName$.$.GroupVersion$Interface$end$ $.Group$() $.PackageName$.$.GroupVersion$Interface
$end$ $end$$end$
} }
` `
...@@ -159,7 +157,7 @@ var newClientsetForConfigTemplate = ` ...@@ -159,7 +157,7 @@ var newClientsetForConfigTemplate = `
func NewForConfig(c *$.Config|raw$) (*Clientset, error) { func NewForConfig(c *$.Config|raw$) (*Clientset, error) {
configShallowCopy := *c configShallowCopy := *c
if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) configShallowCopy.RateLimiter = $.flowcontrolNewTokenBucketRateLimiter|raw$(configShallowCopy.QPS, configShallowCopy.Burst)
} }
var cs Clientset var cs Clientset
var err error var err error
...@@ -170,7 +168,7 @@ $range .allGroups$ cs.$.GroupVersion$Client, err =$.PackageName$.NewForConfig ...@@ -170,7 +168,7 @@ $range .allGroups$ cs.$.GroupVersion$Client, err =$.PackageName$.NewForConfig
$end$ $end$
cs.DiscoveryClient, err = $.NewDiscoveryClientForConfig|raw$(&configShallowCopy) cs.DiscoveryClient, err = $.NewDiscoveryClientForConfig|raw$(&configShallowCopy)
if err!=nil { if err!=nil {
glog.Errorf("failed to create the DiscoveryClient: %v", err) $.glogErrorf|raw$("failed to create the DiscoveryClient: %v", err)
return nil, err return nil, err
} }
return &cs, nil return &cs, nil
......
...@@ -29,7 +29,7 @@ import ( ...@@ -29,7 +29,7 @@ import (
// genExpansion produces a file for a group client, e.g. ExtensionsClient for the extension group. // genExpansion produces a file for a group client, e.g. ExtensionsClient for the extension group.
type genExpansion struct { type genExpansion struct {
generator.DefaultGen generator.DefaultGen
groupPath string groupPackagePath string
// types in a group // types in a group
types []*types.Type types []*types.Type
} }
...@@ -42,7 +42,7 @@ func (g *genExpansion) Filter(c *generator.Context, t *types.Type) bool { ...@@ -42,7 +42,7 @@ func (g *genExpansion) Filter(c *generator.Context, t *types.Type) bool {
func (g *genExpansion) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { func (g *genExpansion) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
for _, t := range g.types { for _, t := range g.types {
if _, err := os.Stat(filepath.Join(g.groupPath, strings.ToLower(t.Name.Name+"_expansion.go"))); os.IsNotExist(err) { if _, err := os.Stat(filepath.Join(g.groupPackagePath, strings.ToLower(t.Name.Name+"_expansion.go"))); os.IsNotExist(err) {
sw.Do(expansionInterfaceTemplate, t) sw.Do(expansionInterfaceTemplate, t)
} }
} }
......
...@@ -18,6 +18,7 @@ package generators ...@@ -18,6 +18,7 @@ package generators
import ( import (
"io" "io"
"path/filepath"
"k8s.io/gengo/generator" "k8s.io/gengo/generator"
"k8s.io/gengo/namer" "k8s.io/gengo/namer"
...@@ -32,9 +33,10 @@ type genGroup struct { ...@@ -32,9 +33,10 @@ type genGroup struct {
version string version string
apiPath string apiPath string
// types in this group // types in this group
types []*types.Type types []*types.Type
imports namer.ImportTracker imports namer.ImportTracker
inputPacakge string inputPackage string
clientsetPackage string
} }
var _ generator.Generator = &genGroup{} var _ generator.Generator = &genGroup{}
...@@ -52,16 +54,12 @@ func (g *genGroup) Namers(c *generator.Context) namer.NameSystems { ...@@ -52,16 +54,12 @@ 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) {
imports = append(imports, g.imports.ImportLines()...) imports = append(imports, g.imports.ImportLines()...)
imports = append(imports, filepath.Join(g.clientsetPackage, "scheme"))
return 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 {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
const pkgRESTClient = "k8s.io/client-go/rest"
const pkgAPI = "k8s.io/kubernetes/pkg/api"
const pkgSerializer = "k8s.io/apimachinery/pkg/runtime/serializer"
const pkgUnversioned = "k8s.io/kubernetes/pkg/api/unversioned"
const pkgSchema = "k8s.io/apimachinery/pkg/runtime/schema"
apiPath := func(group string) string { apiPath := func(group string) string {
if len(g.apiPath) > 0 { if len(g.apiPath) > 0 {
...@@ -78,27 +76,26 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer ...@@ -78,27 +76,26 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
groupName = "" groupName = ""
} }
// allow user to define a group name that's different from the one parsed from the directory. // allow user to define a group name that's different from the one parsed from the directory.
p := c.Universe.Package(g.inputPacakge) p := c.Universe.Package(g.inputPackage)
if override := types.ExtractCommentTags("+", p.DocComments)["groupName"]; override != nil { if override := types.ExtractCommentTags("+", p.DocComments)["groupName"]; override != nil {
groupName = override[0] groupName = override[0]
} }
m := map[string]interface{}{ m := map[string]interface{}{
"group": g.group, "group": g.group,
"version": g.version, "version": g.version,
"GroupVersion": namer.IC(g.group) + namer.IC(g.version), "GroupVersion": namer.IC(g.group) + namer.IC(g.version),
"groupName": groupName, "groupName": groupName,
"types": g.types, "types": g.types,
"Config": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Config"}), "apiPath": apiPath(g.group),
"DefaultKubernetesUserAgent": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "DefaultKubernetesUserAgent"}), "schemaGroupVersion": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}),
"RESTClientInterface": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Interface"}), "runtimeAPIVersionInternal": c.Universe.Variable(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "APIVersionInternal"}),
"RESTClientFor": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "RESTClientFor"}), "serializerDirectCodecFactory": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/serializer", Name: "DirectCodecFactory"}),
"ParseGroupVersion": c.Universe.Function(types.Name{Package: pkgSchema, Name: "ParseGroupVersion"}), "restConfig": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Config"}),
"apiPath": apiPath(g.group), "restDefaultKubernetesUserAgent": c.Universe.Function(types.Name{Package: "k8s.io/client-go/rest", Name: "DefaultKubernetesUserAgent"}),
"apiRegistry": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Registry"}), "restRESTClientInterface": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Interface"}),
"codecs": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Codecs"}), "restRESTClientFor": c.Universe.Function(types.Name{Package: "k8s.io/client-go/rest", Name: "RESTClientFor"}),
"directCodecFactory": c.Universe.Variable(types.Name{Package: pkgSerializer, Name: "DirectCodecFactory"}), "SchemeGroupVersion": c.Universe.Variable(types.Name{Package: g.inputPackage, Name: "SchemeGroupVersion"}),
"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)
...@@ -112,7 +109,6 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer ...@@ -112,7 +109,6 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
sw.Do(getterImplNamespaced, wrapper) sw.Do(getterImplNamespaced, wrapper)
} else { } else {
sw.Do(getterImplNonNamespaced, wrapper) sw.Do(getterImplNonNamespaced, wrapper)
} }
} }
sw.Do(newClientForConfigTemplate, m) sw.Do(newClientForConfigTemplate, m)
...@@ -130,7 +126,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer ...@@ -130,7 +126,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
var groupInterfaceTemplate = ` var groupInterfaceTemplate = `
type $.GroupVersion$Interface interface { type $.GroupVersion$Interface interface {
RESTClient() $.RESTClientInterface|raw$ RESTClient() $.restRESTClientInterface|raw$
$range .types$ $.|publicPlural$Getter $range .types$ $.|publicPlural$Getter
$end$ $end$
} }
...@@ -139,7 +135,7 @@ type $.GroupVersion$Interface interface { ...@@ -139,7 +135,7 @@ type $.GroupVersion$Interface interface {
var groupClientTemplate = ` var groupClientTemplate = `
// $.GroupVersion$Client is used to interact with features provided by the $.groupName$ group. // $.GroupVersion$Client is used to interact with features provided by the $.groupName$ group.
type $.GroupVersion$Client struct { type $.GroupVersion$Client struct {
restClient $.RESTClientInterface|raw$ restClient $.restRESTClientInterface|raw$
} }
` `
...@@ -157,12 +153,12 @@ func (c *$.GroupVersion$Client) $.type|publicPlural$() $.type|public$Interface { ...@@ -157,12 +153,12 @@ func (c *$.GroupVersion$Client) $.type|publicPlural$() $.type|public$Interface {
var newClientForConfigTemplate = ` var newClientForConfigTemplate = `
// NewForConfig creates a new $.GroupVersion$Client for the given config. // NewForConfig creates a new $.GroupVersion$Client for the given config.
func NewForConfig(c *$.Config|raw$) (*$.GroupVersion$Client, error) { func NewForConfig(c *$.restConfig|raw$) (*$.GroupVersion$Client, error) {
config := *c config := *c
if err := setConfigDefaults(&config); err != nil { if err := setConfigDefaults(&config); err != nil {
return nil, err return nil, err
} }
client, err := $.RESTClientFor|raw$(&config) client, err := $.restRESTClientFor|raw$(&config)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -173,7 +169,7 @@ func NewForConfig(c *$.Config|raw$) (*$.GroupVersion$Client, error) { ...@@ -173,7 +169,7 @@ func NewForConfig(c *$.Config|raw$) (*$.GroupVersion$Client, error) {
var newClientForConfigOrDieTemplate = ` var newClientForConfigOrDieTemplate = `
// NewForConfigOrDie creates a new $.GroupVersion$Client for the given config and // NewForConfigOrDie creates a new $.GroupVersion$Client for the given config and
// panics if there is an error in the config. // panics if there is an error in the config.
func NewForConfigOrDie(c *$.Config|raw$) *$.GroupVersion$Client { func NewForConfigOrDie(c *$.restConfig|raw$) *$.GroupVersion$Client {
client, err := NewForConfig(c) client, err := NewForConfig(c)
if err != nil { if err != nil {
panic(err) panic(err)
...@@ -185,7 +181,7 @@ func NewForConfigOrDie(c *$.Config|raw$) *$.GroupVersion$Client { ...@@ -185,7 +181,7 @@ func NewForConfigOrDie(c *$.Config|raw$) *$.GroupVersion$Client {
var getRESTClient = ` var getRESTClient = `
// RESTClient returns a RESTClient that is used to communicate // RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation. // with API server by this client implementation.
func (c *$.GroupVersion$Client) RESTClient() $.RESTClientInterface|raw$ { func (c *$.GroupVersion$Client) RESTClient() $.restRESTClientInterface|raw$ {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -195,26 +191,27 @@ func (c *$.GroupVersion$Client) RESTClient() $.RESTClientInterface|raw$ { ...@@ -195,26 +191,27 @@ func (c *$.GroupVersion$Client) RESTClient() $.RESTClientInterface|raw$ {
var newClientForRESTClientTemplate = ` var newClientForRESTClientTemplate = `
// New creates a new $.GroupVersion$Client for the given RESTClient. // New creates a new $.GroupVersion$Client for the given RESTClient.
func New(c $.RESTClientInterface|raw$) *$.GroupVersion$Client { func New(c $.restRESTClientInterface|raw$) *$.GroupVersion$Client {
return &$.GroupVersion$Client{c} return &$.GroupVersion$Client{c}
} }
` `
var setInternalVersionClientDefaultsTemplate = ` var setInternalVersionClientDefaultsTemplate = `
func setConfigDefaults(config *$.Config|raw$) error { func setConfigDefaults(config *$.restConfig|raw$) error {
// if $.group$ group is not registered, return an error g, err := scheme.Registry.Group("$.groupName$")
g, err := $.apiRegistry|raw$.Group("$.groupName$")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = $.apiPath$ config.APIPath = $.apiPath$
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = $.DefaultKubernetesUserAgent|raw$() config.UserAgent = $.restDefaultKubernetesUserAgent|raw$()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = $.codecs|raw$ config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -222,28 +219,21 @@ func setConfigDefaults(config *$.Config|raw$) error { ...@@ -222,28 +219,21 @@ func setConfigDefaults(config *$.Config|raw$) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
` `
var setClientDefaultsTemplate = ` var setClientDefaultsTemplate = `
func setConfigDefaults(config *$.Config|raw$) error { func setConfigDefaults(config *$.restConfig|raw$) error {
gv, err := $.ParseGroupVersion|raw$("$.groupName$/$.version$") gv := $.SchemeGroupVersion|raw$
if err != nil { config.GroupVersion = &gv
return err
}
// if $.groupName$/$.version$ is not enabled, return an error
if ! $.apiRegistry|raw$.IsEnabledVersion(gv) {
return $.Errorf|raw$("$.groupName$/$.version$ is not enabled")
}
config.APIPath = $.apiPath$ config.APIPath = $.apiPath$
config.NegotiatedSerializer = $.serializerDirectCodecFactory|raw${CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = $.DefaultKubernetesUserAgent|raw$() config.UserAgent = $.restDefaultKubernetesUserAgent|raw$()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = $.directCodecFactory|raw${CodecFactory: $.codecs|raw$}
return nil return nil
} }
......
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package generators
import (
"fmt"
"io"
"os"
"path/filepath"
"strings"
"k8s.io/gengo/generator"
"k8s.io/gengo/namer"
"k8s.io/gengo/types"
clientgentypes "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/types"
)
// genScheme produces a package for a clientset with the scheme, codecs and parameter codecs.
type genScheme struct {
generator.DefaultGen
outputPackage string
groups []clientgentypes.GroupVersions
inputPackages map[clientgentypes.GroupVersion]string
outputPath string
imports namer.ImportTracker
schemeGenerated bool
}
func (g *genScheme) Namers(c *generator.Context) namer.NameSystems {
return namer.NameSystems{
"raw": namer.NewRawNamer(g.outputPackage, g.imports),
}
}
// We only want to call GenerateType() once.
func (g *genScheme) Filter(c *generator.Context, t *types.Type) bool {
ret := !g.schemeGenerated
g.schemeGenerated = true
return ret
}
func (g *genScheme) Imports(c *generator.Context) (imports []string) {
imports = append(imports, g.imports.ImportLines()...)
internal := g.internalClientset()
for _, group := range g.groups {
for _, version := range group.Versions {
packagePath := g.inputPackages[clientgentypes.GroupVersion{Group: group.Group, Version: version}]
if internal {
// import the install package for internal clientsets instead of the type package with register.go
if version != "" {
packagePath = filepath.Dir(packagePath)
}
packagePath = filepath.Join(packagePath, "install")
imports = append(imports, strings.ToLower(fmt.Sprintf("%s \"%s\"", group.Group.NonEmpty(), packagePath)))
break
} else {
imports = append(imports, strings.ToLower(fmt.Sprintf("%s%s \"%s\"", group.Group.NonEmpty(), version.NonEmpty(), packagePath)))
}
}
}
return
}
func (g *genScheme) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$")
allGroupVersions := clientgentypes.ToGroupVersionPackages(g.groups)
allInstallGroups := clientgentypes.ToGroupInstallPackages(g.groups)
m := map[string]interface{}{
"allGroupVersions": allGroupVersions,
"allInstallGroups": allInstallGroups,
"customRegister": false,
"osGetenv": c.Universe.Function(types.Name{Package: "os", Name: "Getenv"}),
"runtimeNewParameterCodec": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewParameterCodec"}),
"runtimeNewScheme": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewScheme"}),
"serializerNewCodecFactory": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/serializer", Name: "NewCodecFactory"}),
"runtimeScheme": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Scheme"}),
"schemaGroupVersion": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}),
"metav1AddToGroupVersion": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}),
"announcedAPIGroupFactoryRegistry": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apimachinery/announced", Name: "APIGroupFactoryRegistry"}),
"registeredNewOrDie": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apimachinery/registered", Name: "NewOrDie"}),
"registeredAPIRegistrationManager": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apimachinery/registered", Name: "APIRegistrationManager"}),
}
sw.Do(globalsTemplate, m)
if _, err := os.Stat(filepath.Join(g.outputPath, strings.ToLower("register_custom.go"))); err == nil {
m["customRegister"] = true
}
if g.internalClientset() {
sw.Do(internalRegistration, m)
} else {
sw.Do(registration, m)
}
return sw.Error()
}
func (g *genScheme) internalClientset() bool {
for _, group := range g.groups {
for _, v := range group.Versions {
if v == "" {
return true
}
}
}
return false
}
var globalsTemplate = `
var Scheme = $.runtimeNewScheme|raw$()
var Codecs = $.serializerNewCodecFactory|raw$(Scheme)
var ParameterCodec = $.runtimeNewParameterCodec|raw$(Scheme)
`
var internalRegistration = `
var Registry = $.registeredNewOrDie|raw$($.osGetenv|raw$("KUBE_API_VERSIONS"))
var GroupFactoryRegistry = make($.announcedAPIGroupFactoryRegistry|raw$)
func init() {
$.metav1AddToGroupVersion|raw$(Scheme, $.schemaGroupVersion|raw${Version: "v1"})
Install(GroupFactoryRegistry, Registry, Scheme)
}
// Install registers the API group and adds types to a scheme
func Install(groupFactoryRegistry $.announcedAPIGroupFactoryRegistry|raw$, registry *$.registeredAPIRegistrationManager|raw$, scheme *$.runtimeScheme|raw$) {
$range .allInstallGroups$ $.InstallPackageName$.Install(groupFactoryRegistry, registry, scheme)
$end$
$if .customRegister$ExtraInstall(groupFactoryRegistry, registry, scheme)$end$
}
`
var registration = `
func init() {
$.metav1AddToGroupVersion|raw$(Scheme, $.schemaGroupVersion|raw${Version: "v1"})
AddToScheme(Scheme)
}
// AddToScheme adds all types of this clientset into the given scheme. This allows composition
// of clientsets, like in:
//
// import (
// "k8s.io/client-go/kubernetes"
// clientsetscheme "k8s.io/client-go/kuberentes/scheme"
// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
// )
//
// kclientset, _ := kubernetes.NewForConfig(c)
// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
// correctly.
func AddToScheme(scheme *$.runtimeScheme|raw$) {
$range .allGroupVersions$ $.PackageName$.AddToScheme(scheme)
$end$
$if .customRegister$ExtraAddToScheme(scheme)$end$
}
`
...@@ -29,11 +29,12 @@ import ( ...@@ -29,11 +29,12 @@ import (
// genClientForType produces a file for each top-level type. // genClientForType produces a file for each top-level type.
type genClientForType struct { type genClientForType struct {
generator.DefaultGen generator.DefaultGen
outputPackage string outputPackage string
group string clientsetPackage string
version string group string
typeToMatch *types.Type version string
imports namer.ImportTracker typeToMatch *types.Type
imports namer.ImportTracker
} }
var _ generator.Generator = &genClientForType{} var _ generator.Generator = &genClientForType{}
...@@ -78,19 +79,19 @@ func (g *genClientForType) GenerateType(c *generator.Context, t *types.Type, w i ...@@ -78,19 +79,19 @@ func (g *genClientForType) GenerateType(c *generator.Context, t *types.Type, w i
pkg := filepath.Base(t.Name.Package) pkg := filepath.Base(t.Name.Package)
namespaced := !extractBoolTagOrDie("nonNamespaced", t.SecondClosestCommentLines) namespaced := !extractBoolTagOrDie("nonNamespaced", t.SecondClosestCommentLines)
m := map[string]interface{}{ m := map[string]interface{}{
"type": t, "type": t,
"package": pkg, "package": pkg,
"Package": namer.IC(pkg), "Package": namer.IC(pkg),
"namespaced": namespaced, "namespaced": namespaced,
"Group": namer.IC(g.group), "Group": namer.IC(g.group),
"GroupVersion": namer.IC(g.group) + namer.IC(g.version), "GroupVersion": namer.IC(g.group) + namer.IC(g.version),
"DeleteOptions": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "DeleteOptions"}), "DeleteOptions": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "DeleteOptions"}),
"ListOptions": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "ListOptions"}), "ListOptions": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "ListOptions"}),
"GetOptions": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GetOptions"}), "GetOptions": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GetOptions"}),
"PatchType": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/types", Name: "PatchType"}), "PatchType": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/types", Name: "PatchType"}),
"watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"}), "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"}),
"RESTClientInterface": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Interface"}), "RESTClientInterface": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Interface"}),
"apiParameterCodec": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "ParameterCodec"}), "schemeParameterCodec": c.Universe.Variable(types.Name{Package: filepath.Join(g.clientsetPackage, "scheme"), Name: "ParameterCodec"}),
} }
sw.Do(getterComment, m) sw.Do(getterComment, m)
...@@ -224,7 +225,7 @@ func (c *$.type|privatePlural$) List(opts $.ListOptions|raw$) (result *$.type|ra ...@@ -224,7 +225,7 @@ func (c *$.type|privatePlural$) List(opts $.ListOptions|raw$) (result *$.type|ra
err = c.client.Get(). err = c.client.Get().
$if .namespaced$Namespace(c.ns).$end$ $if .namespaced$Namespace(c.ns).$end$
Resource("$.type|allLowercasePlural$"). Resource("$.type|allLowercasePlural$").
VersionedParams(&opts, $.apiParameterCodec|raw$). VersionedParams(&opts, $.schemeParameterCodec|raw$).
Do(). Do().
Into(result) Into(result)
return return
...@@ -238,7 +239,7 @@ func (c *$.type|privatePlural$) Get(name string, options $.GetOptions|raw$) (res ...@@ -238,7 +239,7 @@ func (c *$.type|privatePlural$) Get(name string, options $.GetOptions|raw$) (res
$if .namespaced$Namespace(c.ns).$end$ $if .namespaced$Namespace(c.ns).$end$
Resource("$.type|allLowercasePlural$"). Resource("$.type|allLowercasePlural$").
Name(name). Name(name).
VersionedParams(&options, $.apiParameterCodec|raw$). VersionedParams(&options, $.schemeParameterCodec|raw$).
Do(). Do().
Into(result) Into(result)
return return
...@@ -264,7 +265,7 @@ func (c *$.type|privatePlural$) DeleteCollection(options *$.DeleteOptions|raw$, ...@@ -264,7 +265,7 @@ func (c *$.type|privatePlural$) DeleteCollection(options *$.DeleteOptions|raw$,
return c.client.Delete(). return c.client.Delete().
$if .namespaced$Namespace(c.ns).$end$ $if .namespaced$Namespace(c.ns).$end$
Resource("$.type|allLowercasePlural$"). Resource("$.type|allLowercasePlural$").
VersionedParams(&listOptions, $.apiParameterCodec|raw$). VersionedParams(&listOptions, $.schemeParameterCodec|raw$).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -325,7 +326,7 @@ func (c *$.type|privatePlural$) Watch(opts $.ListOptions|raw$) ($.watchInterface ...@@ -325,7 +326,7 @@ func (c *$.type|privatePlural$) Watch(opts $.ListOptions|raw$) ($.watchInterface
Prefix("watch"). Prefix("watch").
$if .namespaced$Namespace(c.ns).$end$ $if .namespaced$Namespace(c.ns).$end$
Resource("$.type|allLowercasePlural$"). Resource("$.type|allLowercasePlural$").
VersionedParams(&opts, $.apiParameterCodec|raw$). VersionedParams(&opts, $.schemeParameterCodec|raw$).
Watch() Watch()
} }
` `
......
...@@ -15,12 +15,9 @@ go_library( ...@@ -15,12 +15,9 @@ go_library(
"//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library",
"//cmd/libs/go2idl/client-gen/test_apis/testgroup/v1:go_default_library", "//cmd/libs/go2idl/client-gen/test_apis/testgroup/v1:go_default_library",
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/apimachinery/announced",
"//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered",
"//vendor:k8s.io/apimachinery/pkg/apimachinery",
"//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/util/sets",
], ],
) )
......
...@@ -19,104 +19,31 @@ limitations under the License. ...@@ -19,104 +19,31 @@ limitations under the License.
package install package install
import ( import (
"fmt" "k8s.io/apimachinery/pkg/apimachinery/announced"
"k8s.io/apimachinery/pkg/apimachinery/registered"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/apimachinery"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup"
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
) )
const importPrefix = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup"
var accessor = meta.NewAccessor()
const groupName = "testgroup.k8s.io"
// availableVersions lists all known external versions for this group from most preferred to least preferred
var availableVersions = []schema.GroupVersion{{Group: groupName, Version: "v1"}}
func init() { func init() {
externalVersions := availableVersions Install(api.GroupFactoryRegistry, api.Registry, api.Scheme)
api.Registry.RegisterVersions(availableVersions)
if err := api.Registry.EnableVersions(externalVersions...); err != nil {
glog.V(4).Infof("%v", err)
return
}
if err := enableVersions(externalVersions); err != nil {
glog.V(4).Infof("%v", err)
return
}
} }
// TODO: enableVersions should be centralized rather than spread in each API // Install registers the API group and adds types to a scheme
// group. func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
// We can combine api.Registry.RegisterVersions, api.Registry.EnableVersions and if err := announced.NewGroupMetaFactory(
// api.Registry.RegisterGroup once we have moved enableVersions there. &announced.GroupMetaFactoryArgs{
func enableVersions(externalVersions []schema.GroupVersion) error { GroupName: testgroup.SchemeGroupVersion.Group,
addVersionsToScheme(externalVersions...) VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version},
preferredExternalVersion := externalVersions[0] ImportPrefix: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup",
AddInternalObjectsToScheme: testgroup.AddToScheme,
groupMeta := apimachinery.GroupMeta{ },
GroupVersion: preferredExternalVersion, announced.VersionToSchemeFunc{
GroupVersions: externalVersions, v1.SchemeGroupVersion.Version: v1.AddToScheme,
RESTMapper: newRESTMapper(externalVersions), },
SelfLinker: runtime.SelfLinker(accessor), ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil {
InterfacesFor: interfacesFor,
}
if err := api.Registry.RegisterGroup(groupMeta); err != nil {
return err
}
return nil
}
func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper {
// the list of kinds that are scoped at the root of the api hierarchy
// if a kind is not enumerated here, it is assumed to have a namespace scope
rootScoped := sets.NewString()
ignoredKinds := sets.NewString()
return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, api.Scheme)
}
// InterfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) {
switch version {
case v1.SchemeGroupVersion:
return &meta.VersionInterfaces{
ObjectConvertor: api.Scheme,
MetadataAccessor: accessor,
}, nil
default:
g, _ := api.Registry.Group(groupName)
return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions)
}
}
func addVersionsToScheme(externalVersions ...schema.GroupVersion) {
// add the internal version to Scheme
if err := testgroup.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err) panic(err)
} }
// add the enabled external versions to Scheme
for _, v := range externalVersions {
switch v {
case v1.SchemeGroupVersion:
if err := v1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
} }
...@@ -47,6 +47,7 @@ filegroup( ...@@ -47,6 +47,7 @@ filegroup(
srcs = [ srcs = [
":package-srcs", ":package-srcs",
"//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake:all-srcs", "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake:all-srcs",
"//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme:all-srcs",
"//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion:all-srcs", "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
......
...@@ -17,27 +17,27 @@ limitations under the License. ...@@ -17,27 +17,27 @@ limitations under the License.
package test_internalclientset package test_internalclientset
import ( import (
"github.com/golang/glog" glog "github.com/golang/glog"
discovery "k8s.io/client-go/discovery" discovery "k8s.io/client-go/discovery"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
"k8s.io/client-go/util/flowcontrol" flowcontrol "k8s.io/client-go/util/flowcontrol"
internalversiontestgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion" testgroupinternalversion "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion"
) )
type Interface interface { type Interface interface {
Discovery() discovery.DiscoveryInterface Discovery() discovery.DiscoveryInterface
Testgroup() internalversiontestgroup.TestgroupInterface Testgroup() testgroupinternalversion.TestgroupInterface
} }
// Clientset contains the clients for groups. Each group has exactly one // Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset. // version included in a Clientset.
type Clientset struct { type Clientset struct {
*discovery.DiscoveryClient *discovery.DiscoveryClient
*internalversiontestgroup.TestgroupClient *testgroupinternalversion.TestgroupClient
} }
// Testgroup retrieves the TestgroupClient // Testgroup retrieves the TestgroupClient
func (c *Clientset) Testgroup() internalversiontestgroup.TestgroupInterface { func (c *Clientset) Testgroup() testgroupinternalversion.TestgroupInterface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -60,7 +60,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { ...@@ -60,7 +60,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
} }
var cs Clientset var cs Clientset
var err error var err error
cs.TestgroupClient, err = internalversiontestgroup.NewForConfig(&configShallowCopy) cs.TestgroupClient, err = testgroupinternalversion.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -77,7 +77,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { ...@@ -77,7 +77,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
// panics if there is an error in the config. // panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *Clientset { func NewForConfigOrDie(c *rest.Config) *Clientset {
var cs Clientset var cs Clientset
cs.TestgroupClient = internalversiontestgroup.NewForConfigOrDie(c) cs.TestgroupClient = testgroupinternalversion.NewForConfigOrDie(c)
cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
return &cs return &cs
...@@ -86,7 +86,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { ...@@ -86,7 +86,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
// New creates a new Clientset for the given RESTClient. // New creates a new Clientset for the given RESTClient.
func New(c rest.Interface) *Clientset { func New(c rest.Interface) *Clientset {
var cs Clientset var cs Clientset
cs.TestgroupClient = internalversiontestgroup.New(c) cs.TestgroupClient = testgroupinternalversion.New(c)
cs.DiscoveryClient = discovery.NewDiscoveryClient(c) cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
return &cs return &cs
......
...@@ -23,8 +23,8 @@ import ( ...@@ -23,8 +23,8 @@ import (
fakediscovery "k8s.io/client-go/discovery/fake" fakediscovery "k8s.io/client-go/discovery/fake"
"k8s.io/client-go/testing" "k8s.io/client-go/testing"
clientset "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset" clientset "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset"
internalversiontestgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion" testgroupinternalversion "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion"
fakeinternalversiontestgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake" faketestgroupinternalversion "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
) )
...@@ -62,6 +62,6 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { ...@@ -62,6 +62,6 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface {
var _ clientset.Interface = &Clientset{} var _ clientset.Interface = &Clientset{}
// Testgroup retrieves the TestgroupClient // Testgroup retrieves the TestgroupClient
func (c *Clientset) Testgroup() internalversiontestgroup.TestgroupInterface { func (c *Clientset) Testgroup() testgroupinternalversion.TestgroupInterface {
return &fakeinternalversiontestgroup.FakeTestgroup{Fake: &c.Fake} return &faketestgroupinternalversion.FakeTestgroup{Fake: &c.Fake}
} }
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
],
tags = ["automanaged"],
deps = [
"//cmd/libs/go2idl/client-gen/test_apis/testgroup/install:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apimachinery/announced",
"//vendor:k8s.io/apimachinery/pkg/apimachinery/registered",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
/* /*
Copyright 2016 The Kubernetes Authors. Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
...@@ -14,12 +14,7 @@ See the License for the specific language governing permissions and ...@@ -14,12 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package federation_internalclientset // This package is generated by client-gen with custom arguments.
// These imports are the API groups the client will support. // This package contains the scheme of the automatically generated clientset.
import ( package scheme
_ "k8s.io/kubernetes/federation/apis/federation/install"
)
func init() {
}
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package scheme
import (
announced "k8s.io/apimachinery/pkg/apimachinery/announced"
registered "k8s.io/apimachinery/pkg/apimachinery/registered"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/install"
os "os"
)
var Scheme = runtime.NewScheme()
var Codecs = serializer.NewCodecFactory(Scheme)
var ParameterCodec = runtime.NewParameterCodec(Scheme)
var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
var GroupFactoryRegistry = make(announced.APIGroupFactoryRegistry)
func init() {
v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
Install(GroupFactoryRegistry, Registry, Scheme)
}
// Install registers the API group and adds types to a scheme
func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
testgroup.Install(groupFactoryRegistry, registry, scheme)
}
...@@ -18,7 +18,7 @@ go_library( ...@@ -18,7 +18,7 @@ go_library(
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library",
"//pkg/api:go_default_library", "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -18,7 +18,7 @@ package internalversion ...@@ -18,7 +18,7 @@ package internalversion
import ( import (
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme"
) )
type TestgroupInterface interface { type TestgroupInterface interface {
...@@ -64,20 +64,20 @@ func New(c rest.Interface) *TestgroupClient { ...@@ -64,20 +64,20 @@ func New(c rest.Interface) *TestgroupClient {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
// if testgroup group is not registered, return an error g, err := scheme.Registry.Group("testgroup.k8s.io")
g, err := api.Registry.Group("testgroup.k8s.io")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = "/apis" config.APIPath = "/apis"
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = api.Codecs config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error { ...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
......
...@@ -22,7 +22,7 @@ import ( ...@@ -22,7 +22,7 @@ import (
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/scheme"
) )
// TestTypesGetter has a method to return a TestTypeInterface. // TestTypesGetter has a method to return a TestTypeInterface.
...@@ -116,7 +116,7 @@ func (c *testTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.L ...@@ -116,7 +116,7 @@ func (c *testTypes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.L
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("testtypes"). Resource("testtypes").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *testTypes) Get(name string, options v1.GetOptions) (result *testgroup.T ...@@ -129,7 +129,7 @@ func (c *testTypes) Get(name string, options v1.GetOptions) (result *testgroup.T
Namespace(c.ns). Namespace(c.ns).
Resource("testtypes"). Resource("testtypes").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *testTypes) List(opts v1.ListOptions) (result *testgroup.TestTypeList, e ...@@ -141,7 +141,7 @@ func (c *testTypes) List(opts v1.ListOptions) (result *testgroup.TestTypeList, e
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("testtypes"). Resource("testtypes").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *testTypes) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *testTypes) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("testtypes"). Resource("testtypes").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -94,7 +94,7 @@ func ToGroupVersionPackages(groups []GroupVersions) []GroupVersionPackage { ...@@ -94,7 +94,7 @@ func ToGroupVersionPackages(groups []GroupVersions) []GroupVersionPackage {
Group: Group(namer.IC(group.Group.NonEmpty())), Group: Group(namer.IC(group.Group.NonEmpty())),
Version: Version(namer.IC(version.String())), Version: Version(namer.IC(version.String())),
GroupVersion: namer.IC(group.Group.NonEmpty()) + namer.IC(version.String()), GroupVersion: namer.IC(group.Group.NonEmpty()) + namer.IC(version.String()),
PackageName: strings.ToLower(version.NonEmpty() + group.Group.NonEmpty()), PackageName: strings.ToLower(group.Group.NonEmpty() + version.NonEmpty()),
IsDefaultVersion: version == defaultVersion && version != "", IsDefaultVersion: version == defaultVersion && version != "",
}) })
} }
...@@ -102,6 +102,17 @@ func ToGroupVersionPackages(groups []GroupVersions) []GroupVersionPackage { ...@@ -102,6 +102,17 @@ func ToGroupVersionPackages(groups []GroupVersions) []GroupVersionPackage {
return groupVersionPackages return groupVersionPackages
} }
func ToGroupInstallPackages(groups []GroupVersions) []GroupInstallPackage {
var groupInstallPackages []GroupInstallPackage
for _, group := range groups {
groupInstallPackages = append(groupInstallPackages, GroupInstallPackage{
Group: Group(namer.IC(group.Group.NonEmpty())),
InstallPackageName: strings.ToLower(group.Group.NonEmpty()),
})
}
return groupInstallPackages
}
// NormalizeGroupVersion calls normalizes the GroupVersion. // NormalizeGroupVersion calls normalizes the GroupVersion.
//func NormalizeGroupVersion(gv GroupVersion) GroupVersion { //func NormalizeGroupVersion(gv GroupVersion) GroupVersion {
// return GroupVersion{Group: gv.Group.NonEmpty(), Version: gv.Version, NonEmptyVersion: normalization.Version(gv.Version)} // return GroupVersion{Group: gv.Group.NonEmpty(), Version: gv.Version, NonEmptyVersion: normalization.Version(gv.Version)}
......
...@@ -62,3 +62,8 @@ type GroupVersionPackage struct { ...@@ -62,3 +62,8 @@ type GroupVersionPackage struct {
GroupVersion string GroupVersion string
PackageName string PackageName string
} }
type GroupInstallPackage struct {
Group Group
InstallPackageName string
}
...@@ -16,11 +16,9 @@ go_library( ...@@ -16,11 +16,9 @@ go_library(
"//federation/apis/federation:go_default_library", "//federation/apis/federation:go_default_library",
"//federation/apis/federation/v1beta1:go_default_library", "//federation/apis/federation/v1beta1:go_default_library",
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/apimachinery/announced",
"//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered",
"//vendor:k8s.io/apimachinery/pkg/apimachinery",
"//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/sets",
], ],
) )
...@@ -34,6 +32,7 @@ go_test( ...@@ -34,6 +32,7 @@ go_test(
"//federation/apis/federation:go_default_library", "//federation/apis/federation:go_default_library",
"//federation/apis/federation/v1beta1:go_default_library", "//federation/apis/federation/v1beta1:go_default_library",
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/api/meta",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime",
], ],
......
...@@ -17,117 +17,36 @@ limitations under the License. ...@@ -17,117 +17,36 @@ limitations under the License.
package install package install
import ( import (
"fmt" "k8s.io/apimachinery/pkg/apimachinery/announced"
"k8s.io/apimachinery/pkg/apimachinery/registered"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/apimachinery"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/apis/federation"
"k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/apis/federation/v1beta1"
"k8s.io/kubernetes/pkg/api"
) )
const importPrefix = "k8s.io/kubernetes/federation/apis/federation"
var accessor = meta.NewAccessor()
// availableVersions lists all known external versions for this group from most preferred to least preferred
var availableVersions = []schema.GroupVersion{v1beta1.SchemeGroupVersion}
func init() { func init() {
api.Registry.RegisterVersions(availableVersions) Install(api.GroupFactoryRegistry, api.Registry, api.Scheme)
externalVersions := []schema.GroupVersion{}
for _, v := range availableVersions {
if api.Registry.IsAllowedVersion(v) {
externalVersions = append(externalVersions, v)
}
}
if len(externalVersions) == 0 {
glog.V(4).Infof("No version is registered for group %v", federation.GroupName)
return
}
if err := api.Registry.EnableVersions(externalVersions...); err != nil {
glog.V(4).Infof("%v", err)
return
}
if err := enableVersions(externalVersions); err != nil {
glog.V(4).Infof("%v", err)
return
}
} }
// TODO: enableVersions should be centralized rather than spread in each API // Install registers the API group and adds types to a scheme
// group. func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
// We can combine api.Registry.RegisterVersions, api.Registry.EnableVersions and if err := announced.NewGroupMetaFactory(
// api.Registry.RegisterGroup once we have moved enableVersions there. &announced.GroupMetaFactoryArgs{
func enableVersions(externalVersions []schema.GroupVersion) error { GroupName: federation.GroupName,
addVersionsToScheme(externalVersions...) VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version},
preferredExternalVersion := externalVersions[0] ImportPrefix: "k8s.io/kubernetes/federation/apis/federation",
AddInternalObjectsToScheme: federation.AddToScheme,
groupMeta := apimachinery.GroupMeta{ RootScopedKinds: sets.NewString(
GroupVersion: preferredExternalVersion, "Cluster",
GroupVersions: externalVersions, ),
RESTMapper: newRESTMapper(externalVersions), },
SelfLinker: runtime.SelfLinker(accessor), announced.VersionToSchemeFunc{
InterfacesFor: interfacesFor, v1beta1.SchemeGroupVersion.Version: v1beta1.AddToScheme,
} },
).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil {
if err := api.Registry.RegisterGroup(groupMeta); err != nil {
return err
}
return nil
}
func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper {
// the list of kinds that are scoped at the root of the api hierarchy
// if a kind is not enumerated here, it is assumed to have a namespace scope
rootScoped := sets.NewString(
"Cluster",
)
ignoredKinds := sets.NewString()
return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, api.Scheme)
}
// interfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) {
switch version {
case v1beta1.SchemeGroupVersion:
return &meta.VersionInterfaces{
ObjectConvertor: api.Scheme,
MetadataAccessor: accessor,
}, nil
default:
g, _ := api.Registry.Group(federation.GroupName)
return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions)
}
}
func addVersionsToScheme(externalVersions ...schema.GroupVersion) {
// add the internal version to Scheme
if err := federation.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err) panic(err)
} }
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !api.Registry.IsEnabledVersion(v) {
glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v)
continue
}
switch v {
case v1beta1.SchemeGroupVersion:
if err := v1beta1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
} }
...@@ -20,6 +20,7 @@ import ( ...@@ -20,6 +20,7 @@ import (
"encoding/json" "encoding/json"
"testing" "testing"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/apis/federation"
...@@ -28,6 +29,7 @@ import ( ...@@ -28,6 +29,7 @@ import (
) )
func TestResourceVersioner(t *testing.T) { func TestResourceVersioner(t *testing.T) {
accessor := meta.NewAccessor()
cluster := federation.Cluster{ObjectMeta: metav1.ObjectMeta{ResourceVersion: "10"}} cluster := federation.Cluster{ObjectMeta: metav1.ObjectMeta{ResourceVersion: "10"}}
version, err := accessor.ResourceVersion(&cluster) version, err := accessor.ResourceVersion(&cluster)
if err != nil { if err != nil {
......
...@@ -41,6 +41,7 @@ filegroup( ...@@ -41,6 +41,7 @@ filegroup(
srcs = [ srcs = [
":package-srcs", ":package-srcs",
"//federation/client/clientset_generated/federation_clientset/fake:all-srcs", "//federation/client/clientset_generated/federation_clientset/fake:all-srcs",
"//federation/client/clientset_generated/federation_clientset/scheme:all-srcs",
"//federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1:all-srcs", "//federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1:all-srcs",
"//federation/client/clientset_generated/federation_clientset/typed/batch/v1:all-srcs", "//federation/client/clientset_generated/federation_clientset/typed/batch/v1:all-srcs",
"//federation/client/clientset_generated/federation_clientset/typed/core/v1:all-srcs", "//federation/client/clientset_generated/federation_clientset/typed/core/v1:all-srcs",
......
...@@ -17,49 +17,49 @@ limitations under the License. ...@@ -17,49 +17,49 @@ limitations under the License.
package federation_clientset package federation_clientset
import ( import (
"github.com/golang/glog" glog "github.com/golang/glog"
discovery "k8s.io/client-go/discovery" discovery "k8s.io/client-go/discovery"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
"k8s.io/client-go/util/flowcontrol" flowcontrol "k8s.io/client-go/util/flowcontrol"
v1autoscaling "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1" autoscalingv1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1"
v1batch "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1" batchv1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1"
v1core "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1" corev1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1"
v1beta1extensions "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1" extensionsv1beta1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1"
v1beta1federation "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1" federationv1beta1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1"
) )
type Interface interface { type Interface interface {
Discovery() discovery.DiscoveryInterface Discovery() discovery.DiscoveryInterface
CoreV1() v1core.CoreV1Interface CoreV1() corev1.CoreV1Interface
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Core() v1core.CoreV1Interface Core() corev1.CoreV1Interface
AutoscalingV1() v1autoscaling.AutoscalingV1Interface AutoscalingV1() autoscalingv1.AutoscalingV1Interface
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Autoscaling() v1autoscaling.AutoscalingV1Interface Autoscaling() autoscalingv1.AutoscalingV1Interface
BatchV1() v1batch.BatchV1Interface BatchV1() batchv1.BatchV1Interface
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Batch() v1batch.BatchV1Interface Batch() batchv1.BatchV1Interface
ExtensionsV1beta1() v1beta1extensions.ExtensionsV1beta1Interface ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Extensions() v1beta1extensions.ExtensionsV1beta1Interface Extensions() extensionsv1beta1.ExtensionsV1beta1Interface
FederationV1beta1() v1beta1federation.FederationV1beta1Interface FederationV1beta1() federationv1beta1.FederationV1beta1Interface
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Federation() v1beta1federation.FederationV1beta1Interface Federation() federationv1beta1.FederationV1beta1Interface
} }
// Clientset contains the clients for groups. Each group has exactly one // Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset. // version included in a Clientset.
type Clientset struct { type Clientset struct {
*discovery.DiscoveryClient *discovery.DiscoveryClient
*v1core.CoreV1Client *corev1.CoreV1Client
*v1autoscaling.AutoscalingV1Client *autoscalingv1.AutoscalingV1Client
*v1batch.BatchV1Client *batchv1.BatchV1Client
*v1beta1extensions.ExtensionsV1beta1Client *extensionsv1beta1.ExtensionsV1beta1Client
*v1beta1federation.FederationV1beta1Client *federationv1beta1.FederationV1beta1Client
} }
// CoreV1 retrieves the CoreV1Client // CoreV1 retrieves the CoreV1Client
func (c *Clientset) CoreV1() v1core.CoreV1Interface { func (c *Clientset) CoreV1() corev1.CoreV1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -68,7 +68,7 @@ func (c *Clientset) CoreV1() v1core.CoreV1Interface { ...@@ -68,7 +68,7 @@ func (c *Clientset) CoreV1() v1core.CoreV1Interface {
// Deprecated: Core retrieves the default version of CoreClient. // Deprecated: Core retrieves the default version of CoreClient.
// Please explicitly pick a version. // Please explicitly pick a version.
func (c *Clientset) Core() v1core.CoreV1Interface { func (c *Clientset) Core() corev1.CoreV1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -76,7 +76,7 @@ func (c *Clientset) Core() v1core.CoreV1Interface { ...@@ -76,7 +76,7 @@ func (c *Clientset) Core() v1core.CoreV1Interface {
} }
// AutoscalingV1 retrieves the AutoscalingV1Client // AutoscalingV1 retrieves the AutoscalingV1Client
func (c *Clientset) AutoscalingV1() v1autoscaling.AutoscalingV1Interface { func (c *Clientset) AutoscalingV1() autoscalingv1.AutoscalingV1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -85,7 +85,7 @@ func (c *Clientset) AutoscalingV1() v1autoscaling.AutoscalingV1Interface { ...@@ -85,7 +85,7 @@ func (c *Clientset) AutoscalingV1() v1autoscaling.AutoscalingV1Interface {
// Deprecated: Autoscaling retrieves the default version of AutoscalingClient. // Deprecated: Autoscaling retrieves the default version of AutoscalingClient.
// Please explicitly pick a version. // Please explicitly pick a version.
func (c *Clientset) Autoscaling() v1autoscaling.AutoscalingV1Interface { func (c *Clientset) Autoscaling() autoscalingv1.AutoscalingV1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -93,7 +93,7 @@ func (c *Clientset) Autoscaling() v1autoscaling.AutoscalingV1Interface { ...@@ -93,7 +93,7 @@ func (c *Clientset) Autoscaling() v1autoscaling.AutoscalingV1Interface {
} }
// BatchV1 retrieves the BatchV1Client // BatchV1 retrieves the BatchV1Client
func (c *Clientset) BatchV1() v1batch.BatchV1Interface { func (c *Clientset) BatchV1() batchv1.BatchV1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -102,7 +102,7 @@ func (c *Clientset) BatchV1() v1batch.BatchV1Interface { ...@@ -102,7 +102,7 @@ func (c *Clientset) BatchV1() v1batch.BatchV1Interface {
// Deprecated: Batch retrieves the default version of BatchClient. // Deprecated: Batch retrieves the default version of BatchClient.
// Please explicitly pick a version. // Please explicitly pick a version.
func (c *Clientset) Batch() v1batch.BatchV1Interface { func (c *Clientset) Batch() batchv1.BatchV1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -110,7 +110,7 @@ func (c *Clientset) Batch() v1batch.BatchV1Interface { ...@@ -110,7 +110,7 @@ func (c *Clientset) Batch() v1batch.BatchV1Interface {
} }
// ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client // ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client
func (c *Clientset) ExtensionsV1beta1() v1beta1extensions.ExtensionsV1beta1Interface { func (c *Clientset) ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -119,7 +119,7 @@ func (c *Clientset) ExtensionsV1beta1() v1beta1extensions.ExtensionsV1beta1Inter ...@@ -119,7 +119,7 @@ func (c *Clientset) ExtensionsV1beta1() v1beta1extensions.ExtensionsV1beta1Inter
// Deprecated: Extensions retrieves the default version of ExtensionsClient. // Deprecated: Extensions retrieves the default version of ExtensionsClient.
// Please explicitly pick a version. // Please explicitly pick a version.
func (c *Clientset) Extensions() v1beta1extensions.ExtensionsV1beta1Interface { func (c *Clientset) Extensions() extensionsv1beta1.ExtensionsV1beta1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -127,7 +127,7 @@ func (c *Clientset) Extensions() v1beta1extensions.ExtensionsV1beta1Interface { ...@@ -127,7 +127,7 @@ func (c *Clientset) Extensions() v1beta1extensions.ExtensionsV1beta1Interface {
} }
// FederationV1beta1 retrieves the FederationV1beta1Client // FederationV1beta1 retrieves the FederationV1beta1Client
func (c *Clientset) FederationV1beta1() v1beta1federation.FederationV1beta1Interface { func (c *Clientset) FederationV1beta1() federationv1beta1.FederationV1beta1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -136,7 +136,7 @@ func (c *Clientset) FederationV1beta1() v1beta1federation.FederationV1beta1Inter ...@@ -136,7 +136,7 @@ func (c *Clientset) FederationV1beta1() v1beta1federation.FederationV1beta1Inter
// Deprecated: Federation retrieves the default version of FederationClient. // Deprecated: Federation retrieves the default version of FederationClient.
// Please explicitly pick a version. // Please explicitly pick a version.
func (c *Clientset) Federation() v1beta1federation.FederationV1beta1Interface { func (c *Clientset) Federation() federationv1beta1.FederationV1beta1Interface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -159,23 +159,23 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { ...@@ -159,23 +159,23 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
} }
var cs Clientset var cs Clientset
var err error var err error
cs.CoreV1Client, err = v1core.NewForConfig(&configShallowCopy) cs.CoreV1Client, err = corev1.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.AutoscalingV1Client, err = v1autoscaling.NewForConfig(&configShallowCopy) cs.AutoscalingV1Client, err = autoscalingv1.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.BatchV1Client, err = v1batch.NewForConfig(&configShallowCopy) cs.BatchV1Client, err = batchv1.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.ExtensionsV1beta1Client, err = v1beta1extensions.NewForConfig(&configShallowCopy) cs.ExtensionsV1beta1Client, err = extensionsv1beta1.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.FederationV1beta1Client, err = v1beta1federation.NewForConfig(&configShallowCopy) cs.FederationV1beta1Client, err = federationv1beta1.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -192,11 +192,11 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { ...@@ -192,11 +192,11 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
// panics if there is an error in the config. // panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *Clientset { func NewForConfigOrDie(c *rest.Config) *Clientset {
var cs Clientset var cs Clientset
cs.CoreV1Client = v1core.NewForConfigOrDie(c) cs.CoreV1Client = corev1.NewForConfigOrDie(c)
cs.AutoscalingV1Client = v1autoscaling.NewForConfigOrDie(c) cs.AutoscalingV1Client = autoscalingv1.NewForConfigOrDie(c)
cs.BatchV1Client = v1batch.NewForConfigOrDie(c) cs.BatchV1Client = batchv1.NewForConfigOrDie(c)
cs.ExtensionsV1beta1Client = v1beta1extensions.NewForConfigOrDie(c) cs.ExtensionsV1beta1Client = extensionsv1beta1.NewForConfigOrDie(c)
cs.FederationV1beta1Client = v1beta1federation.NewForConfigOrDie(c) cs.FederationV1beta1Client = federationv1beta1.NewForConfigOrDie(c)
cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
return &cs return &cs
...@@ -205,11 +205,11 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { ...@@ -205,11 +205,11 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
// New creates a new Clientset for the given RESTClient. // New creates a new Clientset for the given RESTClient.
func New(c rest.Interface) *Clientset { func New(c rest.Interface) *Clientset {
var cs Clientset var cs Clientset
cs.CoreV1Client = v1core.New(c) cs.CoreV1Client = corev1.New(c)
cs.AutoscalingV1Client = v1autoscaling.New(c) cs.AutoscalingV1Client = autoscalingv1.New(c)
cs.BatchV1Client = v1batch.New(c) cs.BatchV1Client = batchv1.New(c)
cs.ExtensionsV1beta1Client = v1beta1extensions.New(c) cs.ExtensionsV1beta1Client = extensionsv1beta1.New(c)
cs.FederationV1beta1Client = v1beta1federation.New(c) cs.FederationV1beta1Client = federationv1beta1.New(c)
cs.DiscoveryClient = discovery.NewDiscoveryClient(c) cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
return &cs return &cs
......
...@@ -23,16 +23,16 @@ import ( ...@@ -23,16 +23,16 @@ import (
fakediscovery "k8s.io/client-go/discovery/fake" fakediscovery "k8s.io/client-go/discovery/fake"
"k8s.io/client-go/testing" "k8s.io/client-go/testing"
clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset"
v1autoscaling "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1" autoscalingv1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1"
fakev1autoscaling "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1/fake" fakeautoscalingv1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/autoscaling/v1/fake"
v1batch "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1" batchv1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1"
fakev1batch "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake" fakebatchv1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake"
v1core "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1" corev1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1"
fakev1core "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake" fakecorev1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake"
v1beta1extensions "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1" extensionsv1beta1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1"
fakev1beta1extensions "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake" fakeextensionsv1beta1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake"
v1beta1federation "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1" federationv1beta1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1"
fakev1beta1federation "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake" fakefederationv1beta1 "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
) )
...@@ -70,51 +70,51 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { ...@@ -70,51 +70,51 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface {
var _ clientset.Interface = &Clientset{} var _ clientset.Interface = &Clientset{}
// CoreV1 retrieves the CoreV1Client // CoreV1 retrieves the CoreV1Client
func (c *Clientset) CoreV1() v1core.CoreV1Interface { func (c *Clientset) CoreV1() corev1.CoreV1Interface {
return &fakev1core.FakeCoreV1{Fake: &c.Fake} return &fakecorev1.FakeCoreV1{Fake: &c.Fake}
} }
// Core retrieves the CoreV1Client // Core retrieves the CoreV1Client
func (c *Clientset) Core() v1core.CoreV1Interface { func (c *Clientset) Core() corev1.CoreV1Interface {
return &fakev1core.FakeCoreV1{Fake: &c.Fake} return &fakecorev1.FakeCoreV1{Fake: &c.Fake}
} }
// AutoscalingV1 retrieves the AutoscalingV1Client // AutoscalingV1 retrieves the AutoscalingV1Client
func (c *Clientset) AutoscalingV1() v1autoscaling.AutoscalingV1Interface { func (c *Clientset) AutoscalingV1() autoscalingv1.AutoscalingV1Interface {
return &fakev1autoscaling.FakeAutoscalingV1{Fake: &c.Fake} return &fakeautoscalingv1.FakeAutoscalingV1{Fake: &c.Fake}
} }
// Autoscaling retrieves the AutoscalingV1Client // Autoscaling retrieves the AutoscalingV1Client
func (c *Clientset) Autoscaling() v1autoscaling.AutoscalingV1Interface { func (c *Clientset) Autoscaling() autoscalingv1.AutoscalingV1Interface {
return &fakev1autoscaling.FakeAutoscalingV1{Fake: &c.Fake} return &fakeautoscalingv1.FakeAutoscalingV1{Fake: &c.Fake}
} }
// BatchV1 retrieves the BatchV1Client // BatchV1 retrieves the BatchV1Client
func (c *Clientset) BatchV1() v1batch.BatchV1Interface { func (c *Clientset) BatchV1() batchv1.BatchV1Interface {
return &fakev1batch.FakeBatchV1{Fake: &c.Fake} return &fakebatchv1.FakeBatchV1{Fake: &c.Fake}
} }
// Batch retrieves the BatchV1Client // Batch retrieves the BatchV1Client
func (c *Clientset) Batch() v1batch.BatchV1Interface { func (c *Clientset) Batch() batchv1.BatchV1Interface {
return &fakev1batch.FakeBatchV1{Fake: &c.Fake} return &fakebatchv1.FakeBatchV1{Fake: &c.Fake}
} }
// ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client // ExtensionsV1beta1 retrieves the ExtensionsV1beta1Client
func (c *Clientset) ExtensionsV1beta1() v1beta1extensions.ExtensionsV1beta1Interface { func (c *Clientset) ExtensionsV1beta1() extensionsv1beta1.ExtensionsV1beta1Interface {
return &fakev1beta1extensions.FakeExtensionsV1beta1{Fake: &c.Fake} return &fakeextensionsv1beta1.FakeExtensionsV1beta1{Fake: &c.Fake}
} }
// Extensions retrieves the ExtensionsV1beta1Client // Extensions retrieves the ExtensionsV1beta1Client
func (c *Clientset) Extensions() v1beta1extensions.ExtensionsV1beta1Interface { func (c *Clientset) Extensions() extensionsv1beta1.ExtensionsV1beta1Interface {
return &fakev1beta1extensions.FakeExtensionsV1beta1{Fake: &c.Fake} return &fakeextensionsv1beta1.FakeExtensionsV1beta1{Fake: &c.Fake}
} }
// FederationV1beta1 retrieves the FederationV1beta1Client // FederationV1beta1 retrieves the FederationV1beta1Client
func (c *Clientset) FederationV1beta1() v1beta1federation.FederationV1beta1Interface { func (c *Clientset) FederationV1beta1() federationv1beta1.FederationV1beta1Interface {
return &fakev1beta1federation.FakeFederationV1beta1{Fake: &c.Fake} return &fakefederationv1beta1.FakeFederationV1beta1{Fake: &c.Fake}
} }
// Federation retrieves the FederationV1beta1Client // Federation retrieves the FederationV1beta1Client
func (c *Clientset) Federation() v1beta1federation.FederationV1beta1Interface { func (c *Clientset) Federation() federationv1beta1.FederationV1beta1Interface {
return &fakev1beta1federation.FakeFederationV1beta1{Fake: &c.Fake} return &fakefederationv1beta1.FakeFederationV1beta1{Fake: &c.Fake}
} }
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
],
tags = ["automanaged"],
deps = [
"//federation/apis/federation/v1beta1:go_default_library",
"//pkg/api/v1:go_default_library",
"//pkg/apis/autoscaling/v1:go_default_library",
"//pkg/apis/batch/v1:go_default_library",
"//pkg/apis/extensions/v1beta1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This package is generated by client-gen with custom arguments.
// This package contains the scheme of the automatically generated clientset.
package scheme
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package scheme
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
federationv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1"
corev1 "k8s.io/kubernetes/pkg/api/v1"
autoscalingv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
)
var Scheme = runtime.NewScheme()
var Codecs = serializer.NewCodecFactory(Scheme)
var ParameterCodec = runtime.NewParameterCodec(Scheme)
func init() {
v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
AddToScheme(Scheme)
}
// AddToScheme adds all types of this clientset into the given scheme. This allows composition
// of clientsets, like in:
//
// import (
// "k8s.io/client-go/kubernetes"
// clientsetscheme "k8s.io/client-go/kuberentes/scheme"
// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
// )
//
// kclientset, _ := kubernetes.NewForConfig(c)
// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
// correctly.
func AddToScheme(scheme *runtime.Scheme) {
corev1.AddToScheme(scheme)
autoscalingv1.AddToScheme(scheme)
batchv1.AddToScheme(scheme)
extensionsv1beta1.AddToScheme(scheme)
federationv1beta1.AddToScheme(scheme)
}
...@@ -17,10 +17,9 @@ go_library( ...@@ -17,10 +17,9 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_clientset/scheme:go_default_library",
"//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1 package v1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
) )
type AutoscalingV1Interface interface { type AutoscalingV1Interface interface {
...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AutoscalingV1Client { ...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AutoscalingV1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("autoscaling/v1") gv := v1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if autoscaling/v1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("autoscaling/v1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
) )
...@@ -116,7 +116,7 @@ func (c *horizontalPodAutoscalers) DeleteCollection(options *meta_v1.DeleteOptio ...@@ -116,7 +116,7 @@ func (c *horizontalPodAutoscalers) DeleteCollection(options *meta_v1.DeleteOptio
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *horizontalPodAutoscalers) Get(name string, options meta_v1.GetOptions) ...@@ -129,7 +129,7 @@ func (c *horizontalPodAutoscalers) Get(name string, options meta_v1.GetOptions)
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *horizontalPodAutoscalers) List(opts meta_v1.ListOptions) (result *v1.Ho ...@@ -141,7 +141,7 @@ func (c *horizontalPodAutoscalers) List(opts meta_v1.ListOptions) (result *v1.Ho
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *horizontalPodAutoscalers) Watch(opts meta_v1.ListOptions) (watch.Interf ...@@ -153,7 +153,7 @@ func (c *horizontalPodAutoscalers) Watch(opts meta_v1.ListOptions) (watch.Interf
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -17,10 +17,9 @@ go_library( ...@@ -17,10 +17,9 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_clientset/scheme:go_default_library",
"//pkg/apis/batch/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1 package v1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/apis/batch/v1"
) )
type BatchV1Interface interface { type BatchV1Interface interface {
...@@ -67,22 +66,14 @@ func New(c rest.Interface) *BatchV1Client { ...@@ -67,22 +66,14 @@ func New(c rest.Interface) *BatchV1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("batch/v1") gv := v1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if batch/v1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("batch/v1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/apis/batch/v1" v1 "k8s.io/kubernetes/pkg/apis/batch/v1"
) )
...@@ -116,7 +116,7 @@ func (c *jobs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta ...@@ -116,7 +116,7 @@ func (c *jobs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *jobs) Get(name string, options meta_v1.GetOptions) (result *v1.Job, err ...@@ -129,7 +129,7 @@ func (c *jobs) Get(name string, options meta_v1.GetOptions) (result *v1.Job, err
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *jobs) List(opts meta_v1.ListOptions) (result *v1.JobList, err error) { ...@@ -141,7 +141,7 @@ func (c *jobs) List(opts meta_v1.ListOptions) (result *v1.JobList, err error) {
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *jobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *jobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -22,10 +22,9 @@ go_library( ...@@ -22,10 +22,9 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_clientset/scheme:go_default_library",
"//pkg/api/v1:go_default_library", "//pkg/api/v1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
) )
...@@ -99,7 +99,7 @@ func (c *configMaps) DeleteCollection(options *meta_v1.DeleteOptions, listOption ...@@ -99,7 +99,7 @@ func (c *configMaps) DeleteCollection(options *meta_v1.DeleteOptions, listOption
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -112,7 +112,7 @@ func (c *configMaps) Get(name string, options meta_v1.GetOptions) (result *v1.Co ...@@ -112,7 +112,7 @@ func (c *configMaps) Get(name string, options meta_v1.GetOptions) (result *v1.Co
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -124,7 +124,7 @@ func (c *configMaps) List(opts meta_v1.ListOptions) (result *v1.ConfigMapList, e ...@@ -124,7 +124,7 @@ func (c *configMaps) List(opts meta_v1.ListOptions) (result *v1.ConfigMapList, e
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -136,7 +136,7 @@ func (c *configMaps) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { ...@@ -136,7 +136,7 @@ func (c *configMaps) Watch(opts meta_v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1 package v1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/api/v1"
) )
type CoreV1Interface interface { type CoreV1Interface interface {
...@@ -87,22 +86,14 @@ func New(c rest.Interface) *CoreV1Client { ...@@ -87,22 +86,14 @@ func New(c rest.Interface) *CoreV1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("/v1") gv := v1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if /v1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("/v1 is not enabled")
}
config.APIPath = "/api" config.APIPath = "/api"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
) )
...@@ -99,7 +99,7 @@ func (c *events) DeleteCollection(options *meta_v1.DeleteOptions, listOptions me ...@@ -99,7 +99,7 @@ func (c *events) DeleteCollection(options *meta_v1.DeleteOptions, listOptions me
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -112,7 +112,7 @@ func (c *events) Get(name string, options meta_v1.GetOptions) (result *v1.Event, ...@@ -112,7 +112,7 @@ func (c *events) Get(name string, options meta_v1.GetOptions) (result *v1.Event,
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -124,7 +124,7 @@ func (c *events) List(opts meta_v1.ListOptions) (result *v1.EventList, err error ...@@ -124,7 +124,7 @@ func (c *events) List(opts meta_v1.ListOptions) (result *v1.EventList, err error
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -136,7 +136,7 @@ func (c *events) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { ...@@ -136,7 +136,7 @@ func (c *events) Watch(opts meta_v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
) )
...@@ -109,7 +109,7 @@ func (c *namespaces) Delete(name string, options *meta_v1.DeleteOptions) error { ...@@ -109,7 +109,7 @@ func (c *namespaces) Delete(name string, options *meta_v1.DeleteOptions) error {
func (c *namespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { func (c *namespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error {
return c.client.Delete(). return c.client.Delete().
Resource("namespaces"). Resource("namespaces").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -121,7 +121,7 @@ func (c *namespaces) Get(name string, options meta_v1.GetOptions) (result *v1.Na ...@@ -121,7 +121,7 @@ func (c *namespaces) Get(name string, options meta_v1.GetOptions) (result *v1.Na
err = c.client.Get(). err = c.client.Get().
Resource("namespaces"). Resource("namespaces").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -132,7 +132,7 @@ func (c *namespaces) List(opts meta_v1.ListOptions) (result *v1.NamespaceList, e ...@@ -132,7 +132,7 @@ func (c *namespaces) List(opts meta_v1.ListOptions) (result *v1.NamespaceList, e
result = &v1.NamespaceList{} result = &v1.NamespaceList{}
err = c.client.Get(). err = c.client.Get().
Resource("namespaces"). Resource("namespaces").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -143,7 +143,7 @@ func (c *namespaces) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { ...@@ -143,7 +143,7 @@ func (c *namespaces) Watch(opts meta_v1.ListOptions) (watch.Interface, error) {
return c.client.Get(). return c.client.Get().
Prefix("watch"). Prefix("watch").
Resource("namespaces"). Resource("namespaces").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
) )
...@@ -99,7 +99,7 @@ func (c *secrets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions m ...@@ -99,7 +99,7 @@ func (c *secrets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions m
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -112,7 +112,7 @@ func (c *secrets) Get(name string, options meta_v1.GetOptions) (result *v1.Secre ...@@ -112,7 +112,7 @@ func (c *secrets) Get(name string, options meta_v1.GetOptions) (result *v1.Secre
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -124,7 +124,7 @@ func (c *secrets) List(opts meta_v1.ListOptions) (result *v1.SecretList, err err ...@@ -124,7 +124,7 @@ func (c *secrets) List(opts meta_v1.ListOptions) (result *v1.SecretList, err err
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -136,7 +136,7 @@ func (c *secrets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { ...@@ -136,7 +136,7 @@ func (c *secrets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
) )
...@@ -116,7 +116,7 @@ func (c *services) DeleteCollection(options *meta_v1.DeleteOptions, listOptions ...@@ -116,7 +116,7 @@ func (c *services) DeleteCollection(options *meta_v1.DeleteOptions, listOptions
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *services) Get(name string, options meta_v1.GetOptions) (result *v1.Serv ...@@ -129,7 +129,7 @@ func (c *services) Get(name string, options meta_v1.GetOptions) (result *v1.Serv
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *services) List(opts meta_v1.ListOptions) (result *v1.ServiceList, err e ...@@ -141,7 +141,7 @@ func (c *services) List(opts meta_v1.ListOptions) (result *v1.ServiceList, err e
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *services) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *services) Watch(opts meta_v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,10 +21,9 @@ go_library( ...@@ -21,10 +21,9 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_clientset/scheme:go_default_library",
"//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
) )
...@@ -116,7 +116,7 @@ func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1. ...@@ -116,7 +116,7 @@ func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *daemonSets) Get(name string, options v1.GetOptions) (result *v1beta1.Da ...@@ -129,7 +129,7 @@ func (c *daemonSets) Get(name string, options v1.GetOptions) (result *v1beta1.Da
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *daemonSets) List(opts v1.ListOptions) (result *v1beta1.DaemonSetList, e ...@@ -141,7 +141,7 @@ func (c *daemonSets) List(opts v1.ListOptions) (result *v1beta1.DaemonSetList, e
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
) )
...@@ -116,7 +116,7 @@ func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1 ...@@ -116,7 +116,7 @@ func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *deployments) Get(name string, options v1.GetOptions) (result *v1beta1.D ...@@ -129,7 +129,7 @@ func (c *deployments) Get(name string, options v1.GetOptions) (result *v1beta1.D
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *deployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, ...@@ -141,7 +141,7 @@ func (c *deployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList,
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
) )
type ExtensionsV1beta1Interface interface { type ExtensionsV1beta1Interface interface {
...@@ -82,22 +81,14 @@ func New(c rest.Interface) *ExtensionsV1beta1Client { ...@@ -82,22 +81,14 @@ func New(c rest.Interface) *ExtensionsV1beta1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("extensions/v1beta1") gv := v1beta1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if extensions/v1beta1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("extensions/v1beta1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
) )
...@@ -116,7 +116,7 @@ func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.L ...@@ -116,7 +116,7 @@ func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.L
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *ingresses) Get(name string, options v1.GetOptions) (result *v1beta1.Ing ...@@ -129,7 +129,7 @@ func (c *ingresses) Get(name string, options v1.GetOptions) (result *v1beta1.Ing
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *ingresses) List(opts v1.ListOptions) (result *v1beta1.IngressList, err ...@@ -141,7 +141,7 @@ func (c *ingresses) List(opts v1.ListOptions) (result *v1beta1.IngressList, err
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *ingresses) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *ingresses) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
) )
...@@ -116,7 +116,7 @@ func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1 ...@@ -116,7 +116,7 @@ func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *replicaSets) Get(name string, options v1.GetOptions) (result *v1beta1.R ...@@ -129,7 +129,7 @@ func (c *replicaSets) Get(name string, options v1.GetOptions) (result *v1beta1.R
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *replicaSets) List(opts v1.ListOptions) (result *v1beta1.ReplicaSetList, ...@@ -141,7 +141,7 @@ func (c *replicaSets) List(opts v1.ListOptions) (result *v1beta1.ReplicaSetList,
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -18,9 +18,8 @@ go_library( ...@@ -18,9 +18,8 @@ go_library(
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//federation/apis/federation/v1beta1:go_default_library", "//federation/apis/federation/v1beta1:go_default_library",
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_clientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -22,7 +22,7 @@ import ( ...@@ -22,7 +22,7 @@ import (
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
) )
// ClustersGetter has a method to return a ClusterInterface. // ClustersGetter has a method to return a ClusterInterface.
...@@ -109,7 +109,7 @@ func (c *clusters) Delete(name string, options *v1.DeleteOptions) error { ...@@ -109,7 +109,7 @@ func (c *clusters) Delete(name string, options *v1.DeleteOptions) error {
func (c *clusters) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { func (c *clusters) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete(). return c.client.Delete().
Resource("clusters"). Resource("clusters").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -121,7 +121,7 @@ func (c *clusters) Get(name string, options v1.GetOptions) (result *v1beta1.Clus ...@@ -121,7 +121,7 @@ func (c *clusters) Get(name string, options v1.GetOptions) (result *v1beta1.Clus
err = c.client.Get(). err = c.client.Get().
Resource("clusters"). Resource("clusters").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -132,7 +132,7 @@ func (c *clusters) List(opts v1.ListOptions) (result *v1beta1.ClusterList, err e ...@@ -132,7 +132,7 @@ func (c *clusters) List(opts v1.ListOptions) (result *v1beta1.ClusterList, err e
result = &v1beta1.ClusterList{} result = &v1beta1.ClusterList{}
err = c.client.Get(). err = c.client.Get().
Resource("clusters"). Resource("clusters").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -143,7 +143,7 @@ func (c *clusters) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -143,7 +143,7 @@ func (c *clusters) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.client.Get(). return c.client.Get().
Prefix("watch"). Prefix("watch").
Resource("clusters"). Resource("clusters").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1"
"k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/scheme"
) )
type FederationV1beta1Interface interface { type FederationV1beta1Interface interface {
...@@ -67,22 +66,14 @@ func New(c rest.Interface) *FederationV1beta1Client { ...@@ -67,22 +66,14 @@ func New(c rest.Interface) *FederationV1beta1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("federation/v1beta1") gv := v1beta1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if federation/v1beta1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("federation/v1beta1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -12,11 +12,9 @@ go_library( ...@@ -12,11 +12,9 @@ go_library(
srcs = [ srcs = [
"clientset.go", "clientset.go",
"doc.go", "doc.go",
"import_known_versions.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//federation/apis/federation/install:go_default_library",
"//federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion:go_default_library",
"//federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion:go_default_library",
"//federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion:go_default_library",
...@@ -41,6 +39,7 @@ filegroup( ...@@ -41,6 +39,7 @@ filegroup(
srcs = [ srcs = [
":package-srcs", ":package-srcs",
"//federation/client/clientset_generated/federation_internalclientset/fake:all-srcs", "//federation/client/clientset_generated/federation_internalclientset/fake:all-srcs",
"//federation/client/clientset_generated/federation_internalclientset/scheme:all-srcs",
"//federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion:all-srcs", "//federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion:all-srcs",
"//federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion:all-srcs", "//federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion:all-srcs",
"//federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion:all-srcs", "//federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion:all-srcs",
......
...@@ -17,43 +17,39 @@ limitations under the License. ...@@ -17,43 +17,39 @@ limitations under the License.
package federation_internalclientset package federation_internalclientset
import ( import (
"github.com/golang/glog" glog "github.com/golang/glog"
discovery "k8s.io/client-go/discovery" discovery "k8s.io/client-go/discovery"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
"k8s.io/client-go/util/flowcontrol" flowcontrol "k8s.io/client-go/util/flowcontrol"
internalversionautoscaling "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion" autoscalinginternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion"
internalversionbatch "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion" batchinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion"
internalversioncore "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion" coreinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion"
internalversionextensions "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion" extensionsinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion"
internalversionfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion" federationinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion"
) )
type Interface interface { type Interface interface {
Discovery() discovery.DiscoveryInterface Discovery() discovery.DiscoveryInterface
Core() internalversioncore.CoreInterface Core() coreinternalversion.CoreInterface
Autoscaling() autoscalinginternalversion.AutoscalingInterface
Autoscaling() internalversionautoscaling.AutoscalingInterface Batch() batchinternalversion.BatchInterface
Extensions() extensionsinternalversion.ExtensionsInterface
Batch() internalversionbatch.BatchInterface Federation() federationinternalversion.FederationInterface
Extensions() internalversionextensions.ExtensionsInterface
Federation() internalversionfederation.FederationInterface
} }
// Clientset contains the clients for groups. Each group has exactly one // Clientset contains the clients for groups. Each group has exactly one
// version included in a Clientset. // version included in a Clientset.
type Clientset struct { type Clientset struct {
*discovery.DiscoveryClient *discovery.DiscoveryClient
*internalversioncore.CoreClient *coreinternalversion.CoreClient
*internalversionautoscaling.AutoscalingClient *autoscalinginternalversion.AutoscalingClient
*internalversionbatch.BatchClient *batchinternalversion.BatchClient
*internalversionextensions.ExtensionsClient *extensionsinternalversion.ExtensionsClient
*internalversionfederation.FederationClient *federationinternalversion.FederationClient
} }
// Core retrieves the CoreClient // Core retrieves the CoreClient
func (c *Clientset) Core() internalversioncore.CoreInterface { func (c *Clientset) Core() coreinternalversion.CoreInterface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -61,7 +57,7 @@ func (c *Clientset) Core() internalversioncore.CoreInterface { ...@@ -61,7 +57,7 @@ func (c *Clientset) Core() internalversioncore.CoreInterface {
} }
// Autoscaling retrieves the AutoscalingClient // Autoscaling retrieves the AutoscalingClient
func (c *Clientset) Autoscaling() internalversionautoscaling.AutoscalingInterface { func (c *Clientset) Autoscaling() autoscalinginternalversion.AutoscalingInterface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -69,7 +65,7 @@ func (c *Clientset) Autoscaling() internalversionautoscaling.AutoscalingInterfac ...@@ -69,7 +65,7 @@ func (c *Clientset) Autoscaling() internalversionautoscaling.AutoscalingInterfac
} }
// Batch retrieves the BatchClient // Batch retrieves the BatchClient
func (c *Clientset) Batch() internalversionbatch.BatchInterface { func (c *Clientset) Batch() batchinternalversion.BatchInterface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -77,7 +73,7 @@ func (c *Clientset) Batch() internalversionbatch.BatchInterface { ...@@ -77,7 +73,7 @@ func (c *Clientset) Batch() internalversionbatch.BatchInterface {
} }
// Extensions retrieves the ExtensionsClient // Extensions retrieves the ExtensionsClient
func (c *Clientset) Extensions() internalversionextensions.ExtensionsInterface { func (c *Clientset) Extensions() extensionsinternalversion.ExtensionsInterface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -85,7 +81,7 @@ func (c *Clientset) Extensions() internalversionextensions.ExtensionsInterface { ...@@ -85,7 +81,7 @@ func (c *Clientset) Extensions() internalversionextensions.ExtensionsInterface {
} }
// Federation retrieves the FederationClient // Federation retrieves the FederationClient
func (c *Clientset) Federation() internalversionfederation.FederationInterface { func (c *Clientset) Federation() federationinternalversion.FederationInterface {
if c == nil { if c == nil {
return nil return nil
} }
...@@ -108,23 +104,23 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { ...@@ -108,23 +104,23 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
} }
var cs Clientset var cs Clientset
var err error var err error
cs.CoreClient, err = internalversioncore.NewForConfig(&configShallowCopy) cs.CoreClient, err = coreinternalversion.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.AutoscalingClient, err = internalversionautoscaling.NewForConfig(&configShallowCopy) cs.AutoscalingClient, err = autoscalinginternalversion.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.BatchClient, err = internalversionbatch.NewForConfig(&configShallowCopy) cs.BatchClient, err = batchinternalversion.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.ExtensionsClient, err = internalversionextensions.NewForConfig(&configShallowCopy) cs.ExtensionsClient, err = extensionsinternalversion.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.FederationClient, err = internalversionfederation.NewForConfig(&configShallowCopy) cs.FederationClient, err = federationinternalversion.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -141,11 +137,11 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { ...@@ -141,11 +137,11 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
// panics if there is an error in the config. // panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *Clientset { func NewForConfigOrDie(c *rest.Config) *Clientset {
var cs Clientset var cs Clientset
cs.CoreClient = internalversioncore.NewForConfigOrDie(c) cs.CoreClient = coreinternalversion.NewForConfigOrDie(c)
cs.AutoscalingClient = internalversionautoscaling.NewForConfigOrDie(c) cs.AutoscalingClient = autoscalinginternalversion.NewForConfigOrDie(c)
cs.BatchClient = internalversionbatch.NewForConfigOrDie(c) cs.BatchClient = batchinternalversion.NewForConfigOrDie(c)
cs.ExtensionsClient = internalversionextensions.NewForConfigOrDie(c) cs.ExtensionsClient = extensionsinternalversion.NewForConfigOrDie(c)
cs.FederationClient = internalversionfederation.NewForConfigOrDie(c) cs.FederationClient = federationinternalversion.NewForConfigOrDie(c)
cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
return &cs return &cs
...@@ -154,11 +150,11 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { ...@@ -154,11 +150,11 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
// New creates a new Clientset for the given RESTClient. // New creates a new Clientset for the given RESTClient.
func New(c rest.Interface) *Clientset { func New(c rest.Interface) *Clientset {
var cs Clientset var cs Clientset
cs.CoreClient = internalversioncore.New(c) cs.CoreClient = coreinternalversion.New(c)
cs.AutoscalingClient = internalversionautoscaling.New(c) cs.AutoscalingClient = autoscalinginternalversion.New(c)
cs.BatchClient = internalversionbatch.New(c) cs.BatchClient = batchinternalversion.New(c)
cs.ExtensionsClient = internalversionextensions.New(c) cs.ExtensionsClient = extensionsinternalversion.New(c)
cs.FederationClient = internalversionfederation.New(c) cs.FederationClient = federationinternalversion.New(c)
cs.DiscoveryClient = discovery.NewDiscoveryClient(c) cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
return &cs return &cs
......
...@@ -23,16 +23,16 @@ import ( ...@@ -23,16 +23,16 @@ import (
fakediscovery "k8s.io/client-go/discovery/fake" fakediscovery "k8s.io/client-go/discovery/fake"
"k8s.io/client-go/testing" "k8s.io/client-go/testing"
clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset"
internalversionautoscaling "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion" autoscalinginternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion"
fakeinternalversionautoscaling "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion/fake" fakeautoscalinginternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/autoscaling/internalversion/fake"
internalversionbatch "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion" batchinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion"
fakeinternalversionbatch "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake" fakebatchinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake"
internalversioncore "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion" coreinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion"
fakeinternalversioncore "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake" fakecoreinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake"
internalversionextensions "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion" extensionsinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion"
fakeinternalversionextensions "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake" fakeextensionsinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake"
internalversionfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion" federationinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion"
fakeinternalversionfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake" fakefederationinternalversion "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
) )
...@@ -70,26 +70,26 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { ...@@ -70,26 +70,26 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface {
var _ clientset.Interface = &Clientset{} var _ clientset.Interface = &Clientset{}
// Core retrieves the CoreClient // Core retrieves the CoreClient
func (c *Clientset) Core() internalversioncore.CoreInterface { func (c *Clientset) Core() coreinternalversion.CoreInterface {
return &fakeinternalversioncore.FakeCore{Fake: &c.Fake} return &fakecoreinternalversion.FakeCore{Fake: &c.Fake}
} }
// Autoscaling retrieves the AutoscalingClient // Autoscaling retrieves the AutoscalingClient
func (c *Clientset) Autoscaling() internalversionautoscaling.AutoscalingInterface { func (c *Clientset) Autoscaling() autoscalinginternalversion.AutoscalingInterface {
return &fakeinternalversionautoscaling.FakeAutoscaling{Fake: &c.Fake} return &fakeautoscalinginternalversion.FakeAutoscaling{Fake: &c.Fake}
} }
// Batch retrieves the BatchClient // Batch retrieves the BatchClient
func (c *Clientset) Batch() internalversionbatch.BatchInterface { func (c *Clientset) Batch() batchinternalversion.BatchInterface {
return &fakeinternalversionbatch.FakeBatch{Fake: &c.Fake} return &fakebatchinternalversion.FakeBatch{Fake: &c.Fake}
} }
// Extensions retrieves the ExtensionsClient // Extensions retrieves the ExtensionsClient
func (c *Clientset) Extensions() internalversionextensions.ExtensionsInterface { func (c *Clientset) Extensions() extensionsinternalversion.ExtensionsInterface {
return &fakeinternalversionextensions.FakeExtensions{Fake: &c.Fake} return &fakeextensionsinternalversion.FakeExtensions{Fake: &c.Fake}
} }
// Federation retrieves the FederationClient // Federation retrieves the FederationClient
func (c *Clientset) Federation() internalversionfederation.FederationInterface { func (c *Clientset) Federation() federationinternalversion.FederationInterface {
return &fakeinternalversionfederation.FakeFederation{Fake: &c.Fake} return &fakefederationinternalversion.FakeFederation{Fake: &c.Fake}
} }
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
],
tags = ["automanaged"],
deps = [
"//federation/apis/federation/install:go_default_library",
"//pkg/api/install:go_default_library",
"//pkg/apis/autoscaling/install:go_default_library",
"//pkg/apis/batch/install:go_default_library",
"//pkg/apis/extensions/install:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apimachinery/announced",
"//vendor:k8s.io/apimachinery/pkg/apimachinery/registered",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This package is generated by client-gen with custom arguments.
// This package contains the scheme of the automatically generated clientset.
package scheme
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package scheme
import (
announced "k8s.io/apimachinery/pkg/apimachinery/announced"
registered "k8s.io/apimachinery/pkg/apimachinery/registered"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
federation "k8s.io/kubernetes/federation/apis/federation/install"
core "k8s.io/kubernetes/pkg/api/install"
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/install"
batch "k8s.io/kubernetes/pkg/apis/batch/install"
extensions "k8s.io/kubernetes/pkg/apis/extensions/install"
os "os"
)
var Scheme = runtime.NewScheme()
var Codecs = serializer.NewCodecFactory(Scheme)
var ParameterCodec = runtime.NewParameterCodec(Scheme)
var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
var GroupFactoryRegistry = make(announced.APIGroupFactoryRegistry)
func init() {
v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
Install(GroupFactoryRegistry, Registry, Scheme)
}
// Install registers the API group and adds types to a scheme
func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
core.Install(groupFactoryRegistry, registry, scheme)
autoscaling.Install(groupFactoryRegistry, registry, scheme)
batch.Install(groupFactoryRegistry, registry, scheme)
extensions.Install(groupFactoryRegistry, registry, scheme)
federation.Install(groupFactoryRegistry, registry, scheme)
}
...@@ -17,7 +17,7 @@ go_library( ...@@ -17,7 +17,7 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/scheme:go_default_library",
"//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
......
...@@ -18,7 +18,7 @@ package internalversion ...@@ -18,7 +18,7 @@ package internalversion
import ( import (
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
) )
type AutoscalingInterface interface { type AutoscalingInterface interface {
...@@ -64,20 +64,20 @@ func New(c rest.Interface) *AutoscalingClient { ...@@ -64,20 +64,20 @@ func New(c rest.Interface) *AutoscalingClient {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
// if autoscaling group is not registered, return an error g, err := scheme.Registry.Group("autoscaling")
g, err := api.Registry.Group("autoscaling")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = "/apis" config.APIPath = "/apis"
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = api.Codecs config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error { ...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
) )
...@@ -116,7 +116,7 @@ func (c *horizontalPodAutoscalers) DeleteCollection(options *v1.DeleteOptions, l ...@@ -116,7 +116,7 @@ func (c *horizontalPodAutoscalers) DeleteCollection(options *v1.DeleteOptions, l
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *horizontalPodAutoscalers) Get(name string, options v1.GetOptions) (resu ...@@ -129,7 +129,7 @@ func (c *horizontalPodAutoscalers) Get(name string, options v1.GetOptions) (resu
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *horizontalPodAutoscalers) List(opts v1.ListOptions) (result *autoscalin ...@@ -141,7 +141,7 @@ func (c *horizontalPodAutoscalers) List(opts v1.ListOptions) (result *autoscalin
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *horizontalPodAutoscalers) Watch(opts v1.ListOptions) (watch.Interface, ...@@ -153,7 +153,7 @@ func (c *horizontalPodAutoscalers) Watch(opts v1.ListOptions) (watch.Interface,
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("horizontalpodautoscalers"). Resource("horizontalpodautoscalers").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -17,7 +17,7 @@ go_library( ...@@ -17,7 +17,7 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/scheme:go_default_library",
"//pkg/apis/batch:go_default_library", "//pkg/apis/batch:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
......
...@@ -18,7 +18,7 @@ package internalversion ...@@ -18,7 +18,7 @@ package internalversion
import ( import (
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
) )
type BatchInterface interface { type BatchInterface interface {
...@@ -64,20 +64,20 @@ func New(c rest.Interface) *BatchClient { ...@@ -64,20 +64,20 @@ func New(c rest.Interface) *BatchClient {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
// if batch group is not registered, return an error g, err := scheme.Registry.Group("batch")
g, err := api.Registry.Group("batch")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = "/apis" config.APIPath = "/apis"
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = api.Codecs config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error { ...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
batch "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch"
) )
...@@ -116,7 +116,7 @@ func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOp ...@@ -116,7 +116,7 @@ func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOp
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *jobs) Get(name string, options v1.GetOptions) (result *batch.Job, err e ...@@ -129,7 +129,7 @@ func (c *jobs) Get(name string, options v1.GetOptions) (result *batch.Job, err e
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *jobs) List(opts v1.ListOptions) (result *batch.JobList, err error) { ...@@ -141,7 +141,7 @@ func (c *jobs) List(opts v1.ListOptions) (result *batch.JobList, err error) {
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *jobs) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *jobs) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("jobs"). Resource("jobs").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -22,6 +22,7 @@ go_library( ...@@ -22,6 +22,7 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//federation/client/clientset_generated/federation_internalclientset/scheme:go_default_library",
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
) )
...@@ -98,7 +99,7 @@ func (c *configMaps) DeleteCollection(options *v1.DeleteOptions, listOptions v1. ...@@ -98,7 +99,7 @@ func (c *configMaps) DeleteCollection(options *v1.DeleteOptions, listOptions v1.
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -111,7 +112,7 @@ func (c *configMaps) Get(name string, options v1.GetOptions) (result *api.Config ...@@ -111,7 +112,7 @@ func (c *configMaps) Get(name string, options v1.GetOptions) (result *api.Config
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -123,7 +124,7 @@ func (c *configMaps) List(opts v1.ListOptions) (result *api.ConfigMapList, err e ...@@ -123,7 +124,7 @@ func (c *configMaps) List(opts v1.ListOptions) (result *api.ConfigMapList, err e
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -135,7 +136,7 @@ func (c *configMaps) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -135,7 +136,7 @@ func (c *configMaps) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("configmaps"). Resource("configmaps").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -18,7 +18,7 @@ package internalversion ...@@ -18,7 +18,7 @@ package internalversion
import ( import (
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
) )
type CoreInterface interface { type CoreInterface interface {
...@@ -84,20 +84,20 @@ func New(c rest.Interface) *CoreClient { ...@@ -84,20 +84,20 @@ func New(c rest.Interface) *CoreClient {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
// if core group is not registered, return an error g, err := scheme.Registry.Group("")
g, err := api.Registry.Group("")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = "/api" config.APIPath = "/api"
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = api.Codecs config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -105,6 +105,7 @@ func setConfigDefaults(config *rest.Config) error { ...@@ -105,6 +105,7 @@ func setConfigDefaults(config *rest.Config) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
) )
...@@ -98,7 +99,7 @@ func (c *events) DeleteCollection(options *v1.DeleteOptions, listOptions v1.List ...@@ -98,7 +99,7 @@ func (c *events) DeleteCollection(options *v1.DeleteOptions, listOptions v1.List
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -111,7 +112,7 @@ func (c *events) Get(name string, options v1.GetOptions) (result *api.Event, err ...@@ -111,7 +112,7 @@ func (c *events) Get(name string, options v1.GetOptions) (result *api.Event, err
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -123,7 +124,7 @@ func (c *events) List(opts v1.ListOptions) (result *api.EventList, err error) { ...@@ -123,7 +124,7 @@ func (c *events) List(opts v1.ListOptions) (result *api.EventList, err error) {
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -135,7 +136,7 @@ func (c *events) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -135,7 +136,7 @@ func (c *events) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("events"). Resource("events").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
) )
...@@ -108,7 +109,7 @@ func (c *namespaces) Delete(name string, options *v1.DeleteOptions) error { ...@@ -108,7 +109,7 @@ func (c *namespaces) Delete(name string, options *v1.DeleteOptions) error {
func (c *namespaces) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { func (c *namespaces) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete(). return c.client.Delete().
Resource("namespaces"). Resource("namespaces").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -120,7 +121,7 @@ func (c *namespaces) Get(name string, options v1.GetOptions) (result *api.Namesp ...@@ -120,7 +121,7 @@ func (c *namespaces) Get(name string, options v1.GetOptions) (result *api.Namesp
err = c.client.Get(). err = c.client.Get().
Resource("namespaces"). Resource("namespaces").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -131,7 +132,7 @@ func (c *namespaces) List(opts v1.ListOptions) (result *api.NamespaceList, err e ...@@ -131,7 +132,7 @@ func (c *namespaces) List(opts v1.ListOptions) (result *api.NamespaceList, err e
result = &api.NamespaceList{} result = &api.NamespaceList{}
err = c.client.Get(). err = c.client.Get().
Resource("namespaces"). Resource("namespaces").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -142,7 +143,7 @@ func (c *namespaces) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -142,7 +143,7 @@ func (c *namespaces) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.client.Get(). return c.client.Get().
Prefix("watch"). Prefix("watch").
Resource("namespaces"). Resource("namespaces").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
) )
...@@ -98,7 +99,7 @@ func (c *secrets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.Lis ...@@ -98,7 +99,7 @@ func (c *secrets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.Lis
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -111,7 +112,7 @@ func (c *secrets) Get(name string, options v1.GetOptions) (result *api.Secret, e ...@@ -111,7 +112,7 @@ func (c *secrets) Get(name string, options v1.GetOptions) (result *api.Secret, e
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -123,7 +124,7 @@ func (c *secrets) List(opts v1.ListOptions) (result *api.SecretList, err error) ...@@ -123,7 +124,7 @@ func (c *secrets) List(opts v1.ListOptions) (result *api.SecretList, err error)
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -135,7 +136,7 @@ func (c *secrets) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -135,7 +136,7 @@ func (c *secrets) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("secrets"). Resource("secrets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
) )
...@@ -115,7 +116,7 @@ func (c *services) DeleteCollection(options *v1.DeleteOptions, listOptions v1.Li ...@@ -115,7 +116,7 @@ func (c *services) DeleteCollection(options *v1.DeleteOptions, listOptions v1.Li
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -128,7 +129,7 @@ func (c *services) Get(name string, options v1.GetOptions) (result *api.Service, ...@@ -128,7 +129,7 @@ func (c *services) Get(name string, options v1.GetOptions) (result *api.Service,
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -140,7 +141,7 @@ func (c *services) List(opts v1.ListOptions) (result *api.ServiceList, err error ...@@ -140,7 +141,7 @@ func (c *services) List(opts v1.ListOptions) (result *api.ServiceList, err error
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -152,7 +153,7 @@ func (c *services) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -152,7 +153,7 @@ func (c *services) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("services"). Resource("services").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -20,7 +20,7 @@ go_library( ...@@ -20,7 +20,7 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/scheme:go_default_library",
"//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
extensions "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions"
) )
...@@ -116,7 +116,7 @@ func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1. ...@@ -116,7 +116,7 @@ func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *daemonSets) Get(name string, options v1.GetOptions) (result *extensions ...@@ -129,7 +129,7 @@ func (c *daemonSets) Get(name string, options v1.GetOptions) (result *extensions
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *daemonSets) List(opts v1.ListOptions) (result *extensions.DaemonSetList ...@@ -141,7 +141,7 @@ func (c *daemonSets) List(opts v1.ListOptions) (result *extensions.DaemonSetList
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("daemonsets"). Resource("daemonsets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
extensions "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions"
) )
...@@ -116,7 +116,7 @@ func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1 ...@@ -116,7 +116,7 @@ func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *deployments) Get(name string, options v1.GetOptions) (result *extension ...@@ -129,7 +129,7 @@ func (c *deployments) Get(name string, options v1.GetOptions) (result *extension
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *deployments) List(opts v1.ListOptions) (result *extensions.DeploymentLi ...@@ -141,7 +141,7 @@ func (c *deployments) List(opts v1.ListOptions) (result *extensions.DeploymentLi
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("deployments"). Resource("deployments").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -18,7 +18,7 @@ package internalversion ...@@ -18,7 +18,7 @@ package internalversion
import ( import (
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
) )
type ExtensionsInterface interface { type ExtensionsInterface interface {
...@@ -79,20 +79,20 @@ func New(c rest.Interface) *ExtensionsClient { ...@@ -79,20 +79,20 @@ func New(c rest.Interface) *ExtensionsClient {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
// if extensions group is not registered, return an error g, err := scheme.Registry.Group("extensions")
g, err := api.Registry.Group("extensions")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = "/apis" config.APIPath = "/apis"
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = api.Codecs config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -100,6 +100,7 @@ func setConfigDefaults(config *rest.Config) error { ...@@ -100,6 +100,7 @@ func setConfigDefaults(config *rest.Config) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
extensions "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions"
) )
...@@ -116,7 +116,7 @@ func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.L ...@@ -116,7 +116,7 @@ func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.L
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *ingresses) Get(name string, options v1.GetOptions) (result *extensions. ...@@ -129,7 +129,7 @@ func (c *ingresses) Get(name string, options v1.GetOptions) (result *extensions.
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *ingresses) List(opts v1.ListOptions) (result *extensions.IngressList, e ...@@ -141,7 +141,7 @@ func (c *ingresses) List(opts v1.ListOptions) (result *extensions.IngressList, e
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *ingresses) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *ingresses) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("ingresses"). Resource("ingresses").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
extensions "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions"
) )
...@@ -116,7 +116,7 @@ func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1 ...@@ -116,7 +116,7 @@ func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *replicaSets) Get(name string, options v1.GetOptions) (result *extension ...@@ -129,7 +129,7 @@ func (c *replicaSets) Get(name string, options v1.GetOptions) (result *extension
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *replicaSets) List(opts v1.ListOptions) (result *extensions.ReplicaSetLi ...@@ -141,7 +141,7 @@ func (c *replicaSets) List(opts v1.ListOptions) (result *extensions.ReplicaSetLi
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("replicasets"). Resource("replicasets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -18,7 +18,7 @@ go_library( ...@@ -18,7 +18,7 @@ go_library(
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//federation/apis/federation:go_default_library", "//federation/apis/federation:go_default_library",
"//pkg/api:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -22,7 +22,7 @@ import ( ...@@ -22,7 +22,7 @@ import (
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
federation "k8s.io/kubernetes/federation/apis/federation" federation "k8s.io/kubernetes/federation/apis/federation"
api "k8s.io/kubernetes/pkg/api" scheme "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
) )
// ClustersGetter has a method to return a ClusterInterface. // ClustersGetter has a method to return a ClusterInterface.
...@@ -109,7 +109,7 @@ func (c *clusters) Delete(name string, options *v1.DeleteOptions) error { ...@@ -109,7 +109,7 @@ func (c *clusters) Delete(name string, options *v1.DeleteOptions) error {
func (c *clusters) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { func (c *clusters) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete(). return c.client.Delete().
Resource("clusters"). Resource("clusters").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -121,7 +121,7 @@ func (c *clusters) Get(name string, options v1.GetOptions) (result *federation.C ...@@ -121,7 +121,7 @@ func (c *clusters) Get(name string, options v1.GetOptions) (result *federation.C
err = c.client.Get(). err = c.client.Get().
Resource("clusters"). Resource("clusters").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -132,7 +132,7 @@ func (c *clusters) List(opts v1.ListOptions) (result *federation.ClusterList, er ...@@ -132,7 +132,7 @@ func (c *clusters) List(opts v1.ListOptions) (result *federation.ClusterList, er
result = &federation.ClusterList{} result = &federation.ClusterList{}
err = c.client.Get(). err = c.client.Get().
Resource("clusters"). Resource("clusters").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -143,7 +143,7 @@ func (c *clusters) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -143,7 +143,7 @@ func (c *clusters) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.client.Get(). return c.client.Get().
Prefix("watch"). Prefix("watch").
Resource("clusters"). Resource("clusters").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -18,7 +18,7 @@ package internalversion ...@@ -18,7 +18,7 @@ package internalversion
import ( import (
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/scheme"
) )
type FederationInterface interface { type FederationInterface interface {
...@@ -64,20 +64,20 @@ func New(c rest.Interface) *FederationClient { ...@@ -64,20 +64,20 @@ func New(c rest.Interface) *FederationClient {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
// if federation group is not registered, return an error g, err := scheme.Registry.Group("federation")
g, err := api.Registry.Group("federation")
if err != nil { if err != nil {
return err return err
} }
config.APIPath = "/apis" config.APIPath = "/apis"
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group {
copyGroupVersion := g.GroupVersion gv := g.GroupVersion
config.GroupVersion = &copyGroupVersion config.GroupVersion = &gv
} }
config.NegotiatedSerializer = api.Codecs config.NegotiatedSerializer = scheme.Codecs
if config.QPS == 0 { if config.QPS == 0 {
config.QPS = 5 config.QPS = 5
...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error { ...@@ -85,6 +85,7 @@ func setConfigDefaults(config *rest.Config) error {
if config.Burst == 0 { if config.Burst == 0 {
config.Burst = 10 config.Burst = 10
} }
return nil return nil
} }
......
...@@ -63,6 +63,7 @@ filegroup( ...@@ -63,6 +63,7 @@ filegroup(
srcs = [ srcs = [
":package-srcs", ":package-srcs",
"//pkg/client/clientset_generated/clientset/fake:all-srcs", "//pkg/client/clientset_generated/clientset/fake:all-srcs",
"//pkg/client/clientset_generated/clientset/scheme:all-srcs",
"//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:all-srcs", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:all-srcs",
"//pkg/client/clientset_generated/clientset/typed/authentication/v1:all-srcs", "//pkg/client/clientset_generated/clientset/typed/authentication/v1:all-srcs",
"//pkg/client/clientset_generated/clientset/typed/authentication/v1beta1:all-srcs", "//pkg/client/clientset_generated/clientset/typed/authentication/v1beta1:all-srcs",
......
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
],
tags = ["automanaged"],
deps = [
"//pkg/api/v1:go_default_library",
"//pkg/apis/apps/v1beta1:go_default_library",
"//pkg/apis/authentication/v1:go_default_library",
"//pkg/apis/authentication/v1beta1:go_default_library",
"//pkg/apis/authorization/v1:go_default_library",
"//pkg/apis/authorization/v1beta1:go_default_library",
"//pkg/apis/autoscaling/v1:go_default_library",
"//pkg/apis/autoscaling/v2alpha1:go_default_library",
"//pkg/apis/batch/v1:go_default_library",
"//pkg/apis/batch/v2alpha1:go_default_library",
"//pkg/apis/certificates/v1beta1:go_default_library",
"//pkg/apis/extensions/v1beta1:go_default_library",
"//pkg/apis/policy/v1beta1:go_default_library",
"//pkg/apis/rbac/v1alpha1:go_default_library",
"//pkg/apis/rbac/v1beta1:go_default_library",
"//pkg/apis/storage/v1beta1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This package is generated by client-gen with custom arguments.
// This package contains the scheme of the automatically generated clientset.
package scheme
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package scheme
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
corev1 "k8s.io/kubernetes/pkg/api/v1"
appsv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
authenticationv1 "k8s.io/kubernetes/pkg/apis/authentication/v1"
authenticationv1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1"
authorizationv1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1"
autoscalingv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
autoscalingv2alpha1 "k8s.io/kubernetes/pkg/apis/autoscaling/v2alpha1"
batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1"
batchv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
certificatesv1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1"
extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
policyv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1"
rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1"
rbacv1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1"
storagev1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1"
)
var Scheme = runtime.NewScheme()
var Codecs = serializer.NewCodecFactory(Scheme)
var ParameterCodec = runtime.NewParameterCodec(Scheme)
func init() {
v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
AddToScheme(Scheme)
}
// AddToScheme adds all types of this clientset into the given scheme. This allows composition
// of clientsets, like in:
//
// import (
// "k8s.io/client-go/kubernetes"
// clientsetscheme "k8s.io/client-go/kuberentes/scheme"
// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
// )
//
// kclientset, _ := kubernetes.NewForConfig(c)
// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
// correctly.
func AddToScheme(scheme *runtime.Scheme) {
corev1.AddToScheme(scheme)
appsv1beta1.AddToScheme(scheme)
authenticationv1.AddToScheme(scheme)
authenticationv1beta1.AddToScheme(scheme)
authorizationv1.AddToScheme(scheme)
authorizationv1beta1.AddToScheme(scheme)
autoscalingv1.AddToScheme(scheme)
autoscalingv2alpha1.AddToScheme(scheme)
batchv1.AddToScheme(scheme)
batchv2alpha1.AddToScheme(scheme)
certificatesv1beta1.AddToScheme(scheme)
extensionsv1beta1.AddToScheme(scheme)
policyv1beta1.AddToScheme(scheme)
rbacv1beta1.AddToScheme(scheme)
rbacv1alpha1.AddToScheme(scheme)
storagev1beta1.AddToScheme(scheme)
}
...@@ -17,10 +17,9 @@ go_library( ...@@ -17,10 +17,9 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library",
"//pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/types",
"//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apimachinery/pkg/watch",
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
) )
type AppsV1beta1Interface interface { type AppsV1beta1Interface interface {
...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AppsV1beta1Client { ...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AppsV1beta1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("apps/v1beta1") gv := v1beta1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if apps/v1beta1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("apps/v1beta1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -21,8 +21,8 @@ import ( ...@@ -21,8 +21,8 @@ import (
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch" watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api"
v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
scheme "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
) )
// StatefulSetsGetter has a method to return a StatefulSetInterface. // StatefulSetsGetter has a method to return a StatefulSetInterface.
...@@ -116,7 +116,7 @@ func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v ...@@ -116,7 +116,7 @@ func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v
return c.client.Delete(). return c.client.Delete().
Namespace(c.ns). Namespace(c.ns).
Resource("statefulsets"). Resource("statefulsets").
VersionedParams(&listOptions, api.ParameterCodec). VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options). Body(options).
Do(). Do().
Error() Error()
...@@ -129,7 +129,7 @@ func (c *statefulSets) Get(name string, options v1.GetOptions) (result *v1beta1. ...@@ -129,7 +129,7 @@ func (c *statefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.
Namespace(c.ns). Namespace(c.ns).
Resource("statefulsets"). Resource("statefulsets").
Name(name). Name(name).
VersionedParams(&options, api.ParameterCodec). VersionedParams(&options, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -141,7 +141,7 @@ func (c *statefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetLis ...@@ -141,7 +141,7 @@ func (c *statefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetLis
err = c.client.Get(). err = c.client.Get().
Namespace(c.ns). Namespace(c.ns).
Resource("statefulsets"). Resource("statefulsets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Do(). Do().
Into(result) Into(result)
return return
...@@ -153,7 +153,7 @@ func (c *statefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) { ...@@ -153,7 +153,7 @@ func (c *statefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) {
Prefix("watch"). Prefix("watch").
Namespace(c.ns). Namespace(c.ns).
Resource("statefulsets"). Resource("statefulsets").
VersionedParams(&opts, api.ParameterCodec). VersionedParams(&opts, scheme.ParameterCodec).
Watch() Watch()
} }
......
...@@ -18,9 +18,8 @@ go_library( ...@@ -18,9 +18,8 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/apis/authentication/v1:go_default_library", "//pkg/apis/authentication/v1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/rest",
], ],
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1 package v1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/apis/authentication/v1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
) )
type AuthenticationV1Interface interface { type AuthenticationV1Interface interface {
...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AuthenticationV1Client { ...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AuthenticationV1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("authentication.k8s.io/v1") gv := v1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if authentication.k8s.io/v1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("authentication.k8s.io/v1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -18,9 +18,8 @@ go_library( ...@@ -18,9 +18,8 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/apis/authentication/v1beta1:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/rest",
], ],
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" v1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
) )
type AuthenticationV1beta1Interface interface { type AuthenticationV1beta1Interface interface {
...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AuthenticationV1beta1Client { ...@@ -67,22 +66,14 @@ func New(c rest.Interface) *AuthenticationV1beta1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("authentication.k8s.io/v1beta1") gv := v1beta1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if authentication.k8s.io/v1beta1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("authentication.k8s.io/v1beta1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -22,9 +22,8 @@ go_library( ...@@ -22,9 +22,8 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/apis/authorization/v1:go_default_library", "//pkg/apis/authorization/v1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/rest",
], ],
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1 package v1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/apis/authorization/v1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
) )
type AuthorizationV1Interface interface { type AuthorizationV1Interface interface {
...@@ -77,22 +76,14 @@ func New(c rest.Interface) *AuthorizationV1Client { ...@@ -77,22 +76,14 @@ func New(c rest.Interface) *AuthorizationV1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("authorization.k8s.io/v1") gv := v1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if authorization.k8s.io/v1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("authorization.k8s.io/v1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
...@@ -22,9 +22,8 @@ go_library( ...@@ -22,9 +22,8 @@ go_library(
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/apis/authorization/v1beta1:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
"//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/rest",
], ],
......
...@@ -17,11 +17,10 @@ limitations under the License. ...@@ -17,11 +17,10 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
fmt "fmt"
schema "k8s.io/apimachinery/pkg/runtime/schema"
serializer "k8s.io/apimachinery/pkg/runtime/serializer" serializer "k8s.io/apimachinery/pkg/runtime/serializer"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
api "k8s.io/kubernetes/pkg/api" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
) )
type AuthorizationV1beta1Interface interface { type AuthorizationV1beta1Interface interface {
...@@ -77,22 +76,14 @@ func New(c rest.Interface) *AuthorizationV1beta1Client { ...@@ -77,22 +76,14 @@ func New(c rest.Interface) *AuthorizationV1beta1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv, err := schema.ParseGroupVersion("authorization.k8s.io/v1beta1") gv := v1beta1.SchemeGroupVersion
if err != nil { config.GroupVersion = &gv
return err
}
// if authorization.k8s.io/v1beta1 is not enabled, return an error
if !api.Registry.IsEnabledVersion(gv) {
return fmt.Errorf("authorization.k8s.io/v1beta1 is not enabled")
}
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
} }
copyGroupVersion := gv
config.GroupVersion = &copyGroupVersion
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: api.Codecs}
return nil return nil
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment