class_docstr: Class used to compile steps. Should be instantiated once per compilation.
class_docstr_tok: ["Class","used","to","compile","steps",".","Should","be","instantiated","once","per","compilation","."]
docstr: Simplify an input step list containing strings, StepCollections, StepOutput.
docstr_tok: ["Simplify","an","input","step","list","containing","strings",",","StepCollections",",","StepOutput","."]
code: def _simplify_step_list(
      self,
      step_list: List[Union[str, Step, StepCollection, StepOutput]],
  ) -> List[Step]:
      """Simplify an input step list containing strings, StepCollections, StepOutput."""
  
      if not step_list:
          return []
  
      resolved_step_set = _StepsSet()
      for item in step_list:
          if isinstance(item, str):
              step_name = item
              step = self._input_steps_map.get(item)
              if step is None:
                  raise ValueError(
                      "The input steps do not contain the step of name: %s"
                      % step_name
                  )
          elif isinstance(item, StepOutput):
              step = get_step(item)
          else:
              step = item
  
          if isinstance(step, Step):
              if step not in resolved_step_set:
                  resolved_step_set.add(step)
          elif isinstance(step, StepCollection):
              for sub_step in step.steps:
                  if sub_step not in resolved_step_set:
                      resolved_step_set.add(sub_step)
          else:
              raise ValueError(f"Invalid input step type: {type(step)}")
  
      return list(resolved_step_set)
  
imports: from __future__ import absolute_import
  import logging
  import secrets
  from typing import Sequence, Union, List
  from sagemaker.workflow.entities import RequestType
  from sagemaker.workflow.function_step import _FunctionStep
  from sagemaker.workflow.steps import Step, StepTypeEnum, PropertyFile
  from sagemaker.workflow.condition_step import ConditionStep
  from sagemaker.workflow.step_collections import StepCollection
  from sagemaker.workflow.step_outputs import get_step
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from sagemaker.workflow.step_outputs import StepOutput
  from sagemaker.workflow.utilities import step_compilation_context_manager, get_config_hash, get_code_hash
  from sagemaker.utils import sagemaker_timestamp
label_desc: Use image node_id 3 for calling the StepsCompiler obj's underlying member method code with example usage: obj._simplify_step_list(step_list) and returns: list, list