Github user tbouron commented on a diff in the pull request: https://github.com/apache/brooklyn-server/pull/810#discussion_r139111961 --- Diff: rest/rest-api/src/main/java/org/apache/brooklyn/rest/api/CatalogApi.java --- @@ -47,6 +47,9 @@ import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +/** @deprecated since 0.12.0 use /bundle, /type, and /subtype */ +// but we will probably keep this around for a while as many places use it +@Deprecated --- End diff -- I strongly disagree with deprecating the entire `/catalog` endpoint. I think we should rather deprecate `/catalog/(entities|applications|policies|enrichers)` and add `/bundle`, `/type` and `/subtype` within `/catalog` as we have a "catalog" of bundles, types, etc. (that is effectivement what you did with the `/type` endpoint, by duplicating `/application`, `/entities`, etc) Promoting them to the root level feel way too loose. Also, what is the difference between `type` and `subtype`? It's not clear to me and it looks like a subtype is just a subset of type. If that is a case, why bother having a endpoint for this? Cannot we just have a filter on the `/type` endpoint? Regarding the bundle additions, the `POST /catalog/create` can already deal with bundles so I just reuse that. For the deletion, I would use the and `DELETE /catalog/bundles/<symbolicName>/<version>`.
---