def introspect_operation(self, operation):
        """
        Introspects an entire operation, returning::

        * the method name (to expose to the user)
        * the API name (used server-side)
        * docs
        * introspected information about the parameters
        * information about the output

        :param operation: The operation to introspect
        :type operation: A <botocore.operation.Operation> object

        :returns: A dict of information
        """
        return {
            'method_name': operation.py_name,
            'api_name': operation.name,
            'docs': self.convert_docs(operation.documentation),
            'params': self.parse_params(operation.params),
            'output': operation.output,
        }
Introspects an entire operation, returning::

        * the method name (to expose to the user)
        * the API name (used server-side)
        * docs
        * introspected information about the parameters
        * information about the output

        :param operation: The operation to introspect
        :type operation: A <botocore.operation.Operation> object

        :returns: A dict of information