I see, so in theory you could call add_step with a pipeline parameter (i.e. pipe.add_parameter etc.)
But currently the implementation is such that if you are starting the pipeline from the UI
(i.e. rerunning it with a different argument), the pipeline DAG is deserialized from the Pipeline Task (the idea that one could control the entire DAG externally without changing the code)
I think a good idea would be to actually allow the pipeline class to have an argument saying always create from code, and then use a pipeline argument to control that, wdyt?
(BTW: if you are using pipelines from decorator function, then there is no real issue just have a for loop inside the pipeline and run multiple time the same component function, only with different arguments)