hammer_cli_foreman 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/configuration.md +2 -2
- data/doc/name_id_resolution.md +26 -1
- data/doc/release_notes.md +24 -0
- data/lib/hammer_cli_foreman.rb +30 -29
- data/lib/hammer_cli_foreman/api/connection.rb +1 -1
- data/lib/hammer_cli_foreman/api/interactive_basic_auth.rb +3 -3
- data/lib/hammer_cli_foreman/api/session_authenticator_wrapper.rb +9 -8
- data/lib/hammer_cli_foreman/api/void_auth.rb +7 -0
- data/lib/hammer_cli_foreman/architecture.rb +3 -5
- data/lib/hammer_cli_foreman/associating_commands.rb +32 -32
- data/lib/hammer_cli_foreman/auth.rb +2 -2
- data/lib/hammer_cli_foreman/auth_source_ldap.rb +4 -4
- data/lib/hammer_cli_foreman/commands.rb +23 -55
- data/lib/hammer_cli_foreman/common_parameter.rb +5 -5
- data/lib/hammer_cli_foreman/compute_resource.rb +17 -7
- data/lib/hammer_cli_foreman/config_group.rb +3 -3
- data/lib/hammer_cli_foreman/domain.rb +6 -8
- data/lib/hammer_cli_foreman/environment.rb +3 -3
- data/lib/hammer_cli_foreman/exception_handler.rb +27 -4
- data/lib/hammer_cli_foreman/external_usergroup.rb +3 -4
- data/lib/hammer_cli_foreman/filter.rb +20 -21
- data/lib/hammer_cli_foreman/host.rb +43 -18
- data/lib/hammer_cli_foreman/hostgroup.rb +24 -19
- data/lib/hammer_cli_foreman/hosts/common_update_options.rb +4 -6
- data/lib/hammer_cli_foreman/id_resolver.rb +86 -50
- data/lib/hammer_cli_foreman/image.rb +3 -4
- data/lib/hammer_cli_foreman/interface.rb +7 -9
- data/lib/hammer_cli_foreman/location.rb +6 -9
- data/lib/hammer_cli_foreman/media.rb +3 -6
- data/lib/hammer_cli_foreman/model.rb +3 -6
- data/lib/hammer_cli_foreman/operating_system.rb +11 -12
- data/lib/hammer_cli_foreman/option_sources.rb +4 -0
- data/lib/hammer_cli_foreman/option_sources/id_params.rb +51 -0
- data/lib/hammer_cli_foreman/option_sources/ids_params.rb +30 -0
- data/lib/hammer_cli_foreman/option_sources/self_param.rb +16 -0
- data/lib/hammer_cli_foreman/option_sources/user_params.rb +59 -0
- data/lib/hammer_cli_foreman/organization.rb +6 -9
- data/lib/hammer_cli_foreman/output/formatters.rb +1 -1
- data/lib/hammer_cli_foreman/parameter.rb +3 -5
- data/lib/hammer_cli_foreman/partition_table.rb +5 -6
- data/lib/hammer_cli_foreman/realm.rb +3 -3
- data/lib/hammer_cli_foreman/report.rb +1 -4
- data/lib/hammer_cli_foreman/role.rb +4 -7
- data/lib/hammer_cli_foreman/settings.rb +1 -1
- data/lib/hammer_cli_foreman/smart_class_parameter.rb +24 -14
- data/lib/hammer_cli_foreman/smart_proxy.rb +5 -7
- data/lib/hammer_cli_foreman/smart_variable.rb +24 -12
- data/lib/hammer_cli_foreman/ssh_keys.rb +56 -0
- data/lib/hammer_cli_foreman/subnet.rb +6 -9
- data/lib/hammer_cli_foreman/template.rb +16 -9
- data/lib/hammer_cli_foreman/user.rb +10 -52
- data/lib/hammer_cli_foreman/usergroup.rb +3 -3
- data/lib/hammer_cli_foreman/version.rb +1 -1
- data/test/data/1.15/foreman_api.json +1 -1
- data/test/data/1.16/foreman_api.json +1 -0
- data/test/functional/compute_resource_test.rb +117 -0
- data/test/functional/filter_test.rb +2 -2
- data/test/functional/host_test.rb +61 -10
- data/test/functional/location_test.rb +5 -5
- data/test/functional/organization_test.rb +7 -7
- data/test/functional/role_test.rb +3 -3
- data/test/functional/smart_class_parameter_test.rb +5 -5
- data/test/functional/smart_variable_test.rb +1 -1
- data/test/functional/ssh_keys_test.rb +105 -0
- data/test/functional/template_test.rb +30 -4
- data/test/functional/user_test.rb +5 -5
- data/test/reports/TEST-HammerCLIForeman-Architecture-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-InfoCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-ListCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Architecture.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-DeleteCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-ListCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-SetCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter-SetCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-CommonParameter.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-CreateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-InfoCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-ListCommand-output.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ComputeResource.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-DeleteParameterCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-DeleteParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-InfoCommand-output.xml +21 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-ListCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-SetParameterCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-SetParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Domain-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Domain.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-InfoCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-ListCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Environment-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Environment.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-ExceptionHandler.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Host-CreateCommand-parameters.xml +46 -0
- data/test/reports/TEST-HammerCLIForeman-Host-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Host-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-DeleteParameterCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Host-DeleteParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-InfoCommand-output.xml +85 -0
- data/test/reports/TEST-HammerCLIForeman-Host-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Host-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-ListCommand-output.xml +21 -0
- data/test/reports/TEST-HammerCLIForeman-Host-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Host-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-PuppetRunCommand-output.xml +9 -0
- data/test/reports/TEST-HammerCLIForeman-Host-PuppetRunCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-SetParameterCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Host-SetParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-StatusCommand-output.xml +9 -0
- data/test/reports/TEST-HammerCLIForeman-Host-StatusCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host-UpdateCommand-parameters.xml +40 -0
- data/test/reports/TEST-HammerCLIForeman-Host-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Host.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-DeleteCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-DeleteParameterCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-DeleteParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-InfoCommand-output.xml +29 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-InfoCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-ListCommand-output.xml +27 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-SetParameterCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-SetParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-UpdateCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Hostgroup.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Location-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Location-CreateCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Location-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Location-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Location-DeleteCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Location-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Location-InfoCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Location-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Location-InfoCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Location-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Location-ListCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Location-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Location-ListCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Location-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Location-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Location-UpdateCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Location-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Location.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-CreateCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-InfoCommand-output.xml +23 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-ListCommand-output.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-UpdateCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Medium-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Medium.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-DeleteParameterCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-DeleteParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-InfoCommand-output.xml +27 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-ListCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-SetParameterCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-SetParameterCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-UpdateCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-OperatingSystem.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-CreateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-CreateCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-DeleteCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-InfoCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-InfoCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-ListCommand-output.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-ListCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-UpdateCommand-resource-disabled.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Organization-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Organization.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-CreateCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-DumpCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-DumpCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-InfoCommand-output.xml +19 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-ListCommand-output.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-UpdateCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-PartitionTable.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-CreateCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-InfoCommand-output.xml +21 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-ListCommand-output.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-ListCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-SmartProxy.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-CreateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-DeleteCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-InfoCommand-output.xml +43 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-InfoCommand-parameters.xml +13 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-ListCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-UpdateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Subnet.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-CreateCommand-parameters.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Template-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-DeleteCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Template-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-DumpCommand-parameters.xml +12 -0
- data/test/reports/TEST-HammerCLIForeman-Template-DumpCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-InfoCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Template-InfoCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Template-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-ListCommand-output.xml +15 -0
- data/test/reports/TEST-HammerCLIForeman-Template-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-Template-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-ListKindsCommand-parameters.xml +9 -0
- data/test/reports/TEST-HammerCLIForeman-Template-ListKindsCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template-UpdateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-Template-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-Template.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-User-CreateCommand-parameters.xml +19 -0
- data/test/reports/TEST-HammerCLIForeman-User-CreateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-User-DeleteCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-User-DeleteCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-User-InfoCommand-output.xml +23 -0
- data/test/reports/TEST-HammerCLIForeman-User-InfoCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-User-InfoCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-User-ListCommand-output.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-User-ListCommand-parameters.xml +17 -0
- data/test/reports/TEST-HammerCLIForeman-User-ListCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-User-UpdateCommand-parameters.xml +11 -0
- data/test/reports/TEST-HammerCLIForeman-User-UpdateCommand.xml +7 -0
- data/test/reports/TEST-HammerCLIForeman-User.xml +7 -0
- data/test/reports/TEST-MiniTest-Spec.xml +7 -0
- data/test/unit/api/interactive_basic_auth_test.rb +20 -1
- data/test/unit/api/session_authenticator_wrapper_test.rb +23 -8
- data/test/unit/api/void_auth_test.rb +11 -0
- data/test/unit/commands_test.rb +1 -1
- data/test/unit/exception_handler_test.rb +24 -3
- data/test/unit/helpers/command.rb +6 -2
- data/test/unit/host_test.rb +2 -2
- data/test/unit/hostgroup_test.rb +5 -3
- data/test/unit/id_resolver_test.rb +53 -5
- data/test/unit/media_test.rb +2 -2
- data/test/unit/option_sources/id_params_test.rb +30 -0
- data/test/unit/option_sources/ids_params_test.rb +30 -0
- data/test/unit/output/formatters_test.rb +4 -0
- data/test/unit/smart_class_parameter_test.rb +4 -4
- data/test/unit/smart_variable_test.rb +2 -2
- data/test/unit/user_test.rb +1 -2
- metadata +569 -69
|
@@ -54,7 +54,7 @@ module HammerCLIForeman
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
|
57
|
-
success_message _("External user group created")
|
|
57
|
+
success_message _("External user group created.")
|
|
58
58
|
failure_message _("Could not create external user group")
|
|
59
59
|
|
|
60
60
|
build_options
|
|
@@ -62,7 +62,7 @@ module HammerCLIForeman
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
|
65
|
-
success_message _("External user group updated")
|
|
65
|
+
success_message _("External user group updated.")
|
|
66
66
|
failure_message _("Could not update external user group")
|
|
67
67
|
|
|
68
68
|
build_options
|
|
@@ -70,7 +70,7 @@ module HammerCLIForeman
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
|
73
|
-
success_message _("External user group deleted")
|
|
73
|
+
success_message _("External user group deleted.")
|
|
74
74
|
failure_message _("Could not delete the external user group")
|
|
75
75
|
|
|
76
76
|
build_options
|
|
@@ -80,4 +80,3 @@ module HammerCLIForeman
|
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
end
|
|
83
|
-
|
|
@@ -43,23 +43,28 @@ module HammerCLIForeman
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
module TaxonomyCheck
|
|
46
|
-
def taxonomy_options?
|
|
47
|
-
option_location_names || option_location_ids || option_organization_names || option_organization_ids
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def signal_override_usage_error
|
|
51
|
-
signal_usage_error _('Organizations and locations can be set only for overriding filters')
|
|
52
|
-
end
|
|
53
46
|
|
|
54
47
|
def self.included(base)
|
|
48
|
+
def taxonomy_options?
|
|
49
|
+
opt_names = ['location_ids', 'organization_ids']
|
|
50
|
+
opt_names += resolver.searchables(:locations).map { |s| 'location_' + s.plural_name }
|
|
51
|
+
opt_names += resolver.searchables(:organizations).map { |s| 'organization_' + s.plural_name }
|
|
52
|
+
opt_names.any? { |opt| send(HammerCLI.option_accessor_name(opt)) }
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def signal_override_usage_error
|
|
56
|
+
signal_usage_error _('Organizations and locations can be set only for overriding filters.')
|
|
57
|
+
end
|
|
58
|
+
|
|
55
59
|
base.extend_help do |h|
|
|
56
|
-
h.section('Overriding organizations and locations') do
|
|
60
|
+
h.section(_('Overriding organizations and locations')) do
|
|
57
61
|
override_condition = "--override=true"
|
|
58
62
|
org_opts = '--organization[s|-ids]'
|
|
59
63
|
loc_opts = '--location[s|-ids]'
|
|
60
64
|
|
|
61
|
-
h.text(_("Filters inherit organizations and locations from its role by default. This behavior can be changed by setting %{condition}
|
|
65
|
+
h.text(_("Filters inherit organizations and locations from its role by default. This behavior can be changed by setting %{condition}.%{wsp}" +
|
|
62
66
|
"Therefore options %{org_opts} and %{loc_opts} are applicable only when the override flag is set.") % {
|
|
67
|
+
:wsp => "\n",
|
|
63
68
|
:org_opts => org_opts,
|
|
64
69
|
:loc_opts => loc_opts,
|
|
65
70
|
:condition => override_condition
|
|
@@ -73,12 +78,11 @@ module HammerCLIForeman
|
|
|
73
78
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
|
74
79
|
include TaxonomyCheck
|
|
75
80
|
|
|
76
|
-
success_message _("Permission filter for [%<resource_type>s] created")
|
|
81
|
+
success_message _("Permission filter for [%<resource_type>s] created.")
|
|
77
82
|
failure_message _("Could not create the permission filter")
|
|
78
83
|
|
|
79
|
-
def
|
|
84
|
+
def validate_options
|
|
80
85
|
signal_override_usage_error if !option_override && taxonomy_options?
|
|
81
|
-
super
|
|
82
86
|
end
|
|
83
87
|
|
|
84
88
|
build_options
|
|
@@ -88,7 +92,7 @@ module HammerCLIForeman
|
|
|
88
92
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
|
89
93
|
include TaxonomyCheck
|
|
90
94
|
|
|
91
|
-
success_message _("Permission filter for [%<resource_type>s] updated")
|
|
95
|
+
success_message _("Permission filter for [%<resource_type>s] updated.")
|
|
92
96
|
failure_message _("Could not update the permission filter")
|
|
93
97
|
|
|
94
98
|
def request_params
|
|
@@ -101,9 +105,8 @@ module HammerCLIForeman
|
|
|
101
105
|
params
|
|
102
106
|
end
|
|
103
107
|
|
|
104
|
-
def
|
|
108
|
+
def validate_options
|
|
105
109
|
signal_override_usage_error if !override? && taxonomy_options?
|
|
106
|
-
super
|
|
107
110
|
end
|
|
108
111
|
|
|
109
112
|
def override?
|
|
@@ -115,7 +118,7 @@ module HammerCLIForeman
|
|
|
115
118
|
end
|
|
116
119
|
|
|
117
120
|
def filter
|
|
118
|
-
@filter ||= HammerCLIForeman.foreman_resource!(:filters).action(:show).call({ :id =>
|
|
121
|
+
@filter ||= HammerCLIForeman.foreman_resource!(:filters).action(:show).call({ :id => get_identifier }, request_headers, request_options)
|
|
119
122
|
end
|
|
120
123
|
|
|
121
124
|
build_options
|
|
@@ -123,7 +126,7 @@ module HammerCLIForeman
|
|
|
123
126
|
|
|
124
127
|
|
|
125
128
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
|
126
|
-
success_message _("Permission filter deleted")
|
|
129
|
+
success_message _("Permission filter deleted.")
|
|
127
130
|
failure_message _("Could not delete the permission filter")
|
|
128
131
|
|
|
129
132
|
build_options
|
|
@@ -161,8 +164,4 @@ module HammerCLIForeman
|
|
|
161
164
|
|
|
162
165
|
autoload_subcommands
|
|
163
166
|
end
|
|
164
|
-
|
|
165
167
|
end
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
@@ -35,7 +35,7 @@ module HammerCLIForeman
|
|
|
35
35
|
field :mac, _("MAC")
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
build_options
|
|
38
|
+
build_options :without => [:include, :thin]
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
|
|
@@ -61,9 +61,9 @@ module HammerCLIForeman
|
|
|
61
61
|
field nil, _("Host Group"), Fields::SingleReference, :key => :hostgroup, :display_field => 'title'
|
|
62
62
|
field nil, _("Compute Resource"), Fields::SingleReference, :key => :compute_resource
|
|
63
63
|
field nil, _("Compute Profile"), Fields::SingleReference, :key => :compute_profile, :hide_blank => true
|
|
64
|
-
field nil, _("Environment"), Fields::SingleReference, :key => :environment
|
|
65
|
-
field
|
|
66
|
-
field
|
|
64
|
+
field nil, _("Puppet Environment"), Fields::SingleReference, :key => :environment
|
|
65
|
+
field nil, _("Puppet CA Proxy"), Fields::SingleReference, :key => :puppet_ca_proxy
|
|
66
|
+
field nil, _("Puppet Master Proxy"), Fields::SingleReference, :key => :puppet_proxy
|
|
67
67
|
field :certname, _("Cert name")
|
|
68
68
|
field :managed, _("Managed"), Fields::Boolean
|
|
69
69
|
|
|
@@ -71,9 +71,11 @@ module HammerCLIForeman
|
|
|
71
71
|
field :last_report, _("Last report"), Fields::Date
|
|
72
72
|
|
|
73
73
|
label _("Network") do
|
|
74
|
-
field :ip, _("
|
|
74
|
+
field :ip, _("IPv4 address"), Fields::Field, :hide_blank => true
|
|
75
|
+
field :ip6, _("IPv6 address"), Fields::Field, :hide_blank => true
|
|
75
76
|
field :mac, _("MAC")
|
|
76
|
-
field nil, _("Subnet"), Fields::SingleReference, :key => :subnet
|
|
77
|
+
field nil, _("Subnet ipv4"), Fields::SingleReference, :key => :subnet
|
|
78
|
+
field nil, _("Subnet ipv6"), Fields::SingleReference, :key => :subnet6
|
|
77
79
|
field nil, _("Domain"), Fields::SingleReference, :key => :domain
|
|
78
80
|
field nil, _("Service provider"), Fields::Label, :hide_blank => true do
|
|
79
81
|
field :sp_name, _("SP Name"), Fields::Field, :hide_blank => true
|
|
@@ -88,7 +90,8 @@ module HammerCLIForeman
|
|
|
88
90
|
field :identifier, _('Identifier')
|
|
89
91
|
field :_type, _('Type')
|
|
90
92
|
field :mac, _('MAC address')
|
|
91
|
-
field :ip, _('
|
|
93
|
+
field :ip, _('IPv4 address'), Fields::Field, :hide_blank => true
|
|
94
|
+
field :ip6, _('IPv6 address'), Fields::Field, :hide_blank => true
|
|
92
95
|
field :fqdn, _('FQDN')
|
|
93
96
|
end
|
|
94
97
|
|
|
@@ -100,6 +103,7 @@ module HammerCLIForeman
|
|
|
100
103
|
field :build, _("Build"), Fields::Boolean
|
|
101
104
|
field nil, _("Medium"), Fields::SingleReference, :key => :medium
|
|
102
105
|
field nil, _("Partition Table"), Fields::SingleReference, :key => :ptable
|
|
106
|
+
field :pxe_loader, _("PXE Loader"), Fields::Field, :hide_blank => true
|
|
103
107
|
field :disk, _("Custom partition table"), Fields::LongText
|
|
104
108
|
# image
|
|
105
109
|
# for image based
|
|
@@ -113,7 +117,7 @@ module HammerCLIForeman
|
|
|
113
117
|
|
|
114
118
|
# additional info
|
|
115
119
|
label _("Additional info") do
|
|
116
|
-
field
|
|
120
|
+
field nil, _("Owner"), Fields::SingleReference, :key => :owner
|
|
117
121
|
field :owner_type, _("Owner Type")
|
|
118
122
|
field :enabled, _("Enabled"), Fields::Boolean
|
|
119
123
|
field nil, _("Model"), Fields::SingleReference, :key => :model, :hide_blank => true
|
|
@@ -209,18 +213,39 @@ module HammerCLIForeman
|
|
|
209
213
|
end
|
|
210
214
|
|
|
211
215
|
|
|
212
|
-
class ReportsCommand < HammerCLIForeman::
|
|
216
|
+
class ReportsCommand < HammerCLIForeman::ListCommand
|
|
213
217
|
command_name "reports"
|
|
214
218
|
resource :reports, :index
|
|
215
|
-
|
|
219
|
+
|
|
220
|
+
option('--id', "ID", _('Host id'), :referenced_resource => 'host')
|
|
221
|
+
option('--name', "NAME", _('Host name'))
|
|
216
222
|
|
|
217
223
|
output HammerCLIForeman::Report::ListCommand.output_definition
|
|
218
224
|
|
|
225
|
+
def validate_options
|
|
226
|
+
validator.any(:option_name, :option_id).required
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
def request_params
|
|
230
|
+
params = super
|
|
231
|
+
search = []
|
|
232
|
+
search << params['search'] if params['search']
|
|
233
|
+
|
|
234
|
+
hostname = get_option_value('name')
|
|
235
|
+
search << %Q(host="#{hostname}") if hostname
|
|
236
|
+
|
|
237
|
+
host_id = get_option_value('id')
|
|
238
|
+
search << "host_id=#{host_id}" if host_id
|
|
239
|
+
|
|
240
|
+
params['search'] = search.join(' and ') unless search.empty?
|
|
241
|
+
params
|
|
242
|
+
end
|
|
243
|
+
|
|
219
244
|
build_options
|
|
220
245
|
end
|
|
221
246
|
|
|
222
247
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
|
223
|
-
success_message _("Host created")
|
|
248
|
+
success_message _("Host created.")
|
|
224
249
|
failure_message _("Could not create the host")
|
|
225
250
|
|
|
226
251
|
include HammerCLIForeman::Hosts::CommonUpdateOptions
|
|
@@ -241,7 +266,7 @@ module HammerCLIForeman
|
|
|
241
266
|
end
|
|
242
267
|
|
|
243
268
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
|
244
|
-
success_message _("Host updated")
|
|
269
|
+
success_message _("Host updated.")
|
|
245
270
|
failure_message _("Could not update the host")
|
|
246
271
|
|
|
247
272
|
include HammerCLIForeman::Hosts::CommonUpdateOptions
|
|
@@ -250,7 +275,7 @@ module HammerCLIForeman
|
|
|
250
275
|
|
|
251
276
|
|
|
252
277
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
|
253
|
-
success_message _("Host deleted")
|
|
278
|
+
success_message _("Host deleted.")
|
|
254
279
|
failure_message _("Could not delete the host")
|
|
255
280
|
|
|
256
281
|
build_options
|
|
@@ -258,7 +283,7 @@ module HammerCLIForeman
|
|
|
258
283
|
|
|
259
284
|
|
|
260
285
|
class SetParameterCommand < HammerCLIForeman::Parameter::SetCommand
|
|
261
|
-
desc _("Create or update parameter for a host
|
|
286
|
+
desc _("Create or update parameter for a host")
|
|
262
287
|
|
|
263
288
|
success_message_for :update, _("Host parameter updated")
|
|
264
289
|
success_message_for :create, _("New host parameter created")
|
|
@@ -274,9 +299,9 @@ module HammerCLIForeman
|
|
|
274
299
|
|
|
275
300
|
|
|
276
301
|
class DeleteParameterCommand < HammerCLIForeman::Parameter::DeleteCommand
|
|
277
|
-
desc _("Delete parameter for a host
|
|
302
|
+
desc _("Delete parameter for a host")
|
|
278
303
|
|
|
279
|
-
success_message _("Host parameter deleted")
|
|
304
|
+
success_message _("Host parameter deleted.")
|
|
280
305
|
|
|
281
306
|
def validate_options
|
|
282
307
|
super
|
|
@@ -326,9 +351,9 @@ module HammerCLIForeman
|
|
|
326
351
|
|
|
327
352
|
def success_message
|
|
328
353
|
if option_force?
|
|
329
|
-
_("Power off forced
|
|
354
|
+
_("Power off forced")
|
|
330
355
|
else
|
|
331
|
-
_("Powering the host off
|
|
356
|
+
_("Powering the host off")
|
|
332
357
|
end
|
|
333
358
|
end
|
|
334
359
|
|
|
@@ -61,11 +61,11 @@ module HammerCLIForeman
|
|
|
61
61
|
field :name, _("Name")
|
|
62
62
|
field :title, _("Title")
|
|
63
63
|
field nil, _("Operating System"), Fields::SingleReference, :key => :operatingsystem
|
|
64
|
-
field nil, _("Environment"), Fields::SingleReference, :key => :environment
|
|
64
|
+
field nil, _("Puppet Environment"), Fields::SingleReference, :key => :environment
|
|
65
65
|
field nil, _("Model"), Fields::SingleReference, :key => :model
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
build_options
|
|
68
|
+
build_options :without => :include
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
|
|
@@ -73,19 +73,26 @@ module HammerCLIForeman
|
|
|
73
73
|
|
|
74
74
|
output ListCommand.output_definition do
|
|
75
75
|
field :description, _("Description"), Fields::LongText, :hide_blank => true
|
|
76
|
-
field nil, _("
|
|
77
|
-
|
|
78
|
-
field nil, _("
|
|
79
|
-
field nil, _("Architecture"), Fields::SingleReference, :key => :architecture
|
|
80
|
-
field nil, _("Partition Table"), Fields::SingleReference, :key => :ptable
|
|
81
|
-
field nil, _("Medium"), Fields::SingleReference, :key => :medium
|
|
82
|
-
field :puppet_ca_proxy_id, _("Puppet CA Proxy Id")
|
|
83
|
-
field :puppet_proxy_id, _("Puppet Master Proxy Id")
|
|
76
|
+
field nil, _("Parent"), Fields::SingleReference, :key => :parent, :hide_blank => true
|
|
77
|
+
field nil, _("Puppet CA Proxy"), Fields::SingleReference, :key => :puppet_ca_proxy
|
|
78
|
+
field nil, _("Puppet Master Proxy"), Fields::SingleReference, :key => :puppet_proxy
|
|
84
79
|
field nil, _("ComputeProfile"), Fields::SingleReference, :key => :compute_profile
|
|
80
|
+
label _('Network') do
|
|
81
|
+
field nil, _("Subnet ipv4"), Fields::SingleReference, :key => :subnet
|
|
82
|
+
field nil, _("Subnet ipv6"), Fields::SingleReference, :key => :subnet6
|
|
83
|
+
field nil, _("Realm"), Fields::SingleReference, :key => :realm
|
|
84
|
+
field nil, _("Domain"), Fields::SingleReference, :key => :domain
|
|
85
|
+
end
|
|
86
|
+
label _('Operating system') do
|
|
87
|
+
field nil, _("Architecture"), Fields::SingleReference, :key => :architecture
|
|
88
|
+
field nil, _("Operating System"), Fields::SingleReference, :key => :operatingsystem
|
|
89
|
+
field nil, _("Medium"), Fields::SingleReference, :key => :medium
|
|
90
|
+
field nil, _("Partition Table"), Fields::SingleReference, :key => :ptable
|
|
91
|
+
field :pxe_loader, _("PXE Loader"), Fields::Field, :hide_blank => true
|
|
92
|
+
end
|
|
85
93
|
HammerCLIForeman::References.puppetclasses(self)
|
|
86
94
|
HammerCLIForeman::References.parameters(self)
|
|
87
95
|
HammerCLIForeman::References.taxonomies(self)
|
|
88
|
-
field :ancestry, _("Parent Id")
|
|
89
96
|
end
|
|
90
97
|
|
|
91
98
|
build_options
|
|
@@ -95,7 +102,7 @@ module HammerCLIForeman
|
|
|
95
102
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
|
96
103
|
include HostgroupUpdateCreateCommons
|
|
97
104
|
|
|
98
|
-
success_message _("Hostgroup created")
|
|
105
|
+
success_message _("Hostgroup created.")
|
|
99
106
|
failure_message _("Could not create the hostgroup")
|
|
100
107
|
|
|
101
108
|
build_options
|
|
@@ -105,7 +112,7 @@ module HammerCLIForeman
|
|
|
105
112
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
|
106
113
|
include HostgroupUpdateCreateCommons
|
|
107
114
|
|
|
108
|
-
success_message _("Hostgroup updated")
|
|
115
|
+
success_message _("Hostgroup updated.")
|
|
109
116
|
failure_message _("Could not update the hostgroup")
|
|
110
117
|
|
|
111
118
|
build_options
|
|
@@ -113,7 +120,7 @@ module HammerCLIForeman
|
|
|
113
120
|
|
|
114
121
|
|
|
115
122
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
|
116
|
-
success_message _("Hostgroup deleted")
|
|
123
|
+
success_message _("Hostgroup deleted.")
|
|
117
124
|
failure_message _("Could not delete the hostgroup")
|
|
118
125
|
|
|
119
126
|
build_options
|
|
@@ -138,7 +145,7 @@ module HammerCLIForeman
|
|
|
138
145
|
|
|
139
146
|
|
|
140
147
|
class SetParameterCommand < HammerCLIForeman::Parameter::SetCommand
|
|
141
|
-
desc _("Create or update parameter for a hostgroup
|
|
148
|
+
desc _("Create or update parameter for a hostgroup")
|
|
142
149
|
|
|
143
150
|
success_message_for :update, _("Hostgroup parameter updated")
|
|
144
151
|
success_message_for :create, _("New hostgroup parameter created")
|
|
@@ -149,9 +156,9 @@ module HammerCLIForeman
|
|
|
149
156
|
|
|
150
157
|
|
|
151
158
|
class DeleteParameterCommand < HammerCLIForeman::Parameter::DeleteCommand
|
|
152
|
-
desc _("Delete parameter for a hostgroup
|
|
159
|
+
desc _("Delete parameter for a hostgroup")
|
|
153
160
|
|
|
154
|
-
success_message _("Hostgroup parameter deleted")
|
|
161
|
+
success_message _("Hostgroup parameter deleted.")
|
|
155
162
|
|
|
156
163
|
build_options
|
|
157
164
|
end
|
|
@@ -178,5 +185,3 @@ module HammerCLIForeman
|
|
|
178
185
|
end
|
|
179
186
|
|
|
180
187
|
end
|
|
181
|
-
|
|
182
|
-
|
|
@@ -35,20 +35,18 @@ module HammerCLIForeman
|
|
|
35
35
|
bme_options[:format] = HammerCLI::Options::Normalizers::Bool.new
|
|
36
36
|
base.option "--overwrite", "OVERWRITE", " ", bme_options
|
|
37
37
|
|
|
38
|
-
base.option "--parameters", "PARAMS", _("Host parameters
|
|
38
|
+
base.option "--parameters", "PARAMS", _("Host parameters"),
|
|
39
39
|
:format => HammerCLI::Options::Normalizers::KeyValueList.new
|
|
40
|
-
base.option "--compute-attributes", "COMPUTE_ATTRS", _("Compute resource attributes
|
|
40
|
+
base.option "--compute-attributes", "COMPUTE_ATTRS", _("Compute resource attributes"),
|
|
41
41
|
:format => HammerCLI::Options::Normalizers::KeyValueList.new
|
|
42
42
|
base.option "--volume", "VOLUME", _("Volume parameters"), :multivalued => true,
|
|
43
43
|
:format => HammerCLI::Options::Normalizers::KeyValueList.new
|
|
44
|
-
base.option "--interface", "INTERFACE", _("Interface parameters
|
|
44
|
+
base.option "--interface", "INTERFACE", _("Interface parameters"), :multivalued => true,
|
|
45
45
|
:format => HammerCLI::Options::Normalizers::KeyValueList.new
|
|
46
|
-
base.option "--provision-method", "METHOD", " ",
|
|
47
|
-
:format => HammerCLI::Options::Normalizers::Enum.new(['build', 'image'])
|
|
48
46
|
|
|
49
47
|
base.build_options :without => [
|
|
50
48
|
# - temporarily disabled params that will be removed from the api ------------------
|
|
51
|
-
:
|
|
49
|
+
:capabilities, :flavour_ref, :image_ref, :start,
|
|
52
50
|
:network, :cpus, :memory, :provider, :type, :tenant_id, :image_id,
|
|
53
51
|
# ----------------------------------------------------------------------------------
|
|
54
52
|
:puppet_class_ids, :host_parameters_attributes, :interfaces_attributes, :root_pass]
|
|
@@ -52,7 +52,7 @@ module HammerCLIForeman
|
|
|
52
52
|
:ptable => [ s_name(_("Partition table name")) ],
|
|
53
53
|
:proxy => [ s_name(_("Proxy name")) ],
|
|
54
54
|
:puppetclass => [ s_name(_("Puppet class name")) ],
|
|
55
|
-
:report => [
|
|
55
|
+
:report => [],
|
|
56
56
|
:role => [ s_name(_("User role name")) ],
|
|
57
57
|
:setting => [ s_name(_("Setting name"), :editable => false) ],
|
|
58
58
|
:subnet => [ s_name(_("Subnet name")) ],
|
|
@@ -82,15 +82,22 @@ module HammerCLIForeman
|
|
|
82
82
|
define_id_finders
|
|
83
83
|
end
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
# @param mode [Symbol] mode in which ids are searched :single, :multi, nil for old beahvior
|
|
86
|
+
def scoped_options(scope, options, mode = nil)
|
|
86
87
|
scoped_options = options.dup
|
|
87
88
|
|
|
88
89
|
resource = HammerCLIForeman.param_to_resource(scope)
|
|
89
90
|
return scoped_options unless resource
|
|
90
91
|
|
|
91
|
-
option_names =
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
option_names = []
|
|
93
|
+
if (mode.nil? || mode == :single)
|
|
94
|
+
option_names << "id"
|
|
95
|
+
option_names += searchables(resource).map { |s| s.name }
|
|
96
|
+
end
|
|
97
|
+
if (mode.nil? || mode == :multi)
|
|
98
|
+
option_names << "ids"
|
|
99
|
+
option_names += searchables(resource).map { |s| s.plural_name }
|
|
100
|
+
end
|
|
94
101
|
|
|
95
102
|
option_names.each do |name|
|
|
96
103
|
option = HammerCLI.option_accessor_name(name)
|
|
@@ -106,22 +113,15 @@ module HammerCLIForeman
|
|
|
106
113
|
scoped_options
|
|
107
114
|
end
|
|
108
115
|
|
|
109
|
-
|
|
110
|
-
def puppetclass_id(options)
|
|
111
|
-
if options[HammerCLI.option_accessor_name("id")]
|
|
112
|
-
return options[HammerCLI.option_accessor_name("id")]
|
|
113
|
-
else
|
|
114
|
-
resource = @api.resource(:puppetclasses)
|
|
115
|
-
results = resolved_call(:puppetclasses, :index, options)[0]
|
|
116
|
-
results = results.values.flatten
|
|
117
|
-
return pick_result(results, resource)['id']
|
|
118
|
-
end
|
|
119
|
-
end
|
|
120
|
-
|
|
121
116
|
def puppetclass_ids(options)
|
|
122
117
|
options[HammerCLI.option_accessor_name("ids")] || find_puppetclasses(options).collect { |c| c['id'] }
|
|
123
118
|
end
|
|
124
119
|
|
|
120
|
+
def searchables(resource)
|
|
121
|
+
resource = @api.resource(resource) if resource.is_a? Symbol
|
|
122
|
+
@searchables.for(resource)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
125
|
protected
|
|
126
126
|
|
|
127
127
|
def define_id_finders
|
|
@@ -140,23 +140,39 @@ module HammerCLIForeman
|
|
|
140
140
|
end
|
|
141
141
|
|
|
142
142
|
def get_id(resource_name, options)
|
|
143
|
-
options[HammerCLI.option_accessor_name("id")] ||
|
|
143
|
+
options[HammerCLI.option_accessor_name("id")] ||
|
|
144
|
+
nil_from_searchables(resource_name, options) ||
|
|
145
|
+
find_resource(resource_name, options)['id']
|
|
144
146
|
end
|
|
145
147
|
|
|
146
148
|
def get_ids(resource_name, options)
|
|
147
149
|
if (ids = options[HammerCLI.option_accessor_name("ids")])
|
|
148
150
|
ids
|
|
149
|
-
elsif
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
elsif (ids = nil_from_searchables(resource_name, options, :plural => true))
|
|
152
|
+
ids
|
|
153
|
+
elsif options_not_set?(@api.resource(resource_name), options)
|
|
154
|
+
resource = @api.resource(resource_name)
|
|
155
|
+
raise MissingSearchOptions.new(_("Missing options to search %s") % resource.name, resource)
|
|
156
|
+
elsif options_empty?(@api.resource(resource_name), options)
|
|
152
157
|
[]
|
|
158
|
+
else
|
|
159
|
+
find_resources(resource_name, options).map{|r| r['id']}
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def nil_from_searchables(resource_name, options, plural = false)
|
|
164
|
+
resource = @api.resource(resource_name)
|
|
165
|
+
searchables(resource).each do |s|
|
|
166
|
+
option_name = plural ? s.plural_name.to_s : s.name.to_s
|
|
167
|
+
return HammerCLI::NilValue if options[HammerCLI.option_accessor_name(option_name)] == HammerCLI::NilValue
|
|
153
168
|
end
|
|
169
|
+
nil
|
|
154
170
|
end
|
|
155
171
|
|
|
156
172
|
def find_resources(resource_name, options)
|
|
157
173
|
resource = @api.resource(resource_name)
|
|
158
|
-
results = resolved_call(resource_name, :index, options)
|
|
159
|
-
raise ResolverError.new(_("one of %s not found") % resource.name, resource) if results.count < expected_record_count(options, resource)
|
|
174
|
+
results = resolved_call(resource_name, :index, options, :multi)
|
|
175
|
+
raise ResolverError.new(_("one of %s not found.") % resource.name, resource) if results.count < expected_record_count(options, resource)
|
|
160
176
|
results
|
|
161
177
|
end
|
|
162
178
|
|
|
@@ -167,8 +183,8 @@ module HammerCLIForeman
|
|
|
167
183
|
if (ids = options[HammerCLI.option_accessor_name("ids")])
|
|
168
184
|
ids
|
|
169
185
|
elsif !options_empty?(resource, options)
|
|
170
|
-
results = resolved_call(resource_name, :index, options).first.values.flatten
|
|
171
|
-
raise ResolverError.new(_("one of %s not found") % resource.name, resource) if results.count < expected_record_count(options, resource)
|
|
186
|
+
results = resolved_call(resource_name, :index, options, :multi).first.values.flatten
|
|
187
|
+
raise ResolverError.new(_("one of %s not found.") % resource.name, resource) if results.count < expected_record_count(options, resource)
|
|
172
188
|
results
|
|
173
189
|
else
|
|
174
190
|
[]
|
|
@@ -182,17 +198,20 @@ module HammerCLIForeman
|
|
|
182
198
|
end
|
|
183
199
|
|
|
184
200
|
def find_resource_raw(resource_name, options)
|
|
185
|
-
resolved_call(resource_name, :index, options)
|
|
201
|
+
resolved_call(resource_name, :index, options, :single)
|
|
186
202
|
end
|
|
187
203
|
|
|
188
204
|
|
|
189
|
-
|
|
205
|
+
# @param mode [Symbol] mode in which ids are searched :single, :multi, nil for old beahvior
|
|
206
|
+
def resolved_call(resource_name, action_name, options, mode = nil)
|
|
190
207
|
resource = @api.resource(resource_name)
|
|
191
208
|
action = resource.action(action_name)
|
|
192
209
|
|
|
193
|
-
search_options = search_options(options, resource)
|
|
210
|
+
search_options = search_options(options, resource, mode)
|
|
194
211
|
IdParamsFilter.new(:only_required => true).for_action(action).each do |param|
|
|
195
|
-
|
|
212
|
+
scoped_options_params = [param.name.gsub(/_id$/, ""), options]
|
|
213
|
+
scoped_options_params << mode if method(:scoped_options).arity == -3
|
|
214
|
+
search_options[param.name] ||= send(param.name, scoped_options(*scoped_options_params))
|
|
196
215
|
end
|
|
197
216
|
search_options = route_options(options, action).merge(search_options)
|
|
198
217
|
|
|
@@ -218,26 +237,35 @@ module HammerCLIForeman
|
|
|
218
237
|
end
|
|
219
238
|
|
|
220
239
|
def pick_result(results, resource)
|
|
221
|
-
raise ResolverError.new(_("%s not found") % resource.singular_name, resource) if results.empty?
|
|
222
|
-
raise ResolverError.new(_("
|
|
240
|
+
raise ResolverError.new(_("%s not found.") % resource.singular_name, resource) if results.empty?
|
|
241
|
+
raise ResolverError.new(_("Found more than one %s.") % resource.singular_name, resource) if results.count > 1
|
|
223
242
|
results[0]
|
|
224
243
|
end
|
|
225
244
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
245
|
+
# @param mode [Symbol] mode in which ids are searched :single, :multi, nil for old beahvior
|
|
246
|
+
def search_options(options, resource, mode = nil)
|
|
247
|
+
override_method = "create_#{resource.name}_search_options"
|
|
248
|
+
search_options = if respond_to?(override_method, true)
|
|
249
|
+
create_search_options_params = [override_method, options]
|
|
250
|
+
if method(override_method.to_sym).arity == -2
|
|
251
|
+
create_search_options_params << mode
|
|
252
|
+
else
|
|
253
|
+
warn "create_*_search_options methods (#{override_method}) without 'mode' parameter are deprecated"
|
|
254
|
+
end
|
|
255
|
+
send(*create_search_options_params)
|
|
256
|
+
else
|
|
257
|
+
create_search_options_params = [options, resource]
|
|
258
|
+
if method(:create_search_options).arity == -3
|
|
259
|
+
create_search_options_params << mode
|
|
260
|
+
else
|
|
261
|
+
warn "create_search_options methods without 'mode' parameter are deprecated"
|
|
262
|
+
end
|
|
263
|
+
create_search_options(*create_search_options_params)
|
|
264
|
+
end
|
|
265
|
+
raise MissingSearchOptions.new(_("Missing options to search %s.") % resource.singular_name, resource) if search_options.empty?
|
|
234
266
|
search_options
|
|
235
267
|
end
|
|
236
268
|
|
|
237
|
-
def searchables(resource)
|
|
238
|
-
@searchables.for(resource)
|
|
239
|
-
end
|
|
240
|
-
|
|
241
269
|
def expected_record_count(options, resource)
|
|
242
270
|
searchables(resource).each do |s|
|
|
243
271
|
value = options[HammerCLI.option_accessor_name(s.name.to_s)]
|
|
@@ -263,13 +291,20 @@ module HammerCLIForeman
|
|
|
263
291
|
end
|
|
264
292
|
|
|
265
293
|
def options_empty?(resource, options)
|
|
266
|
-
searchables(resource).
|
|
294
|
+
searchables(resource).all? do |s|
|
|
267
295
|
values = options[HammerCLI.option_accessor_name(s.plural_name.to_s)]
|
|
268
|
-
values
|
|
296
|
+
values.nil? || (values.respond_to?(:empty?) && values.empty?)
|
|
269
297
|
end
|
|
270
298
|
end
|
|
271
299
|
|
|
272
|
-
def
|
|
300
|
+
def options_not_set?(resource, options)
|
|
301
|
+
searchables(resource).all? do |s|
|
|
302
|
+
values = options[HammerCLI.option_accessor_name(s.plural_name.to_s)]
|
|
303
|
+
values.nil?
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
def create_smart_class_parameters_search_options(options, mode = nil)
|
|
273
308
|
search_options = {}
|
|
274
309
|
value = options[HammerCLI.option_accessor_name('name')]
|
|
275
310
|
search_options[:search] = "key = \"#{value}\""
|
|
@@ -277,7 +312,7 @@ module HammerCLIForeman
|
|
|
277
312
|
search_options
|
|
278
313
|
end
|
|
279
314
|
|
|
280
|
-
def create_smart_variables_search_options(options)
|
|
315
|
+
def create_smart_variables_search_options(options, mode = nil)
|
|
281
316
|
search_options = {}
|
|
282
317
|
value = options[HammerCLI.option_accessor_name('variable')]
|
|
283
318
|
|
|
@@ -288,13 +323,14 @@ module HammerCLIForeman
|
|
|
288
323
|
search_options
|
|
289
324
|
end
|
|
290
325
|
|
|
291
|
-
|
|
326
|
+
# @param mode [Symbol] mode in which ids are searched :single, :multi, nil for old beahvior
|
|
327
|
+
def create_search_options(options, resource, mode = nil)
|
|
292
328
|
searchables(resource).each do |s|
|
|
293
329
|
value = options[HammerCLI.option_accessor_name(s.name.to_s)]
|
|
294
330
|
values = options[HammerCLI.option_accessor_name(s.plural_name.to_s)]
|
|
295
|
-
if value
|
|
331
|
+
if value && (mode.nil? || mode == :single)
|
|
296
332
|
return {:search => "#{s.name} = \"#{value}\""}
|
|
297
|
-
elsif values
|
|
333
|
+
elsif values && (mode.nil? || mode == :multi)
|
|
298
334
|
query = values.map{|v| "#{s.name} = \"#{v}\"" }.join(" or ")
|
|
299
335
|
return {:search => query}
|
|
300
336
|
end
|