class_docstr: Handle creating, starting and waiting for Amazon SageMaker jobs to finish.
  
  This class shouldn't be directly instantiated.
  
  Subclasses must define a way to create, start and wait for an Amazon
  SageMaker job.
class_docstr_tok: ["Handle","creating",",","starting","and","waiting","for","Amazon","SageMaker","jobs","to","finish",".","This","class","should","n't","be","directly","instantiated",".","Subclasses","must","define","a","way","to","create",",","start","and","wait","for","an","Amazon","SageMaker","job","."]
docstr: Placeholder docstring
docstr_tok: ["Placeholder","docstring"]
code: def _format_string_uri_input(
      uri_input,
      validate_uri=True,
      content_type=None,
      input_mode=None,
      compression=None,
      target_attribute_name=None,
  ):
      """Placeholder docstring"""
      s3_input_result = TrainingInput(
          uri_input,
          content_type=content_type,
          input_mode=input_mode,
          compression=compression,
          target_attribute_name=target_attribute_name,
      )
      if (
          isinstance(uri_input, str)
          and validate_uri
          and uri_input.startswith("s3://")
      ):
          return s3_input_result
      if (
          isinstance(uri_input, str)
          and validate_uri
          and uri_input.startswith("file://")
      ):
          return file_input(uri_input)
      if isinstance(uri_input, str) and validate_uri:
          raise ValueError(
              'URI input {} must be a valid S3 or FILE URI: must start with "s3://" or '
              '"file://"'.format(uri_input)
          )
      if isinstance(uri_input, str):
          return s3_input_result
      if isinstance(
          uri_input, (TrainingInput, file_input, FileSystemInput)
      ):
          return uri_input
      if is_pipeline_variable(uri_input):
          return s3_input_result
  
      raise ValueError(
          "Cannot format input {}. Expecting one of str, TrainingInput, file_input or "
          "FileSystemInput".format(uri_input)
      )
  
imports: from __future__ import absolute_import
  from abc import abstractmethod
  from six import string_types
  from sagemaker.inputs import FileSystemInput, TrainingInput
  from sagemaker.local import file_input
  from sagemaker.workflow import is_pipeline_variable
label_desc: Use image node_id 9 for calling the _Job obj's underlying member method code with example usage: obj._format_string_uri_input(uri_input, validate_uri, content_type, input_mode, compression, target_attribute_name) and returns: s3_input_result, file_input, s3_input_result, uri_input, s3_input_result