Hi Samridh, I think that would be a great addition to the DC API. Do you have an outline what the billing resources should look like, in particular what data and operations they could support ?
David On Mon, 2012-08-06 at 18:56 +0530, samridh srinath wrote: > 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 > me. > 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, > > Samridh > Student Developer, > GSoC > > > [1] https://wiki.gogrid.com/wiki/index.php/API:myaccount.billing.get > [2] > http://docs.amazonwebservices.com/awsaccountbilling/latest/about/programaccess.html