class HammerCLIForeman::ComputeAttribute::AddInterface
Using the Update command because adding a new interface is done by modifying existing compute_attribute
Public Instance Methods
request_params()
click to toggle source
# File lib/hammer_cli_foreman/compute_attribute.rb, line 124 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.record_to_common_format(HammerCLIForeman.foreman_resource(:compute_resources).call(:show, 'id' => options["option_compute_resource_id"] ))["provider_friendly_name"].downcase interfaces_attr_name = ::HammerCLIForeman.compute_resources[compute_resource_name].interfaces_attrs_name interface_attr = params['compute_attribute']['vm_attrs'][interfaces_attr_name] || {} new_interface_id = (interface_attr.keys.max.to_i + 1 ).to_s if interface_attr.any? new_interface_id ||= "0" params['id'] = params['compute_attribute']['id'] params['compute_attribute']['vm_attrs'][interfaces_attr_name] ||= {} params['compute_attribute']['vm_attrs'][interfaces_attr_name][new_interface_id] = option_interface params end
validate_options()
click to toggle source
Calls superclass method
# File lib/hammer_cli_foreman/compute_attribute.rb, line 118 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