async def get_reservation_async(
        self, project_id: str, processor_id: str, reservation_id: str
    ) -> quantum.QuantumReservation | None:
        """Gets a quantum reservation from the engine.

        Args:
            project_id: A project_id of the parent Google Cloud Project.
            processor_id: The processor unique identifier.
            reservation_id: Unique ID of the reservation in the parent project.

        Raises:
            EngineException: If the request to get the reservation failed.
        """
        try:
            name = _reservation_name_from_ids(project_id, processor_id, reservation_id)
            request = quantum.GetQuantumReservationRequest(name=name)
            return await self._send_request_async(self.grpc_client.get_quantum_reservation, request)
        except EngineException as err:
            if isinstance(err.__cause__, NotFound):
                return None
            raise
Gets a quantum reservation from the engine.

        Args:
            project_id: A project_id of the parent Google Cloud Project.
            processor_id: The processor unique identifier.
            reservation_id: Unique ID of the reservation in the parent project.

        Raises:
            EngineException: If the request to get the reservation failed.
        
cirq-google/cirq_google/engine/engine_client.py