anchor.diff:                 (alexandria:plist-hash-table
                   (list "pool" pool))))
     "Creates/allocates a new floating IP."
  -  (st-json:getjso "ip" (st-json:getjso "floating_ip" (st-json:read-json response))))
  +  (st-json:getjso* "floating_ip.ip" (st-json:read-json response)))
   
   (def-openstack-api associate-floating-ip (server-id floating-ip)
       (response :post ((get-public-url "nova") "/servers/" server-id "/action")
  
positive.code:                              "imageRef" image-id
                               "flavorRef" flavor-id))))))
    "Creates a new server."
    (st-json:getjso "id" (st-json:getjso "server" (st-json:read-json response))))
  
  (def-openstack-api delete-server (server-id)
      (response :delete ((get-public-url "nova") "/servers/" server-id))
  
negative.code: (def-openstack-api list-flavor-details (flavor-id)
      (response :get ((get-public-url "nova") "/flavors/" flavor-id))
    "List a flavor details."
    (let ((jso (st-json:read-json response)))
      (pairlis (list "name" "vcpus" "ram" "swap" "disk")
               (list (st-json:getjso* "flavor.name" jso)
                     (st-json:getjso* "flavor.vcpus" jso)
                     (st-json:getjso* "flavor.ram" jso)
                     (st-json:getjso* "flavor.swap" jso)
                     (st-json:getjso* "flavor.disk" jso)))))
  
  (def-openstack-api list-servers ()
      (response :get ((get-public-url "nova") "/servers"))
  