Sha256: e221a51b2b69d956c632a9ded166fe9e1fb65e8a361b5bfa0a0a582413e46fa9
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'date' module LinuxAdmin module SubscriptionManager def self.registered? Common.run("subscription-manager identity", :return_exitstatus => true) == 0 end def self.refresh Common.run("subscription-manager refresh") end def self.register(options = {}) cmd = "subscription-manager register" cmd << " --username=#{options[:username]} --password=#{options[:password]}" if options[:username] && options[:password] Common.run(cmd) end def self.subscribe(pool_id) Common.run("subscription-manager attach --pool #{pool_id}") end def self.available_subscriptions output = Common.run("subscription-manager list --all --available", :return_output => true) output.split("\n\n").each_with_object({}) do |subscription, subscriptions_hash| hash = {} subscription.each_line do |line| # Strip the header lines if they exist next if (line.start_with?("+---") && line.end_with?("---+\n")) || line.strip == "Available Subscriptions" key, value = line.split(":", 2) hash[key.strip.downcase.tr(" -", "_").to_sym] = value.strip end hash[:ends] = Date.strptime(hash[:ends], "%m/%d/%Y") subscriptions_hash[hash[:pool_id]] = hash end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
linux_admin-0.0.1 | lib/linux_admin/subscription_manager.rb |