code: def api_class(self, resource_name=None, path=None, audiences=None,
                  scopes=None, allowed_client_ids=None, auth_level=None,
                  api_key_required=None):
      
      if auth_level is not None:
        _logger.warn(_AUTH_LEVEL_WARNING)
  
      def apiserving_api_decorator(api_class):
        """Decorator for ProtoRPC class that configures Google's API server.
  
        Args:
          api_class: remote.Service class, ProtoRPC service class being wrapped.
  
        Returns:
          Same class with API attributes assigned in api_info.
        """
        self.__classes.append(api_class)
        api_class.api_info = _ApiInfo(
            self.__common_info, resource_name=resource_name,
            path=path, audiences=audiences, scopes=scopes,
            allowed_client_ids=allowed_client_ids, auth_level=auth_level,
            api_key_required=api_key_required)
        return api_class
  
      return apiserving_api_decorator
docs: Get a decorator for a class that implements an API.
  
      This can be used for single-class or multi-class implementations.  It's
      used implicitly in simple single-class APIs that only use @api directly.
  
      Args:
        resource_name: string, Resource name for the class this decorates.
          (Default: None)
        path: string, Base path prepended to any method paths in the class this
          decorates. (Default: None)
        audiences: list of strings, Acceptable audiences for authentication.
          (Default: None)
        scopes: list of strings, Acceptable scopes for authentication.
          (Default: None)
        allowed_client_ids: list of strings, Acceptable client IDs for auth.
          (Default: None)
        auth_level: enum from AUTH_LEVEL, Frontend authentication level.
          (Default: None)
        api_key_required: bool, Whether a key is required to call into this API.
          (Default: None)
  
      Returns:
        A decorator function to decorate a class that implements an API.