module HammerCLIForeman::HostgroupUpdateCreateCommons

Public Class Methods

ask_password() click to toggle source
# File lib/hammer_cli_foreman/hostgroup.rb, line 24
def self.ask_password
  prompt = _("Enter the root password for the host group:") + " "
  HammerCLI.interactive_output.ask(prompt) { |q| q.echo = false }
end
included(base) click to toggle source
# File lib/hammer_cli_foreman/hostgroup.rb, line 8
def self.included(base)
  base.option "--puppet-class-ids", "PUPPETCLASS_IDS", _("List of puppetclass ids"),
    :format => HammerCLI::Options::Normalizers::List.new,
    :attribute_name => :option_puppetclass_ids
  base.option "--puppet-classes", "PUPPET_CLASS_NAMES", "",
    :format => HammerCLI::Options::Normalizers::List.new,
    :attribute_name => :option_puppetclass_names
  base.option "--puppet-ca-proxy", "PUPPET_CA_PROXY_NAME", _("Name of puppet CA proxy")
  base.option "--puppet-proxy", "PUPPET_PROXY_NAME",  _("Name of puppet proxy")
  base.option "--parent", "PARENT_NAME",  _("Name of parent hostgroup")
  base.option "--root-pass", "ROOT_PASSWORD",  _("Root password")
  base.option "--ask-root-pass", "ASK_ROOT_PW", "",
    :format => HammerCLI::Options::Normalizers::Bool.new
  base.option "--subnet6", "SUBNET6_NAME", _("Subnet IPv6 name")
end

Public Instance Methods

request_params() click to toggle source
Calls superclass method
# File lib/hammer_cli_foreman/hostgroup.rb, line 29
def request_params
  params = super
  params['hostgroup']["parent_id"] ||= resolver.hostgroup_id('option_name' => option_parent) if option_parent
  params['hostgroup']["puppet_proxy_id"] ||= proxy_id(option_puppet_proxy) if option_puppet_proxy
  params['hostgroup']["puppet_ca_proxy_id"] ||= proxy_id(option_puppet_ca_proxy) if option_puppet_ca_proxy

  # Remove after API docs are fixed: https://projects.theforeman.org/issues/28923
  puppetclass_ids = option_puppetclass_ids || puppet_class_ids(option_puppetclass_names)
  params['hostgroup']['puppetclass_ids'] = puppetclass_ids unless puppetclass_ids.nil?

  params['hostgroup']['root_pass'] = option_root_pass if option_root_pass
  params['hostgroup']['root_pass'] = HammerCLIForeman::HostgroupUpdateCreateCommons::ask_password if option_ask_root_pass

  params['hostgroup']['subnet6_id'] = resolver.subnet_id('option_name' => option_subnet6) if option_subnet6
  params
end

Private Instance Methods

proxy_id(name) click to toggle source
# File lib/hammer_cli_foreman/hostgroup.rb, line 48
def proxy_id(name)
  resolver.smart_proxy_id('option_name' => name) if name
end
puppet_class_ids(names) click to toggle source
# File lib/hammer_cli_foreman/hostgroup.rb, line 52
def puppet_class_ids(names)
  resolver.puppetclass_ids('option_names' => names) if names
end