Skip to content

IBM/ibm_power_hmc_sdk_ruby

Repository files navigation

IBM Power HMC Ruby SDK

Ruby client library to interact with the IBM Hardware Management Console.

Installation

Add this line to your application's Gemfile:

gem 'ibm_power_hmc'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install ibm_power_hmc

Usage

Connection

require "ibm_power_hmc"

hc = IbmPowerHmc::Connection.new(
  host: "<hmc host>",
  username: "<hmc user (e.g. hscroot)>",
  password: "<hmc password>",
  validate_ssl: false)

Using the SDK

Retrieving information about the management console itself:

hmc = hc.management_console
puts hmc.name
puts hmc.version

Retrieving managed systems that are powered on:

hc.managed_systems("State==operating")

Listing the logical partitions and virtual I/O servers of each managed system:

hc.managed_systems.each do |sys|
  puts sys.name
  hc.lpars(sys.uuid).collect(&:name)
  hc.vioses(sys.uuid).collect(&:name)
end

Retrieving a quick property for a given logical partition:

hc.lpar_quick_property(lpar_uuid, "PartitionState")

Shutting down a logical partition:

hc.poweroff_lpar(lpar_uuid, { "operation" => "shutdown" })

Setting the memory of a logical partition to 32GB:

hc.modify_object do
  hc.lpar(lpar_uuid).tap { |lpar| lpar.desired_memory = 32_768 }
end

Listing serviceable events:

puts hc.serviceable_events

Processing HMC events:

loop do
  hc.next_events.each do |event|
    puts event.type
  end
end

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/IBM/ibm_power_hmc_sdk_ruby.

License

This SDK is released under the Apache 2.0 license. The license's full text can be found in LICENSE.