
1) Return all properties for a single known object (e.g. a single server with known UUID). I assume this is somehow does with category search?
2) Return a list of all objects (possibly for a given type), without their properties (since these might be expensive to read). For example, simply list the UUIDs of all servers?
Ok sorry I forgot to mention that this was actually a requirement I had not considered (that is the performance and scalability cost of unnecessarily calling on extensions).
1. Actually it's even easier than that. If you know a UUID you can just GET <entrypoint>/<uuid> and you'll get the lot. Given categories can be arbitrarily large I'd suggest that they also be sparse.
That's good and simple.
2. By default we should just return just the basic content that's already in the database... so not bothering the performance monitor counters or asking the billing system to sum up usage (we have to hit the database anyway so this is no cost).
You may be overestimating how much is in the database (in our case at least!). To avoid any risk of inconsistency, we typically don't cache any server attributes on the central management servers where these are best mastered on the virtualization hosts themselves. That includes things like server titles, memory sizes, etc, etc. Pretty much just the UUIDs and which hosts they're on is permanently remembered centrally. Richard.