code: def from_job_desc(cls, warm_start_config):
          
          if not warm_start_config or \
                  WARM_START_TYPE not in warm_start_config or \
                  PARENT_HYPERPARAMETER_TUNING_JOBS not in warm_start_config:
              return None
  
          parents = []
          for parent in warm_start_config[PARENT_HYPERPARAMETER_TUNING_JOBS]:
              parents.append(parent[HYPERPARAMETER_TUNING_JOB_NAME])
  
          return cls(warm_start_type=WarmStartTypes(warm_start_config[WARM_START_TYPE]),
                     parents=parents)
docs: Creates an instance of ``WarmStartConfig`` class, from warm start configuration response from
          DescribeTrainingJob.
  
          Args:
              warm_start_config (dict): The expected format of the ``warm_start_config`` contains two first-class
              fields:
                  * "type": Type of warm start tuner, currently two supported types - "IdenticalDataAndAlgorithm" and
                  "TransferLearning".
                  * "parents": List of tuning job names from which the warm start should be done.
  
          Returns:
              sagemaker.tuner.WarmStartConfig: De-serialized instance of WarmStartConfig containing the type and parents
              provided as part of ``warm_start_config``.
  
          Examples:
              >>> warm_start_config = WarmStartConfig.from_job_desc(warm_start_config={
              >>>    "WarmStartType":"TransferLearning",
              >>>    "ParentHyperParameterTuningJobs": [
              >>>        {'HyperParameterTuningJobName': "p1"},
              >>>        {'HyperParameterTuningJobName': "p2"},
              >>>    ]
              >>>})
              >>> warm_start_config.type
              "TransferLearning"
              >>> warm_start_config.parents
              ["p1","p2"]