0.01
No commit activity in last 3 years
No release in over 3 years
Ruby wrapper for the Cloudability API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 0.6
>= 0

Runtime

>= 0
>= 0.9.0
 Project Readme

Cloudability

Build Status Code Climate Coverage Status Gem Version

Ruby wrapper for the Cloudability API. Supports most public API endpoints, including some legacy ones such as budgets. Converts JSON responses to objects with Hashie::Mash.

This is the README for version 0.1.0 of the gem. v0.1.0 introduces a radically different interface. If you're still on v0.0.5, please refer to it's README.

Installation

Add this line to your application's Gemfile:

gem 'cloudability'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cloudability

Usage

Supported endpoints:

  • Credentials
  • Organizations (Including invitations and roles.)
  • Budgets
  • Billing Reports
  • Cost Reporrts
  • Usage Reports
  • Users

You will need to generate an API token to use the API. Read more here.

Feel free to shoot me an email at colby@aley.me if you have any questions or need help.

Examples

client = Cloudability::Client.new(auth_token: 'auth_token')

Users

client.users # List users in your organization
client.add_user # Add a user to your organization
client.update_user # Update a user in your organization
client.delete_user # Delete a user in your organization.

Credentials

credentials = client.credentials # Get all of your connected credentials
puts first_account.last.account_created_at
puts credentials.first.account_identifier

Organizations

client.invite_user('colby@cloudability.com', name: 'Colby Aley') # Invite a user to your org
client.delete_invite(1) # Delete invite 1
client.update_invite(103,1) # Update invitation 103 to have role id 1
client.my_organization # Get info about your org
client.organization_invitations # List invitations for your org
client.organization_roles # List roles for your org

Budgets

client.budgets # List your current budgets

Billing Reports

client.billing_report # Generate a report of your spend
client.billing_report(vendor: 'Amazon', by: 'period')
client.billing_report(by: 'vendor')

Cost Reports

client.cost_reports # List cost reports
client.cost_measures # List measures supported by server
client.cost_filters # List filters supported by the server

Usage Reports

client.usage_reports # List usage reports
client.usage_measures # List measures supported by server
client.usage_filters # List filters supported by the server

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request