diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 37a64461c71..337cbdb1785 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -29443,19 +29443,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentStatus" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentStatus" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentStatus" } }, "401": { @@ -47879,19 +47879,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentStatus" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentStatus" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentRollback" + "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentStatus" } }, "401": { diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index 999f63acf69..4d7cc7f64ee 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -1957,7 +1957,7 @@ "description": "API at /apis/apps/v1beta1", "operations": [ { - "type": "v1beta1.DeploymentRollback", + "type": "v1beta1.DeploymentStatus", "method": "POST", "summary": "create rollback of a Deployment", "nickname": "createNamespacedDeploymentRollback", @@ -1999,17 +1999,17 @@ { "code": 200, "message": "OK", - "responseModel": "v1beta1.DeploymentRollback" + "responseModel": "v1beta1.DeploymentStatus" }, { "code": 201, "message": "Created", - "responseModel": "v1beta1.DeploymentRollback" + "responseModel": "v1beta1.DeploymentStatus" }, { "code": 202, "message": "Accepted", - "responseModel": "v1beta1.DeploymentRollback" + "responseModel": "v1beta1.DeploymentStatus" } ], "produces": [ diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json index e8a3e2601d3..e83896b7c6b 100644 --- a/api/swagger-spec/extensions_v1beta1.json +++ b/api/swagger-spec/extensions_v1beta1.json @@ -2127,7 +2127,7 @@ "description": "API at /apis/extensions/v1beta1", "operations": [ { - "type": "v1beta1.DeploymentRollback", + "type": "v1beta1.DeploymentStatus", "method": "POST", "summary": "create rollback of a Deployment", "nickname": "createNamespacedDeploymentRollback", @@ -2169,17 +2169,17 @@ { "code": 200, "message": "OK", - "responseModel": "v1beta1.DeploymentRollback" + "responseModel": "v1beta1.DeploymentStatus" }, { "code": 201, "message": "Created", - "responseModel": "v1beta1.DeploymentRollback" + "responseModel": "v1beta1.DeploymentStatus" }, { "code": 202, "message": "Accepted", - "responseModel": "v1beta1.DeploymentRollback" + "responseModel": "v1beta1.DeploymentStatus" } ], "produces": [ diff --git a/docs/api-reference/apps/v1beta1/operations.html b/docs/api-reference/apps/v1beta1/operations.html index 9baddda3061..5f070284504 100755 --- a/docs/api-reference/apps/v1beta1/operations.html +++ b/docs/api-reference/apps/v1beta1/operations.html @@ -2950,17 +2950,17 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

202

Accepted

-

v1beta1.DeploymentRollback

+

v1beta1.DeploymentStatus

200

success

-

v1beta1.DeploymentRollback

+

v1beta1.DeploymentStatus

201

Created

-

v1beta1.DeploymentRollback

+

v1beta1.DeploymentStatus

diff --git a/docs/api-reference/extensions/v1beta1/operations.html b/docs/api-reference/extensions/v1beta1/operations.html index d5fc70c6620..eb056f7f0e3 100755 --- a/docs/api-reference/extensions/v1beta1/operations.html +++ b/docs/api-reference/extensions/v1beta1/operations.html @@ -3508,17 +3508,17 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

202

Accepted

-

v1beta1.DeploymentRollback

+

v1beta1.DeploymentStatus

200

success

-

v1beta1.DeploymentRollback

+

v1beta1.DeploymentStatus

201

Created

-

v1beta1.DeploymentRollback

+

v1beta1.DeploymentStatus

diff --git a/pkg/registry/apps/deployment/storage/BUILD b/pkg/registry/apps/deployment/storage/BUILD index 600ff2032d2..c77794d0665 100644 --- a/pkg/registry/apps/deployment/storage/BUILD +++ b/pkg/registry/apps/deployment/storage/BUILD @@ -49,6 +49,7 @@ go_library( "//pkg/printers/internalversion:go_default_library", "//pkg/printers/storage:go_default_library", "//pkg/registry/apps/deployment:go_default_library", + "//vendor/k8s.io/api/apps/v1beta1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", diff --git a/pkg/registry/apps/deployment/storage/storage.go b/pkg/registry/apps/deployment/storage/storage.go index c8b469ec45d..24a143f4b31 100644 --- a/pkg/registry/apps/deployment/storage/storage.go +++ b/pkg/registry/apps/deployment/storage/storage.go @@ -21,6 +21,7 @@ import ( "fmt" "net/http" + externalappsv1beta1 "k8s.io/api/apps/v1beta1" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -137,6 +138,20 @@ type RollbackREST struct { store *genericregistry.Store } +// ProducesMIMETypes returns a list of the MIME types the specified HTTP verb (GET, POST, DELETE, +// PATCH) can respond with. +func (r *RollbackREST) ProducesMIMETypes(verb string) []string { + return nil +} + +// ProducesObject returns an object the specified HTTP verb respond with. It will overwrite storage object if +// it is not nil. Only the type of the return object matters, the value will be ignored. +func (r *RollbackREST) ProducesObject(verb string) interface{} { + return externalappsv1beta1.DeploymentStatus{} +} + +var _ = rest.StorageMetadata(&RollbackREST{}) + // New creates a rollback func (r *RollbackREST) New() runtime.Object { return &extensions.DeploymentRollback{} diff --git a/pkg/registry/extensions/rest/storage_extensions.go b/pkg/registry/extensions/rest/storage_extensions.go index 2b21e502f07..0d7e7ebb299 100644 --- a/pkg/registry/extensions/rest/storage_extensions.go +++ b/pkg/registry/extensions/rest/storage_extensions.go @@ -47,6 +47,17 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag return apiGroupInfo, true } +type RollbackREST struct { + *deploymentstore.RollbackREST +} + +// override RollbackREST.ProducesObject +func (r *RollbackREST) ProducesObject(verb string) interface{} { + return extensionsapiv1beta1.DeploymentStatus{} +} + +var _ = rest.StorageMetadata(&RollbackREST{}) + func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { storage := map[string]rest.Storage{} @@ -65,7 +76,7 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorag deploymentStorage := deploymentstore.NewStorage(restOptionsGetter) storage["deployments"] = deploymentStorage.Deployment.WithCategories(nil) storage["deployments/status"] = deploymentStorage.Status - storage["deployments/rollback"] = deploymentStorage.Rollback + storage["deployments/rollback"] = &RollbackREST{deploymentStorage.Rollback} storage["deployments/scale"] = deploymentStorage.Scale // ingresses ingressStorage, ingressStatusStorage := ingressstore.NewREST(restOptionsGetter)