Class: HammerCLIForeman::ComputeAttribute::RemoveInterface

Inherits:
UpdateCommand show all
Defined in:
lib/hammer_cli_foreman/compute_attribute.rb

Overview

Using the Update command because removing an interface is done by modifying existing compute_attribute

Instance Method Summary collapse

Methods inherited from UpdateCommand

command_name, create_option_builder, #method_options_for_params

Methods inherited from HammerCLIForeman::Command

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

Instance Method Details

#request_paramsObject

Raises:

  • (ArgumentError)


187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/hammer_cli_foreman/compute_attribute.rb', line 187

def request_params
  params = HammerCLIForeman::ComputeAttribute.get_params(options)
  raise ArgumentError, "Compute profile value to update does not exist yet; it needs to be created first" if !params['compute_attribute'].key?('id')
  compute_resource_name = HammerCLIForeman::ComputeResources.resource_provider(options['option_compute_resource_id'])
  interfaces_attr_name = ::HammerCLIForeman.compute_resources[compute_resource_name].interfaces_attrs_name
  params['id'] = params['compute_attribute']['id']
  if params['compute_attribute']['vm_attrs'][interfaces_attr_name].has_key?(option_interface_id.to_s)
    params['compute_attribute']['vm_attrs'][interfaces_attr_name].delete(option_interface_id.to_s)
  else
    signal_usage_error _('unknown interface id')
  end
  params
end

#validate_optionsObject



181
182
183
184
185
# File 'lib/hammer_cli_foreman/compute_attribute.rb', line 181

def validate_options
  super
  validator.any(:option_compute_profile_id, :option_compute_profile_name).required
  validator.any(:option_compute_resource_id, :option_compute_resource_name).required
end