'Declare the exchange.
Creates the exchange on the broker, unless passive is set
in which case it will only assert that the exchange exists.
Argument:
nowait (bool): If set the server will not respond, and a
response will not be waited for. Default is :const:`False`.'

def declare(self, nowait=False, passive=None, channel=None):

    if self._can_declare():
        passive = (self.passive if (passive is None) else passive)
        return (channel or self.channel).exchange_declare(exchange=self.name, type=self.type, durable=self.durable, auto_delete=self.auto_delete, arguments=self.arguments, nowait=nowait, passive=passive)
