class HammerCLIForeman::ComputeAttribute::Update
Public Instance Methods
request_params()
click to toggle source
# File lib/hammer_cli_foreman/compute_attribute.rb, line 88 def request_params params = HammerCLIForeman::ComputeAttribute.get_params(options) compute_resource_name = HammerCLIForeman::ComputeResources.resource_provider(options['option_compute_resource_id']) 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 options['option_compute_attributes'] vm_attrs = options['option_compute_attributes'] vm_attrs['volumes_attributes'] ||= original_volumes vm_attrs[interfaces_attr_name] ||= original_interfaces end interfaces_list = HammerCLIForeman::ComputeAttribute.alter_interfaces_list(options['option_interface_list']) unless options['option_interface_list'].empty? vm_attrs[interfaces_attr_name] = HammerCLIForeman::ComputeAttribute.attribute_hash(interfaces_list) if interfaces_list vm_attrs['volumes_attributes'] = HammerCLIForeman::ComputeAttribute.attribute_hash(options['option_volume_list']) unless options['option_volume_list'].empty? params['compute_attribute']['vm_attrs'] = vm_attrs params end