Fetch an existing project and it's relevant metadata by ID.

        .. note::

            If the project does not exist, this will raise a
            :class:`NotFound <google.cloud.exceptions.NotFound>` error.

        :type project_id: str
        :param project_id: The ID for this project.

        :rtype: :class:`~google.cloud.resource_manager.project.Project`
        :returns: A :class:`~google.cloud.resource_manager.project.Project`
                  with metadata fetched from the API.

def fetch_project(self, project_id):
        """Fetch an existing project and it's relevant metadata by ID.

        .. note::

            If the project does not exist, this will raise a
            :class:`NotFound <google.cloud.exceptions.NotFound>` error.

        :type project_id: str
        :param project_id: The ID for this project.

        :rtype: :class:`~google.cloud.resource_manager.project.Project`
        :returns: A :class:`~google.cloud.resource_manager.project.Project`
                  with metadata fetched from the API.
        """
        project = self.new_project(project_id)
        project.reload()
        return project