I personally do not like flags changing syntax which is what it is in this 
case.  A flag to support whether a feature like "snapshots" is supported is ok. 
 A flag to say whether ID or UUID is accepted means issues with backwards 
compatibility and also the fact that both ways needs to be tested and validated.

Will

> -----Original Message-----
> From: Alex Huang [mailto:alex.hu...@citrix.com]
> Sent: Thursday, December 27, 2012 12:44 PM
> To: cloudstack-dev@incubator.apache.org
> Cc: cloudstack-us...@incubator.apache.org
> Subject: RE: [VOTE] Enforcing UUID string in API query
> 
> Sorry I don't understand why it needs to be a vote.  Why can't we just offer
> a flag to turn it on and off?
> 
> --Alex
> 
> > -----Original Message-----
> > From: Rohit Yadav [mailto:rohit.ya...@citrix.com]
> > Sent: Thursday, December 27, 2012 12:11 PM
> > To: cloudstack-dev@incubator.apache.org
> > Cc: cloudstack-us...@incubator.apache.org
> > Subject: [VOTE] Enforcing UUID string in API query
> >
> > Hi,
> >
> > I'm asking for the community to vote if they want to enforce UUID
> > string to be used in parameters while querying an API. This would
> > break any client or script that uses internal ID. AFAIK api response
> > (json or xml, since 3.x for sure) always have had UUIDs so if any
> > client/script that uses apis to query entities and base their further
> > operations using ids from the response(s) should be fine.
> >
> > You may vote by:
> > +1 Agree
> > 0  No opinion
> > -1 Disagree
> >
> > Some context and description:
> >
> > CloudStack uses internal IDs which are long ints and they have a
> > mapping between this ID and the external ID or UUID which is a random
> > string of characters.
> > There are DAO classes which provides a mechanism to query a particular
> > table(s) and do other operations. There are VO objects which can hold
> > content of a row. In most VO objects a method getId() would return a
> > long int number which is the internal ID of that entity and they would
> > have a
> > getUuid() which returns a unique random string of chars.
> >
> > At present an API can be queried with both ids, for example for param
> > domainid using uuid in 1 and using id in 2:
> >
> > 1.
> >
> http://localhost:8080/client?command=listResourceLimits&domainid=866
> 4e
> > 0
> > 4a-9931-4765-b3456e6888d0fa1d
> > 2.
> http://localhost:8080/client?command=listResourceLimits&domainid=1
> >
> > For querying using id, the caller should have idea of the id for that
> > entity and which is only possible if they have access to CloudStack's
> > database. There is no other way of knowing an entity's id, only uuids
> > are sent as ids in the response.
> >
> > Regards.
> >

Reply via email to