Hi,
A solution proposal below:

Le jeudi 28 avril 2016 à 14:33 +0200, Jean Parpaillon a écrit :
Hi,
We've had a discussion during last OCCI-wg session in Roma about the way to specify entity ids.

As specified in current documents, entity ids can be specified in different ways _at the same time_ at creation time and implementations behaviour is not specified.
I suppose we should consider either removing different ways to specify ids either specify implementation behaviour.

Here are the different ways the can be specified:
* JSON rendering:
  * 'id' attribute in JSON document
  * 'occi.core.id' attribute in the 'attributes' property of the JSON document
* HTTP protocol:
  * PUT request: url of the request + rendering specific (see above)
  * POST request: rendering specific

A solutiom is that 'id' is an immutable attribute. It is set by the server in the following way:
* generated for POST request
* url of the request for PUT request


In general, for renderings where core attributes are rendered differently from others (id, source, target, etc), it is not specified how to deal with attributes being set twice.

A proposal would be to have all attributes, at least for JSON, rendered as flat attributes, with full name:
{ 'occi.core.id': ...
  'occi.core.source': ...
 'occi.core.source.kind': ...
 'occi.infrastructure.network...':
}


A suggestion will follow in a next e-mail. For me, the most important being to avoid ambiguities as to improve implementations interoperability.

Regards,

- 
Jean Parpaillon
--
Open Source Consultant
Director @ OW2 Consortium
OCCIware Strategic Orientation Committee Chairman
Research Engineer @ Inria
--
Phone: +33 6 30 10 92 86
im: jean.parpaillon@gmail.com
skype: jean.parpaillon
linkedin: http://www.linkedin.com/in/jeanparpaillon/en