human
What is a the Python program you requested given the following:
Complete the below
def hosts(*host_list):

    ''''Decorator defining which host or hosts to execute the wrapped function on.
    For example, the following will ensure that, barring an override on the
    command line, ``my_func`` will be run on ``host1``, ``host2`` and
    ``host3``, and with specific users on ``host1`` and ``host3``::
    @hosts(\'user1@host1\', \'host2\', \'user2@host3\')
    def my_func():
    pass
    `~fabric.decorators.hosts` may be invoked with either an argument list
    (``@hosts(\'host1\')``, ``@hosts(\'host1\', \'host2\')``) or a single, iterable
    argument (``@hosts([\'host1\', \'host2\'])``).
    Note that this decorator actually just sets the function\'s ``.hosts``
    attribute, which is then read prior to executing the function.
    .. versionchanged:: 0.9.2
    Allow a single, iterable argument (``@hosts(iterable)``) to be used
    instead of requiring ``@hosts(*iterable)``.'
    '''
assistant
#Here is the Python program you requested.
    return _list_annotating_decorator('hosts', *host_list)