class_docstr: A pipeline model that exposes a sequence of models as a single model,
  It requires a set of inputs, a sequence of other models and a set of outputs.
  In this case the pipeline itself behaves as a classification model by designating
  a discrete categorical output feature as its 'predicted feature'.
class_docstr_tok: ["A","pipeline","model","that","exposes","a","sequence","of","models","as","a","single","model",",","It","requires","a","set","of","inputs",",","a","sequence","of","other","models","and","a","set","of","outputs",".","In","this","case","the","pipeline","itself","behaves","as","a","classification","model","by","designating","a","discrete","categorical","output","feature","as","its","'predicted","feature","'","."]
docstr: Add a protobuf spec or :py:class:`models.MLModel` instance to the pipeline.
  
  All input features of this model must either match the input_features
  of the pipeline, or match the outputs of a previous model.
  
  Parameters
  ----------
  spec: [MLModel, Model_pb2]
      A protobuf spec or MLModel instance containing a model.
docstr_tok: ["Add","a","protobuf","spec","or",":","py",":","class",":","`","models.MLModel","`","instance","to","the","pipeline",".","All","input","features","of","this","model","must","either","match","the","input_features","of","the","pipeline",",","or","match","the","outputs","of","a","previous","model",".","Parameters","--","--","--","--","--","spec",":","[","MLModel",",","Model_pb2","]","A","protobuf","spec","or","MLModel","instance","containing","a","model","."]
code: def add_model(self, spec):
      """
      Add a protobuf spec or :py:class:`models.MLModel` instance to the pipeline.
  
      All input features of this model must either match the input_features
      of the pipeline, or match the outputs of a previous model.
  
      Parameters
      ----------
      spec: [MLModel, Model_pb2]
          A protobuf spec or MLModel instance containing a model.
      """
  
      super()._validate_updatable_pipeline_on_add_model(self.spec)
  
      if isinstance(spec, _model.MLModel):
          spec = spec._spec
      pipeline = self.spec.pipelineClassifier.pipeline
      step_spec = pipeline.models.add()
      step_spec.CopyFrom(spec)
  
imports: from ..None import SPECIFICATION_VERSION
  from ..proto import Model_pb2
  from .None import _feature_management
  from .None import model
  from ._interface_management import set_classifier_interface_params, set_regressor_interface_params, set_training_features, set_transform_interface_params
label_desc: Use image node_id 2 for calling the PipelineClassifier obj's underlying member method code with example usage: obj.add_model(spec) without return types