Katello API bindings for Ruby
Summary
require 'katello_api'
envs = KatelloApi::Resources::Environment.new(:base_url => 'https://localhost/katello',
:username => 'admin',
:password => 'admin')
data, raw_response = envs.index(:organization_id => "ACME_Corporation")
pp data # parsed data of the response
pp raw_response # raw string of the response body
Description
This gem contains Katello API bindings for the Ruby language. The bindings are generated from API documentation using Apidoc tool.
The bindings brings support for new versioned API which is not complete yet. The number of supported controllers is limited but more are coming soon.
Regenerating bindings
The code for generating the bindings is a part of this repo. The generator needs a running Foreman instance with Katello as and engine to load the ‘apidoc.json`.
In case the ‘/apidoc` reports some issues with loading modules, you can temporarily commenting out the following line in Foreman’s ‘config/initializers/wrap_parameters.rb` file:
wrap_parameters :format => [:json]
Usage:
$ bin/generate.rb --help
Generate Ruby API bindings for Katello's API from Apipie docs.
USAGE: bin/generate.rb [FLAGS]
-u, --url APIDOC_URL By default http://localhost:3000/apidoc
--api-version VERSION version of the API to hit (default: v2)
Only files under lib/katello_api/resources
are touched by the generator.
Authentication
Katello API supports authentication with username/password or OAuth. For use of OAuth with the bindings you only have to change the params
envs = KatelloApi::Resources::Environment.new(:base_url => 'https://localhost:3000/katello',
:oauth => { :consumer_key => 'mykey',
:consumer_secret => 'shhhh' })
License
The bindings are released under MIT license