@abstractmethod<EOL><INDENT>def action(self, includes: dict, variables: dict) -> dict or tuple:<DEDENT>
pass<EOL>
Perform an action.

:param includes: Script includes.
:param variables: Script variables.
:return: variables and step's output. Output is optional.

For code above
::

    postgres:
        request:
            conf:
                dbname: test
                user: test
                password: test
                host: localhost
                port: 5433
            query: 'select count(*) from test'
    register: {documents: '{{ OUTPUT }}'}

in_data will be
::

    {'request' : {'conf': {'dbname': 'test', 'user': 'test', 'password': 'test', 'host': 'localhost', 'port': 5433},
                  'query': 'select count(*) from test'}
    }