Class: HammerCLIForeman::ComputeAttribute::AddInterface
- Inherits:
-
UpdateCommand
- Object
- HammerCLI::Apipie::Command
- HammerCLIForeman::Command
- SingleResourceCommand
- UpdateCommand
- HammerCLIForeman::ComputeAttribute::AddInterface
- Defined in:
- lib/hammer_cli_foreman/compute_attribute.rb
Overview
Using the Update command because adding a new interface is done by modifying existing compute_attribute
Instance Method Summary collapse
Methods inherited from UpdateCommand
#clean_up_context, command_name, create_option_builder, inherited, #method_options_for_params, #success_message
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_params ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/hammer_cli_foreman/compute_attribute.rb', line 132 def request_params params = HammerCLIForeman::ComputeAttribute.get_params() 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(['option_compute_resource_id']) 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] = HammerCLIForeman::ComputeAttribute.alter_interface(option_interface) params end |
#validate_options ⇒ Object
126 127 128 129 130 |
# File 'lib/hammer_cli_foreman/compute_attribute.rb', line 126 def super validator.any(:option_compute_profile_id,:option_compute_profile_name).required validator.any(:option_compute_resource_id,:option_compute_resource_name).required end |