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.