no, you don't need to define only 7 parameters for a host, but much more!
BUT, the good news is that, in order to be lazy, you can define hosts templates.
The very good news is that some are already defined!, like "generic-host".
Here is my template for a generic host:
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 0 ; Host event handler is enabled
flap_detection_enabled 0 ; Flap detection is enabled
process_perf_data 0 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
which is almost the pre-defined template. Note the "register => 0" at the end, which means that it is a template, and not a host definition.
From this definition, you can use it to define your hosts. here are two examples:
As you can see, I only defined 4 parameters, plus de "use" parameter.
As you can also see, I could have put the "contact_groups" parameter in my template, since all my hosts are defined with the same contact_groups (but I'm too lazy to correct all my cfg :))
I hope this helps you grabing the meaning of hosts definitions, and which parameters to define