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>`.
---