[Engine-devel] planned changes for api capabilities resource
Geert Jansen
gjansen at redhat.com
Tue May 29 15:26:48 UTC 2012
On 05/29/2012 03:44 PM, Michael Pasternak wrote:
> On 05/29/2012 04:14 PM, Geert Jansen wrote:
>>
>>
>> On 05/29/2012 12:12 PM, Michael Pasternak wrote:
>>
>>> there is no point in using this resource programmatically, as it only contains enumerations
>>> available in the system for given version and some other metadata,
>>>
>>> i.e it used by developers during the coding and it's not real system resource.
>>
>> I'm not convinced that that is true. For example, applications can use the "power_managers" and "cpus" elements to prepopulate lists in a user interface for example.
>
> this is good example indeed, then what about leaving /capabilities as is [1]
> only adding single resource retrieval capability [2] to comply with collection/resource
> pattern?
>
> [1]
>
> <capabilities>
> <version major="3" minor="1">
> ...
> </version>
> <version major="3" minor="1">
> ...
> </version>
> ...
> </capabilities>
>
> [2]
>
> /api/capabilities/UUID
>
> <version major="3" minor="1" id=UUID>
> ...
> </version>
It would work from a compatibility point of view. However - to be honest
- i would leave it as it is now. You also have non-version specific
capabilities there, that do not fit any model. In my view there is no
way to get to a clean design here.
The way i look at /api/capabilities is that is is a single global
singleton resource. It isn't a collection, and neither a resource in a
collection.
Regards,
Geert
More information about the Engine-devel
mailing list