Class: HammerCLIForeman::ComputeAttribute::Update
- Inherits:
-
UpdateCommand
- Object
- HammerCLI::Apipie::Command
- HammerCLIForeman::Command
- SingleResourceCommand
- UpdateCommand
- HammerCLIForeman::ComputeAttribute::Update
- Defined in:
- lib/hammer_cli_foreman/compute_attribute.rb
Instance Method Summary collapse
Methods inherited from UpdateCommand
command_name, create_option_builder, #method_options_for_params
Methods inherited from HammerCLIForeman::Command
build_options, connection_name, create_option_builder, #customized_options, #dependency_resolver, dependency_resolver, #exception_handler_class, #get_identifier, #get_resource_id, #get_resource_ids, #option_sources, #resolver, resolver, resource_config, resource_name_mapping, #searchables, searchables, #send_request, #transform_format
Instance Method Details
#request_params ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/hammer_cli_foreman/compute_attribute.rb', line 78 def request_params params = HammerCLIForeman::ComputeAttribute.get_params() compute_resource_name = HammerCLIForeman.record_to_common_format(HammerCLIForeman.foreman_resource(:compute_resources).call(:show, 'id' => ["option_compute_resource_id"] ))["provider_friendly_name"].downcase interfaces_attr_name = ::HammerCLIForeman.compute_resources[compute_resource_name].interfaces_attrs_name raise ArgumentError, "Compute profile value to update does not exist yet; it needs to be created first" if !params['compute_attribute'].key?('id') params['id'] = params['compute_attribute']['id'] vm_attrs = params['compute_attribute']['vm_attrs'] original_volumes = vm_attrs['volumes_attributes'] || {} original_interfaces = vm_attrs[interfaces_attr_name] || {} if ['option_compute_attributes'] vm_attrs = ['option_compute_attributes'] vm_attrs['volumes_attributes'] ||= original_volumes vm_attrs[interfaces_attr_name] ||= original_interfaces end vm_attrs[interfaces_attr_name] = HammerCLIForeman::ComputeAttribute.attribute_hash(['option_interface_list']) unless ['option_interface_list'].empty? vm_attrs['volumes_attributes'] = HammerCLIForeman::ComputeAttribute.attribute_hash(['option_volume_list']) unless ['option_volume_list'].empty? params['compute_attribute']['vm_attrs'] = vm_attrs params end |