Gaurav, I think you are now pointing at one of the qualities of our API that need to be addressed in 5.0 [1]. I may be wrong but I don't think a standard behavior in these cases is defined and every list api has a choice of several conventions to folow. Feel free to define what the behavior should be in a future version by editing [1] :)
[1] https://cwiki.apache.org/confluence/display/CLOUDSTACK/API+changes On Fri, Aug 8, 2014 at 10:44 AM, Gaurav Aradhye <gaurav.arad...@clogeny.com> wrote: > Hello, > > Can somebody please address this query? > > Regards, > Gaurav > > > On Thu, Aug 7, 2014 at 10:23 PM, Gaurav Aradhye <gaurav.arad...@clogeny.com> > wrote: > >> I want to understand the output of the list APIs when the entity is not >> present / deleted. Suppose I create an account, create a network within it >> and acquire a public IP address in the network. >> >> 1) ListPublicIpAddresses - public ip id passed, returns public IP >> 2) ListPublicIpAddresses - account, domainid passed, returns public IP >> >> Now I delete the public IP (Disassociate). >> >> After this operation, I expect following results: >> 1) ListPublicIpAddreses - account,domain id passed, result: None (assuming >> there was only one) >> 2) ListPublicIpAddresses - public ip id passed, I expect exception here >> because the id must have been removed from DB. But I get "None" as result >> here. >> >> If I get None, then can I assume that id is still present in DB but it is >> marked as obsolete? >> >> When can I expect an exception in return? And when can I expect None? >> Ideally, when we search by Id, then exception should be thrown and when we >> expect by passing account/domainid/projectid/networkid etc, then None >> should be returned. Do all List APIs follow a similar guideline? >> >> Regards, >> Gaurav >> -- Daan