Rackspace Load Balancer is a Cost Effective Great Pay as You Go Multi-tenant Cloud Service. Here Are Some Examples of GET Response API. We will use CocoaRestClient on OS X for demonstrating the usages. Without really the need to login to Rackspace Cloud dashboard, with API, we can fetch the data as JSON response. We can create a small web app to convert this JSON data to human readable format, for reading privately.
Rackspace Load Balancer GET Response API
So we need to read the official documents first :
1 | http://docs.rackspace.com/loadbalancers/api/v1.0/clb-devguide/content/load-balancers.html |
At the time writing this guide, this the current version. You must ensure the correct version. From the documentations we can see that we will need the account ID :
---
1 | /v1.0/{account}/loadbalancers |
Here is the full documentation only for GET request :
1 | http://docs.rackspace.com/loadbalancers/api/v1.0/clb-devguide/content/GET_listLoadBalancers_v1.0__account__loadbalancers_load-balancers.html |
We can fetch data by appending query in this way after the common part :
1 | ?changes-since=2014-08-30T08:07:08-0500 |
This can give us data of the changes since 2014-08-30.
Working With Rackspace Load Balancer GET Response API
Actually we should first follow the newer guide for Authentication part :
1 | http://docs.rackspace.com/loadbalancers/api/v1.0/clb-getting-started/content/Service_Access_Endpoints-d1e753.html |
Otherwise we will get a 401 response :
1 2 3 4 5 6 | HTTP 401 Unauthorized Content-Length: 0 Www-Authenticate: Keystone uri=https://identity.api.rackspacecloud.com/v2.0 Via: 1.1 Rackspace Cloud Load Balancer API v1.22.10 (Repose/2.11.0) Server: Jetty(8.0.y.z-SNAPSHOT) |
The tool is practically a visual way of using cURL :
1 | http://mmattozzi.github.io/cocoa-rest-client/ |
So we can send a request in this fashion :
1 2 | https://identity.api.rackspacecloud.com/v2.0/tokens -d '{ "auth":{ "RAX-KSKEY:apiKeyCredentials":{ "username":"theUserName", "apiKey":"00a00000a000a0000000a000a00aaa0a" } } }' -H "Content-type: application/json" |
Obviously there is documentation for this client, but for cURL :
1 | http://docs.rackspace.com/servers/api/v2/cs-gettingstarted/content/curl_auth.html |
replacing the arbitrary numbers and letters and using the proper format, we can GET a response in JSON :
1 2 3 4 5 6 7 8 9 10 11 | PUT https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/123456/loadbalancers/ABCD Content-Type: application/json Accept: application/json X-Auth-Token: bizarre number { "loadBalancer": { "httpsRedirect": true } } |
For this website the HTTPS redirection is set to true. In this way, we can fetch :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | { "loadBalancer": { "name": "TCW Media Group", "id": ABCD, "protocol": "HTTPS", "port": 443, "algorithm": "LEAST_CONNECTIONS", "status": "ACTIVE", "virtualIps": [ { "address": "111.1.11.111", "id": 77, "type": "PUBLIC", "ipVersion": "IPV4" } ], "nodeCount": 1, "httpsRedirect": true, "halfClosed": false, "connectionLogging": { "enabled": true }, "contentCaching": { "enabled": true } } } |
Without really creating an application, thus we can check whats going on.