Class: LinuxAdmin::SubscriptionManager

Inherits:
RegistrationSystem show all
Defined in:
lib/linux_admin/registration_system/subscription_manager.rb

Constant Summary

Constants inherited from LinuxAdmin

VERSION

Instance Method Summary collapse

Methods inherited from RegistrationSystem

method_missing, registration_type

Methods included from Common

#cmd, #run

Instance Method Details

#available_subscriptionsObject



50
51
52
53
54
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 50

def available_subscriptions
  cmd     = "subscription-manager list --all --available"
  output  = run(cmd, :return_output => true)
  parse_output(output).index_by {|i| i[:pool_id]}
end

#organizations(options) ⇒ Object

Raises:

  • (ArgumentError)


18
19
20
21
22
23
24
25
26
27
28
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 18

def organizations(options)
  raise ArgumentError, "username and password are required" unless options[:username] && options[:password]
  cmd = "subscription-manager orgs"

  params = {"--username=" => options[:username], "--password=" => options[:password]}
  params.merge!(proxy_params(options))
  params["--serverurl="]  = options[:server_url]  if options[:server_url]

  output = run(cmd, :params => params, :return_output => true)
  parse_output(output).index_by {|i| i[:name]}
end

#refreshObject



14
15
16
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 14

def refresh
  run("subscription-manager refresh")
end

#register(options) ⇒ Object

Raises:

  • (ArgumentError)


30
31
32
33
34
35
36
37
38
39
40
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 30

def register(options)
  raise ArgumentError, "username and password are required" unless options[:username] && options[:password]
  cmd = "subscription-manager register"

  params = {"--username=" => options[:username], "--password=" => options[:password]}
  params.merge!(proxy_params(options))
  params["--org="]        = options[:org]         if options[:server_url] && options[:org]
  params["--serverurl="]  = options[:server_url]  if options[:server_url]

  run(cmd, :params => params)
end

#registered?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 10

def registered?
  run("subscription-manager identity", :return_exitstatus => true) == 0
end

#subscribe(options) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 42

def subscribe(options)
  cmd    = "subscription-manager attach"
  pools  = options[:pools].collect {|pool| ["--pool", pool]}
  params = proxy_params(options).to_a + pools

  run(cmd, :params => params)
end

#validate_credentials(options) ⇒ Object



6
7
8
# File 'lib/linux_admin/registration_system/subscription_manager.rb', line 6

def validate_credentials(options)
  !!organizations(options)
end