code: def is_correct(self):
          
          state = True
  
          # Internal checks before executing inherited function...
          cls = self.__class__
          if hasattr(self, 'host_name'):
              for char in cls.illegal_object_name_chars:
                  if char in self.host_name:
                      self.add_error("[%s::%s] host_name contains an illegal character: %s"
                                     % (self.my_type, self.get_name(), char))
                      state = False
  
          # Fred: do not alert about missing check_command for an host... this because 1/ it is
          # very verbose if hosts are not checked and 2/ because it is the Nagios default behavior
          # if not self.check_command:
          #     self.add_warning("[%s::%s] has no defined check command"
          #                      % (self.my_type, self.get_name()))
  
          if self.notifications_enabled and not self.contacts:
              self.add_warning("[%s::%s] notifications are enabled but no contacts nor "
                               "contact_groups property is defined for this host"
                               % (self.my_type, self.get_name()))
  
          return super(Host, self).is_correct() and state
docs: Check if this object configuration is correct ::
  
          * Check our own specific properties
          * Call our parent class is_correct checker
  
          :return: True if the configuration is correct, otherwise False
          :rtype: bool