class_docstr: Class for connecting models and data operations with json files with
  its descriptions and metadata
docstr: Get operation by it's name (id) 
docstr_tok: ["Get","operation","by","it","'s","name","(","id",")"]
code: def operation_info_by_id(
      self, operation_id: str
  ) -> Optional[OperationMetaInfo]:
      """Get operation by it's name (id)"""
  
      operation_id = get_operation_type_from_id(operation_id)
  
      operations_with_id = [
          m for m in self._repo if m.id == operation_id
      ]
      if len(operations_with_id) > 1:
          raise ValueError(
              "Several operations with same id in repository"
          )
      if len(operations_with_id) == 0:
          self.log.warning(
              f"Operation {operation_id} not found in the repository"
          )
          return None
      return operations_with_id[0]
  
imports: import json
  import os
  from collections import defaultdict
  from dataclasses import dataclass
  from typing import Dict, List, Optional, TYPE_CHECKING, Union
  import numpy
  from golem.core.log import default_log
  from golem.utilities.data_structures import ensure_wrapped_in_sequence
  from fedot.core.constants import AUTO_PRESET_NAME, BEST_QUALITY_PRESET_NAME
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.json_evaluation import import_enums_from_str, import_strategy_from_str, read_field
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 12 for calling the OperationTypesRepository obj's underlying member method code with example usage: obj.operation_info_by_id(operation_id) and returns: operations_with_id, None