@check_cache(App)<EOL><INDENT>@one_of_keyword_only('<STR_LIT:id>', '<STR_LIT:name>')<EOL>def get(self, key, value):<DEDENT>
if key == '<STR_LIT:id>':<EOL><INDENT>response = self._swimlane.request('<STR_LIT>', '<STR_LIT>'.format(value))<EOL>if response.status_code == <NUM_LIT>:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(value))<EOL><DEDENT>return App(<EOL>self._swimlane,<EOL>response.json()<EOL>)<EOL><DEDENT>else:<EOL><INDENT>for app in self.list():<EOL><INDENT>if value and value == app.name:<EOL><INDENT>return app<EOL><DEDENT><DEDENT>raise ValueError('<STR_LIT>'.format(value))<EOL><DEDENT>
Get single app by one of id or name

        Supports resource cache

        Keyword Args:
            id (str): Full app id
            name (str): App name

        Returns:
            App: Corresponding App resource instance

        Raises:
            TypeError: No or multiple keyword arguments provided
            ValueError: No matching app found on server