'Serialize parameters into an HTTP request.
This method takes user provided parameters and a shape
model and serializes the parameters to an HTTP request.
More specifically, this method returns information about
parts of the HTTP request, it does not enforce a particular
interface or standard for an HTTP request.  It instead returns
a dictionary of:
* \'url_path\'
* \'query_string\'
* \'headers\'
* \'body\'
* \'method\'
It is then up to consumers to decide how to map this to a Request
object of their HTTP library of choice.  Below is an example
return value::
{\'body\': {\'Action\': \'OperationName\',
\'Bar\': \'val2\',
\'Foo\': \'val1\',
\'Version\': \'2014-01-01\'},
\'headers\': {},
\'method\': \'POST\',
\'query_string\': \'\',
\'url_path\': \'/\'}
:param parameters: The dictionary input parameters for the
operation (i.e the user input).
:param operation_model: The OperationModel object that describes
the operation.'

def serialize_to_request(self, parameters, operation_model):

    raise NotImplementedError('serialize_to_request')
