code: def __init__(
      self,
      typ: str,
      family: str,
      sub_family: Optional[str],
      cores: int,
      constrained_cpu: Optional[int],
      additive_features: Optional[str],
      accelerator_type: Optional[str],
      version: Optional[str],
  ):
      self.typ = typ
      self.family = family
      self.sub_family = sub_family
      self.cores = cores
      self.constrained_cpu = constrained_cpu
      self.additive_features = additive_features
      self.accelerator_type = accelerator_type
      self.version = version
  
imports: import logging
  import re
  from typing import Dict, Optional, Tuple
  import sortedcontainers
  from ...globals import RESERVED_STORAGE_GB_PER_CORE
label_desc: Use image node_id 2 to create a new MachineTypeParts object  with example: obj = MachineTypeParts(typ, family, sub_family, cores, constrained_cpu, additive_features, accelerator_type, version)