deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samridh srinath <>
Subject Proposal: Adding billing API support to Deltacloud
Date Mon, 06 Aug 2012 13:26:50 GMT
Hello All,

Let me start by introducing myself. I am Samridh, a student developer part
of Google Summer of Code (GSoC). I have been contributing to the Aeolus
project for the better part of the summer, adding API support for hardware
profiles to the Conductor API. My mentor is Mo Morsi who has been assisting
For what remains of the coding period of GSoC and also after that, Mo and I
thought that it would be a good idea for me to look into adding billing
support to the Deltacloud API. I have also been in conversation with
mfojitk and marios in this regard.
I will be outlining my research and proposal for this in the remaining part
of this mail.
Currently, Amazon ec2 and GoGrid support programmatic retrieval of billing
data though in different formats.
[1] outlines how to retrieve billing data from GoGrid. It returns data in
xml/json/csv via the REST API.
[2] outlines how to activate programmatic billing access for an ec2
account. Essentially, it involves activating programmatic billing access
and then specifying an S3 bucket (either new or an existing bucket) where a
CSV file containing the usage and billing data will be dumped periodically
(in the form of an S3 object). The key for retrieving this S3 object is in
the format "account_number-aws-billing-csv-YYYY-MM.csv".
I would like to propose adding billing API support for these two providers
to start off with and then extending that support as more providers allow
for convenient retrieval of billing data.
This would essentially require the addition of a new collection, namely the
"Billing" collection which has a model that has attributes most common
among all the providers.
The ec2 and gogrid drivers would then be extended to retrieve the billing
data from the respective cloud back-ends.
The CSV data from the ec2 provider can be converted to xml/json with the
help of a rubygem like fastercsv or similar. I am attaching a sample ec2
billing CSV file for your reference (Thanks to Mo for that).
Any suggestions with respect to the billing model and its attributes are
welcome and will definitely help.
Also, any other suggestions regarding its implementation are also welcome.

Looking forward to your feedback and suggestions,

Student Developer,


View raw message