class HammerCLIForemanDiscovery::DiscoveredHost::ProvisionCommand

Public Class Methods

build_options() click to toggle source
Calls superclass method
# File lib/hammer_cli_foreman_discovery/discovery.rb, line 78
def self.build_options
  option "--partition-table-id", "PARTITION_TABLE_ID", " "
  option "--root-password", "ROOT_PW", " "
  option "--ask-root-password", "ASK_ROOT_PW", " ",
              :format => HammerCLI::Options::Normalizers::Bool.new
  option "--puppetclass-ids", "PUPPETCLASS_IDS", " ",
              :format => HammerCLI::Options::Normalizers::List.new

  bool_format           = {}
  bool_format[:format] = HammerCLI::Options::Normalizers::Bool.new
  option "--managed", "MANAGED", " ", bool_format
  bool_format[:format] = HammerCLI::Options::Normalizers::Bool.new
  option "--build", "BUILD", " ", bool_format
  bool_format[:format] = HammerCLI::Options::Normalizers::Bool.new
  option "--enabled", "ENABLED", " ", bool_format
  bool_format[:format] = HammerCLI::Options::Normalizers::Bool.new
  option "--overwrite", "OVERWRITE", " ", bool_format

  option "--parameters", "PARAMS", _("Host parameters"),
              :format => HammerCLI::Options::Normalizers::KeyValueList.new
  option "--interface", "INTERFACE", _("Interface parameters"), :multivalued => true,
              :format => HammerCLI::Options::Normalizers::KeyValueList.new
  option "--provision-method", "METHOD", " ",
              :format => HammerCLI::Options::Normalizers::Enum.new(['build', 'image'])

  super :without => [:root_pass, :ptable_id, :puppet_class_ids, :host_parameters_attributes]
end

Public Instance Methods

ask_password() click to toggle source
# File lib/hammer_cli_foreman_discovery/discovery.rb, line 106
def ask_password
  prompt = _("Enter the root password for the host:") + '_'
  ask(prompt) { |q| q.echo = false }
end
parameter_attributes() click to toggle source
# File lib/hammer_cli_foreman_discovery/discovery.rb, line 126
def parameter_attributes
  return {} unless option_parameters
  option_parameters.collect do |key, value|
    if value.is_a? String
      {"name"=>key, "value"=>value}
    else
      {"name"=>key, "value"=>value.inspect}
    end
  end
end
request_params() click to toggle source
Calls superclass method
# File lib/hammer_cli_foreman_discovery/discovery.rb, line 111
def request_params
  params = super

  params['discovered_host']['host_parameters_attributes'] = parameter_attributes
  params['discovered_host']['ptable_id'] = option_partition_table_id unless option_partition_table_id.nil?
  params['discovered_host']['root_pass'] = option_root_password unless option_root_password.nil?
  params['discovered_host']['overwrite'] = option_overwrite unless option_overwrite.nil?

  if option_ask_root_password
    params['discovered_host']['root_pass'] = ask_password
  end

  params
end