def api_class(self, resource_name=None, path=None, audiences=None,<EOL>scopes=None, allowed_client_ids=None, auth_level=None,<EOL>api_key_required=None):
if auth_level is not None:<EOL><INDENT>_logger.warn(_AUTH_LEVEL_WARNING)<EOL><DEDENT>def apiserving_api_decorator(api_class):<EOL><INDENT>"""<STR_LIT>"""<EOL>self.__classes.append(api_class)<EOL>api_class.api_info = _ApiInfo(<EOL>self.__common_info, resource_name=resource_name,<EOL>path=path, audiences=audiences, scopes=scopes,<EOL>allowed_client_ids=allowed_client_ids, auth_level=auth_level,<EOL>api_key_required=api_key_required)<EOL>return api_class<EOL><DEDENT>return apiserving_api_decorator<EOL>
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.