Class: HammerCLIForeman::Parameter::SetCommand

Inherits:
AbstractParameterCommand show all
Defined in:
lib/hammer_cli_foreman/parameter.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractParameterCommand

#base_action_params, create_option_builder, #get_identifier, #get_parameter_identifier, #parameter_resource, parameter_resource

Methods inherited from Command

build_options, connection_name, create_option_builder, #customized_options, #dependency_resolver, dependency_resolver, #get_identifier, #get_resource_id, #get_resource_ids, #request_params, #resolver, resolver, resource_config, resource_name_mapping, searchables, #searchables, #send_request, #transform_format

Class Method Details

.command_name(name = nil) ⇒ Object



52
53
54
# File 'lib/hammer_cli_foreman/parameter.rb', line 52

def self.command_name(name=nil)
  (super(name) || "set-parameter").gsub('_', '-')
end

Instance Method Details

#create_parameterObject



81
82
83
84
85
86
87
88
89
90
# File 'lib/hammer_cli_foreman/parameter.rb', line 81

def create_parameter
  params = {
    "parameter" => {
      "name" => option_name,
      "value" => option_value
    }
  }.merge(base_action_params)

  HammerCLIForeman.record_to_common_format(parameter_resource.call(:create, params))
end

#executeObject



56
57
58
59
60
61
62
63
64
65
# File 'lib/hammer_cli_foreman/parameter.rb', line 56

def execute
  if parameter_exist?
    update_parameter
    print_message success_message_for :update if success_message_for :update
  else
    create_parameter
    print_message success_message_for :create if success_message_for :create
  end
  HammerCLI::EX_OK
end

#parameter_exist?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/hammer_cli_foreman/parameter.rb', line 67

def parameter_exist?
  get_parameter_identifier rescue false
end

#update_parameterObject



71
72
73
74
75
76
77
78
79
# File 'lib/hammer_cli_foreman/parameter.rb', line 71

def update_parameter
  params = {
    "id" => get_parameter_identifier,
    "parameter" => {
      "value" => option_value
    }
  }.merge(base_action_params)
  HammerCLIForeman.record_to_common_format(parameter_resource.call(:update, params))
end