code: def authenticated(f):
      
      @wraps(f)
      def new_f(self, *args, **kwargs):
          if not self.nova_client.client.auth_token:
              self.authenticate()
          return f(self, *args, **kwargs)
      return new_f
docs: Decorator that authenticates to Keystone automatically.