You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2022/12/21 02:48:20 UTC

[dolphinscheduler-website] branch asf-site updated: Automated deployment: 4ffeacc0f8a624ed5950928a45559d83eeb0d57c

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new d85b3b1e3c Automated deployment: 4ffeacc0f8a624ed5950928a45559d83eeb0d57c
d85b3b1e3c is described below

commit d85b3b1e3c3707f1a134feed0a0cc8daf5f7f597
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Wed Dec 21 02:48:12 2022 +0000

    Automated deployment: 4ffeacc0f8a624ed5950928a45559d83eeb0d57c
---
 asset-manifest.json                                |    6 +-
 index.html                                         |    2 +-
 python/2.0.5/.buildinfo                            |    2 +-
 python/2.0.6/.buildinfo                            |    2 +-
 python/2.0.7/.buildinfo                            |    2 +-
 python/3.0.0/.buildinfo                            |    2 +-
 python/3.0.1/.buildinfo                            |    2 +-
 python/3.1.0/.buildinfo                            |    2 +-
 python/4.0.0/.buildinfo                            |    2 +-
 python/main/.buildinfo                             |    2 +-
 .../_modules/pydolphinscheduler/core/task.html     |   96 +-
 python/main/_sources/concept.rst.txt               |   32 +
 python/main/api.html                               | 1418 +++++++++++++++++++-
 python/main/concept.html                           |  186 +++
 python/main/genindex.html                          |  176 ++-
 python/main/index.html                             |    1 +
 python/main/objects.inv                            |  Bin 11032 -> 11399 bytes
 python/main/searchindex.js                         |    2 +-
 static/js/{main.634b67fb.js => main.858f1c99.js}   |    6 +-
 ...js.LICENSE.txt => main.858f1c99.js.LICENSE.txt} |    0
 .../{main.634b67fb.js.map => main.858f1c99.js.map} |    2 +-
 21 files changed, 1910 insertions(+), 33 deletions(-)

diff --git a/asset-manifest.json b/asset-manifest.json
index 15addca512..469013e811 100644
--- a/asset-manifest.json
+++ b/asset-manifest.json
@@ -1,7 +1,7 @@
 {
   "files": {
     "main.css": "./static/css/main.4a0c947a.css",
-    "main.js": "./static/js/main.634b67fb.js",
+    "main.js": "./static/js/main.858f1c99.js",
     "static/media/use-case.png": "./static/media/use-case.02f86278dc7cff189b02.png",
     "static/media/blog.png": "./static/media/blog.a3cd9850dee16b70c593.png",
     "static/media/download.png": "./static/media/download.12567eb03d419ebaf1bf.png",
@@ -14,10 +14,10 @@
     "static/media/logo_black.webp": "./static/media/logo_black.c9bf9b9c244f60328e1d.webp",
     "index.html": "./index.html",
     "main.4a0c947a.css.map": "./static/css/main.4a0c947a.css.map",
-    "main.634b67fb.js.map": "./static/js/main.634b67fb.js.map"
+    "main.858f1c99.js.map": "./static/js/main.858f1c99.js.map"
   },
   "entrypoints": [
     "static/css/main.4a0c947a.css",
-    "static/js/main.634b67fb.js"
+    "static/js/main.858f1c99.js"
   ]
 }
\ No newline at end of file
diff --git a/index.html b/index.html
index 5cb92ad615..0f9b6ba44d 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Apache DolphinScheduler is a distributed and easy-to-extend visual workflow scheduler system, dedicated to solving the complex task dependencies in data processing, making the scheduling system out of the box for data processing."/><link rel="appl [...]
\ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Apache DolphinScheduler is a distributed and easy-to-extend visual workflow scheduler system, dedicated to solving the complex task dependencies in data processing, making the scheduling system out of the box for data processing."/><link rel="appl [...]
\ No newline at end of file
diff --git a/python/2.0.5/.buildinfo b/python/2.0.5/.buildinfo
index 92a1a3e89a..79d447b6c2 100644
--- a/python/2.0.5/.buildinfo
+++ b/python/2.0.5/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d527a050667987077587b982b0e614ea
+config: 045e8d999593e8d5cb91e5fa9ce7b339
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/2.0.6/.buildinfo b/python/2.0.6/.buildinfo
index 89349d76bd..09779c703f 100644
--- a/python/2.0.6/.buildinfo
+++ b/python/2.0.6/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: c91982761f7d9a89380ef22ab1e0fbf4
+config: f4c0740e8db4f7354d8e2cb806086dcf
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/2.0.7/.buildinfo b/python/2.0.7/.buildinfo
index f4efccc2a8..cec405793e 100644
--- a/python/2.0.7/.buildinfo
+++ b/python/2.0.7/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 626bfcc822a0cec608904129bb65eb8f
+config: dcecce10d2222c7d999d21c7806d39eb
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.0.0/.buildinfo b/python/3.0.0/.buildinfo
index 2b9d4d3a8f..005db6e5e8 100644
--- a/python/3.0.0/.buildinfo
+++ b/python/3.0.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: a06b76993112436eb1e68ddd17a395f8
+config: 78106d98da3733bed2301760053711b1
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.0.1/.buildinfo b/python/3.0.1/.buildinfo
index dce88b49c6..168d51f733 100644
--- a/python/3.0.1/.buildinfo
+++ b/python/3.0.1/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 5039821e13117aa0e3e65eccdd0e811f
+config: 3fe207b5c2b7ab487c519004cd80de74
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.1.0/.buildinfo b/python/3.1.0/.buildinfo
index 6610ad3506..027b0cd2fd 100644
--- a/python/3.1.0/.buildinfo
+++ b/python/3.1.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 61808214a4ef0968ace9086405ca9dd9
+config: b06ee4051f3f558f21cc7ddb032585a5
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.0/.buildinfo b/python/4.0.0/.buildinfo
index 43d25a2ced..c63ff210b0 100644
--- a/python/4.0.0/.buildinfo
+++ b/python/4.0.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 804385c24850e51d9b9ad82f185f1112
+config: 9d2ce7af846ea240d48c2b4d53d34c4b
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/main/.buildinfo b/python/main/.buildinfo
index 4c365526dd..26bfef56aa 100644
--- a/python/main/.buildinfo
+++ b/python/main/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d7ca231c8bf194d0e498145ec025bf9e
+config: 914f746bb86cf92057d6877a45389080
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/main/_modules/pydolphinscheduler/core/task.html b/python/main/_modules/pydolphinscheduler/core/task.html
index 4a69c68f11..d0a3a6777e 100644
--- a/python/main/_modules/pydolphinscheduler/core/task.html
+++ b/python/main/_modules/pydolphinscheduler/core/task.html
@@ -114,6 +114,7 @@
     <span class="n">TaskPriority</span><span class="p">,</span>
     <span class="n">TaskTimeoutFlag</span><span class="p">,</span>
 <span class="p">)</span>
+<span class="kn">from</span> <span class="nn">pydolphinscheduler.core.parameter</span> <span class="kn">import</span> <span class="n">BaseDataType</span><span class="p">,</span> <span class="n">Direction</span><span class="p">,</span> <span class="n">ParameterHelper</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.resource</span> <span class="kn">import</span> <span class="n">Resource</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.resource_plugin</span> <span class="kn">import</span> <span class="n">ResourcePlugin</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.workflow</span> <span class="kn">import</span> <span class="n">Workflow</span><span class="p">,</span> <span class="n">WorkflowContext</span>
@@ -163,7 +164,28 @@
 
 
 <div class="viewcode-block" id="Task"><a class="viewcode-back" href="../../../api.html#pydolphinscheduler.core.Task">[docs]</a><span class="k">class</span> <span class="nc">Task</span><span class="p">(</span><span class="n">Base</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Task object, parent class for all exactly task type.&quot;&quot;&quot;</span>
+    <span class="sd">&quot;&quot;&quot;Task object, parent class for all exactly task type.</span>
+
+<span class="sd">    :param name: The name of the task. Node names within the same workflow must be unique.</span>
+<span class="sd">    :param task_type:</span>
+<span class="sd">    :param description: default None</span>
+<span class="sd">    :param flag: default TaskFlag.YES,</span>
+<span class="sd">    :param task_priority: default TaskPriority.MEDIUM</span>
+<span class="sd">    :param worker_group: default configuration.WORKFLOW_WORKER_GROUP</span>
+<span class="sd">    :param environment_name: default None</span>
+<span class="sd">    :param delay_time: deault 0</span>
+<span class="sd">    :param fail_retry_times: default 0</span>
+<span class="sd">    :param fail_retry_interval: default 1</span>
+<span class="sd">    :param timeout_notify_strategy: default, None</span>
+<span class="sd">    :param timeout: default None</span>
+<span class="sd">    :param resource_list: default None</span>
+<span class="sd">    :param wait_start_timeout: default None</span>
+<span class="sd">    :param condition_result: default None,</span>
+<span class="sd">    :param resource_plugin: default None</span>
+<span class="sd">    :param is_cache: default False</span>
+<span class="sd">    :param input_params: default None, input parameters, {param_name: param_value}</span>
+<span class="sd">    :param output_params: default None, input parameters, {param_name: param_value}</span>
+<span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">_DEFINE_ATTR</span> <span class="o">=</span> <span class="p">{</span>
         <span class="s2">&quot;name&quot;</span><span class="p">,</span>
@@ -218,13 +240,14 @@
         <span class="n">timeout_notify_strategy</span><span class="p">:</span> <span class="n">Optional</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">timedelta</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">workflow</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Workflow</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
-        <span class="n">local_params</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">resource_list</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">dependence</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">wait_start_timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">condition_result</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">resource_plugin</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">ResourcePlugin</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">is_cache</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+        <span class="n">output_params</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="o">*</span><span class="n">args</span><span class="p">,</span>
         <span class="o">**</span><span class="n">kwargs</span><span class="p">,</span>
     <span class="p">):</span>
@@ -242,6 +265,8 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">timeout_notify_strategy</span> <span class="o">=</span> <span class="n">timeout_notify_strategy</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_timeout</span><span class="p">:</span> <span class="n">timedelta</span> <span class="o">=</span> <span class="n">timeout</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_workflow</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_input_params</span> <span class="o">=</span> <span class="n">input_params</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_output_params</span> <span class="o">=</span> <span class="n">output_params</span> <span class="ow">or</span> <span class="p">{}</span>
         <span class="k">if</span> <span class="s2">&quot;process_definition&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
             <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
                 <span class="s2">&quot;The `process_definition` parameter is deprecated, please use `workflow` instead.&quot;</span><span class="p">,</span>
@@ -250,6 +275,16 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">workflow</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">&quot;process_definition&quot;</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">workflow</span><span class="p">:</span> <span class="n">Workflow</span> <span class="o">=</span> <span class="n">workflow</span> <span class="ow">or</span> <span class="n">WorkflowContext</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="s2">&quot;local_params&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
+            <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span>
+                <span class="sd">&quot;&quot;&quot;The `local_params` parameter is deprecated,</span>
+<span class="sd">                please use `input_params` and `output_params` instead.</span>
+<span class="sd">                &quot;&quot;&quot;</span><span class="p">,</span>
+                <span class="ne">DeprecationWarning</span><span class="p">,</span>
+            <span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_local_params</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;local_params&quot;</span><span class="p">)</span>
+
         <span class="bp">self</span><span class="o">.</span><span class="n">_upstream_task_codes</span><span class="p">:</span> <span class="n">Set</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_downstream_task_codes</span><span class="p">:</span> <span class="n">Set</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_task_relation</span><span class="p">:</span> <span class="n">Set</span><span class="p">[</span><span class="n">TaskRelation</span><span class="p">]</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
@@ -266,7 +301,6 @@
             <span class="p">)</span>
 
         <span class="c1"># Attribute for task param</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">local_params</span> <span class="o">=</span> <span class="n">local_params</span> <span class="ow">or</span> <span class="p">[]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_resource_list</span> <span class="o">=</span> <span class="n">resource_list</span> <span class="ow">or</span> <span class="p">[]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">dependence</span> <span class="o">=</span> <span class="n">dependence</span> <span class="ow">or</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">wait_start_timeout</span> <span class="o">=</span> <span class="n">wait_start_timeout</span> <span class="ow">or</span> <span class="p">{}</span>
@@ -495,7 +529,61 @@
         <span class="sd">&quot;&quot;&quot;Convert environment name to code.&quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_environment_name</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="k">return</span> <span class="kc">None</span>
-        <span class="k">return</span> <span class="n">gateway</span><span class="o">.</span><span class="n">query_environment_info</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_environment_name</span><span class="p">)</span></div>
+        <span class="k">return</span> <span class="n">gateway</span><span class="o">.</span><span class="n">query_environment_info</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_environment_name</span><span class="p">)</span>
+
+    <span class="nd">@property</span>
+    <span class="k">def</span> <span class="nf">local_params</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Convert local params.&quot;&quot;&quot;</span>
+        <span class="n">local_params</span> <span class="o">=</span> <span class="p">(</span>
+            <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_local_params</span><span class="p">)</span> <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">&quot;_local_params&quot;</span><span class="p">)</span> <span class="k">else</span> <span class="p">[]</span>
+        <span class="p">)</span>
+        <span class="n">local_params</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span>
+            <span class="n">ParameterHelper</span><span class="o">.</span><span class="n">convert_params</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_input_params</span><span class="p">,</span> <span class="n">Direction</span><span class="o">.</span><span class="n">IN</span><span class="p">)</span>
+        <span class="p">)</span>
+        <span class="n">local_params</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span>
+            <span class="n">ParameterHelper</span><span class="o">.</span><span class="n">convert_params</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_output_params</span><span class="p">,</span> <span class="n">Direction</span><span class="o">.</span><span class="n">OUT</span><span class="p">)</span>
+        <span class="p">)</span>
+        <span class="k">return</span> <span class="n">local_params</span>
+
+<div class="viewcode-block" id="Task.add_in"><a class="viewcode-back" href="../../../api.html#pydolphinscheduler.core.Task.add_in">[docs]</a>    <span class="k">def</span> <span class="nf">add_in</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span>
+        <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">bool</span><span class="p">,</span> <span class="n">BaseDataType</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span [...]
+    <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Add input parameters.</span>
+
+<span class="sd">        :param name: name of the input parameter.</span>
+<span class="sd">        :param value: value of the input parameter.</span>
+
+<span class="sd">        It could be simply command::</span>
+
+<span class="sd">            task.add_in(&quot;a&quot;)</span>
+<span class="sd">            task.add_in(&quot;b&quot;, 123)</span>
+<span class="sd">            task.add_in(&quot;c&quot;, bool)</span>
+<span class="sd">            task.add_in(&quot;d&quot;, ParameterType.LONG(123))</span>
+
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_input_params</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span></div>
+
+<div class="viewcode-block" id="Task.add_out"><a class="viewcode-back" href="../../../api.html#pydolphinscheduler.core.Task.add_out">[docs]</a>    <span class="k">def</span> <span class="nf">add_out</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span>
+        <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">bool</span><span class="p">,</span> <span class="n">BaseDataType</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span [...]
+    <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Add output parameters.</span>
+
+<span class="sd">        :param name: name of the output parameter.</span>
+<span class="sd">        :param value: value of the output parameter.</span>
+
+<span class="sd">        It could be simply command::</span>
+
+<span class="sd">            task.add_out(&quot;a&quot;)</span>
+<span class="sd">            task.add_out(&quot;b&quot;, 123)</span>
+<span class="sd">            task.add_out(&quot;c&quot;, bool)</span>
+<span class="sd">            task.add_out(&quot;d&quot;, ParameterType.LONG(123))</span>
+
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_output_params</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span></div></div>
 </pre></div>
 
            </div>
diff --git a/python/main/_sources/concept.rst.txt b/python/main/_sources/concept.rst.txt
index 084980cd42..28a797a1d0 100644
--- a/python/main/_sources/concept.rst.txt
+++ b/python/main/_sources/concept.rst.txt
@@ -261,6 +261,38 @@ After that, we could see new file named ``bare-create.py`` is be created in reso
    Both parameter ``resource_list`` in workflow and task is list of string which mean you could upload and reference
    multiple files. For more complex usage, you could read :doc:`howto/multi-resources`.
 
+Local Parameters
+----------------
+
+In DolphinScheduler, we can define parameter in task, aka Local Parameter.
+
+We can set parameters to variables in tasks to better manage our tasks.
+
+For example:
+
+
+.. literalinclude:: ../../src/pydolphinscheduler/examples/local_parameter_example.py
+   :start-after: [start parameter example]
+   :end-before: [end parameter example]
+   :language: python
+
+
+There are two ways to define local parameters:
+
+.. literalinclude:: ../../src/pydolphinscheduler/examples/local_parameter_example.py
+   :start-after: [start parameter define]
+   :end-before: [end parameter define]
+   :language: python
+
+
+Full example:
+
+.. literalinclude:: ../../src/pydolphinscheduler/examples/local_parameter_example.py
+   :start-after: [start workflow_declare]
+   :end-before: [end workflow_declare]
+   :language: python
+
+
 Authentication Token
 --------------------
 
diff --git a/python/main/api.html b/python/main/api.html
index 76bec1b848..1cad1b7da5 100644
--- a/python/main/api.html
+++ b/python/main/api.html
@@ -74,6 +74,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.core.Engine"><code class="docutils literal notranslate"><span class="pre">Engine</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine._get_attr"><code class="docutils literal notranslate"><span class="pre">Engine._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine._set_deps"><code class="docutils literal notranslate"><span class="pre">Engine._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.add_in"><code class="docutils literal notranslate"><span class="pre">Engine.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.add_out"><code class="docutils literal notranslate"><span class="pre">Engine.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Engine.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.get_content"><code class="docutils literal notranslate"><span class="pre">Engine.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.get_define"><code class="docutils literal notranslate"><span class="pre">Engine.get_define()</span></code></a></li>
@@ -95,6 +97,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.ext"><code class="docutils literal notranslate"><span class="pre">Engine.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.ext_attr"><code class="docutils literal notranslate"><span class="pre">Engine.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.is_cache"><code class="docutils literal notranslate"><span class="pre">Engine.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.local_params"><code class="docutils literal notranslate"><span class="pre">Engine.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.resource_list"><code class="docutils literal notranslate"><span class="pre">Engine.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.task_params"><code class="docutils literal notranslate"><span class="pre">Engine.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Engine.timeout"><code class="docutils literal notranslate"><span class="pre">Engine.timeout</span></code></a></li>
@@ -106,6 +109,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.core.Task"><code class="docutils literal notranslate"><span class="pre">Task</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task._get_attr"><code class="docutils literal notranslate"><span class="pre">Task._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task._set_deps"><code class="docutils literal notranslate"><span class="pre">Task._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.add_in"><code class="docutils literal notranslate"><span class="pre">Task.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.add_out"><code class="docutils literal notranslate"><span class="pre">Task.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Task.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.get_content"><code class="docutils literal notranslate"><span class="pre">Task.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.get_define"><code class="docutils literal notranslate"><span class="pre">Task.get_define()</span></code></a></li>
@@ -125,6 +130,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.ext"><code class="docutils literal notranslate"><span class="pre">Task.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.ext_attr"><code class="docutils literal notranslate"><span class="pre">Task.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.is_cache"><code class="docutils literal notranslate"><span class="pre">Task.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.local_params"><code class="docutils literal notranslate"><span class="pre">Task.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.resource_list"><code class="docutils literal notranslate"><span class="pre">Task.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.task_params"><code class="docutils literal notranslate"><span class="pre">Task.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Task.timeout"><code class="docutils literal notranslate"><span class="pre">Task.timeout</span></code></a></li>
@@ -252,6 +258,8 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition._get_attr"><code class="docutils literal notranslate"><span class="pre">Condition._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition._set_dep"><code class="docutils literal notranslate"><span class="pre">Condition._set_dep()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition._set_deps"><code class="docutils literal notranslate"><span class="pre">Condition._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.add_in"><code class="docutils literal notranslate"><span class="pre">Condition.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.add_out"><code class="docutils literal notranslate"><span class="pre">Condition.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Condition.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.get_content"><code class="docutils literal notranslate"><span class="pre">Condition.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.get_define"><code class="docutils literal notranslate"><span class="pre">Condition.get_define()</span></code></a></li>
@@ -275,6 +283,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.ext"><code class="docutils literal notranslate"><span class="pre">Condition.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.ext_attr"><code class="docutils literal notranslate"><span class="pre">Condition.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.is_cache"><code class="docutils literal notranslate"><span class="pre">Condition.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.local_params"><code class="docutils literal notranslate"><span class="pre">Condition.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.resource_list"><code class="docutils literal notranslate"><span class="pre">Condition.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.task_params"><code class="docutils literal notranslate"><span class="pre">Condition.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Condition.timeout"><code class="docutils literal notranslate"><span class="pre">Condition.timeout</span></code></a></li>
@@ -286,6 +295,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX"><code class="docutils literal notranslate"><span class="pre">CustomDataX</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX._get_attr"><code class="docutils literal notranslate"><span class="pre">CustomDataX._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX._set_deps"><code class="docutils literal notranslate"><span class="pre">CustomDataX._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.add_in"><code class="docutils literal notranslate"><span class="pre">CustomDataX.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.add_out"><code class="docutils literal notranslate"><span class="pre">CustomDataX.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">CustomDataX.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.get_content"><code class="docutils literal notranslate"><span class="pre">CustomDataX.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.get_define"><code class="docutils literal notranslate"><span class="pre">CustomDataX.get_define()</span></code></a></li>
@@ -310,6 +321,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.ext"><code class="docutils literal notranslate"><span class="pre">CustomDataX.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.ext_attr"><code class="docutils literal notranslate"><span class="pre">CustomDataX.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.is_cache"><code class="docutils literal notranslate"><span class="pre">CustomDataX.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.local_params"><code class="docutils literal notranslate"><span class="pre">CustomDataX.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.resource_list"><code class="docutils literal notranslate"><span class="pre">CustomDataX.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.task_params"><code class="docutils literal notranslate"><span class="pre">CustomDataX.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.timeout"><code class="docutils literal notranslate"><span class="pre">CustomDataX.timeout</span></code></a></li>
@@ -321,6 +333,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload"><code class="docutils literal notranslate"><span class="pre">DVCDownload</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload._get_attr"><code class="docutils literal notranslate"><span class="pre">DVCDownload._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload._set_deps"><code class="docutils literal notranslate"><span class="pre">DVCDownload._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.add_in"><code class="docutils literal notranslate"><span class="pre">DVCDownload.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.add_out"><code class="docutils literal notranslate"><span class="pre">DVCDownload.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">DVCDownload.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.get_content"><code class="docutils literal notranslate"><span class="pre">DVCDownload.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.get_define"><code class="docutils literal notranslate"><span class="pre">DVCDownload.get_define()</span></code></a></li>
@@ -346,6 +360,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.ext"><code class="docutils literal notranslate"><span class="pre">DVCDownload.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.ext_attr"><code class="docutils literal notranslate"><span class="pre">DVCDownload.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.is_cache"><code class="docutils literal notranslate"><span class="pre">DVCDownload.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.local_params"><code class="docutils literal notranslate"><span class="pre">DVCDownload.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.resource_list"><code class="docutils literal notranslate"><span class="pre">DVCDownload.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.task_params"><code class="docutils literal notranslate"><span class="pre">DVCDownload.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.timeout"><code class="docutils literal notranslate"><span class="pre">DVCDownload.timeout</span></code></a></li>
@@ -357,6 +372,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit"><code class="docutils literal notranslate"><span class="pre">DVCInit</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit._get_attr"><code class="docutils literal notranslate"><span class="pre">DVCInit._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit._set_deps"><code class="docutils literal notranslate"><span class="pre">DVCInit._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.add_in"><code class="docutils literal notranslate"><span class="pre">DVCInit.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.add_out"><code class="docutils literal notranslate"><span class="pre">DVCInit.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">DVCInit.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.get_content"><code class="docutils literal notranslate"><span class="pre">DVCInit.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.get_define"><code class="docutils literal notranslate"><span class="pre">DVCInit.get_define()</span></code></a></li>
@@ -382,6 +399,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.ext"><code class="docutils literal notranslate"><span class="pre">DVCInit.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.ext_attr"><code class="docutils literal notranslate"><span class="pre">DVCInit.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.is_cache"><code class="docutils literal notranslate"><span class="pre">DVCInit.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.local_params"><code class="docutils literal notranslate"><span class="pre">DVCInit.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.resource_list"><code class="docutils literal notranslate"><span class="pre">DVCInit.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.task_params"><code class="docutils literal notranslate"><span class="pre">DVCInit.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.timeout"><code class="docutils literal notranslate"><span class="pre">DVCInit.timeout</span></code></a></li>
@@ -393,6 +411,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload"><code class="docutils literal notranslate"><span class="pre">DVCUpload</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload._get_attr"><code class="docutils literal notranslate"><span class="pre">DVCUpload._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload._set_deps"><code class="docutils literal notranslate"><span class="pre">DVCUpload._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.add_in"><code class="docutils literal notranslate"><span class="pre">DVCUpload.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.add_out"><code class="docutils literal notranslate"><span class="pre">DVCUpload.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">DVCUpload.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.get_content"><code class="docutils literal notranslate"><span class="pre">DVCUpload.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.get_define"><code class="docutils literal notranslate"><span class="pre">DVCUpload.get_define()</span></code></a></li>
@@ -418,6 +438,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.ext"><code class="docutils literal notranslate"><span class="pre">DVCUpload.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.ext_attr"><code class="docutils literal notranslate"><span class="pre">DVCUpload.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.is_cache"><code class="docutils literal notranslate"><span class="pre">DVCUpload.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.local_params"><code class="docutils literal notranslate"><span class="pre">DVCUpload.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.resource_list"><code class="docutils literal notranslate"><span class="pre">DVCUpload.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.task_params"><code class="docutils literal notranslate"><span class="pre">DVCUpload.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.timeout"><code class="docutils literal notranslate"><span class="pre">DVCUpload.timeout</span></code></a></li>
@@ -429,6 +450,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX"><code class="docutils literal notranslate"><span class="pre">DataX</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX._get_attr"><code class="docutils literal notranslate"><span class="pre">DataX._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX._set_deps"><code class="docutils literal notranslate"><span class="pre">DataX._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.add_in"><code class="docutils literal notranslate"><span class="pre">DataX.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.add_out"><code class="docutils literal notranslate"><span class="pre">DataX.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">DataX.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.get_content"><code class="docutils literal notranslate"><span class="pre">DataX.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.get_define"><code class="docutils literal notranslate"><span class="pre">DataX.get_define()</span></code></a></li>
@@ -453,6 +476,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.ext"><code class="docutils literal notranslate"><span class="pre">DataX.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.ext_attr"><code class="docutils literal notranslate"><span class="pre">DataX.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.is_cache"><code class="docutils literal notranslate"><span class="pre">DataX.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.local_params"><code class="docutils literal notranslate"><span class="pre">DataX.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.resource_list"><code class="docutils literal notranslate"><span class="pre">DataX.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.task_params"><code class="docutils literal notranslate"><span class="pre">DataX.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.DataX.timeout"><code class="docutils literal notranslate"><span class="pre">DataX.timeout</span></code></a></li>
@@ -464,6 +488,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent"><code class="docutils literal notranslate"><span class="pre">Dependent</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent._get_attr"><code class="docutils literal notranslate"><span class="pre">Dependent._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent._set_deps"><code class="docutils literal notranslate"><span class="pre">Dependent._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.add_in"><code class="docutils literal notranslate"><span class="pre">Dependent.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.add_out"><code class="docutils literal notranslate"><span class="pre">Dependent.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Dependent.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.get_content"><code class="docutils literal notranslate"><span class="pre">Dependent.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.get_define"><code class="docutils literal notranslate"><span class="pre">Dependent.get_define()</span></code></a></li>
@@ -487,6 +513,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.ext"><code class="docutils literal notranslate"><span class="pre">Dependent.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.ext_attr"><code class="docutils literal notranslate"><span class="pre">Dependent.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.is_cache"><code class="docutils literal notranslate"><span class="pre">Dependent.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.local_params"><code class="docutils literal notranslate"><span class="pre">Dependent.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.resource_list"><code class="docutils literal notranslate"><span class="pre">Dependent.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.task_params"><code class="docutils literal notranslate"><span class="pre">Dependent.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.timeout"><code class="docutils literal notranslate"><span class="pre">Dependent.timeout</span></code></a></li>
@@ -498,6 +525,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink"><code class="docutils literal notranslate"><span class="pre">Flink</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink._get_attr"><code class="docutils literal notranslate"><span class="pre">Flink._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink._set_deps"><code class="docutils literal notranslate"><span class="pre">Flink._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.add_in"><code class="docutils literal notranslate"><span class="pre">Flink.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.add_out"><code class="docutils literal notranslate"><span class="pre">Flink.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Flink.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.get_content"><code class="docutils literal notranslate"><span class="pre">Flink.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.get_define"><code class="docutils literal notranslate"><span class="pre">Flink.get_define()</span></code></a></li>
@@ -523,6 +552,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.ext"><code class="docutils literal notranslate"><span class="pre">Flink.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.ext_attr"><code class="docutils literal notranslate"><span class="pre">Flink.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.is_cache"><code class="docutils literal notranslate"><span class="pre">Flink.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.local_params"><code class="docutils literal notranslate"><span class="pre">Flink.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.resource_list"><code class="docutils literal notranslate"><span class="pre">Flink.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.task_params"><code class="docutils literal notranslate"><span class="pre">Flink.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Flink.timeout"><code class="docutils literal notranslate"><span class="pre">Flink.timeout</span></code></a></li>
@@ -534,6 +564,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Http"><code class="docutils literal notranslate"><span class="pre">Http</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http._get_attr"><code class="docutils literal notranslate"><span class="pre">Http._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http._set_deps"><code class="docutils literal notranslate"><span class="pre">Http._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.add_in"><code class="docutils literal notranslate"><span class="pre">Http.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.add_out"><code class="docutils literal notranslate"><span class="pre">Http.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Http.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.get_content"><code class="docutils literal notranslate"><span class="pre">Http.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.get_define"><code class="docutils literal notranslate"><span class="pre">Http.get_define()</span></code></a></li>
@@ -557,6 +589,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.ext"><code class="docutils literal notranslate"><span class="pre">Http.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.ext_attr"><code class="docutils literal notranslate"><span class="pre">Http.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.is_cache"><code class="docutils literal notranslate"><span class="pre">Http.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.local_params"><code class="docutils literal notranslate"><span class="pre">Http.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.resource_list"><code class="docutils literal notranslate"><span class="pre">Http.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.task_params"><code class="docutils literal notranslate"><span class="pre">Http.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Http.timeout"><code class="docutils literal notranslate"><span class="pre">Http.timeout</span></code></a></li>
@@ -568,6 +601,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes"><code class="docutils literal notranslate"><span class="pre">Kubernetes</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes._get_attr"><code class="docutils literal notranslate"><span class="pre">Kubernetes._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes._set_deps"><code class="docutils literal notranslate"><span class="pre">Kubernetes._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.add_in"><code class="docutils literal notranslate"><span class="pre">Kubernetes.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.add_out"><code class="docutils literal notranslate"><span class="pre">Kubernetes.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Kubernetes.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.get_content"><code class="docutils literal notranslate"><span class="pre">Kubernetes.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.get_define"><code class="docutils literal notranslate"><span class="pre">Kubernetes.get_define()</span></code></a></li>
@@ -591,6 +626,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.ext"><code class="docutils literal notranslate"><span class="pre">Kubernetes.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.ext_attr"><code class="docutils literal notranslate"><span class="pre">Kubernetes.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.is_cache"><code class="docutils literal notranslate"><span class="pre">Kubernetes.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.local_params"><code class="docutils literal notranslate"><span class="pre">Kubernetes.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.resource_list"><code class="docutils literal notranslate"><span class="pre">Kubernetes.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.task_params"><code class="docutils literal notranslate"><span class="pre">Kubernetes.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.timeout"><code class="docutils literal notranslate"><span class="pre">Kubernetes.timeout</span></code></a></li>
@@ -602,6 +638,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML._get_attr"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML._set_deps"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.add_in"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.add_out"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.get_content"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.get_define"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.get_define()</span></code></a></li>
@@ -626,6 +664,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.ext"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.ext_attr"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.is_cache"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.local_params"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.mlflow_job_type"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.mlflow_job_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.mlflow_task_type"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.mlflow_task_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.resource_list"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsAutoML.resource_list</span></code></a></li>
@@ -639,6 +678,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm._get_attr"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm._set_deps"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.add_in"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.add_out"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.get_content"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.get_define"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.get_define()</span></code></a></li>
@@ -663,6 +704,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.ext"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.ext_attr"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.is_cache"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.local_params"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.mlflow_job_type"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.mlflow_job_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.mlflow_task_type"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.mlflow_task_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.resource_list"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsBasicAlgorithm.resource_list</span></code></a></li>
@@ -676,6 +718,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom._get_attr"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom._set_deps"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.add_in"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.add_out"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.get_content"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.get_define"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.get_define()</span></code></a></li>
@@ -700,6 +744,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.ext"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.ext_attr"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.is_cache"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.local_params"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.mlflow_job_type"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.mlflow_job_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.mlflow_task_type"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.mlflow_task_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.resource_list"><code class="docutils literal notranslate"><span class="pre">MLFlowProjectsCustom.resource_list</span></code></a></li>
@@ -713,6 +758,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels"><code class="docutils literal notranslate"><span class="pre">MLflowModels</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels._get_attr"><code class="docutils literal notranslate"><span class="pre">MLflowModels._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels._set_deps"><code class="docutils literal notranslate"><span class="pre">MLflowModels._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.add_in"><code class="docutils literal notranslate"><span class="pre">MLflowModels.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.add_out"><code class="docutils literal notranslate"><span class="pre">MLflowModels.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">MLflowModels.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.get_content"><code class="docutils literal notranslate"><span class="pre">MLflowModels.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.get_define"><code class="docutils literal notranslate"><span class="pre">MLflowModels.get_define()</span></code></a></li>
@@ -737,6 +784,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.ext"><code class="docutils literal notranslate"><span class="pre">MLflowModels.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.ext_attr"><code class="docutils literal notranslate"><span class="pre">MLflowModels.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.is_cache"><code class="docutils literal notranslate"><span class="pre">MLflowModels.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.local_params"><code class="docutils literal notranslate"><span class="pre">MLflowModels.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.mlflow_task_type"><code class="docutils literal notranslate"><span class="pre">MLflowModels.mlflow_task_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.resource_list"><code class="docutils literal notranslate"><span class="pre">MLflowModels.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.task_params"><code class="docutils literal notranslate"><span class="pre">MLflowModels.task_params</span></code></a></li>
@@ -749,6 +797,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.MR"><code class="docutils literal notranslate"><span class="pre">MR</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR._get_attr"><code class="docutils literal notranslate"><span class="pre">MR._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR._set_deps"><code class="docutils literal notranslate"><span class="pre">MR._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.add_in"><code class="docutils literal notranslate"><span class="pre">MR.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.add_out"><code class="docutils literal notranslate"><span class="pre">MR.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">MR.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.get_content"><code class="docutils literal notranslate"><span class="pre">MR.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.get_define"><code class="docutils literal notranslate"><span class="pre">MR.get_define()</span></code></a></li>
@@ -774,6 +824,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.ext"><code class="docutils literal notranslate"><span class="pre">MR.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.ext_attr"><code class="docutils literal notranslate"><span class="pre">MR.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.is_cache"><code class="docutils literal notranslate"><span class="pre">MR.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.local_params"><code class="docutils literal notranslate"><span class="pre">MR.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.resource_list"><code class="docutils literal notranslate"><span class="pre">MR.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.task_params"><code class="docutils literal notranslate"><span class="pre">MR.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.MR.timeout"><code class="docutils literal notranslate"><span class="pre">MR.timeout</span></code></a></li>
@@ -785,6 +836,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB"><code class="docutils literal notranslate"><span class="pre">OpenMLDB</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB._get_attr"><code class="docutils literal notranslate"><span class="pre">OpenMLDB._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB._set_deps"><code class="docutils literal notranslate"><span class="pre">OpenMLDB._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.add_in"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.add_out"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.get_content"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.get_define"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.get_define()</span></code></a></li>
@@ -808,6 +861,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.ext"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.ext_attr"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.is_cache"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.local_params"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.resource_list"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.task_params"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.timeout"><code class="docutils literal notranslate"><span class="pre">OpenMLDB.timeout</span></code></a></li>
@@ -819,6 +873,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure"><code class="docutils literal notranslate"><span class="pre">Procedure</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure._get_attr"><code class="docutils literal notranslate"><span class="pre">Procedure._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure._set_deps"><code class="docutils literal notranslate"><span class="pre">Procedure._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.add_in"><code class="docutils literal notranslate"><span class="pre">Procedure.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.add_out"><code class="docutils literal notranslate"><span class="pre">Procedure.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Procedure.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.get_content"><code class="docutils literal notranslate"><span class="pre">Procedure.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.get_define"><code class="docutils literal notranslate"><span class="pre">Procedure.get_define()</span></code></a></li>
@@ -842,6 +898,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.ext"><code class="docutils literal notranslate"><span class="pre">Procedure.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.ext_attr"><code class="docutils literal notranslate"><span class="pre">Procedure.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.is_cache"><code class="docutils literal notranslate"><span class="pre">Procedure.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.local_params"><code class="docutils literal notranslate"><span class="pre">Procedure.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.resource_list"><code class="docutils literal notranslate"><span class="pre">Procedure.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.task_params"><code class="docutils literal notranslate"><span class="pre">Procedure.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.timeout"><code class="docutils literal notranslate"><span class="pre">Procedure.timeout</span></code></a></li>
@@ -854,6 +911,8 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python._build_exe_str"><code class="docutils literal notranslate"><span class="pre">Python._build_exe_str()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python._get_attr"><code class="docutils literal notranslate"><span class="pre">Python._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python._set_deps"><code class="docutils literal notranslate"><span class="pre">Python._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.add_in"><code class="docutils literal notranslate"><span class="pre">Python.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.add_out"><code class="docutils literal notranslate"><span class="pre">Python.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Python.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.get_content"><code class="docutils literal notranslate"><span class="pre">Python.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.get_define"><code class="docutils literal notranslate"><span class="pre">Python.get_define()</span></code></a></li>
@@ -877,6 +936,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.ext"><code class="docutils literal notranslate"><span class="pre">Python.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.ext_attr"><code class="docutils literal notranslate"><span class="pre">Python.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.is_cache"><code class="docutils literal notranslate"><span class="pre">Python.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.local_params"><code class="docutils literal notranslate"><span class="pre">Python.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.raw_script"><code class="docutils literal notranslate"><span class="pre">Python.raw_script</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.resource_list"><code class="docutils literal notranslate"><span class="pre">Python.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Python.task_params"><code class="docutils literal notranslate"><span class="pre">Python.task_params</span></code></a></li>
@@ -889,6 +949,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch"><code class="docutils literal notranslate"><span class="pre">Pytorch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch._get_attr"><code class="docutils literal notranslate"><span class="pre">Pytorch._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch._set_deps"><code class="docutils literal notranslate"><span class="pre">Pytorch._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.add_in"><code class="docutils literal notranslate"><span class="pre">Pytorch.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.add_out"><code class="docutils literal notranslate"><span class="pre">Pytorch.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Pytorch.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.get_content"><code class="docutils literal notranslate"><span class="pre">Pytorch.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.get_define"><code class="docutils literal notranslate"><span class="pre">Pytorch.get_define()</span></code></a></li>
@@ -912,6 +974,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.ext"><code class="docutils literal notranslate"><span class="pre">Pytorch.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.ext_attr"><code class="docutils literal notranslate"><span class="pre">Pytorch.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.is_cache"><code class="docutils literal notranslate"><span class="pre">Pytorch.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.local_params"><code class="docutils literal notranslate"><span class="pre">Pytorch.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.other_params"><code class="docutils literal notranslate"><span class="pre">Pytorch.other_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.resource_list"><code class="docutils literal notranslate"><span class="pre">Pytorch.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.task_params"><code class="docutils literal notranslate"><span class="pre">Pytorch.task_params</span></code></a></li>
@@ -924,6 +987,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker"><code class="docutils literal notranslate"><span class="pre">SageMaker</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker._get_attr"><code class="docutils literal notranslate"><span class="pre">SageMaker._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker._set_deps"><code class="docutils literal notranslate"><span class="pre">SageMaker._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.add_in"><code class="docutils literal notranslate"><span class="pre">SageMaker.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.add_out"><code class="docutils literal notranslate"><span class="pre">SageMaker.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">SageMaker.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.get_content"><code class="docutils literal notranslate"><span class="pre">SageMaker.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.get_define"><code class="docutils literal notranslate"><span class="pre">SageMaker.get_define()</span></code></a></li>
@@ -947,6 +1012,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.ext"><code class="docutils literal notranslate"><span class="pre">SageMaker.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.ext_attr"><code class="docutils literal notranslate"><span class="pre">SageMaker.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.is_cache"><code class="docutils literal notranslate"><span class="pre">SageMaker.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.local_params"><code class="docutils literal notranslate"><span class="pre">SageMaker.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.resource_list"><code class="docutils literal notranslate"><span class="pre">SageMaker.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.task_params"><code class="docutils literal notranslate"><span class="pre">SageMaker.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.timeout"><code class="docutils literal notranslate"><span class="pre">SageMaker.timeout</span></code></a></li>
@@ -958,6 +1024,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell"><code class="docutils literal notranslate"><span class="pre">Shell</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell._get_attr"><code class="docutils literal notranslate"><span class="pre">Shell._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell._set_deps"><code class="docutils literal notranslate"><span class="pre">Shell._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.add_in"><code class="docutils literal notranslate"><span class="pre">Shell.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.add_out"><code class="docutils literal notranslate"><span class="pre">Shell.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Shell.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.get_content"><code class="docutils literal notranslate"><span class="pre">Shell.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.get_define"><code class="docutils literal notranslate"><span class="pre">Shell.get_define()</span></code></a></li>
@@ -981,6 +1049,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.ext"><code class="docutils literal notranslate"><span class="pre">Shell.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.ext_attr"><code class="docutils literal notranslate"><span class="pre">Shell.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.is_cache"><code class="docutils literal notranslate"><span class="pre">Shell.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.local_params"><code class="docutils literal notranslate"><span class="pre">Shell.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.resource_list"><code class="docutils literal notranslate"><span class="pre">Shell.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.task_params"><code class="docutils literal notranslate"><span class="pre">Shell.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Shell.timeout"><code class="docutils literal notranslate"><span class="pre">Shell.timeout</span></code></a></li>
@@ -992,6 +1061,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark"><code class="docutils literal notranslate"><span class="pre">Spark</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark._get_attr"><code class="docutils literal notranslate"><span class="pre">Spark._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark._set_deps"><code class="docutils literal notranslate"><span class="pre">Spark._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.add_in"><code class="docutils literal notranslate"><span class="pre">Spark.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.add_out"><code class="docutils literal notranslate"><span class="pre">Spark.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Spark.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.get_content"><code class="docutils literal notranslate"><span class="pre">Spark.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.get_define"><code class="docutils literal notranslate"><span class="pre">Spark.get_define()</span></code></a></li>
@@ -1017,6 +1088,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.ext"><code class="docutils literal notranslate"><span class="pre">Spark.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.ext_attr"><code class="docutils literal notranslate"><span class="pre">Spark.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.is_cache"><code class="docutils literal notranslate"><span class="pre">Spark.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.local_params"><code class="docutils literal notranslate"><span class="pre">Spark.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.resource_list"><code class="docutils literal notranslate"><span class="pre">Spark.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.task_params"><code class="docutils literal notranslate"><span class="pre">Spark.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Spark.timeout"><code class="docutils literal notranslate"><span class="pre">Spark.timeout</span></code></a></li>
@@ -1028,6 +1100,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql"><code class="docutils literal notranslate"><span class="pre">Sql</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql._get_attr"><code class="docutils literal notranslate"><span class="pre">Sql._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql._set_deps"><code class="docutils literal notranslate"><span class="pre">Sql._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.add_in"><code class="docutils literal notranslate"><span class="pre">Sql.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.add_out"><code class="docutils literal notranslate"><span class="pre">Sql.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Sql.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.get_content"><code class="docutils literal notranslate"><span class="pre">Sql.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.get_define"><code class="docutils literal notranslate"><span class="pre">Sql.get_define()</span></code></a></li>
@@ -1051,6 +1125,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.ext"><code class="docutils literal notranslate"><span class="pre">Sql.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.ext_attr"><code class="docutils literal notranslate"><span class="pre">Sql.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.is_cache"><code class="docutils literal notranslate"><span class="pre">Sql.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.local_params"><code class="docutils literal notranslate"><span class="pre">Sql.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.resource_list"><code class="docutils literal notranslate"><span class="pre">Sql.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.sql_type"><code class="docutils literal notranslate"><span class="pre">Sql.sql_type</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Sql.task_params"><code class="docutils literal notranslate"><span class="pre">Sql.task_params</span></code></a></li>
@@ -1063,6 +1138,8 @@
 <li class="toctree-l3"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow"><code class="docutils literal notranslate"><span class="pre">SubWorkflow</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow._get_attr"><code class="docutils literal notranslate"><span class="pre">SubWorkflow._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow._set_deps"><code class="docutils literal notranslate"><span class="pre">SubWorkflow._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.add_in"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.add_out"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.get_content"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.get_define"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.get_define()</span></code></a></li>
@@ -1087,6 +1164,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.ext"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.ext_attr"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.is_cache"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.local_params"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.process_definition_code"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.process_definition_code</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.resource_list"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.task_params"><code class="docutils literal notranslate"><span class="pre">SubWorkflow.task_params</span></code></a></li>
@@ -1100,6 +1178,8 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch._get_attr"><code class="docutils literal notranslate"><span class="pre">Switch._get_attr()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch._set_dep"><code class="docutils literal notranslate"><span class="pre">Switch._set_dep()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch._set_deps"><code class="docutils literal notranslate"><span class="pre">Switch._set_deps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.add_in"><code class="docutils literal notranslate"><span class="pre">Switch.add_in()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.add_out"><code class="docutils literal notranslate"><span class="pre">Switch.add_out()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.gen_code_and_version"><code class="docutils literal notranslate"><span class="pre">Switch.gen_code_and_version()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.get_content"><code class="docutils literal notranslate"><span class="pre">Switch.get_content()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.get_define"><code class="docutils literal notranslate"><span class="pre">Switch.get_define()</span></code></a></li>
@@ -1123,6 +1203,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.ext"><code class="docutils literal notranslate"><span class="pre">Switch.ext</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.ext_attr"><code class="docutils literal notranslate"><span class="pre">Switch.ext_attr</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.is_cache"><code class="docutils literal notranslate"><span class="pre">Switch.is_cache</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.local_params"><code class="docutils literal notranslate"><span class="pre">Switch.local_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.resource_list"><code class="docutils literal notranslate"><span class="pre">Switch.resource_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.task_params"><code class="docutils literal notranslate"><span class="pre">Switch.task_params</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.tasks.Switch.timeout"><code class="docutils literal notranslate"><span class="pre">Switch.timeout</span></code></a></li>
@@ -1385,6 +1466,48 @@ and is used to provide the programType, mainClass and mainJar task parameters fo
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.core.Engine.set_upstream" title="pydolphinscheduler.core.Engine.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.core.Engine.set_downstream" title="pydolphinscheduler.core.Engine.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_do [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.core.Engine.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.core.Engine.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Engine.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.core.Engine.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -1508,6 +1631,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.core.Engine.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.core.Engine.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Engine.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -1550,9 +1679,34 @@ directly set as python property, so we Override Task.task_params here.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Task">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pydolphinscheduler.core.</span></span><span class="sig-name descname"><span class="pre">Task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class=" [...]
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pydolphinscheduler.core.</span></span><span class="sig-name descname"><span class="pre">Task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class=" [...]
 <dd><p>Bases: <a class="reference internal" href="#pydolphinscheduler.models.Base" title="pydolphinscheduler.models.base.Base"><code class="xref py py-class docutils literal notranslate"><span class="pre">Base</span></code></a></p>
 <p>Task object, parent class for all exactly task type.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – The name of the task. Node names within the same workflow must be unique.</p></li>
+<li><p><strong>task_type</strong> – </p></li>
+<li><p><strong>description</strong> – default None</p></li>
+<li><p><strong>flag</strong> – default TaskFlag.YES,</p></li>
+<li><p><strong>task_priority</strong> – default TaskPriority.MEDIUM</p></li>
+<li><p><strong>worker_group</strong> – default configuration.WORKFLOW_WORKER_GROUP</p></li>
+<li><p><strong>environment_name</strong> – default None</p></li>
+<li><p><strong>delay_time</strong> – deault 0</p></li>
+<li><p><strong>fail_retry_times</strong> – default 0</p></li>
+<li><p><strong>fail_retry_interval</strong> – default 1</p></li>
+<li><p><strong>timeout_notify_strategy</strong> – default, None</p></li>
+<li><p><strong>timeout</strong> – default None</p></li>
+<li><p><strong>resource_list</strong> – default None</p></li>
+<li><p><strong>wait_start_timeout</strong> – default None</p></li>
+<li><p><strong>condition_result</strong> – default None,</p></li>
+<li><p><strong>resource_plugin</strong> – default None</p></li>
+<li><p><strong>is_cache</strong> – default False</p></li>
+<li><p><strong>input_params</strong> – default None, input parameters, {param_name: param_value}</p></li>
+<li><p><strong>output_params</strong> – default None, input parameters, {param_name: param_value}</p></li>
+</ul>
+</dd>
+</dl>
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Task._get_attr">
 <span class="sig-name descname"><span class="pre">_get_attr</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Set</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="_modules/pydolphinscheduler/core/task.html#Ta [...]
@@ -1568,6 +1722,48 @@ directly set as python property, so we Override Task.task_params here.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.core.Task.set_upstream" title="pydolphinscheduler.core.Task.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.core.Task.set_downstream" title="pydolphinscheduler.core.Task.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_downstream [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.core.Task.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.core.Task.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Task.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="reference internal" href="_modules/pydolphinscheduler/core/task.html#Task.gen_code_and_version"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="header [...]
@@ -1679,6 +1875,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.core.Task.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.core.Task.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Task.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -2359,6 +2561,48 @@ object tries to communicate with Java gateway server.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Condition.set_upstream" title="pydolphinscheduler.tasks.Condition.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Condition.set_downstream" title="pydolphinscheduler.tasks.Condition.set_downstream"><code class="xref py py-func docutils literal notranslate"><span cl [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Condition.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Condition.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Condition.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Condition.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -2490,6 +2734,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Condition.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Condition.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Condition.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -2552,6 +2802,48 @@ attribute <cite>_task_custom_attr</cite> due to avoid attribute cover.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.set_upstream" title="pydolphinscheduler.tasks.CustomDataX.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.CustomDataX.set_downstream" title="pydolphinscheduler.tasks.CustomDataX.set_downstream"><code class="xref py py-func docutils literal notranslate"> [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.CustomDataX.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.CustomDataX.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.CustomDataX.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.CustomDataX.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -2688,6 +2980,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.CustomDataX.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.CustomDataX.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.CustomDataX.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -2747,6 +3045,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.set_upstream" title="pydolphinscheduler.tasks.DVCDownload.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.DVCDownload.set_downstream" title="pydolphinscheduler.tasks.DVCDownload.set_downstream"><code class="xref py py-func docutils literal notranslate"> [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCDownload.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCDownload.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCDownload.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DVCDownload.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -2888,6 +3228,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCDownload.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DVCDownload.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCDownload.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -2946,6 +3292,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.set_upstream" title="pydolphinscheduler.tasks.DVCInit.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.DVCInit.set_downstream" title="pydolphinscheduler.tasks.DVCInit.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCInit.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCInit.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCInit.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DVCInit.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -3087,6 +3475,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCInit.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DVCInit.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCInit.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -3145,6 +3539,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.set_upstream" title="pydolphinscheduler.tasks.DVCUpload.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.DVCUpload.set_downstream" title="pydolphinscheduler.tasks.DVCUpload.set_downstream"><code class="xref py py-func docutils literal notranslate"><span cl [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCUpload.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCUpload.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCUpload.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DVCUpload.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -3286,6 +3722,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCUpload.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DVCUpload.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DVCUpload.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -3351,6 +3793,48 @@ database type and database instance would synchronous data.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.DataX.set_upstream" title="pydolphinscheduler.tasks.DataX.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.DataX.set_downstream" title="pydolphinscheduler.tasks.DataX.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_do [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DataX.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DataX.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DataX.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DataX.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -3487,6 +3971,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.DataX.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.DataX.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.DataX.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -3547,6 +4037,48 @@ directly set as python property, so we Override Task.task_params here.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.set_upstream" title="pydolphinscheduler.tasks.Dependent.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Dependent.set_downstream" title="pydolphinscheduler.tasks.Dependent.set_downstream"><code class="xref py py-func docutils literal notranslate"><span cl [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Dependent.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Dependent.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Dependent.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Dependent.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -3678,6 +4210,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Dependent.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Dependent.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Dependent.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -3740,13 +4278,55 @@ attribute <cite>_task_custom_attr</cite> due to avoid attribute cover.</p>
 </dd></dl>
 
 <dl class="py method">
-<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.gen_code_and_version">
-<span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Flink.gen_code_and_version" title="Permalink to this definition"></a></dt>
-<dd><p>Generate task code and version from java gateway.</p>
-<p>If task name do not exists in workflow before, if will generate new code and version id
-equal to 0 by java gateway, otherwise if will return the exists code and version.</p>
-</dd></dl>
-
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.gen_code_and_version">
+<span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Flink.gen_code_and_version" title="Permalink to this definition"></a></dt>
+<dd><p>Generate task code and version from java gateway.</p>
+<p>If task name do not exists in workflow before, if will generate new code and version id
+equal to 0 by java gateway, otherwise if will return the exists code and version.</p>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.get_content">
 <span class="sig-name descname"><span class="pre">get_content</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pydolphinscheduler.tasks.Flink.get_content" title="Permalink to this definition"></a></dt>
@@ -3882,6 +4462,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Flink.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Flink.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -3942,6 +4528,48 @@ directly set as python property, so we Override Task.task_params here.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Http.set_upstream" title="pydolphinscheduler.tasks.Http.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Http.set_downstream" title="pydolphinscheduler.tasks.Http.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_downst [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Http.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Http.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Http.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Http.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -4073,6 +4701,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Http.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Http.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Http.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -4144,6 +4778,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.set_upstream" title="pydolphinscheduler.tasks.Kubernetes.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Kubernetes.set_downstream" title="pydolphinscheduler.tasks.Kubernetes.set_downstream"><code class="xref py py-func docutils literal notranslate"><spa [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Kubernetes.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Kubernetes.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Kubernetes.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Kubernetes.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -4275,6 +4951,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Kubernetes.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Kubernetes.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Kubernetes.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -4347,6 +5029,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.set_upstream" title="pydolphinscheduler.tasks.MLFlowProjectsAutoML.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.set_downstream" title="pydolphinscheduler.tasks.MLFlowProjectsAutoML.set_downstream"><code class="xref py py [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsAutoML.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsAutoML.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsAutoML.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -4483,6 +5207,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsAutoML.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py attribute">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsAutoML.mlflow_job_type">
 <span class="sig-name descname"><span class="pre">mlflow_job_type</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'AutoML'</span></em><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsAutoML.mlflow_job_type" title="Permalink to this definition"></a></dt>
@@ -4566,6 +5296,48 @@ based on scikit-learn form.</p></li>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.set_upstream" title="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.set_downstream" title="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.set_dow [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -4702,6 +5474,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py attribute">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.mlflow_job_type">
 <span class="sig-name descname"><span class="pre">mlflow_job_type</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'BasicAlgorithm'</span></em><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.mlflow_job_type" title="Permalink to this definition"></a></dt>
@@ -4784,6 +5562,48 @@ for example <a class="reference external" href="https://github.com/mlflow/mlflow
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.set_upstream" title="pydolphinscheduler.tasks.MLFlowProjectsCustom.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.set_downstream" title="pydolphinscheduler.tasks.MLFlowProjectsCustom.set_downstream"><code class="xref py py [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsCustom.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsCustom.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsCustom.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -4920,6 +5740,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsCustom.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py attribute">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLFlowProjectsCustom.mlflow_job_type">
 <span class="sig-name descname"><span class="pre">mlflow_job_type</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'CustomProject'</span></em><a class="headerlink" href="#pydolphinscheduler.tasks.MLFlowProjectsCustom.mlflow_job_type" title="Permalink to this definition"></a></dt>
@@ -5001,6 +5827,48 @@ See https://mlflow.org/docs/latest/tracking.html#artifact-stores</p></li>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.set_upstream" title="pydolphinscheduler.tasks.MLflowModels.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.MLflowModels.set_downstream" title="pydolphinscheduler.tasks.MLflowModels.set_downstream"><code class="xref py py-func docutils literal notransla [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLflowModels.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLflowModels.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLflowModels.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLflowModels.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -5137,6 +6005,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLflowModels.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MLflowModels.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py attribute">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MLflowModels.mlflow_task_type">
 <span class="sig-name descname"><span class="pre">mlflow_task_type</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'MLflow</span> <span class="pre">Models'</span></em><a class="headerlink" href="#pydolphinscheduler.tasks.MLflowModels.mlflow_task_type" title="Permalink to this definition"></a></dt>
@@ -5200,6 +6074,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.MR.set_upstream" title="pydolphinscheduler.tasks.MR.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.MR.set_downstream" title="pydolphinscheduler.tasks.MR.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_downstream()</ [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MR.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MR.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MR.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MR.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -5343,6 +6259,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.MR.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.MR.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.MR.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -5414,6 +6336,48 @@ directly set as python property, so we Override Task.task_params here.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.set_upstream" title="pydolphinscheduler.tasks.OpenMLDB.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.OpenMLDB.set_downstream" title="pydolphinscheduler.tasks.OpenMLDB.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class= [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.OpenMLDB.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.OpenMLDB.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.OpenMLDB.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.OpenMLDB.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -5545,6 +6509,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.OpenMLDB.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.OpenMLDB.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.OpenMLDB.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -5615,6 +6585,48 @@ database type and database instance would run this sql.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.set_upstream" title="pydolphinscheduler.tasks.Procedure.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Procedure.set_downstream" title="pydolphinscheduler.tasks.Procedure.set_downstream"><code class="xref py py-func docutils literal notranslate"><span cl [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Procedure.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Procedure.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Procedure.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Procedure.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -5746,6 +6758,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Procedure.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Procedure.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Procedure.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -5835,6 +6853,48 @@ to string. The easier way to call a function is using syntax <code class="docuti
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Python.set_upstream" title="pydolphinscheduler.tasks.Python.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Python.set_downstream" title="pydolphinscheduler.tasks.Python.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">se [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Python.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Python.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Python.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Python.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -5966,6 +7026,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Python.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Python.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Python.raw_script">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">raw_script</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#pydolphinscheduler.tasks.Python.raw_script" title="Permalink to this definition"></a></dt>
@@ -6047,6 +7113,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.set_upstream" title="pydolphinscheduler.tasks.Pytorch.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Pytorch.set_downstream" title="pydolphinscheduler.tasks.Pytorch.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Pytorch.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Pytorch.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Pytorch.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Pytorch.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -6178,6 +7286,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Pytorch.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Pytorch.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Pytorch.other_params">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">other_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Pytorch.other_params" title="Permalink to this definition"></a></dt>
@@ -6252,6 +7366,48 @@ see also <a class="reference external" href="https://docs.aws.amazon.com/sagemak
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.set_upstream" title="pydolphinscheduler.tasks.SageMaker.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.SageMaker.set_downstream" title="pydolphinscheduler.tasks.SageMaker.set_downstream"><code class="xref py py-func docutils literal notranslate"><span cl [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.SageMaker.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.SageMaker.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.SageMaker.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.SageMaker.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -6383,6 +7539,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.SageMaker.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.SageMaker.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.SageMaker.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -6464,6 +7626,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Shell.set_upstream" title="pydolphinscheduler.tasks.Shell.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Shell.set_downstream" title="pydolphinscheduler.tasks.Shell.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_do [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Shell.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Shell.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Shell.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Shell.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -6595,6 +7799,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Shell.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Shell.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Shell.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -6654,6 +7864,48 @@ workflow.resource_plugin.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Spark.set_upstream" title="pydolphinscheduler.tasks.Spark.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Spark.set_downstream" title="pydolphinscheduler.tasks.Spark.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_do [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Spark.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Spark.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Spark.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Spark.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -6797,6 +8049,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Spark.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Spark.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Spark.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -6868,6 +8126,48 @@ database type and database instance would run this sql.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Sql.set_upstream" title="pydolphinscheduler.tasks.Sql.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Sql.set_downstream" title="pydolphinscheduler.tasks.Sql.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_downstream [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Sql.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Sql.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Sql.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Sql.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -6999,6 +8299,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Sql.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Sql.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Sql.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
@@ -7068,6 +8374,48 @@ directly set as python property, so we Override Task.task_params here.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.set_upstream" title="pydolphinscheduler.tasks.SubWorkflow.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.SubWorkflow.set_downstream" title="pydolphinscheduler.tasks.SubWorkflow.set_downstream"><code class="xref py py-func docutils literal notranslate"> [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.SubWorkflow.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.SubWorkflow.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.SubWorkflow.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.SubWorkflow.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -7205,6 +8553,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.SubWorkflow.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.SubWorkflow.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.SubWorkflow.process_definition_code">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">process_definition_code</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#pydolphinscheduler.tasks.SubWorkflow.process_definition_code" title="Permalink to this definition"></a></dt>
@@ -7280,6 +8634,48 @@ if task <cite>switch</cite> in this workflow.</p>
 <p>it is a wrapper for <a class="reference internal" href="#pydolphinscheduler.tasks.Switch.set_upstream" title="pydolphinscheduler.tasks.Switch.set_upstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_upstream()</span></code></a> and <a class="reference internal" href="#pydolphinscheduler.tasks.Switch.set_downstream" title="pydolphinscheduler.tasks.Switch.set_downstream"><code class="xref py py-func docutils literal notranslate"><span class="pre">se [...]
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Switch.add_in">
+<span class="sig-name descname"><span class="pre">add_in</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Opt [...]
+<dd><p>Add input parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the input parameter.</p></li>
+<li><p><strong>value</strong> – value of the input parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Switch.add_out">
+<span class="sig-name descname"><span class="pre">add_out</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Op [...]
+<dd><p>Add output parameters.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – name of the output parameter.</p></li>
+<li><p><strong>value</strong> – value of the output parameter.</p></li>
+</ul>
+</dd>
+</dl>
+<p>It could be simply command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;b&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;c&quot;</span><span class="p">,</span> <span class="nb">bool</span><span class="p">)</span>
+<span class="n">task</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;d&quot;</span><span class="p">,</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="mi">123</span><span class="p">))</span>
+</pre></div>
+</div>
+</dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Switch.gen_code_and_version">
 <span class="sig-name descname"><span class="pre">gen_code_and_version</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span></span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Switch.gen_code_and_version" title="Permalink to this definition"></a></dt>
@@ -7411,6 +8807,12 @@ workflow.resource_plugin.</p>
 <dd><p>Whether the cache is being set or not.</p>
 </dd></dl>
 
+<dl class="py property">
+<dt class="sig sig-object py" id="pydolphinscheduler.tasks.Switch.local_params">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">local_params</span></span><a class="headerlink" href="#pydolphinscheduler.tasks.Switch.local_params" title="Permalink to this definition"></a></dt>
+<dd><p>Convert local params.</p>
+</dd></dl>
+
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.tasks.Switch.resource_list">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">resource_list</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span [...]
diff --git a/python/main/concept.html b/python/main/concept.html
index 3d073afa6d..e449740638 100644
--- a/python/main/concept.html
+++ b/python/main/concept.html
@@ -60,6 +60,7 @@
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="#resource-files">Resource Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#local-parameters">Local Parameters</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#authentication-token">Authentication Token</a></li>
 </ul>
 </li>
@@ -308,6 +309,191 @@ resource center bare without workflow.</p>
 multiple files. For more complex usage, you could read <a class="reference internal" href="howto/multi-resources.html"><span class="doc">Upload and Use Multiple Resources</span></a>.</p>
 </div>
 </section>
+<section id="local-parameters">
+<h2>Local Parameters<a class="headerlink" href="#local-parameters" title="Permalink to this heading"></a></h2>
+<p>In DolphinScheduler, we can define parameter in task, aka Local Parameter.</p>
+<p>We can set parameters to variables in tasks to better manage our tasks.</p>
+<p>For example:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span>    <span class="c1"># define a parameter &quot;a&quot;, and use it in Shell task</span>
+    <span class="n">example1_input_params</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;example1_input_params&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo $</span><span class="si">{a}</span><span class="s2">&quot;</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;a&quot;</span><span class="p">:</span> <span class="s2">&quot;123&quot;</span><span class="p">,</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="c1"># define a parameter &quot;random_value&quot;, and pass it to the downstream tasks</span>
+    <span class="n">example2_output_params</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;example2_output_params&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        val=$(echo $RANDOM)</span>
+<span class="s2">        echo &quot;#{setValue(random_value=$</span><span class="si">{val}</span><span class="s2">)}&quot;</span>
+<span class="s2">        echo $val</span>
+<span class="s2">        &quot;&quot;&quot;</span><span class="p">,</span>
+        <span class="n">output_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;random_value&quot;</span><span class="p">:</span> <span class="s2">&quot;&quot;</span><span class="p">,</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="c1"># use the parameter &quot;random_value&quot;, from upstream tasks</span>
+    <span class="c1"># we don&#39;t need to define input_params again if the parameter is from upstram tasks</span>
+    <span class="n">example2_input_params</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;example2_input_params&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;&quot;&quot;echo $</span><span class="si">{random_value}</span><span class="s2">&quot;&quot;&quot;</span>
+    <span class="p">)</span>
+
+    <span class="n">example2_output_params</span> <span class="o">&gt;&gt;</span> <span class="n">example2_input_params</span>
+</pre></div>
+</div>
+<p>There are two ways to define local parameters:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span>    <span class="c1"># Add parameter via task arguments</span>
+    <span class="n">task_1</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_1&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo hello pydolphinscheduler&quot;</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;value_VARCHAR&quot;</span><span class="p">:</span> <span class="s2">&quot;abc&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;value_INTEGER&quot;</span><span class="p">:</span> <span class="mi">123</span><span class="p">,</span>
+            <span class="s2">&quot;value_FLOAT&quot;</span><span class="p">:</span> <span class="mf">0.1</span><span class="p">,</span>
+            <span class="s2">&quot;value_BOOLEAN&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+        <span class="p">},</span>
+        <span class="n">output_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;value_EMPTY&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="c1"># Add parameter via task instance&#39;s method</span>
+    <span class="n">task_2</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_2&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo hello pydolphinscheduler&quot;</span><span class="p">)</span>
+
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_VARCHAR&quot;</span><span class="p">,</span> <span class="s2">&quot;abc&quot;</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_INTEGER&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_FLOAT&quot;</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_BOOLEAN&quot;</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;value_EMPTY&quot;</span><span class="p">)</span>
+
+    <span class="c1"># Task 1 is the same as task 2</span>
+
+    <span class="c1"># Others parameter types which cannot be converted automatically, must declare type explicitly</span>
+    <span class="n">task_3</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_3&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo &#39;123&#39; &gt;&gt; test.txt&quot;</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;value_LONG&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="s2">&quot;1000000&quot;</span><span class="p">),</span>
+            <span class="s2">&quot;value_DATE&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">DATE</span><span class="p">(</span><span class="s2">&quot;2022-01-02&quot;</span><span class="p">),</span>
+            <span class="s2">&quot;value_TIME&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">TIME</span><span class="p">(</span><span class="s2">&quot;2022-01-01&quot;</span><span class="p">),</span>
+            <span class="s2">&quot;value_TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">(</span><span class="mi">123123124125</span><span class="p">),</span>
+            <span class="s2">&quot;value_LIST&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LIST</span><span class="p">(</span><span class="s2">&quot;123123&quot;</span><span class="p">),</span>
+        <span class="p">},</span>
+        <span class="n">output_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;output_INTEGER&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">INTEGER</span><span class="p">(</span><span class="mi">100</span><span class="p">),</span>
+            <span class="s2">&quot;output_LIST&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LIST</span><span class="p">(),</span>
+            <span class="s2">&quot;output_FILE&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">FILE</span><span class="p">(</span><span class="s2">&quot;test.txt&quot;</span><span class="p">),</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="n">workflow</span><span class="o">.</span><span class="n">submit</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>Full example:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="sa">r</span><span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">A tutorial example set local parameter in pydolphinscheduler.</span>
+
+<span class="sd">Method 1:</span>
+<span class="sd">    task = Shell(..., input_params={&quot;input&quot;:&quot;a&quot;}, output_params={&quot;output&quot;: &quot;b&quot;})</span>
+
+<span class="sd">Method 2:</span>
+<span class="sd">    task = Shell(...)</span>
+<span class="sd">    task.add_in(&quot;input&quot;, &quot;a&quot;)</span>
+<span class="sd">    task.add_out(&quot;output&quot;, &quot;b&quot;)</span>
+<span class="sd">&quot;&quot;&quot;</span>
+
+<span class="kn">from</span> <span class="nn">pydolphinscheduler.core.parameter</span> <span class="kn">import</span> <span class="n">ParameterType</span>
+<span class="kn">from</span> <span class="nn">pydolphinscheduler.core.workflow</span> <span class="kn">import</span> <span class="n">Workflow</span>
+<span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.shell</span> <span class="kn">import</span> <span class="n">Shell</span>
+
+<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;local_parameter_example&quot;</span><span class="p">,</span> <span class="n">release_state</span><span class="o">=</span><span class="s2">&quot;offline&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
+
+    <span class="c1"># [start parameter example]</span>
+    <span class="c1"># define a parameter &quot;a&quot;, and use it in Shell task</span>
+    <span class="n">example1_input_params</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;example1_input_params&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo $</span><span class="si">{a}</span><span class="s2">&quot;</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;a&quot;</span><span class="p">:</span> <span class="s2">&quot;123&quot;</span><span class="p">,</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="c1"># define a parameter &quot;random_value&quot;, and pass it to the downstream tasks</span>
+    <span class="n">example2_output_params</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;example2_output_params&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        val=$(echo $RANDOM)</span>
+<span class="s2">        echo &quot;#{setValue(random_value=$</span><span class="si">{val}</span><span class="s2">)}&quot;</span>
+<span class="s2">        echo $val</span>
+<span class="s2">        &quot;&quot;&quot;</span><span class="p">,</span>
+        <span class="n">output_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;random_value&quot;</span><span class="p">:</span> <span class="s2">&quot;&quot;</span><span class="p">,</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="c1"># use the parameter &quot;random_value&quot;, from upstream tasks</span>
+    <span class="c1"># we don&#39;t need to define input_params again if the parameter is from upstram tasks</span>
+    <span class="n">example2_input_params</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;example2_input_params&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;&quot;&quot;echo $</span><span class="si">{random_value}</span><span class="s2">&quot;&quot;&quot;</span>
+    <span class="p">)</span>
+
+    <span class="n">example2_output_params</span> <span class="o">&gt;&gt;</span> <span class="n">example2_input_params</span>
+    <span class="c1"># [end parameter example]</span>
+
+    <span class="c1"># [start parameter define]</span>
+    <span class="c1"># Add parameter via task arguments</span>
+    <span class="n">task_1</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_1&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo hello pydolphinscheduler&quot;</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;value_VARCHAR&quot;</span><span class="p">:</span> <span class="s2">&quot;abc&quot;</span><span class="p">,</span>
+            <span class="s2">&quot;value_INTEGER&quot;</span><span class="p">:</span> <span class="mi">123</span><span class="p">,</span>
+            <span class="s2">&quot;value_FLOAT&quot;</span><span class="p">:</span> <span class="mf">0.1</span><span class="p">,</span>
+            <span class="s2">&quot;value_BOOLEAN&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
+        <span class="p">},</span>
+        <span class="n">output_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;value_EMPTY&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="c1"># Add parameter via task instance&#39;s method</span>
+    <span class="n">task_2</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_2&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo hello pydolphinscheduler&quot;</span><span class="p">)</span>
+
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_VARCHAR&quot;</span><span class="p">,</span> <span class="s2">&quot;abc&quot;</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_INTEGER&quot;</span><span class="p">,</span> <span class="mi">123</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_FLOAT&quot;</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_in</span><span class="p">(</span><span class="s2">&quot;value_BOOLEAN&quot;</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
+    <span class="n">task_2</span><span class="o">.</span><span class="n">add_out</span><span class="p">(</span><span class="s2">&quot;value_EMPTY&quot;</span><span class="p">)</span>
+
+    <span class="c1"># Task 1 is the same as task 2</span>
+
+    <span class="c1"># Others parameter types which cannot be converted automatically, must declare type explicitly</span>
+    <span class="n">task_3</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_3&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo &#39;123&#39; &gt;&gt; test.txt&quot;</span><span class="p">,</span>
+        <span class="n">input_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;value_LONG&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LONG</span><span class="p">(</span><span class="s2">&quot;1000000&quot;</span><span class="p">),</span>
+            <span class="s2">&quot;value_DATE&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">DATE</span><span class="p">(</span><span class="s2">&quot;2022-01-02&quot;</span><span class="p">),</span>
+            <span class="s2">&quot;value_TIME&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">TIME</span><span class="p">(</span><span class="s2">&quot;2022-01-01&quot;</span><span class="p">),</span>
+            <span class="s2">&quot;value_TIMESTAMP&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">TIMESTAMP</span><span class="p">(</span><span class="mi">123123124125</span><span class="p">),</span>
+            <span class="s2">&quot;value_LIST&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LIST</span><span class="p">(</span><span class="s2">&quot;123123&quot;</span><span class="p">),</span>
+        <span class="p">},</span>
+        <span class="n">output_params</span><span class="o">=</span><span class="p">{</span>
+            <span class="s2">&quot;output_INTEGER&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">INTEGER</span><span class="p">(</span><span class="mi">100</span><span class="p">),</span>
+            <span class="s2">&quot;output_LIST&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">LIST</span><span class="p">(),</span>
+            <span class="s2">&quot;output_FILE&quot;</span><span class="p">:</span> <span class="n">ParameterType</span><span class="o">.</span><span class="n">FILE</span><span class="p">(</span><span class="s2">&quot;test.txt&quot;</span><span class="p">),</span>
+        <span class="p">},</span>
+    <span class="p">)</span>
+
+    <span class="n">workflow</span><span class="o">.</span><span class="n">submit</span><span class="p">()</span>
+    <span class="c1"># [end parameter define]</span>
+</pre></div>
+</div>
+</section>
 <section id="authentication-token">
 <h2>Authentication Token<a class="headerlink" href="#authentication-token" title="Permalink to this heading"></a></h2>
 <p>pydolphinscheduler use token as authentication when communication with dolphinscheduler server, and we have a default auth
diff --git a/python/main/genindex.html b/python/main/genindex.html
index 342f11afb5..b03a685910 100644
--- a/python/main/genindex.html
+++ b/python/main/genindex.html
@@ -1237,6 +1237,120 @@
 
 <h2 id="A">A</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api.html#pydolphinscheduler.core.Engine.add_in">add_in() (pydolphinscheduler.core.Engine method)</a>
+
+      <ul>
+        <li><a href="api.html#pydolphinscheduler.core.Task.add_in">(pydolphinscheduler.core.Task method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Condition.add_in">(pydolphinscheduler.tasks.Condition method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.CustomDataX.add_in">(pydolphinscheduler.tasks.CustomDataX method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DataX.add_in">(pydolphinscheduler.tasks.DataX method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Dependent.add_in">(pydolphinscheduler.tasks.Dependent method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCDownload.add_in">(pydolphinscheduler.tasks.DVCDownload method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCInit.add_in">(pydolphinscheduler.tasks.DVCInit method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCUpload.add_in">(pydolphinscheduler.tasks.DVCUpload method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Flink.add_in">(pydolphinscheduler.tasks.Flink method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Http.add_in">(pydolphinscheduler.tasks.Http method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Kubernetes.add_in">(pydolphinscheduler.tasks.Kubernetes method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLflowModels.add_in">(pydolphinscheduler.tasks.MLflowModels method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsAutoML.add_in">(pydolphinscheduler.tasks.MLFlowProjectsAutoML method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.add_in">(pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsCustom.add_in">(pydolphinscheduler.tasks.MLFlowProjectsCustom method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MR.add_in">(pydolphinscheduler.tasks.MR method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.OpenMLDB.add_in">(pydolphinscheduler.tasks.OpenMLDB method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Procedure.add_in">(pydolphinscheduler.tasks.Procedure method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Python.add_in">(pydolphinscheduler.tasks.Python method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Pytorch.add_in">(pydolphinscheduler.tasks.Pytorch method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.SageMaker.add_in">(pydolphinscheduler.tasks.SageMaker method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Shell.add_in">(pydolphinscheduler.tasks.Shell method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Spark.add_in">(pydolphinscheduler.tasks.Spark method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Sql.add_in">(pydolphinscheduler.tasks.Sql method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.SubWorkflow.add_in">(pydolphinscheduler.tasks.SubWorkflow method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Switch.add_in">(pydolphinscheduler.tasks.Switch method)</a>
+</li>
+      </ul></li>
+      <li><a href="api.html#pydolphinscheduler.core.Engine.add_out">add_out() (pydolphinscheduler.core.Engine method)</a>
+
+      <ul>
+        <li><a href="api.html#pydolphinscheduler.core.Task.add_out">(pydolphinscheduler.core.Task method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Condition.add_out">(pydolphinscheduler.tasks.Condition method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.CustomDataX.add_out">(pydolphinscheduler.tasks.CustomDataX method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DataX.add_out">(pydolphinscheduler.tasks.DataX method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Dependent.add_out">(pydolphinscheduler.tasks.Dependent method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCDownload.add_out">(pydolphinscheduler.tasks.DVCDownload method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCInit.add_out">(pydolphinscheduler.tasks.DVCInit method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCUpload.add_out">(pydolphinscheduler.tasks.DVCUpload method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Flink.add_out">(pydolphinscheduler.tasks.Flink method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Http.add_out">(pydolphinscheduler.tasks.Http method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Kubernetes.add_out">(pydolphinscheduler.tasks.Kubernetes method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLflowModels.add_out">(pydolphinscheduler.tasks.MLflowModels method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsAutoML.add_out">(pydolphinscheduler.tasks.MLFlowProjectsAutoML method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.add_out">(pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsCustom.add_out">(pydolphinscheduler.tasks.MLFlowProjectsCustom method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MR.add_out">(pydolphinscheduler.tasks.MR method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.OpenMLDB.add_out">(pydolphinscheduler.tasks.OpenMLDB method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Procedure.add_out">(pydolphinscheduler.tasks.Procedure method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Python.add_out">(pydolphinscheduler.tasks.Python method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Pytorch.add_out">(pydolphinscheduler.tasks.Pytorch method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.SageMaker.add_out">(pydolphinscheduler.tasks.SageMaker method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Shell.add_out">(pydolphinscheduler.tasks.Shell method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Spark.add_out">(pydolphinscheduler.tasks.Spark method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Sql.add_out">(pydolphinscheduler.tasks.Sql method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.SubWorkflow.add_out">(pydolphinscheduler.tasks.SubWorkflow method)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Switch.add_out">(pydolphinscheduler.tasks.Switch method)</a>
+</li>
+      </ul></li>
+  </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#pydolphinscheduler.core.Workflow.add_task">add_task() (pydolphinscheduler.core.Workflow method)</a>
 </li>
@@ -1248,8 +1362,6 @@
         <li><a href="tasks/dependent.html#pydolphinscheduler.tasks.dependent.And">(class in pydolphinscheduler.tasks.dependent)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="resources_plugin/gitlab.html#pydolphinscheduler.resources_plugin.gitlab.GitLab.authentication">authentication() (pydolphinscheduler.resources_plugin.gitlab.GitLab method)</a>
 </li>
       <li><a href="tasks/mlflow.html#pydolphinscheduler.tasks.mlflow.MLflowJobType.AUTOML">AUTOML (pydolphinscheduler.tasks.mlflow.MLflowJobType attribute)</a>
@@ -2388,8 +2500,6 @@
 </li>
       <li><a href="tasks/dependent.html#pydolphinscheduler.tasks.dependent.DependentDate.LAST_THURSDAY">LAST_THURSDAY (pydolphinscheduler.tasks.dependent.DependentDate attribute)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="tasks/dependent.html#pydolphinscheduler.tasks.dependent.DependentDate.LAST_TUESDAY">LAST_TUESDAY (pydolphinscheduler.tasks.dependent.DependentDate attribute)</a>
 </li>
       <li><a href="tasks/dependent.html#pydolphinscheduler.tasks.dependent.DependentDate.LAST_TWENTY_FOUR_HOURS">LAST_TWENTY_FOUR_HOURS (pydolphinscheduler.tasks.dependent.DependentDate attribute)</a>
@@ -2414,6 +2524,64 @@
         <li><a href="tasks/spark.html#pydolphinscheduler.tasks.spark.DeployMode.LOCAL">(pydolphinscheduler.tasks.spark.DeployMode attribute)</a>
 </li>
       </ul></li>
+      <li><a href="api.html#pydolphinscheduler.core.Engine.local_params">local_params (pydolphinscheduler.core.Engine property)</a>
+
+      <ul>
+        <li><a href="api.html#pydolphinscheduler.core.Task.local_params">(pydolphinscheduler.core.Task property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Condition.local_params">(pydolphinscheduler.tasks.Condition property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.CustomDataX.local_params">(pydolphinscheduler.tasks.CustomDataX property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DataX.local_params">(pydolphinscheduler.tasks.DataX property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Dependent.local_params">(pydolphinscheduler.tasks.Dependent property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCDownload.local_params">(pydolphinscheduler.tasks.DVCDownload property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCInit.local_params">(pydolphinscheduler.tasks.DVCInit property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.DVCUpload.local_params">(pydolphinscheduler.tasks.DVCUpload property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Flink.local_params">(pydolphinscheduler.tasks.Flink property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Http.local_params">(pydolphinscheduler.tasks.Http property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Kubernetes.local_params">(pydolphinscheduler.tasks.Kubernetes property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLflowModels.local_params">(pydolphinscheduler.tasks.MLflowModels property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsAutoML.local_params">(pydolphinscheduler.tasks.MLFlowProjectsAutoML property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm.local_params">(pydolphinscheduler.tasks.MLFlowProjectsBasicAlgorithm property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MLFlowProjectsCustom.local_params">(pydolphinscheduler.tasks.MLFlowProjectsCustom property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.MR.local_params">(pydolphinscheduler.tasks.MR property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.OpenMLDB.local_params">(pydolphinscheduler.tasks.OpenMLDB property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Procedure.local_params">(pydolphinscheduler.tasks.Procedure property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Python.local_params">(pydolphinscheduler.tasks.Python property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Pytorch.local_params">(pydolphinscheduler.tasks.Pytorch property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.SageMaker.local_params">(pydolphinscheduler.tasks.SageMaker property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Shell.local_params">(pydolphinscheduler.tasks.Shell property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Spark.local_params">(pydolphinscheduler.tasks.Spark property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Sql.local_params">(pydolphinscheduler.tasks.Sql property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.SubWorkflow.local_params">(pydolphinscheduler.tasks.SubWorkflow property)</a>
+</li>
+        <li><a href="api.html#pydolphinscheduler.tasks.Switch.local_params">(pydolphinscheduler.tasks.Switch property)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api.html#pydolphinscheduler.constants.TaskPriority.LOW">LOW (pydolphinscheduler.constants.TaskPriority attribute)</a>
 </li>
       <li><a href="tasks/flink.html#pydolphinscheduler.tasks.flink.FlinkVersion.LOW_VERSION">LOW_VERSION (pydolphinscheduler.tasks.flink.FlinkVersion attribute)</a>
diff --git a/python/main/index.html b/python/main/index.html
index dbc0f470a3..8958ec3ace 100644
--- a/python/main/index.html
+++ b/python/main/index.html
@@ -194,6 +194,7 @@ then go and see <a class="reference internal" href="tutorial.html"><span class="
 <li class="toctree-l2"><a class="reference internal" href="concept.html#workflow">Workflow</a></li>
 <li class="toctree-l2"><a class="reference internal" href="concept.html#tasks">Tasks</a></li>
 <li class="toctree-l2"><a class="reference internal" href="concept.html#resource-files">Resource Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="concept.html#local-parameters">Local Parameters</a></li>
 <li class="toctree-l2"><a class="reference internal" href="concept.html#authentication-token">Authentication Token</a></li>
 </ul>
 </li>
diff --git a/python/main/objects.inv b/python/main/objects.inv
index 3104ece3af..98745f4acb 100644
Binary files a/python/main/objects.inv and b/python/main/objects.inv differ
diff --git a/python/main/searchindex.js b/python/main/searchindex.js
index 85ced5ee80..3ea12d1232 100644
--- a/python/main/searchindex.js
+++ b/python/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", "howto/index", "howto/multi-resources", "howto/remote-submit", "index", "resources_plugin/develop", "resources_plugin/github", "resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", "resources_plugin/oss", "resources_plugin/resource-plugin", "resources_plugin/s3", "start", "tasks/condition", "tasks/datax", "tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", "t [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", "howto/index", "howto/multi-resources", "howto/remote-submit", "index", "resources_plugin/develop", "resources_plugin/github", "resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", "resources_plugin/oss", "resources_plugin/resource-plugin", "resources_plugin/s3", "start", "tasks/condition", "tasks/datax", "tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", "t [...]
\ No newline at end of file
diff --git a/static/js/main.634b67fb.js b/static/js/main.858f1c99.js
similarity index 99%
rename from static/js/main.634b67fb.js
rename to static/js/main.858f1c99.js
index 2efe9a9209..41a6fa45d0 100644
--- a/static/js/main.634b67fb.js
+++ b/static/js/main.858f1c99.js
@@ -1,3 +1,3 @@
-/*! For license information please see main.634b67fb.js.LICENSE.txt */
-!function(){var e={1694:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)){if(n.length){var a=o.apply(null,n);a&&e.push(a)}}else if("object"===i){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)r.call(n,l)&&n[l]&&e.push(l)}} [...]
-//# sourceMappingURL=main.634b67fb.js.map
\ No newline at end of file
+/*! For license information please see main.858f1c99.js.LICENSE.txt */
+!function(){var e={1694:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)){if(n.length){var a=o.apply(null,n);a&&e.push(a)}}else if("object"===i){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)r.call(n,l)&&n[l]&&e.push(l)}} [...]
+//# sourceMappingURL=main.858f1c99.js.map
\ No newline at end of file
diff --git a/static/js/main.634b67fb.js.LICENSE.txt b/static/js/main.858f1c99.js.LICENSE.txt
similarity index 100%
rename from static/js/main.634b67fb.js.LICENSE.txt
rename to static/js/main.858f1c99.js.LICENSE.txt
diff --git a/static/js/main.634b67fb.js.map b/static/js/main.858f1c99.js.map
similarity index 50%
rename from static/js/main.634b67fb.js.map
rename to static/js/main.858f1c99.js.map
index f4ac19ac71..6fc5d95cc6 100644
--- a/static/js/main.634b67fb.js.map
+++ b/static/js/main.858f1c99.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/main.634b67fb.js","mappings":";sCAAA,OAOC,WACA,aAEA,IAAIA,EAAS,CAAC,EAAEC,eAGhB,SAASC,IAGR,IAFA,IAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIG,EAAMF,UAAUD,GACpB,GAAKG,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BL,EAAQM,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IACxB,GAAIA,EAAID,OAAQ,CACf,IAAIM,EAAQV,EAAWW,MAAM,KAAMN,GAC/BK,GACHT,EAAQM,KAAKG,EAEf,OACM,GAAgB,WAAZJ,EAAsB,CAChC,GAAID,EAAIO,WAAaC,OAAOC,UAAUF,WAAaP,EAAIO,SAASA,WAAWG,SAAS,iBAAkB,C [...]
\ No newline at end of file
+{"version":3,"file":"static/js/main.858f1c99.js","mappings":";sCAAA,OAOC,WACA,aAEA,IAAIA,EAAS,CAAC,EAAEC,eAGhB,SAASC,IAGR,IAFA,IAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIG,EAAMF,UAAUD,GACpB,GAAKG,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BL,EAAQM,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IACxB,GAAIA,EAAID,OAAQ,CACf,IAAIM,EAAQV,EAAWW,MAAM,KAAMN,GAC/BK,GACHT,EAAQM,KAAKG,EAEf,OACM,GAAgB,WAAZJ,EAAsB,CAChC,GAAID,EAAIO,WAAaC,OAAOC,UAAUF,WAAaP,EAAIO,SAASA,WAAWG,SAAS,iBAAkB,C [...]
\ No newline at end of file