Skip to content
A common lisp client for Cloudstack
Common Lisp Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci
integration
src
test
.drone.yml
.gitignore
ChangeLog.md
LICENSE
README.md
cl-cloudstack-client-cover.asd
cl-cloudstack-client-integration.asd
cl-cloudstack-client-test.asd
cl-cloudstack-client.asd

README.md

cl-cloudstack-client

Build Status

A client for Cloudstack API writtent in Common Lisp.

Installation

  • Add the projet and load it using Quicklisp:

      CL-USER> (push #p"/projects/cl-cloudstack-client/" asdf:*central-registry*)
      CL-USER> (ql:quickload "cl-cloudstack-client")
    
  • Run unit tests:

      CL-USER> (ql:quickload "cl-cloudstack-client-test")
      CL-USER> (setq lisp-unit:*print-failures* t)
      CL-USER> (setq cl-cloudstack-client-test:*cloudstack-test-uri* "http://.....")
      CL-USER> (lisp-unit:run-tests :all :cl-cloudstack-client-test)
    
  • Run the integration tests (depends on a running Cloudstack managment server):

      CL-USER> (ql:quickload "cl-cloudstack-client-integration")
      CL-USER> (setq lisp-unit:*print-failures* t)
      CL-USER> (setq cl-cloudstack-client-test:*cloudstack-uri* "http://.....")
      CL-USER> (lisp-unit:run-tests :all :cl-cloudstack-client-integration)
    

Usage

Refers to the Cloudstack API and performs calls :

CL-USER> (setq *cloudstack*
             (cl-cloudstack-client::make-cloudstack-client
                  "http://localhost:8080/client/api"
                  "MY_API_KEY"
                  "MY_SECRET_KEY"))
CL-USER> (cl-cloudstack-client:cloudstack-call
                               *cloudstack*
                               "listServiceOfferings"
                               :parameters '(("name" "small")))
((:LISTSERVICEOFFERINGSRESPONSE (:COUNT . 1)
  (:SERVICEOFFERING
    ((:ID . "10") (:NAME . "small ") (:DISPLAYTEXT . "small ") (:CPUNUMBER . 1)
     (:CPUSPEED . 1000) (:MEMORY . 1024) (:CREATED . "2013-02-15T11:50:10+0100")
     (:STORAGETYPE . "shared") (:OFFERHA) (:LIMITCPUUSE) (:ISSYSTEM)
     (:DEFAULTUSE)))))

Changelog

A changelog is available here.

Copyright and license

Code and documentation (c) Nicolas Lamirault. Code released under the MIT license.

Contact

Nicolas Lamirault nicolas.lamirault@gmail.com

You can’t perform that action at this time.