ruby-sfcc

INTRODUCTION

ruby-sfcc provides the SBLIM client API ( sblim.wiki.sourceforge.net/Sfcc ) for ruby.

You can use it to connect to any CIMOM talking CIM-XML, but it can take advantage of sfcb CIMOM by connecting using a native interface.

Requirements

Ruby interpreters

ruby-sfcc has been built and the testsuite ran against:

* ruby 1.8.7
* ruby 1.9.2
* rubinius HEAD (what will be 1.1 soon)

sblim

ruby-sfcc has been built and the testsuite ran against:

  • sblim-sfcc 2.2.1

Quick Start

You can create a gem by running rake gem.

See the testsuite for more examples. Or run rake docs.

require 'sfcc'

client = Sfcc::Cim::Client.connect('http://root@localhost:5988')
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
result = client.query(op, "select * from CIM_OperatingSystem", "wql")
result.each do |instance|
  puts "query result: #{instance}"
end

FAQ

  • Why not using SWIG?

    sfcc has a complex API based on function tables to simulate an object oriented environment in C which would make wrapping it complicated.

  • Why the API?

    The motivation is to have the plain API available, and use it to access the CIMOM, gaining the footprint of SBLIM plus features like the local interface to talk with the CIMOM without overhead.

    So the API is pretty “raw”, and it is supposed to be consumed by

ActiveCim ( github.com/dmacvicar/activecim ) which is a more ruby-like API to do CIM based management.

  • How to run the testsuite?

    You need a CIMOM with base providers (ie: Linux_OperatingSystem) running on localhost 5988 with no authentication

Known Issues

  • If you call Instance#references without a filter class you may get an error. It seems sfcb can't load a provider.

  • ObjectPath qualifier methods crash

Links

Documentation

Code Metrics

Authors

  • Duncan Mac-Vicar P. <dmacvicar@suse.de>

Thanks

The following people have contributed patches, fixes and enhancements:

  • Klaus Kaempf <kkaempf@suse.de>