code: def __init__(
      self,
      name,
      display_name=None,
      description=None,
      depends_on=None,
      input_data=None,
  ):
      super(CustomStep, self).__init__(
          name,
          display_name,
          description,
          StepTypeEnum.TRAINING,
          depends_on,
      )
      self._input_data = input_data
      # for testing property reference, we just use DescribeTrainingJobResponse shape here.
      self._properties = Properties(
          name, step=self, shape_name="DescribeTrainingJobResponse"
      )
  
imports: from __future__ import absolute_import
  import pytest
  from sagemaker.workflow.steps import Step, StepTypeEnum
  from sagemaker.workflow.function_step import step
  from sagemaker.workflow.step_collections import StepCollection
  from sagemaker.workflow.condition_step import ConditionStep
  from sagemaker.workflow.conditions import ConditionEquals
  from sagemaker.workflow.properties import Properties
  from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig
  from sagemaker.workflow._steps_compiler import StepsCompiler
  from sagemaker.workflow.utilities import load_step_compilation_context, list_to_request
label_desc: Use image node_id 1 to create a new CustomStep object from inherited base classes: Step with example: obj = CustomStep(name, display_name, description, depends_on, input_data)