From e0162b9105080f9472c1cbbab82a90b6ac2baebc Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Tue, 2 Oct 2018 17:21:07 -0700 Subject: [PATCH] Add Create and Update Options to rest param installation --- .../k8s.io/apiserver/pkg/endpoints/installer.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/installer.go b/staging/src/k8s.io/apiserver/pkg/endpoints/installer.go index 47aac69c6a..e6444d803c 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/installer.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/installer.go @@ -262,6 +262,14 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag if err != nil { return nil, err } + versionedCreateOptions, err := a.group.Creater.New(optionsExternalVersion.WithKind("CreateOptions")) + if err != nil { + return nil, err + } + versionedUpdateOptions, err := a.group.Creater.New(optionsExternalVersion.WithKind("UpdateOptions")) + if err != nil { + return nil, err + } var versionedDeleteOptions runtime.Object var versionedDeleterObject interface{} @@ -651,6 +659,9 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag Returns(http.StatusCreated, "Created", producedObject). Reads(defaultVersionedObject). Writes(producedObject) + if err := addObjectParams(ws, route, versionedUpdateOptions); err != nil { + return nil, err + } addParams(route, action.Params) routes = append(routes, route) case "PATCH": // Partially update a resource @@ -673,6 +684,9 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag Returns(http.StatusOK, "OK", producedObject). Reads(metav1.Patch{}). Writes(producedObject) + if err := addObjectParams(ws, route, versionedUpdateOptions); err != nil { + return nil, err + } addParams(route, action.Params) routes = append(routes, route) case "POST": // Create a resource. @@ -700,6 +714,9 @@ func (a *APIInstaller) registerResourceHandlers(path string, storage rest.Storag Returns(http.StatusAccepted, "Accepted", producedObject). Reads(defaultVersionedObject). Writes(producedObject) + if err := addObjectParams(ws, route, versionedCreateOptions); err != nil { + return nil, err + } addParams(route, action.Params) routes = append(routes, route) case "DELETE": // Delete a resource.