Now that you have access to a working CloudStack setup, it is time to dive into using the API that it provides. Clients are software that run on your machine to connect to the cloud and provide easy-to-use programming methods to make API calls to the cloud endpoint you are using. There are over 20 clients for CloudStack currently available on GitHub. You should be able to find one in the programming language of your choice.
In this part, we introduce the method used to sign API requests and then present a few clients (see Figure II.1) that are commonly used by CloudStack operators and users. CloudMonkey and Apache Libcloud are Python modules, jclouds is in Java, CloStack is for Clojure, and StackerBee is for Ruby. There are many more.
All functionalities of CloudStack are exposed via an API server. There are currently over 20 clients for this API on GitHub, in various languages. In this part, we introduce this API and the signing mechanism. The recipes in Chapter 3 will introduce clients that already contain a signing method. The signing process is only highlighted for completeness; all clients implement it. The recipes in Chapter 4 will introduce API wrappers that provide a mapping between the CloudStack API and the APIs defined by public clouds or standard organizations.
The CloudStack API is a query-based API using HTTP, which returns results in XML or JSON. It is not a REST API in the strict definition, because it only uses HTTP verbs GET and POST. ...