code: def _validate_parameters(self):
          
          if not compatibility.is_string(self.parameters['hostname']):
              raise AMQPInvalidArgument('hostname should be a string')
          elif not compatibility.is_integer(self.parameters['port']):
              raise AMQPInvalidArgument('port should be an integer')
          elif not compatibility.is_string(self.parameters['username']):
              raise AMQPInvalidArgument('username should be a string')
          elif not compatibility.is_string(self.parameters['password']):
              raise AMQPInvalidArgument('password should be a string')
          elif not compatibility.is_string(self.parameters['virtual_host']):
              raise AMQPInvalidArgument('virtual_host should be a string')
          elif not isinstance(self.parameters['timeout'], (int, float)):
              raise AMQPInvalidArgument('timeout should be an integer or float')
          elif not compatibility.is_integer(self.parameters['heartbeat']):
              raise AMQPInvalidArgument('heartbeat should be an integer')
docs: Validate Connection Parameters.
  
          :return: