The "details" mess should be easily fixed by using POST + JSON object, such as:
POST addimagestore with json content:
{
  Key1:value1,
  Key2: value2
}

It really takes you a while to understand what hell is " 
details[0].key=accesskey&details[0].value=s389ddssaa&details[1].key=secretkey&details[1].value=8dshfsss
 "

Maybe in CloudStack 5, we should clean up our APIs. 

> -----Original Message-----
> From: Marcus [mailto:shadow...@gmail.com]
> Sent: Wednesday, February 12, 2014 11:26 AM
> To: dev@cloudstack.apache.org
> Cc: Animesh Chaturvedi
> Subject: Re: API Calls with key value pairs (Details)
> 
> If I'm not mistaken, I think the primary concern wasn't about breaking
> compatibility, but simply this:
> 
> "The format seems very cumbersome compared to accesskey=<value>
> secretkey=<value> - has this been a community decision to move in this
> direction that I've missed?"
> 
> I'd say yes, it was a community decision, and out of necessity, because
> various storage types are going to require various data. We can't (easily) 
> hack
> on a table column/api param every time a new storage type needs a custom
> piece of data, so the 'details' abstracts that. This allows even third party
> vendors who simply ship a plugin, with no community involvment, to have
> custom parameters that don't need to be api params.
> 
> That said, we could probably add optional API params for a common subset
> of community maintained storage types, as a convenience, but whether to
> use the details parameter or create new ones is up to the API designer(s).
> 
> On Wed, Feb 12, 2014 at 10:44 AM, Min Chen <min.c...@citrix.com> wrote:
> > AddImageStore has no such issues of breaking existing scripts at all. There
> has no change on that API in 4.3.
> >
> > Thanks
> > -min
> >
> > Sent from my iPhone
> >
> >> On Feb 12, 2014, at 9:36 AM, "Animesh Chaturvedi"
> <animesh.chaturv...@citrix.com> wrote:
> >>
> >> Can you call out which scripts in particular? Copying min for S3 comment.
> May be i am missing something but i dont think Devdeep's change breaks
> compatibility. If we do not specify password in details  not sure how else the
> password special characters can be handled without double encoding of the
> URL ( first just the password and then the URL). But double encoding means
> server implementation is leaking into API. The API caller would have to
> encode the password first if it is in URL and then encode the URL.
> >>
> >>
> >> Thanks
> >> Animesh
> >>
> >>> On Feb 12, 2014, at 6:19 AM, "Alex Hitchins"
> <alex.hitch...@shapeblue.com> wrote:
> >>>
> >>> I think that what Paul was saying. Scripts that have run no longer do.
> >>>
> >>> I don't think they are scripts written only in 4.3 environments either 
> >>> but I
> could be wrong.
> >>>
> >>>
> >>> Regards
> >>>
> >>> Alex Hitchins
> >>>
> >>> D: +44 1892 523 587 | S: +44 20 3603 0540 | M: +44 7788 423 969
> >>>
> >>> alex.hitch...@shapeblue.com
> >>>
> >>> -----Original Message-----
> >>> From: Chip Childers [mailto:chipchild...@apache.org]
> >>> Sent: 12 February 2014 14:13
> >>> To: dev@cloudstack.apache.org
> >>> Subject: Re: API Calls with key value pairs (Details)
> >>>
> >>>> On Wed, Feb 12, 2014 at 8:24 AM, Devdeep Singh
> <devdeep.si...@citrix.com> wrote:
> >>>> The user name and password were never there in the key value pair
> for creating storage pool. This was done for adding smb as a primary storage
> and was done in 4.3 (adding smb as a pool type wasn't available in earlier
> release).
> >>>>
> >>>> Initially user details were passed in the url query string (for smb).
> However, it would mean adding a password with special characters could fail
> if the password wasn't encoded and then the entire url encoded again. So I
> updated it to pass smb user information in details. This is required only if a
> storage pool being added is of type smb.
> >>>>
> >>>> Regards,
> >>>> Devdeep
> >>>
> >>> Except it breaks backward compat, right?
> >>> Need Enterprise Grade Support for Apache CloudStack?
> >>> Our CloudStack Infrastructure
> Support<http://shapeblue.com/cloudstack-infrastructure-support/> offers
> the best 24/7 SLA for CloudStack Environments.
> >>>
> >>> Apache CloudStack Bootcamp training courses
> >>>
> >>> **NEW!** CloudStack 4.2.1
> >>> training<http://shapeblue.com/cloudstack-training/>
> >>> 18th-19th February 2014, Brazil.
> >>> Classroom<http://shapeblue.com/cloudstack-training/>
> >>> 17th-23rd March 2014, Region A. Instructor led,
> >>> On-line<http://shapeblue.com/cloudstack-training/>
> >>> 24th-28th March 2014, Region B. Instructor led,
> >>> On-line<http://shapeblue.com/cloudstack-training/>
> >>> 16th-20th June 2014, Region A. Instructor led,
> >>> On-line<http://shapeblue.com/cloudstack-training/>
> >>> 23rd-27th June 2014, Region B. Instructor led,
> >>> On-line<http://shapeblue.com/cloudstack-training/>
> >>>
> >>> This email and any attachments to it may be confidential and are
> intended solely for the use of the individual to whom it is addressed. Any
> views or opinions expressed are solely those of the author and do not
> necessarily represent those of Shape Blue Ltd or related companies. If you
> are not the intended recipient of this email, you must neither take any action
> based upon its contents, nor copy or show it to anyone. Please contact the
> sender if you believe you have received this email in error. Shape Blue Ltd is
> a company incorporated in England & Wales. ShapeBlue Services India LLP is a
> company incorporated in India and is operated under license from Shape
> Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated in
> Brasil and is operated under license from Shape Blue Ltd. ShapeBlue is a
> registered trademark.

Reply via email to