# definitions.io.kestra.core.models.flows.Flow.properties.outputs.title
Output values available and exposes to other flows.

# definitions.io.kestra.core.models.flows.Flow.properties.outputs.markdownDescription
Output values make information about the execution of your Flow available and expose for other Kestra flows to use. Output values are similar to return values in programming languages.

# definitions.io.kestra.core.models.flows.input.ArrayInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.BooleanInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.DateInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.DateTimeInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.DurationInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.EnumInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.FileInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.FloatInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.IntInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.JsonInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.MultiselectInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.MultiselectInput-1.properties.expression.title
Expression to be used for dynamically generating the list of values

# definitions.io.kestra.core.models.flows.input.MultiselectInput-1.properties.itemType.markdownDescription
Cannot be of type `ARRAY` nor 'MULTISELECT'.

Default value is : `STRING`

# definitions.io.kestra.core.models.flows.input.MultiselectInput-1.properties.options.title
Deprecated, please use `values` instead.

# definitions.io.kestra.core.models.flows.input.SecretInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.SecretInput-1.properties.validator.title
Regular expression validating the value.

# definitions.io.kestra.core.models.flows.input.SelectInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.SelectInput-1.properties.expression.title
Expression to be used for dynamically generating the list of values

# definitions.io.kestra.core.models.flows.input.StringInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.StringInput-1.properties.validator.title
Regular expression validating the value.

# definitions.io.kestra.core.models.flows.input.TimeInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.URIInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.flows.input.YamlInput-1.properties.defaults.title
The default value to use if no value is specified.

# definitions.io.kestra.core.models.property.Data_java.util.Map_.properties.fromList.title
An array of objects (which is equivalent to a list of maps)

# definitions.io.kestra.core.models.property.Data_java.util.Map_.properties.fromMap.title
An object (which is equivalent to a map)

# definitions.io.kestra.core.models.property.Data_java.util.Map_.title
A carrier for some data that can comes from either an internal storage URI, an object or an array of objects.

# definitions.io.kestra.core.models.tasks.NamespaceFiles.properties.enabled.title
Whether to enable namespace files to be loaded into the working directory. If explicitly set to `true` in a task, it will load all [Namespace Files](https://kestra.io/docs/developer-guide/namespace-files) into the task's working directory. Note that this property is by default set to `true` so that you can specify only the `include` and `exclude` properties to filter the files to load without having to explicitly set `enabled` to `true`.

# definitions.io.kestra.core.models.tasks.NamespaceFiles.properties.exclude.title
A list of filters to exclude matching glob patterns. This allows you to exclude a subset of the [Namespace Files](https://kestra.io/docs/developer-guide/namespace-files) from being downloaded at runtime. You can combine this property together with `include` to only inject a subset of files that you need into the task's working directory.

# definitions.io.kestra.core.models.tasks.NamespaceFiles.properties.include.title
A list of filters to include only matching glob patterns. This allows you to only load a subset of the [Namespace Files](https://kestra.io/docs/developer-guide/namespace-files) into the working directory.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.commands.markdownDescription
Default command will be launched with `/bin/sh -c "commands"`.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.dockerOptions.allOf[].title
Docker options when using the `DOCKER` runner.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.env.title
One or more additional environment variable(s) to add to the task run.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.exitOnFailed.markdownDescription
This tells bash that it should exit the script if any statement returns a non-true return value. 
Setting this to `true` helps catch cases where a command fails and the script continues to run anyway.

Default value is : `true`

# definitions.io.kestra.core.tasks.scripts.Bash.properties.files.title
[Deprecated] The list of files that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.inputFiles.title
Input files are extra files that will be available in the script's working directory.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.inputFiles.markdownDescription
Define the files **as a map** of a file name being the key, and the value being the file's content.
Alternatively, configure the files **as a JSON string** with the same key/value structure as the map.
In both cases, you can either specify the file's content inline, or reference a file from Kestra's internal storage by its URI, e.g. a file from an input, output of a previous task, or a [Namespace File](https://kestra.io/docs/developer-guide/namespace-files).

# definitions.io.kestra.core.tasks.scripts.Bash.properties.interpreter.title
Interpreter to use when launching the process.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.interpreterArgs.markdownDescription
Default value is : `- -c`

Default value is : `- -c`

# definitions.io.kestra.core.tasks.scripts.Bash.properties.outputDirs.title
List of output directories that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.outputDirs.markdownDescription
List of keys that will generate temporary directories.
This property can be used with a special variable named `outputDirs.key`.
If you add a file with `["myDir"]`, you can use the special var `echo 1 >> {[ outputDirs.myDir }}/file1.txt` and `echo 2 >> {[ outputDirs.myDir }}/file2.txt`, and both the files will be uploaded to Kestra's internal storage. You can reference them in other tasks using `{{ outputs.taskId.outputFiles['myDir/file1.txt'] }}`.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.outputFiles.title
Output file list that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.outputFiles.markdownDescription
List of keys that will generate temporary files.
This property can be used with a special variable named `outputFiles.key`.
If you add a file with `["first"]`, you can use the special var `echo 1 >> {[ outputFiles.first }}`, and on other tasks, you can reference it using `{{ outputs.taskId.outputFiles.first }}`.

# definitions.io.kestra.core.tasks.scripts.Bash.properties.warningOnStdErr.title
Whether to set the execution state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.core.tasks.scripts.Bash.title
Execute a Bash script, command or set of commands.

# definitions.io.kestra.core.tasks.scripts.Bash.markdownDescription
This task is deprecated, please use the [io.kestra.plugin.scripts.shell.Script](https://kestra.io/plugins/tasks/io.kestra.plugin.scripts.shell.script) or [io.kestra.plugin.scripts.shell.Commands](https://kestra.io/plugins/tasks/io.kestra.plugin.scripts.shell.commands) task instead.##### Examples
> Single bash command.
```yaml
id: bash_single_command
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    commands:
      - 'echo "The current execution is : {{ execution.id }}"'

```

> Bash command that generate file in storage accessible through outputs.
```yaml
id: bash_generate_files
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    outputFiles:
      - first
      - second
    commands:
      - echo "1" >> {{ outputFiles.first }}
      - echo "2" >> {{ outputFiles.second }}

```

> Bash with some inputs files.
```yaml
id: bash_input_files
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    inputFiles:
      script.sh: |
        echo {{ workingDir }}
    commands:
      - /bin/bash script.sh

```

> Bash with an input file from Kestra's local storage created by a previous task.
```yaml
id: bash_use_input_files
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    inputFiles:
      data.csv: {{ outputs.previousTaskId.uri }}
    commands:
      - cat data.csv

```

> Run a command on a Docker image.
```yaml
id: bash_run_php_code
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    runner: DOCKER
    dockerOptions:
      image: php
    commands:
      - php -r 'print(phpversion() . "
");'

```

> Execute cmd on Windows.
```yaml
id: bash_run_cmd_on_windows
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    commands:
      - 'echo "The current execution is : {{ execution.id }}"'
    exitOnFailed: false
    interpreter: cmd
    interpreterArgs:
      - /c

```

> Set outputs from bash standard output.
```yaml
id: bash_set_outputs
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    commands:
      - echo '::{"outputs":{"test":"value","int":2,"bool":true,"float":3.65}}::'

```

> Send a counter metric from bash standard output.
```yaml
id: bash_set_metrics
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.core.tasks.scripts.Bash
    commands:
      - echo '::{"metrics":[{"name":"count","type":"counter","value":1,"tags":{"tag1":"i","tag2":"win"}}]}::'

```

# definitions.io.kestra.core.tasks.scripts.Node.properties.args.markdownDescription
Arguments list to pass to main JavaScript script.

# definitions.io.kestra.core.tasks.scripts.Node.properties.dockerOptions.allOf[].title
Docker options when using the `DOCKER` runner.

# definitions.io.kestra.core.tasks.scripts.Node.properties.env.title
One or more additional environment variable(s) to add to the task run.

# definitions.io.kestra.core.tasks.scripts.Node.properties.exitOnFailed.markdownDescription
This tells bash that it should exit the script if any statement returns a non-true return value. 
Setting this to `true` helps catch cases where a command fails and the script continues to run anyway.

Default value is : `true`

# definitions.io.kestra.core.tasks.scripts.Node.properties.files.title
[Deprecated] The list of files that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Node.properties.inputFiles.title
Input files are extra files that will be available in the script's working directory.

# definitions.io.kestra.core.tasks.scripts.Node.properties.inputFiles.markdownDescription
Define the files **as a map** of a file name being the key, and the value being the file's content.
Alternatively, configure the files **as a JSON string** with the same key/value structure as the map.
In both cases, you can either specify the file's content inline, or reference a file from Kestra's internal storage by its URI, e.g. a file from an input, output of a previous task, or a [Namespace File](https://kestra.io/docs/developer-guide/namespace-files).

# definitions.io.kestra.core.tasks.scripts.Node.properties.interpreter.title
Interpreter to use when launching the process.

# definitions.io.kestra.core.tasks.scripts.Node.properties.interpreterArgs.markdownDescription
Default value is : `- -c`

Default value is : `- -c`

# definitions.io.kestra.core.tasks.scripts.Node.properties.nodePath.markdownDescription
Set the node interpreter path to use.

Default value is : `node`

# definitions.io.kestra.core.tasks.scripts.Node.properties.npmPath.markdownDescription
Set the npm binary path for node dependencies setup.

Default value is : `npm`

# definitions.io.kestra.core.tasks.scripts.Node.properties.outputDirs.title
List of output directories that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Node.properties.outputDirs.markdownDescription
List of keys that will generate temporary directories.
This property can be used with a special variable named `outputDirs.key`.
If you add a file with `["myDir"]`, you can use the special var `echo 1 >> {[ outputDirs.myDir }}/file1.txt` and `echo 2 >> {[ outputDirs.myDir }}/file2.txt`, and both the files will be uploaded to Kestra's internal storage. You can reference them in other tasks using `{{ outputs.taskId.outputFiles['myDir/file1.txt'] }}`.

# definitions.io.kestra.core.tasks.scripts.Node.properties.outputFiles.title
Output file list that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Node.properties.outputFiles.markdownDescription
List of keys that will generate temporary files.
This property can be used with a special variable named `outputFiles.key`.
If you add a file with `["first"]`, you can use the special var `echo 1 >> {[ outputFiles.first }}`, and on other tasks, you can reference it using `{{ outputs.taskId.outputFiles.first }}`.

# definitions.io.kestra.core.tasks.scripts.Node.properties.warningOnStdErr.title
Whether to set the execution state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.core.tasks.scripts.Node.markdownDescription
This task is deprecated, please use the [io.kestra.plugin.scripts.node.Script](https://kestra.io/plugins/tasks/io.kestra.plugin.scripts.node.script) or [io.kestra.plugin.scripts.node.Commands](https://kestra.io/plugins/tasks/io.kestra.plugin.scripts.node.commands) task instead.

With the Node task, you can execute a full JavaScript script.
The task will create a temporary folder for each task, and allows you to install some npm packages defined in an optional `package.json` file.

By convention, you need to define at least a `main.js` file in `inputFiles` that will be the script used.
You can also add as many JavaScript files as you need in `inputFiles`.

The outputs & metrics from your Node.js script can be used by others tasks. In order to make things easy, we inject a node package directly on the working directory.Here is an example usage:
```javascript
const Kestra = require("./kestra");
Kestra.outputs({test: 'value', int: 2, bool: true, float: 3.65});
Kestra.counter('count', 1, {tag1: 'i', tag2: 'win'});
Kestra.timer('timer1', (callback) => { setTimeout(callback, 1000) }, {tag1: 'i', tag2: 'lost'});
Kestra.timer('timer2', 2.12, {tag1: 'i', tag2: 'destroy'});
```##### Examples
> Execute a Node.js script.
```yaml
inputFiles:
  main.js: |
    const Kestra = require("./kestra");
    const fs = require('fs')
    const result = fs.readFileSync(process.argv[2], "utf-8")
    console.log(JSON.parse(result).status)
    const axios = require('axios')
    axios.get('http://google.fr').then(d => { console.log(d.status); Kestra.outputs({'status': d.status, 'text': d.data})})
    console.log(require('./mymodule').value)
  data.json: |
    {"status": "OK"}
  mymodule.js: |
    module.exports.value = 'hello world'
  package.json: |
    {
      "name": "tmp",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "dependencies": {
          "axios": "^0.20.0"
      },
      "devDependencies": {},
      "scripts": {
          "test": "echo `Error: no test specified` && exit 1"
      },
      "author": "",
      "license": "ISC"
    }
args:
  - data.json
warningOnStdErr: false
```

> Execute a Node.js script with an input file from Kestra's internal storage created by a previous task.
```yaml
inputFiles:
  data.csv: {{ outputs.previousTaskId.uri }}
  main.js: |
    const fs = require('fs')
    const result = fs.readFileSync('data.csv', 'utf-8')
    console.log(result)
```

# definitions.io.kestra.core.tasks.scripts.Python.properties.args.markdownDescription
Arguments list to pass to main python script

# definitions.io.kestra.core.tasks.scripts.Python.properties.commands.markdownDescription
Default command will be launched with `./bin/python main.py {{args}}`

Default value is : `- ./bin/python main.py`

Default value is : `- ./bin/python main.py`

# definitions.io.kestra.core.tasks.scripts.Python.properties.dockerOptions.allOf[].title
Docker options when using the `DOCKER` runner.

# definitions.io.kestra.core.tasks.scripts.Python.properties.env.title
One or more additional environment variable(s) to add to the task run.

# definitions.io.kestra.core.tasks.scripts.Python.properties.exitOnFailed.markdownDescription
This tells bash that it should exit the script if any statement returns a non-true return value. 
Setting this to `true` helps catch cases where a command fails and the script continues to run anyway.

Default value is : `true`

# definitions.io.kestra.core.tasks.scripts.Python.properties.files.title
[Deprecated] The list of files that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Python.properties.inputFiles.title
Input files are extra files that will be available in the script's working directory.

# definitions.io.kestra.core.tasks.scripts.Python.properties.inputFiles.markdownDescription
Define the files **as a map** of a file name being the key, and the value being the file's content.
Alternatively, configure the files **as a JSON string** with the same key/value structure as the map.
In both cases, you can either specify the file's content inline, or reference a file from Kestra's internal storage by its URI, e.g. a file from an input, output of a previous task, or a [Namespace File](https://kestra.io/docs/developer-guide/namespace-files).

# definitions.io.kestra.core.tasks.scripts.Python.properties.interpreter.title
Interpreter to use when launching the process.

# definitions.io.kestra.core.tasks.scripts.Python.properties.interpreterArgs.markdownDescription
Default value is : `- -c`

Default value is : `- -c`

# definitions.io.kestra.core.tasks.scripts.Python.properties.outputDirs.title
List of output directories that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Python.properties.outputDirs.markdownDescription
List of keys that will generate temporary directories.
This property can be used with a special variable named `outputDirs.key`.
If you add a file with `["myDir"]`, you can use the special var `echo 1 >> {[ outputDirs.myDir }}/file1.txt` and `echo 2 >> {[ outputDirs.myDir }}/file2.txt`, and both the files will be uploaded to Kestra's internal storage. You can reference them in other tasks using `{{ outputs.taskId.outputFiles['myDir/file1.txt'] }}`.

# definitions.io.kestra.core.tasks.scripts.Python.properties.outputFiles.title
Output file list that will be uploaded to Kestra's internal storage.

# definitions.io.kestra.core.tasks.scripts.Python.properties.outputFiles.markdownDescription
List of keys that will generate temporary files.
This property can be used with a special variable named `outputFiles.key`.
If you add a file with `["first"]`, you can use the special var `echo 1 >> {[ outputFiles.first }}`, and on other tasks, you can reference it using `{{ outputs.taskId.outputFiles.first }}`.

# definitions.io.kestra.core.tasks.scripts.Python.properties.pythonPath.markdownDescription
Set the python interpreter path to use

Default value is : `python`

# definitions.io.kestra.core.tasks.scripts.Python.properties.requirements.title
Requirements are python dependencies to add to the python execution process

# definitions.io.kestra.core.tasks.scripts.Python.properties.requirements.markdownDescription
Python dependencies list to setup in the virtualenv, in the same format than requirements.txt

# definitions.io.kestra.core.tasks.scripts.Python.properties.virtualEnv.markdownDescription
When a virtual env is created, we will install the `requirements` needed. Disabled it if all the requirements is already on the file system.
If you disabled the virtual env creation, the `requirements` will be ignored.

Default value is : `true`

# definitions.io.kestra.core.tasks.scripts.Python.properties.warningOnStdErr.title
Whether to set the execution state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.core.tasks.scripts.Python.markdownDescription
This task is deprecated, please use the [io.kestra.plugin.scripts.python.Script](https://kestra.io/plugins/tasks/io.kestra.plugin.scripts.python.script) or [io.kestra.plugin.scripts.python.Commands](https://kestra.io/plugins/tasks/io.kestra.plugin.scripts.python.commands) task instead.

With the Python task, you can execute a full Python script.
The task will create a fresh `virtualenv` for every tasks and allows to install some Python package define in `requirements` property.

By convention, you need to define at least a `main.py` files in `inputFiles` that will be the script used.
But you are also able to add as many script as you need in `inputFiles`.

You can also add a `pip.conf` in `inputFiles` to customize the pip download of dependencies (like a private registry).

You can send outputs & metrics from your python script that can be used by others tasks. In order to help, we inject a python package directly on the working dir.Here is an example usage:
```python
from kestra import Kestra
Kestra.outputs({'test': 'value', 'int': 2, 'bool': True, 'float': 3.65})
Kestra.counter('count', 1, {'tag1': 'i', 'tag2': 'win'})
Kestra.timer('timer1', lambda: time.sleep(1), {'tag1': 'i', 'tag2': 'lost'})
Kestra.timer('timer2', 2.12, {'tag1': 'i', 'tag2': 'destroy'})
```##### Examples
> Execute a python script.
```yaml
id: python_flow
namespace: company.team

tasks:
  - id: python
    type: io.kestra.core.tasks.scripts.Python
    inputFiles:
      data.json: |
        {"status": "OK"}
      main.py: |
        from kestra import Kestra
        import json
        import requests
        import sys
        result = json.loads(open(sys.argv[1]).read())
        print(f"python script {result['status']}")
        response = requests.get('http://google.com')
        print(response.status_code)
        Kestra.outputs({'status': response.status_code, 'text': response.text})
      pip.conf: |
        # some specific pip repository configuration
    args:
      - data.json
    requirements:
      - requests

```

> Execute a python script with an input file from Kestra's local storage created by a previous task.
```yaml
id: python_flow
namespace: company.team

tasks:
  - id: python
    type: io.kestra.core.tasks.scripts.Python
    inputFiles:
      data.csv: {{outputs.previousTaskId.uri}}
      main.py: |
        with open('data.csv', 'r') as f:
          print(f.read())

```

# definitions.io.kestra.plugin.airbyte.cloud.jobs.Reset.properties.pollFrequency.title
Specify frequency for state check API call.

# definitions.io.kestra.plugin.airbyte.cloud.jobs.Reset.properties.wait.markdownDescription
Allowing capture of job status & logs.

Default value is : `true`

# definitions.io.kestra.plugin.airbyte.cloud.jobs.Reset.markdownDescription
##### Examples
> 
```yaml
id: airbyte_reset
namespace: company.team

tasks:
  - id: reset
    type: io.kestra.plugin.airbyte.cloud.jobs.Reset
    token: <token>
    connectionId: e3b1ce92-547c-436f-b1e8-23b6936c12cd

```

# definitions.io.kestra.plugin.airbyte.cloud.jobs.Sync.properties.pollFrequency.title
Specify frequency for state check API call.

# definitions.io.kestra.plugin.airbyte.cloud.jobs.Sync.properties.wait.markdownDescription
Allowing capture of job status & logs.

Default value is : `true`

# definitions.io.kestra.plugin.airbyte.cloud.jobs.Sync.markdownDescription
##### Examples
> 
```yaml
id: airbyte_sync
namespace: company.team

tasks:
  - id: sync
    type: io.kestra.plugin.airbyte.cloud.jobs.Sync
    token: <token>
    connectionId: e3b1ce92-547c-436f-b1e8-23b6936c12cd

```

# definitions.io.kestra.plugin.airbyte.connections.CheckStatus.properties.pollFrequency.title
Specify how often the task should poll for the sync status.

# definitions.io.kestra.plugin.airbyte.connections.CheckStatus.title
Check job status of a running sync connection.

# definitions.io.kestra.plugin.airbyte.connections.CheckStatus.markdownDescription
##### Examples
> 
```yaml
id: airbyte_check_status
namespace: company.team

tasks:
  - id: "check_status"
    type: "io.kestra.plugin.airbyte.connections.CheckStatus"
    url: http://localhost:8080
    jobId: 970

```

# definitions.io.kestra.plugin.airbyte.connections.Sync.properties.failOnActiveSync.title
Specify whether task should fail if a sync is already running.

# definitions.io.kestra.plugin.airbyte.connections.Sync.properties.pollFrequency.title
Specify frequency for sync attempt state check API call.

# definitions.io.kestra.plugin.airbyte.connections.Sync.properties.wait.markdownDescription
Allowing capture of job status & logs.

Default value is : `true`

# definitions.io.kestra.plugin.airbyte.connections.Sync.markdownDescription
##### Examples
> 
```yaml
id: airbyte_sync
namespace: company.team

tasks:
  - id: sync
    type: io.kestra.plugin.airbyte.connections.Sync
    url: http://localhost:8080
    connectionId: e3b1ce92-547c-436f-b1e8-23b6936c12cd

```

# definitions.io.kestra.plugin.airflow.dags.TriggerDagRun.properties.body.title
Overrides the default configuration payload

# definitions.io.kestra.plugin.airflow.dags.TriggerDagRun.properties.pollFrequency.title
Specify how often the task should poll for the DAG run status.

# definitions.io.kestra.plugin.airflow.dags.TriggerDagRun.properties.wait.title
Whether task should wait for the DAG to run to completion

# definitions.io.kestra.plugin.airflow.dags.TriggerDagRun.properties.wait.markdownDescription
Default value is false

Default value is : `false`

# definitions.io.kestra.plugin.airflow.dags.TriggerDagRun.title
Trigger an Airflow DAG with custom inputs and wait for its completion.

# definitions.io.kestra.plugin.airflow.dags.TriggerDagRun.markdownDescription
Launch a DAG run, optionally wait for its completion and return the final state of the DAG run.##### Examples
> Trigger a DAG run with custom inputs, and authenticate with basic authentication
```yaml
id: airflow
namespace: company.team

tasks:
  - id: run_dag
    type: io.kestra.plugin.airflow.dags.TriggerDagRun
    baseUrl: http://host.docker.internal:8080
    dagId: example_astronauts
    wait: true
    pollFrequency: PT1S
    options:
      basicAuthUser: "{{ secret('AIRFLOW_USERNAME') }}"
      basicAuthPassword: "{{ secret('AIRFLOW_PASSWORD') }}"
    body:
      conf:
        source: kestra
        namespace: "{{ flow.namespace }}"
        flow: "{{ flow.id }}"
        task: "{{ task.id }}"
        execution: "{{ execution.id }}"

```

> Trigger a DAG run with custom inputs, and authenticate with a Bearer token
```yaml
id: airflow_header_authorization
namespace: company.team

tasks:
  - id: run_dag
    type: io.kestra.plugin.airflow.dags.TriggerDagRun
    baseUrl: http://host.docker.internal:8080
    dagId: example_astronauts
    wait: true
    headers:
      authorization: "Bearer {{ secret('AIRFLOW_TOKEN') }}"

```

# definitions.io.kestra.plugin.amqp.Consume.properties.consumerTag.title
A client-generated consumer tag to establish context.

# definitions.io.kestra.plugin.amqp.Consume.properties.maxDuration.title
The maximum duration to wait for new rows.

# definitions.io.kestra.plugin.amqp.Consume.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.amqp.Consume.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.amqp.Consume.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.amqp.Consume.properties.serdeType.title
Serializer / Deserializer used for the message.

# definitions.io.kestra.plugin.amqp.Consume.markdownDescription
Requires `maxDuration` or `maxRecords`.##### Examples
> 
```yaml
id: amqp_consume
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.amqp.Consume
    url: amqp://guest:guest@localhost:5672/my_vhost
    queue: kestramqp.queue
    maxRecords: 1000

```

# definitions.io.kestra.plugin.amqp.CreateQueue.properties.args.title
Other properties (construction arguments) for the queue.

# definitions.io.kestra.plugin.amqp.CreateQueue.properties.autoDelete.title
Specify if we are declaring an auto-delete queue (server will delete it when no longer in use).

# definitions.io.kestra.plugin.amqp.CreateQueue.properties.durability.title
Specify if we are declaring a durable queue (the queue will survive a server restart).

# definitions.io.kestra.plugin.amqp.CreateQueue.properties.exclusive.title
Specify if we are declaring an exclusive queue (restricted to this connection).

# definitions.io.kestra.plugin.amqp.CreateQueue.markdownDescription
Create a queue, including specified arguments.##### Examples
> 
```yaml
id: amqp_create_queue
namespace: company.team

tasks:
  - id: create_queue
    type: io.kestra.plugin.amqp.CreateQueue
    url: amqp://guest:guest@localhost:5672/my_vhost
    name: kestramqp.queue

```

# definitions.io.kestra.plugin.amqp.DeclareExchange.properties.args.title
Other properties (construction arguments) for the exchange.

# definitions.io.kestra.plugin.amqp.DeclareExchange.properties.autoDelete.title
Specify if the server should delete the exchange when it is no longer in use.

# definitions.io.kestra.plugin.amqp.DeclareExchange.properties.durability.title
Specify if we are declaring a durable exchange (the exchange will survive a server restart).

# definitions.io.kestra.plugin.amqp.DeclareExchange.properties.internal.title
Specify if the exchange is internal, i.e. can't be directly published to by a client.

# definitions.io.kestra.plugin.amqp.DeclareExchange.markdownDescription
##### Examples
> 
```yaml
id: amqp_declare_exchange
namespace: company.team

tasks:
  - id: declare_exchange
    type: io.kestra.plugin.amqp.DeclareExchange
    url: amqp://guest:guest@localhost:5672/my_vhost
    name: kestramqp.exchange

```

# definitions.io.kestra.plugin.amqp.Publish.properties.from.markdownDescription
It can be a Kestra's internal storage URI or a list.

# definitions.io.kestra.plugin.amqp.Publish.properties.serdeType.title
Serializer / Deserializer used for the message.

# definitions.io.kestra.plugin.amqp.Publish.markdownDescription
##### Examples
> 
```yaml
id: amqp_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.amqp.Publish
    url: amqp://guest:guest@localhost:5672/my_vhost
    exchange: kestramqp.exchange
    from:
      - data: value-1
        headers:
            testHeader: KestraTest
        timestamp: '2023-01-09T08:46:33.103130753Z'
      - data: value-2
        timestamp: '2023-01-09T08:46:33.115456977Z'
        appId: unit-kestra

```

# definitions.io.kestra.plugin.amqp.QueueBind.markdownDescription
##### Examples
> 
```yaml
id: amqp_queue_bind
namespace: company.team

tasks:
  - id: queue_bind
    type: io.kestra.plugin.amqp.QueueBind
    url: amqp://guest:guest@localhost:5672/my_vhost
    exchange: kestramqp.exchange
    queue: kestramqp.queue

```

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.properties.consumerTag.title
A client-generated consumer tag to establish context.

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.properties.serdeType.title
Serializer / Deserializer used for the message.

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.title
Consume a message in real-time from an AMQP queue and create one execution per message.

# definitions.io.kestra.plugin.amqp.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.amqp.Trigger](https://kestra.io/plugins/plugin-amqp/triggers/io.kestra.plugin.amqp.trigger) instead.##### Examples
> Consume a message from a AMQP queue in real-time.
```yaml
id: amqp
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime_trigger
    type: io.kestra.plugin.amqp.RealtimeTrigger
    url: amqp://guest:guest@localhost:5672/my_vhost
    queue: amqpTrigger.queue

```

# definitions.io.kestra.plugin.amqp.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.amqp.Trigger.properties.consumerTag.title
A client-generated consumer tag to establish context.

# definitions.io.kestra.plugin.amqp.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.amqp.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.amqp.Trigger.properties.maxDuration.title
The maximum duration to wait for new rows.

# definitions.io.kestra.plugin.amqp.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.amqp.Trigger.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.amqp.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.amqp.Trigger.properties.serdeType.title
Serializer / Deserializer used for the message.

# definitions.io.kestra.plugin.amqp.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.amqp.Trigger.title
Consume messages periodically from a AMQP queue and create one execution per batch.

# definitions.io.kestra.plugin.amqp.Trigger.markdownDescription
Note that you don't need an extra task to consume the message from the event trigger. The trigger will automatically consume messages and you can retrieve their content in your flow using the `{{ trigger.uri }}` variable. If you would like to consume each message from a AMQP queue in real-time and create one execution per message, you can use the [io.kestra.plugin.amqp.RealtimeTrigger](https://kestra.io/plugins/plugin-amqp/triggers/io.kestra.plugin.amqp.realtimetrigger) instead.##### Examples
> 
```yaml
id: amqp_trigger
namespace: company.team

tasks:
  - id: trigger
    type: io.kestra.plugin.amqp.Trigger
    url: amqp://guest:guest@localhost:5672/my_vhost
    maxRecords: 2
    queue: amqpTrigger.queue

```

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.beforeCommands.title
The commands to run before the main list of commands.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.ansible.cli.AnsibleCLI.markdownDescription
##### Examples
> Execute a list of Ansible CLI commands to orchestrate an Ansible playbook stored in the Editor using [Namespace Files](https://kestra.io/docs/developer-guide/namespace-files).
```yaml
id: ansible
namespace: company.team

tasks:
  - id: ansible_task
    type: io.kestra.plugin.ansible.cli.AnsibleCLI
    inputFiles:
      inventory.ini: "{{ read('inventory.ini') }}"
      myplaybook.yml: "{{ read('myplaybook.yml') }}"
    docker:
      image: cytopia/ansible:latest-tools
    commands:
      - ansible-playbook -i inventory.ini myplaybook.yml
```

> Execute a list of Ansible CLI commands to orchestrate an Ansible playbook defined inline in the flow definition.
```yaml
id: ansible
namespace: company.team

tasks:
  - id: ansible_task
    type: io.kestra.plugin.ansible.cli.AnsibleCLI
    inputFiles:
      inventory.ini: |
        localhost ansible_connection=local
      myplaybook.yml: |
        ---
        - hosts: localhost
          tasks:
            - name: Print Hello World
              debug:
                msg: "Hello, World!"
    docker:
      image: cytopia/ansible:latest-tools
    commands:
      - ansible-playbook -i inventory.ini myplaybook.yml
```

# definitions.io.kestra.plugin.aws.athena.Query.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.athena.Query.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.athena.Query.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.athena.Query.properties.fetchType.markdownDescription
FETCH_ONE outputs the first row, FETCH outputs all the rows, STORE stores all rows in a file, NONE does nothing — in this case, the task submits the query without waiting for its completion.

Default value is : `STORE`

# definitions.io.kestra.plugin.aws.athena.Query.properties.outputLocation.markdownDescription
The query results will be stored in this output location. Must be an existing S3 bucket.

# definitions.io.kestra.plugin.aws.athena.Query.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.athena.Query.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.athena.Query.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.athena.Query.properties.skipHeader.title
Whether to skip the first row which is usually the header.

# definitions.io.kestra.plugin.aws.athena.Query.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.athena.Query.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.athena.Query.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.athena.Query.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.athena.Query.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.athena.Query.markdownDescription
The query will wait for completion, except if fetchMode is set to `NONE`, and will output converted rows.
Row conversion is based on the types listed [here](https://docs.aws.amazon.com/athena/latest/ug/data-types.html).
Complex data types like array, map and struct will be converted to a string.##### Examples
> 
```yaml
id: aws_athena_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.aws.athena.Query
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    database: my_database
    outputLocation: s3://some-s3-bucket
    query: |
      select * from cloudfront_logs limit 10

```

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.outputFormat.title
Expected output format for AWS commands (can be overridden with --format parameter).

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.aws.cli.AwsCLI.markdownDescription
##### Examples
> Run a simple AWS CLI command and capture the output.
```yaml
id: aws_cli
namespace: company.team
tasks:
  - id: cli
    type: io.kestra.plugin.aws.cli.AwsCLI
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
    region: "us-east-1"
    commands:
      - aws sts get-caller-identity | tr -d ' 
' | xargs -0 -I {} echo '::{"outputs":{}}::'
```

> Create a simple S3 bucket.
```yaml
id: aws_cli
namespace: company.team

tasks:
  - id: cli
    type: io.kestra.plugin.aws.cli.AwsCLI
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    commands:
      - aws s3 mb s3://test-bucket

```

> List all S3 buckets as the task's output.
```yaml
id: aws_cli
namespace: company.team

tasks:
  - id: cli
    type: io.kestra.plugin.aws.cli.AwsCLI
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    commands:
      - aws s3api list-buckets | tr -d ' 
' | xargs -0 -I {} echo '::{"outputs":{}}::'

```

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.DeleteItem.markdownDescription
##### Examples
> Delete an item by its key.
```yaml
id: aws_dynamodb_delete_item
namespace: company.team

tasks:
  - id: delete_item
    type: io.kestra.plugin.aws.dynamodb.DeleteItem
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"
    key:
       id: "1"

```

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.GetItem.markdownDescription
##### Examples
> Get an item by its key.
```yaml
id: aws_dynamodb_get_item
namespace: company.team

tasks:
  - id: get_item
    type: io.kestra.plugin.aws.dynamodb.GetItem
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"
    key:
       id: "1"

```

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.item.markdownDescription
The item can be in the form of a JSON string, or a map.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.title
Put an item into a DynamoDB table. If an item with the same key already exists, the element will be updated.

# definitions.io.kestra.plugin.aws.dynamodb.PutItem.markdownDescription
##### Examples
> Put an item in map form into a table.
```yaml
id: aws_dynamodb_put_item
namespace: company.team

tasks:
  - id: put_item
    type: io.kestra.plugin.aws.dynamodb.PutItem
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"
    item:
      id: 1
      firstname: "John"
      lastname: "Doe"

```

> Put an item in JSON string form into a table.
```yaml
id: aws_dynamodb_put_item
namespace: company.team

tasks:
  - id: put_item
    type: io.kestra.plugin.aws.dynamodb.PutItem
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"
    item: "{{ outputs.task_id.data | json }}"

```

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.fetchType.markdownDescription
FETCH_ONE output the first row, FETCH output all the rows, STORE store all rows in a file, NONE do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.dynamodb.Query.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.Query.markdownDescription
##### Examples
> Query items from a table.
```yaml
    id: aws_dynamo_db_query
    namespace: company.team

    tasks:
      - id: query
        type: io.kestra.plugin.aws.dynamodb.Query
        accessKeyId: "<access-key>"
        secretKeyId: "<secret-key>"
        region: "eu-central-1"
        tableName: "persons"
        keyConditionExpression: id = :id
        expressionAttributeValues:
          :id: "1"

```

> Query items from a table with a filter expression.
```yaml
id: aws_dynamo_db_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.aws.dynamodb.Query
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"
    keyConditionExpression: id = :id
    expressionAttributeValues:
      :id: "1"
      :lastname: "Doe"

```

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.fetchType.markdownDescription
FETCH_ONE output the first row, FETCH output all the rows, STORE store all rows in a file, NONE do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.filterExpression.markdownDescription
When used, `expressionAttributeValues` property must also be provided.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.dynamodb.Scan.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.dynamodb.Scan.markdownDescription
##### Examples
> Scan all items from a table.
```yaml
id: aws_dynamo_db_scan
namespace: company.team

tasks:
  - id: scan
    type: io.kestra.plugin.aws.dynamodb.Scan
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"

```

> Scan items from a table with a filter expression.
```yaml
id: aws_dynamo_db_scan
namespace: company.team

tasks:
  - id: scan
    type: io.kestra.plugin.aws.dynamodb.Scan
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    tableName: "persons"
    filterExpression: "lastname = :lastname"
    expressionAttributeValues:
      :lastname: "Doe"

```

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.title
Retrieve AWS ECR authorization token to push Docker images to Amazon ECR, or pull images from that container registry.

# definitions.io.kestra.plugin.aws.ecr.GetAuthToken.markdownDescription
##### Examples
> Retrieve the AWS ECR authorization token.
```yaml
id: aws_ecr_get_auth_token
namespace: company.team

tasks:
  - id: get_auth_token
    type: io.kestra.plugin.aws.ecr.GetAuthToken
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"

```

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.entries.title
List of event entries to send to, or internal storage URI to retrieve it.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.entries.markdownDescription
A list of at least one EventBridge entry.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.failOnUnsuccessfulEvents.title
Mark the task as failed when sending an event is unsuccessful.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.failOnUnsuccessfulEvents.markdownDescription
If true, the task will fail when any event fails to be sent.

Default value is : `true`

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.title
Send multiple custom events to Amazon EventBridge so that they can be matched to rules.

# definitions.io.kestra.plugin.aws.eventbridge.PutEvents.markdownDescription
##### Examples
> Send multiple custom events as maps to Amazon EventBridge so that they can be matched to rules.
```yaml
id: aws_event_bridge_put_events
namespace: company.team

tasks:
  - id: put_events
    type: io.kestra.plugin.aws.eventbridge.PutEvents
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    entries:
      - eventBusName: "events"
        source: "Kestra"
        detailType: "my_object"
        detail:
          message: "hello from EventBridge and Kestra"

```

> Send multiple custom events as a JSON string to Amazon EventBridge so that they can be matched to rules.
```yaml
id: aws_event_bridge_put_events
namespace: company.team

tasks:
  - id: put_events
    type: io.kestra.plugin.aws.eventbridge.PutEvents
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    entries:
      - eventBusName: "events"
        source: "Kestra"
        detailType: "my_object"
        detail: "{"message": "hello from EventBridge and Kestra"}"
        resources:
          - "arn:aws:iam::123456789012:user/johndoe"

```

# definitions.io.kestra.plugin.aws.eventbridge.model.Entry.properties.detailType.title
Free-form string used to decide what fields to expect in the event detail.

# definitions.io.kestra.plugin.aws.eventbridge.model.Entry.properties.eventBusName.title
The name or ARN of the event bus to receive the event.

# definitions.io.kestra.plugin.aws.eventbridge.model.Entry.properties.resources.title
AWS resources which the event primarily concerns.

# definitions.io.kestra.plugin.aws.eventbridge.model.Entry.properties.resources.markdownDescription
AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns. Any number, including zero, may be present.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.failOnUnsuccessfulRecords.title
Mark the task as failed when sending a record is unsuccessful.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.failOnUnsuccessfulRecords.markdownDescription
If true, the task will fail when any record fails to be sent.

Default value is : `true`

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.records.title
List of records (i.e., list of maps) or internal storage URI of the file that defines the records to be sent to AWS Kinesis Data Streams.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.records.markdownDescription
A list of at least one record with a map including `data` and `partitionKey` properties (those two are required arguments). Check the [PutRecordsRequestEntry](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecordsRequestEntry.html) API reference for a detailed description of required fields.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.streamArn.title
The ARN of the stream to push the records.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.streamArn.markdownDescription
Make sure to set either `streamName` or `streamArn`. One of those must be provided.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.streamName.title
The name of the stream to push the records.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.streamName.markdownDescription
Make sure to set either `streamName` or `streamArn`. One of those must be provided.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.title
Send multiple records to Amazon Kinesis Data Streams.

# definitions.io.kestra.plugin.aws.kinesis.PutRecords.markdownDescription
##### Examples
> Send multiple records as maps to Amazon Kinesis Data Streams. Check the following AWS API reference for the structure of the [PutRecordsRequestEntry](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecordsRequestEntry.html) request payload.
```yaml
id: aws_kinesis_put_records
namespace: company.team

tasks:
  - id: put_records
    type: io.kestra.plugin.aws.kinesis.PutRecords
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    streamName: "mystream"
    records:
      - data: "user sign-in event"
        explicitHashKey: "optional hash value overriding the partition key"
        partitionKey: "user1"
      - data: "user sign-out event"
        partitionKey: "user1"

```

> Send multiple records from an internal storage ion file to Amazon Kinesis Data Streams.
```yaml
id: aws_kinesis_put_records
namespace: company.team

tasks:
  - id: put_records
    type: io.kestra.plugin.aws.kinesis.PutRecords
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    streamName: "mystream"
    records: kestra:///myfile.ion

```

# definitions.io.kestra.plugin.aws.kinesis.model.Record.properties.data.title
Free-form data blob to put into the record.

# definitions.io.kestra.plugin.aws.kinesis.model.Record.properties.explicitHashKey.title
The optional hash value used to determine explicitly the shard that the data record is assigned to by overriding the partition key hash.

# definitions.io.kestra.plugin.aws.kinesis.model.Record.properties.partitionKey.title
Determines which shard in the stream the data record is assigned to.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.functionPayload.markdownDescription
Request payload. It's a map of string -> object.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.lambda.Invoke.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.lambda.Invoke.title
Invoke Lambda function and wait for its completion.

# definitions.io.kestra.plugin.aws.lambda.Invoke.markdownDescription
##### Examples
> Invoke given Lambda function and wait for its completion.
```yaml
id: aws_lambda_invoke
namespace: company.team

tasks:
  - id: invoke
    type: io.kestra.plugin.aws.lambda.Invoke
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    functionArn: "arn:aws:lambda:eu-central-1:123456789012:function:my-function"

```

> Invoke given Lambda function with given payload parameters and wait for its completion. Payload is a map of items.
```yaml
id: aws_lambda_invoke
namespace: company.team

tasks:
  - id: invoke
    type: io.kestra.plugin.aws.lambda.Invoke
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    functionArn: "arn:aws:lambda:eu-central-1:123456789012:function:my-function"
    functionPayload:
        id: 1
        firstname: "John"
        lastname: "Doe"

```

# definitions.io.kestra.plugin.aws.s3.Copy.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.delete.title
Whether to delete the source file after download.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Copy.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.Copy.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Copy.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_copy
namespace: company.team

tasks:
  - id: copy
    type: io.kestra.plugin.aws.s3.Copy
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    from:
      bucket: "my-bucket"
      key: "path/to/file"
    to:
      bucket: "my-bucket2"
      key: "path/to/file2"

```

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.grantFullControl.markdownDescription
Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.grantRead.title
Allows grantee to list the objects in the bucket.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.grantReadACP.title
Allows grantee to list the ACL for the applicable bucket.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.grantWrite.title
Allows grantee to create, overwrite, and delete any object in the bucket.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.grantWriteACP.title
Allows grantee to write the ACL for the applicable bucket.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.objectLockEnabledForBucket.title
Specifies whether you want S3 Object Lock to be enabled for the new bucket.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.CreateBucket.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.CreateBucket.markdownDescription
##### Examples
> Create a new bucket with some options
```yaml
    id: aws_s3_create_bucket
    namespace: company.team

    tasks:
      - id: create_bucket
        type: io.kestra.plugin.aws.s3.CreateBucket
        accessKeyId: "<access-key>"
        secretKeyId: "<secret-key>"
        region: "eu-central-1"
        bucket: "my-bucket"

```

# definitions.io.kestra.plugin.aws.s3.Delete.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.bypassGovernanceRetention.title
Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.mfa.title
The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.mfa.markdownDescription
Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.requestPayer.markdownDescription
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Delete.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.Delete.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Delete.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.aws.s3.Delete
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    key: "path/to/file"

```

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.bucket.title
The S3 bucket where to download the file.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.encodingType.title
The EncodingType property for this object.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.expectedBucketOwner.title
The account ID of the expected bucket owner.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.expectedBucketOwner.markdownDescription
If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.marker.title
Marker is where you want Amazon S3 to start listing from.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.marker.markdownDescription
Amazon S3 starts listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.requestPayer.title
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.DeleteList.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.DeleteList.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_delete_list
namespace: company.team

tasks:
  - id: delete_list
    type: io.kestra.plugin.aws.s3.DeleteList
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"

```

# definitions.io.kestra.plugin.aws.s3.Download.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Download.properties.compatibilityMode.title
If set to true, the task will use the AWS S3 DefaultAsyncClient instead of the S3CrtAsyncClient, which better integrates with S3-compatible services but restricts uploads and downloads to 2GB.

# definitions.io.kestra.plugin.aws.s3.Download.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Download.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.Download.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Download.properties.requestPayer.title
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.Download.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Download.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.Download.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.Download.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.Download.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Download.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.Download.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Download.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.aws.s3.Download
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    key: "path/to/file"

```

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.bucket.title
The S3 bucket where to download the file.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.compatibilityMode.title
This property will use the AWS S3 DefaultAsyncClient instead of the S3CrtAsyncClient, which maximizes compatibility with S3-compatible services but restricts uploads and downloads to 2GB.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.encodingType.title
The EncodingType property for this object.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.expectedBucketOwner.title
The account ID of the expected bucket owner.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.expectedBucketOwner.markdownDescription
If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.marker.title
Marker is where you want Amazon S3 to start listing from.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.marker.markdownDescription
Amazon S3 starts listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.moveTo.allOf[].title
The destination bucket and key for `MOVE` action.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.requestPayer.title
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.Downloads.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Downloads.title
Downloads multiple files from a S3 bucket.

# definitions.io.kestra.plugin.aws.s3.Downloads.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.aws.s3.Downloads
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"

```

# definitions.io.kestra.plugin.aws.s3.List.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.List.properties.bucket.title
The S3 bucket where to download the file.

# definitions.io.kestra.plugin.aws.s3.List.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.aws.s3.List.properties.encodingType.title
The EncodingType property for this object.

# definitions.io.kestra.plugin.aws.s3.List.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.List.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.List.properties.expectedBucketOwner.title
The account ID of the expected bucket owner.

# definitions.io.kestra.plugin.aws.s3.List.properties.expectedBucketOwner.markdownDescription
If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

# definitions.io.kestra.plugin.aws.s3.List.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.aws.s3.List.properties.marker.title
Marker is where you want Amazon S3 to start listing from.

# definitions.io.kestra.plugin.aws.s3.List.properties.marker.markdownDescription
Amazon S3 starts listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.aws.s3.List.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.aws.s3.List.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.aws.s3.List.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.aws.s3.List.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.aws.s3.List.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.List.properties.requestPayer.title
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.List.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.List.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.List.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.List.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.List.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.List.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.List.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.List.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.aws.s3.List
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"

```

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.bucket.title
The S3 bucket where to download the file.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.encodingType.title
The EncodingType property for this object.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.expectedBucketOwner.title
The account ID of the expected bucket owner.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.expectedBucketOwner.markdownDescription
If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.marker.title
Marker is where you want Amazon S3 to start listing from.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.marker.markdownDescription
Amazon S3 starts listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.moveTo.allOf[].title
The destination bucket and key for `MOVE` action.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.requestPayer.title
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.Trigger.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Trigger.markdownDescription
This trigger will poll every `interval` s3 bucket. You can search for all files in a bucket or directory in `from` or you can filter the files with a `regExp`. The detection is atomic, internally we do a list and interact only with files listed.
Once a file is detected, we download the file on internal storage and processed with declared `action` in order to move or delete the files from the bucket (to avoid double detection on new poll).##### Examples
> Wait for a list of files on a s3 bucket and iterate through the files.
```yaml
id: s3_listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
    value: "{{ trigger.objects | jq('.[].uri') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.aws.s3.Trigger
    interval: "PT5M"
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"
    action: MOVE
    moveTo:
      key: archive
      bucket: "new-bucket"

```

> Wait for a list of files on a s3 bucket and iterate through the files. Delete files manually after processing to prevent infinite triggering.
```yaml
    id: s3_listen
    namespace: company.team

    tasks:
      - id: each
        type: io.kestra.plugin.core.flow.EachSequential
        tasks:
          - id: return
            type: io.kestra.plugin.core.debug.Return
            format: "{{ taskrun.value }}"

          - id: delete
            type: io.kestra.plugin.aws.s3.Delete
            accessKeyId: "<access-key>"
            secretKeyId: "<secret-key>"
            region: "eu-central-1"
            bucket: "my-bucket"
            key: "{{ taskrun.value }}"
        value: "{{ trigger.objects | jq('.[].key') }}"

    triggers:
      - id: watch
        type: io.kestra.plugin.aws.s3.Trigger
        interval: "PT5M"
        accessKeyId: "<access-key>"
        secretKeyId: "<secret-key>"
        region: "eu-central-1"
        bucket: "my-bucket"
        prefix: "sub-dir"
        action: NONE

```

# definitions.io.kestra.plugin.aws.s3.Upload.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.bucketKeyEnabled.title
Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).

# definitions.io.kestra.plugin.aws.s3.Upload.properties.bucketKeyEnabled.markdownDescription
Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.cacheControl.title
Can be used to specify caching behavior along the request/response chain.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.checksum.title
The checksum data integrity check to verify that the data received is the same data that was originally sent.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.checksum.markdownDescription
Must be used in pair with `checksumAlgorithm` to defined the expect algorithm of these values

# definitions.io.kestra.plugin.aws.s3.Upload.properties.checksumAlgorithm.title
Indicates the algorithm used to create the checksum for the object when using the SDK.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.compatibilityMode.title
This property will use the AWS S3 DefaultAsyncClient instead of the S3CrtAsyncClient, which maximizes compatibility with S3-compatible services but restricts uploads and downloads to 2GB. For some S3 endpoints such as CloudFlare R2, you may need to set this value to `true`.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.contentDisposition.title
Specifies presentational information for the object.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.contentEncoding.title
Specifies what content encodings have been applied to the object.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.contentEncoding.markdownDescription
And thus, what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.contentLength.markdownDescription
This parameter is useful when the size of the body cannot be determined automatically.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.contentType.title
A standard MIME type describing the format of the contents.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.expectedBucketOwner.title
The account ID of the expected bucket owner.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.expectedBucketOwner.markdownDescription
If the bucket is owned by a different account, the request fails with the HTTP status code `403 Forbidden` (access denied).

# definitions.io.kestra.plugin.aws.s3.Upload.properties.expires.title
The date and time after which the object is no longer cacheable.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.from.markdownDescription
Can be a single file, a list of files or json array.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.key.markdownDescription
a full key (with filename) or the directory path if from is multiple files.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.metadata.title
A map of metadata to store with the object in S3.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.objectLockLegalHoldStatus.title
Specifies whether a legal hold will be applied to this object.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.objectLockMode.title
The Object Lock mode that you want to apply to this object.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.objectLockRetainUntilDate.title
The date and time when you want this object's Object Lock to expire. 

# definitions.io.kestra.plugin.aws.s3.Upload.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.requestPayer.title
Sets the value of the RequestPayer property for this object.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.serverSideEncryption.title
The server-side encryption algorithm used when storing this object in Amazon S3.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.serverSideEncryption.markdownDescription
For example, AES256, aws:kms, aws:kms:dsse

# definitions.io.kestra.plugin.aws.s3.Upload.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.storageClass.title
If you don't specify, S3 Standard is the default storage class. Amazon S3 supports other storage classes.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Upload.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.s3.Upload.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.s3.Upload.markdownDescription
##### Examples
> 
```yaml
id: aws_s3_upload
namespace: company.team

inputs:
  - id: myfile
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.aws.s3.Upload
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    from: "{{ inputs.myfile }}"
    bucket: "my-bucket"
    key: "path/to/file"

```

# definitions.io.kestra.plugin.aws.sns.Publish.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.from.markdownDescription
Can be an internal storage URI, a list of SNS messages, or a single SNS message.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.sns.Publish.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sns.Publish.properties.topicArn.title
The SNS topic ARN. The topic must already exist.

# definitions.io.kestra.plugin.aws.sns.Publish.markdownDescription
##### Examples
> 
```yaml
id: aws_sns_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.aws.sns.Publish
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    topicArn: "arn:aws:sns:eu-central-1:000000000000:MessageTopic"
    from:
    - data: Hello World
    - data: Hello Kestra
      subject: Kestra

```

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.maxDuration.title
Maximum duration in the Duration ISO format, after that the task will end.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.maxRecords.title
Maximum number of records; when reached, the task will end.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.queueUrl.title
The SQS queue URL. The queue must already exist.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.sqs.Consume.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.Consume.markdownDescription
Requires `maxDuration` or `maxRecords`.##### Examples
> 
```yaml
id: aws_sqs_consume
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.aws.sqs.Consume
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    queueUrl: "https://sqs.eu-central-1.amazonaws.com/000000000000/test-queue"

```

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.from.markdownDescription
Can be an internal storage URI, a list of SQS messages, or a single SQS message.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.queueUrl.title
The SQS queue URL. The queue must already exist.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.sqs.Publish.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.Publish.markdownDescription
##### Examples
> 
```yaml
id: aws_sqs_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.aws.sqs.Publish
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    queueUrl: "https://sqs.eu-central-1.amazonaws.com/000000000000/test-queue"
    from:
    - data: Hello World
    - data: Hello Kestra
      delaySeconds: 5

```

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.clientRetryMaxAttempts.title
The maximum number of attempts used by the SQS client's retry strategy.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.maxNumberOfMessage.title
The maximum number of messages returned from request made to SQS.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.maxNumberOfMessage.markdownDescription
Increasing this value can reduce the number of requests made to SQS. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10.

Default value is : `5`

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.queueUrl.title
The SQS queue URL. The queue must already exist.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.properties.waitTime.title
The duration for which the SQS client waits for a message.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.title
Consume a message in real-time from an SQS queue and create one execution per message.

# definitions.io.kestra.plugin.aws.sqs.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.aws.sqs.Trigger](https://kestra.io/plugins/plugin-aws/triggers/io.kestra.plugin.aws.sqs.trigger) instead.##### Examples
> Consume a message from an SQS queue in real-time.
```yaml
id: sqs
namespace: company.team

tasks:
- id: log
  type: io.kestra.plugin.core.log.Log
  message: "{{ trigger.data }}"

triggers:
- id: realtime_trigger
  type: io.kestra.plugin.aws.sqs.RealtimeTrigger
  accessKeyId: "access_key"
  secretKeyId: "secret_key"
  region: "eu-central-1"
  queueUrl: https://sqs.eu-central-1.amazonaws.com/000000000000/test-queue
```

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.accessKeyId.title
Access Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.endpointOverride.title
The endpoint with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.endpointOverride.markdownDescription
This property allows you to use a different S3 compatible storage backend.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.maxDuration.title
Max duration in the Duration ISO format, after that the task will end.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.maxRecords.title
Max number of records, when reached the task will end.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.queueUrl.title
The SQS queue URL. The queue must already exist.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.region.title
AWS region with which the SDK should communicate.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.secretKeyId.title
Secret Key Id in order to connect to AWS.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.sessionToken.title
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.stsEndpointOverride.title
The AWS STS endpoint with which the SDKClient should communicate.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.stsRoleArn.markdownDescription
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the `StsAssumeRoleCredentialsProvider`. If no credentials are defined, we will use the [default credentials provider chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) to fetch credentials.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.stsRoleExternalId.markdownDescription
 A unique identifier that might be required when you assume a role in another account. This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.stsRoleSessionDuration.markdownDescription
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an `stsRoleArn` is defined.

Default value is : `900.000000000`

# definitions.io.kestra.plugin.aws.sqs.Trigger.properties.stsRoleSessionName.markdownDescription
This property is only used when an `stsRoleArn` is defined.

# definitions.io.kestra.plugin.aws.sqs.Trigger.title
Consume messages periodically from an SQS queue and create one execution per batch.

# definitions.io.kestra.plugin.aws.sqs.Trigger.markdownDescription
Requires `maxDuration` or `maxRecords`.
Note that you don't need an extra task to consume the message from the event trigger. The trigger will automatically consume messages and you can retrieve their content in your flow using the `{{ trigger.uri }}` variable. If you would like to consume each message from an SQS queue in real-time and create one execution per message, you can use the [io.kestra.plugin.aws.sqs.RealtimeTrigger](https://kestra.io/plugins/plugin-aws/triggers/io.kestra.plugin.aws.sqs.realtimetrigger) instead.##### Examples
> 
```yaml
id: sqs
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.aws.sqs.Trigger
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    queueUrl: "https://sqs.eu-central-1.amazonaws.com/000000000000/test-queue"
    maxRecords: 10

```

# definitions.io.kestra.plugin.azure.batch.job.Create.properties.completionCheckInterval.title
The frequency with which the task checks whether the job is completed.

# definitions.io.kestra.plugin.azure.batch.job.Create.properties.delete.title
Whether the job should be deleted upon completion.

# definitions.io.kestra.plugin.azure.batch.job.Create.properties.maxDuration.markdownDescription
If null, there is no timeout and the task is delegated to Azure Batch.

# definitions.io.kestra.plugin.azure.batch.job.Create.properties.resume.title
Whether to reconnect to the current job if it already exists.

# definitions.io.kestra.plugin.azure.batch.job.Create.markdownDescription
##### Examples
> 
```yaml
id: azure_batch_job_create
namespace: company.team

tasks:
  - id: create
    type: io.kestra.plugin.azure.batch.job.Create
    endpoint: https://***.francecentral.batch.azure.com
    account: <batch-account>
    accessKey: <access-key>
    poolId: <pool-id>
    job:
      id: <job-name>
    tasks:
      - id: env
        commands:
          - 'echo t1=$ENV_STRING'
        environments:
          ENV_STRING: "{{ inputs.first }}"

      - id: echo
        commands:
          - 'echo t2={{ inputs.second }} 1>&2'

      - id: for
        commands:
          -  'for i in $(seq 10); do echo t3=$i; done'

      - id: vars
        commands:
          - echo '::{"outputs":{"extract":"'$(cat files/in/in.txt)'"}::'
        resourceFiles:
          - httpUrl: https://unittestkt.blob.core.windows.net/tasks/***?sv=***&se=***&sr=***&sp=***&sig=***
          filePath: files/in/in.txt

      - id: output
        commands:
          - 'mkdir -p outs/child/sub'
          - 'echo 1 > outs/1.txt'
          - 'echo 2 > outs/child/2.txt'
          - 'echo 3 > outs/child/sub/3.txt'
        outputFiles:
          - outs/1.txt
        outputDirs:
          - outs/child

```

> Use a container to start the task, the pool must use a `microsoft-azure-batch` publisher.
```yaml
id: azure_batch_job_create
namespace: company.team

tasks:
  - id: create
    type: io.kestra.plugin.azure.batch.job.Create
    endpoint: https://***.francecentral.batch.azure.com
    account: <batch-account>
    accessKey: <access-key>
    poolId: <pool-id>
    job:
      id: <job-name>
    tasks:
      - id: echo
        commands:
          - 'python --version'
        containerSettings:
          imageName: python

```

# definitions.io.kestra.plugin.azure.batch.models.ComputeNodeIdentityReference.properties.resourceId.title
The ARM resource ID of the user assigned identity.

# definitions.io.kestra.plugin.azure.batch.models.ContainerRegistry.properties.identityReference.allOf[].title
The reference to the user assigned identity to use to access the Azure Container Registry instead of username and password.

# definitions.io.kestra.plugin.azure.batch.models.ContainerRegistry.properties.password.title
The password to log into the registry server.

# definitions.io.kestra.plugin.azure.batch.models.ContainerRegistry.properties.userName.title
The user name to log into the registry server.

# definitions.io.kestra.plugin.azure.batch.models.Job.properties.displayName.markdownDescription
The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.

# definitions.io.kestra.plugin.azure.batch.models.Job.properties.id.title
A string that uniquely identifies the Job within the Account. 

# definitions.io.kestra.plugin.azure.batch.models.Job.properties.id.markdownDescription
The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case).

# definitions.io.kestra.plugin.azure.batch.models.Job.properties.maxParallelTasks.title
The maximum number of tasks that can be executed in parallel for the Job.

# definitions.io.kestra.plugin.azure.batch.models.Job.properties.maxParallelTasks.markdownDescription
The value of `maxParallelTasks` must be -1 or greater than 0, if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's `maxParallelTasks` after it has been created using the update job API.

# definitions.io.kestra.plugin.azure.batch.models.Job.properties.priority.markdownDescription
Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.

# definitions.io.kestra.plugin.azure.batch.models.OutputFile.properties.filePattern.title
A pattern indicating which file(s) to upload.

# definitions.io.kestra.plugin.azure.batch.models.OutputFile.properties.filePattern.markdownDescription
Both relative and absolute paths are supported. Relative paths are relative to the Task working directory. The following wildcards are supported: `*` matches 0 or more characters (for example, pattern `abc*` would match `abc` or `abcdef`), `**` matches any directory, `?` matches any single character, `[abc]` matches one character in the brackets, and `[a-c]` matches one character in the range. Brackets can include a negation to match any character not specified (for example, `[!abc]` matches any character but `a`, `b`, or `c`). If a file name starts with `"."` it is ignored by default but may be matched by specifying it explicitly (for example `*.gif` will not match `.a.gif`, but `.*.gif` will). A simple example: `**\*.txt` matches any file that does not start in '.' and ends with `.txt` in the Task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example, `abc[*]` would match a file named `abc*`). Note that both `\` and `/` are treated as directory separators on Windows, but only `/` is on Linux.Environment variables (`%var%` on Windows or `$var` on Linux) are expanded prior to the pattern being applied.

# definitions.io.kestra.plugin.azure.batch.models.OutputFile.properties.uploadOptions.allOf[].title
Additional options for the upload operation, including the conditions under which to perform the upload.

# definitions.io.kestra.plugin.azure.batch.models.OutputFile.properties.uploadOptions.allOf[].markdownDescription
Default value is : `uploadCondition: taskcompletion`

# definitions.io.kestra.plugin.azure.batch.models.OutputFileBlobContainerDesti.properties.containerUrl.title
The URL of the container within Azure Blob Storage to which to upload the file(s).

# definitions.io.kestra.plugin.azure.batch.models.OutputFileBlobContainerDesti.properties.containerUrl.markdownDescription
If not using a managed identity, the URL must include a Shared Access Signature (SAS) granting write permissions to the container.

# definitions.io.kestra.plugin.azure.batch.models.OutputFileBlobContainerDesti.properties.identityReference.allOf[].title
The reference to the user assigned identity to use to access Azure Blob Storage specified by `containerUrl`.

# definitions.io.kestra.plugin.azure.batch.models.OutputFileBlobContainerDesti.properties.identityReference.allOf[].markdownDescription
The identity must have write access to the Azure Blob Storage container.

# definitions.io.kestra.plugin.azure.batch.models.OutputFileBlobContainerDesti.properties.path.title
The destination blob or virtual directory within the Azure Storage container.

# definitions.io.kestra.plugin.azure.batch.models.OutputFileBlobContainerDesti.properties.path.markdownDescription
If `filePattern` refers to a specific file (i.e. contains no wildcards), then `path` is the name of the blob to which to upload that file. If `filePattern` contains one or more wildcards (and therefore may match multiple files), then `path` is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name.

# definitions.io.kestra.plugin.azure.batch.models.OutputFileDestination.properties.container.allOf[].title
A location in Azure Blob Storage to which the files are uploaded.

# definitions.io.kestra.plugin.azure.batch.models.OutputFileUploadOptions.properties.uploadCondition.title
The conditions under which the Task output file or set of files should be uploaded.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.autoStorageContainerName.title
The storage container name in the auto storage Account.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.autoStorageContainerName.markdownDescription
The `autoStorageContainerName`, `storageContainerUrl` and `httpUrl` properties are mutually exclusive, and one of them must be specified.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.blobPrefix.title
The blob prefix to use when downloading blobs from the Azure Storage container.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.blobPrefix.markdownDescription
Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when `autoStorageContainerName` or `storageContainerUrl` is used. This prefix can be a partial file name or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.fileMode.title
The file permission mode attribute in octal format.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.fileMode.markdownDescription
This property applies only to files being downloaded to Linux Compute Nodes. It will be ignored if it is specified for a `resourceFile` which will be downloaded to a Windows Compute Node. If this property is not specified for a Linux Compute Node, then a default value of `0770` is applied to the file.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.filePath.title
The location on the Compute Node to which to download the file(s), relative to the Task's working directory.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.filePath.markdownDescription
If the `httpUrl` property is specified, the `filePath` is required and describes the path which the file will be downloaded to, including the file name. Otherwise, if the `autoStorageContainerName` or `storageContainerUrl` property is specified, `filePath` is optional and is the directory to download the files to. In the case where `filePath` is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified `filePath` directory. The specified relative path cannot break out of the Task's working directory (for example by using `..`).

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.httpUrl.markdownDescription
The `autoStorageContainerName`, `storageContainerUrl` and `httpUrl` properties are mutually exclusive, and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.identityReference.allOf[].title
The reference to the user assigned identity to use to access Azure Blob Storage specified by `storageContainerUrl` or `httpUrl`.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.storageContainerUrl.title
The URL of the blob container within Azure Blob Storage.

# definitions.io.kestra.plugin.azure.batch.models.ResourceFile.properties.storageContainerUrl.markdownDescription
The `autoStorageContainerName`, `storageContainerUrl` and `httpUrl` properties are mutually exclusive, and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.commands.markdownDescription
For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example, using `cmd /c MyCommand` in Windows or `/bin/sh -c MyCommand` in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided [environment variable](https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

Command will be passed as `/bin/sh -c "command"` by default.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.constraints.allOf[].title
The execution constraints that apply to this Task.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.containerSettings.allOf[].title
The settings for the container under which the Task runs.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.containerSettings.allOf[].markdownDescription
If the Pool that will run this Task has `containerConfiguration` set, this must be set as well. If the Pool that will run this Task doesn't have `containerConfiguration` set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.displayName.markdownDescription
The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.environments.title
A list of environment variable settings for the Task.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.id.title
A string that uniquely identifies the Task within the Job.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.id.markdownDescription
The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case).
If not provided, a random UUID will be generated.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.interpreterArgs.markdownDescription
Default value is : `- -c`

Default value is : `- -c`

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.outputDirs.title
Output directories list that will be uploaded to the internal storage.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.outputDirs.markdownDescription
List of keys that will generate temporary directories.
In the command, you can use a special variable named `outputDirs.key`.
If you add a file with `["myDir"]`, you can use the special variable `echo 1 >> {{ outputDirs.myDir }}/file1.txt` and `echo 2 >> {{ outputDirs.myDir }}/file2.txt`, and both files will be uploaded to the internal storage. Then, you can use them on other tasks using `{{ outputs.taskId.files['myDir/file1.txt'] }}`

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.outputFiles.title
Output file list that will be uploaded to the internal storage.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.outputFiles.markdownDescription
List of keys that will generate temporary files.
In the command, you can use a special variable named `outputFiles.key`.
If you add a file with `["first"]`, you can use the special variable `echo 1 >> {{ outputFiles.first }}`on this task, and reference this file on others tasks using `{{ outputs.taskId.outputFiles.first }}`.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.requiredSlots.title
The number of scheduling slots that the Task requires to run.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.requiredSlots.markdownDescription
The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.resourceFiles.title
A list of files that the Batch service will download to the Compute Node before running the command line.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.resourceFiles.markdownDescription
For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.uploadFiles.title
A list of files that the Batch service will upload from the Compute Node after running the command line.

# definitions.io.kestra.plugin.azure.batch.models.Task.properties.uploadFiles.markdownDescription
For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed.

# definitions.io.kestra.plugin.azure.batch.models.TaskConstraints.properties.maxTaskRetryCount.title
The maximum number of times the Task may be retried.

# definitions.io.kestra.plugin.azure.batch.models.TaskConstraints.properties.maxTaskRetryCount.markdownDescription
The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit.

# definitions.io.kestra.plugin.azure.batch.models.TaskConstraints.properties.maxWallClockTime.title
The maximum elapsed time that the Task may run, measured from the time the Task starts.

# definitions.io.kestra.plugin.azure.batch.models.TaskConstraints.properties.maxWallClockTime.markdownDescription
If the Task does not complete within the time limit, the Batch service terminates it. If this is not specified, there is no time limit on how long the Task may run.

# definitions.io.kestra.plugin.azure.batch.models.TaskConstraints.properties.retentionTime.title
The minimum time to retain the Task directory on the Compute Node where it ran, from the time it completes execution.

# definitions.io.kestra.plugin.azure.batch.models.TaskConstraints.properties.retentionTime.markdownDescription
After this time, the Batch service may delete the Task directory and all its contents. The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.containerRunOptions.title
Additional options to the container create command.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.containerRunOptions.markdownDescription
These additional options are supplied as arguments to the `docker create` command, in addition to those controlled by the Batch Service.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.imageName.title
The Image to use to create the container in which the Task will run.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.imageName.markdownDescription
This is the full Image reference, as would be specified to `docker pull`. If no tag is provided as part of the Image name, the tag `:latest` is used as a default.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.registry.allOf[].title
The private registry which contains the container image.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.registry.allOf[].markdownDescription
This setting can be omitted if was already provided at Pool creation.

# definitions.io.kestra.plugin.azure.batch.models.TaskContainerSettings.properties.workingDirectory.title
The location of the container Task working directory.

# definitions.io.kestra.plugin.azure.batch.pool.Resize.properties.targetDedicatedNodes.title
The desired number of dedicated compute nodes in the pool.

# definitions.io.kestra.plugin.azure.batch.pool.Resize.properties.targetLowPriorityNodes.title
The desired number of low-priority compute nodes in the pool.

# definitions.io.kestra.plugin.azure.batch.pool.Resize.markdownDescription
##### Examples
> 
```yaml
id: azure_batch_pool_resize
namespace: company.team

tasks:
  - id: resize
    type: io.kestra.plugin.azure.batch.pool.Resize
    poolId: "<your-pool-id>"
    targetDedicatedNodes: "12"

```

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.containerImage.markdownDescription
Default value is : `mcr.microsoft.com/azure-cli`

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.azure.cli.AzCLI.properties.username.title
Account username. If set, it will use `az login` before running the commands.

# definitions.io.kestra.plugin.azure.cli.AzCLI.title
Execute one or more `az` commands from a Command Line Interface. We recommend using a Service Principal and a Client Secret for authentication. To create a Service Principal and Client Secret, you can use the following [documentation](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_client_secret). Then, use the generated `appId` as the `username` and the generated `password` as the `password` in the Kestra task configuration. Finally, pass the returned `tenantId` to the `tenant` field in the Kestra task configuration and set `servicePrincipal` to `true`.

# definitions.io.kestra.plugin.azure.cli.AzCLI.markdownDescription
##### Examples
> List Azure Active Directory users for the currently authenticated tenant.
```yaml
id: azure_cli
namespace: company.team

tasks:
  - id: az_cli
    type: io.kestra.plugin.azure.cli.AzCLI
    username: "azure_app_id"
    password: "{{ secret('AZURE_SERVICE_PRINCIPAL_PASSWORD') }}"
    tenant: "{{ secret('AZURE_TENANT_ID') }}"
    commands:
      - az ad user list

```

> List all successfully provisioned VMs using a Service Principal authentication.
```yaml
id: azure_cli
namespace: company.team

tasks:
  - id: az_cli
    type: io.kestra.plugin.azure.cli.AzCLI
    username: "azure_app_id"
    password: "{{ secret('AZURE_SERVICE_PRINCIPAL_PASSWORD') }}"
    tenant: "{{ secret('AZURE_TENANT_ID') }}"
    servicePrincipal: true
    commands:
      - az vm list --query "[?provisioningState=='Succeeded']"

```

> Command without authentication.
```yaml
id: azure_cli
namespace: company.team

tasks:
  - id: az_cli
    type: io.kestra.plugin.azure.cli.AzCLI
    commands:
      - az --help

```

> List supported regions for the current Azure subscription.
```yaml
id: azure_cli
namespace: company.team

tasks:
  - id: list_locations
    type: io.kestra.plugin.azure.cli.AzCLI
    tenant: "{{ secret('AZURE_TENANT_ID') }}"
    username: "{{ secret('AZURE_SERVICE_PRINCIPAL_CLIENT_ID') }}"
    password: "{{ secret('AZURE_SERVICE_PRINCIPAL_PASSWORD') }}"
    servicePrincipal: true
    commands:
      - az account list-locations --query "[].{Region:name}" -o table
```

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.properties.clientId.markdownDescription
Client ID of the Azure service principal.
If you don't have a service principal, refer to [create a service principal with Azure CLI](https://learn.microsoft.com/en-us/cli/azure/azure-cli-sp-tutorial-1?tabs=bash).


Default value is : `--- ""`

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.properties.clientSecret.markdownDescription
Service principal client secret.
The tenantId, clientId and clientSecret of the service principal are required for this credential to acquire an access token.


Default value is : `--- ""`

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.properties.pemCertificate.markdownDescription
    Your stored PEM certificate.
    The tenantId, clientId and clientCertificate of the service principal are required for this credential to acquire an access token.


Default value is : `--- ""`

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.properties.wait.oneOf[].markdownDescription
Allowing to capture job status & logs.

Default value is : `"true"`

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.properties.wait.oneOf[].markdownDescription
Allowing to capture job status & logs.

Default value is : `"true"`

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.title
Create a Pipeline run from an Azure Data Factory.

# definitions.io.kestra.plugin.azure.datafactory.CreateRun.markdownDescription
Launch an Azure DataFactory pipeline from Kestra. Data Factory contains a series of interconnected systems that provide a complete end-to-end platform for data engineers.##### Examples
> 
```yaml
id: azure_datafactory_create_run
namespace: company.team

tasks:
  - id: create_run
    type: io.kestra.plugin.azure.datafactory.CreateRun
    factoryName: exampleFactoryName
    pipelineName: examplePipeline
    resourceGroupName: exampleResourceGroup
    subscriptionId: 12345678-1234-1234-1234-12345678abc
    tenantId: "{{ secret('DATAFACTORY_TENANT_ID') }}"
    clientId: "{{ secret('DATAFACTORY_CLIENT_ID') }}"
    clientSecret: "{{ secret('DATAFACTORY_CLIENT_SECRET') }}"

```

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.bodyDeserializer.title
The Deserializer to be used for serializing the event value.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.bodyDeserializerProperties.title
The config properties to be passed to the Deserializer.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.bodyDeserializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.checkpointStoreProperties.title
The config properties to be used for configuring the BlobCheckpointStore.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.checkpointStoreProperties.markdownDescription
Azure Event Hubs Checkpoint Store can be used for storing checkpoints while processing events from Azure Event Hubs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.clientMaxRetries.title
The maximum number of retry attempts before considering a client operation to have failed.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.clientRetryDelay.title
The maximum permissible delay between retry attempts in milliseconds.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.customEndpointAddress.title
Custom endpoint address when connecting to the Event Hubs service.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.enqueueTime.title
The ISO Datetime to be used when `PartitionStartingPosition` is configured to `INSTANT`.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.maxBatchSizePerPartition.title
The maximum number of events to consume per event hub partition per poll.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.maxDuration.title
The max time duration to wait to receive events from all partitions.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.maxWaitTimePerPartition.title
The max time duration to wait to receive a batch of events up to the `maxBatchSizePerPartition`.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.namespace.title
Namespace name of the event hub to connect to.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Consume.markdownDescription
##### Examples
> Consume data events from Azure EventHubs.
```yaml
id: azure_eventhubs_consume_data_events
namespace: company.team

tasks:
  - id: consume_from_eventhub
    type: io.kestra.plugin.azure.eventhubs.Consume
    eventHubName: my_eventhub
    namespace: my_eventhub_namespace
    connectionString: "{{ secret('EVENTHUBS_CONNECTION') }}"
    bodyDeserializer: JSON
    consumerGroup: "$Default"
    checkpointStoreProperties:
      containerName: kestra
      connectionString: "{{ secret('BLOB_CONNECTION') }}"

```

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.bodyContentType.markdownDescription
The MIME type describing the data contained in event body allowing consumers to make informed decisions for inspecting and processing the event.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.bodySerializer.title
The Serializer to be used for serializing the event value.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.bodySerializerProperties.title
The config properties to be passed to the Serializer.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.bodySerializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.clientMaxRetries.title
The maximum number of retry attempts before considering a client operation to have failed.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.clientRetryDelay.title
The maximum permissible delay between retry attempts in milliseconds.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.customEndpointAddress.title
Custom endpoint address when connecting to the Event Hubs service.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.eventProperties.markdownDescription
The event properties which may be used for passing metadata associated with the event body during Event Hubs operations.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.from.title
The content of the message to be sent to EventHub

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.from.markdownDescription
Can be an internal storage URI, a map (i.e. a list of key-value pairs) or a list of maps. The following keys are supported: `from`, `contentType`, `properties`.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.maxBatchSizeInBytes.title
The maximum size for batches of events, in bytes.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.maxEventsPerBatch.title
The maximum number of events per batches.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.namespace.title
Namespace name of the event hub to connect to.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.partitionKey.title
The hashing key to be provided for the batches of events.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.partitionKey.markdownDescription
Events with the same `partitionKey` are hashed and sent to the same partition. The provided `partitionKey` will be used for all the events sent by the `Produce` task.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Produce.markdownDescription
##### Examples
> Publish a file as events into Azure EventHubs.
```yaml
id: azure_eventhubs_send_events
namespace: company.team

inputs:
  - id: file
    type: FILE
    description: a CSV file with columns id, username, tweet, and timestamp

tasks:
  - id: read_csv_file
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ inputs.file }}"

  - id: transform_row_to_json
    type: io.kestra.plugin.scripts.nashorn.FileTransform
    from: "{{ outputs.read_csv_file.uri }}"
    script: |
      var result = {
        "body": {
          "username": row.username,
          "tweet": row.tweet
        }
      };
      row = result

  - id: send_to_eventhub
    type: io.kestra.plugin.azure.eventhubs.Produce
    from: "{{ outputs.transform_row_to_json.uri }}"
    eventHubName: my_eventhub
    namespace: my_event_hub_namespace
    connectionString: "{{ secret('EVENTHUBS_CONNECTION') }}"
    maxBatchSizeInBytes: 4096
    maxEventsPerBatch: 100
    bodySerializer: "JSON"
    bodyContentType: application/json
    eventProperties:
      source: kestra

```

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.bodyDeserializer.title
The Deserializer to be used for serializing the event value.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.bodyDeserializerProperties.title
The config properties to be passed to the Deserializer.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.bodyDeserializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.checkpointStoreProperties.title
The config properties to be used for configuring the BlobCheckpointStore.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.checkpointStoreProperties.markdownDescription
Azure Event Hubs Checkpoint Store can be used for storing checkpoints while processing events from Azure Event Hubs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.clientMaxRetries.title
The maximum number of retry attempts before considering a client operation to have failed.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.clientRetryDelay.title
The maximum permissible delay between retry attempts in milliseconds.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.customEndpointAddress.title
Custom endpoint address when connecting to the Event Hubs service.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.enqueueTime.title
The ISO Datetime to be used when `PartitionStartingPosition` is configured to `INSTANT`.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.namespace.title
Namespace name of the event hub to connect to.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.title
Consume a message in real-time from a Azure Event Hubs and create one execution per message.

# definitions.io.kestra.plugin.azure.eventhubs.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.azure.eventhubs.Trigger](https://kestra.io/plugins/plugin-azure/triggers/io.kestra.plugin.azure.eventhubs.trigger) instead.##### Examples
> Trigger flow based on events received from Azure Event Hubs in real-time.
```yaml
id: azure_eventhubs_realtime_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: Hello there! I received {{ trigger.body }} from Azure EventHubs!

triggers:
  - id: read_from_eventhub
    type: io.kestra.plugin.azure.eventhubs.RealtimeTrigger
    eventHubName: my_eventhub
    namespace: my_eventhub_namespace
    connectionString: "{{ secret('EVENTHUBS_CONNECTION') }}"
    bodyDeserializer: JSON
    consumerGroup: "$Default"
    checkpointStoreProperties:
      containerName: kestra
      connectionString: "{{ secret('BLOB_CONNECTION') }}"

```

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.bodyDeserializer.title
The Deserializer to be used for serializing the event value.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.bodyDeserializerProperties.title
The config properties to be passed to the Deserializer.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.bodyDeserializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.checkpointStoreProperties.title
The config properties to be used for configuring the BlobCheckpointStore.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.checkpointStoreProperties.markdownDescription
Azure Event Hubs Checkpoint Store can be used for storing checkpoints while processing events from Azure Event Hubs.

Default value is : `{}`

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.clientMaxRetries.title
The maximum number of retry attempts before considering a client operation to have failed.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.clientRetryDelay.title
The maximum permissible delay between retry attempts in milliseconds.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.customEndpointAddress.title
Custom endpoint address when connecting to the Event Hubs service.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.enqueueTime.title
The ISO Datetime to be used when `PartitionStartingPosition` is configured to `INSTANT`.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.maxBatchSizePerPartition.title
The maximum number of events to consume per event hub partition per poll.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.maxDuration.title
The max time duration to wait to receive events from all partitions.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.maxWaitTimePerPartition.title
The max time duration to wait to receive a batch of events up to the `maxBatchSizePerPartition`.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.namespace.title
Namespace name of the event hub to connect to.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.title
Consume messages periodically from Azure Event Hubs and create one execution per batch.

# definitions.io.kestra.plugin.azure.eventhubs.Trigger.markdownDescription
If you would like to consume each message from Azure Event Hubs in real-time and create one execution per message, you can use the [io.kestra.plugin.azure.eventhubs.RealtimeTrigger](https://kestra.io/plugins/plugin-azure/triggers/io.kestra.plugin.azure.eventhubs.realtimetrigger) instead.##### Examples
> Trigger flow based on events received from Azure Event Hubs in batch.
```yaml
id: azure_eventhubs_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: Hello there! I received {{ trigger.eventsCount }} from Azure EventHubs!

triggers:
  - id: read_from_eventhub
    type: io.kestra.plugin.azure.eventhubs.Trigger
    interval: PT30S
    eventHubName: my_eventhub
    namespace: my_eventhub_namespace
    connectionString: "{{ secret('EVENTHUBS_CONNECTION') }}"
    bodyDeserializer: JSON
    consumerGroup: "$Default"
    checkpointStoreProperties:
      containerName: kestra
      connectionString: "{{ secret('BLOB_CONNECTION') }}"

```

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.delete.title
Whether to delete the source file after copy.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.from.allOf[].title
The source from where the file should be copied.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Copy.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_copy
namespace: company.team

tasks:
  - id: copy
    type: io.kestra.plugin.azure.storage.blob.Copy
    from:
      container: "my-bucket"
      key: "path/to/file"
    to:
      container: "my-bucket2"
      key: "path/to/file2"

```

# definitions.io.kestra.plugin.azure.storage.blob.Delete.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.Delete.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Delete.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.Delete.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Delete.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Delete.title
Delete a file from the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.Delete.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.azure.storage.blob.Delete
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    name: "myblob"

```

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.concurrent.title
Number of concurrent parallel deletions.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.delimiter.title
The delimiter for blob hierarchy, "/" for hierarchy based on directories.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.errorOnEmpty.title
Whether to raise an error if the file is not found.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.regexp.title
A regular expression to filter on the full key.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.title
Delete a list of keys from the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.DeleteList.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_delete_list
namespace: company.team

tasks:
  - id: delete_list
    type: io.kestra.plugin.azure.storage.blob.DeleteList
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    prefix: "sub-dir"
    delimiter: "/"

```

# definitions.io.kestra.plugin.azure.storage.blob.Download.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.Download.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Download.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.Download.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Download.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Download.title
Download a file from the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.Download.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.azure.storage.blob.Download
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    name: "myblob"

```

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.action.title
The action to perform on the retrieved files. If using `NONE`, make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.delimiter.title
The delimiter for blob hierarchy, "/" for hierarchy based on directories.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.regexp.title
A regular expression to filter on the full key.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.title
Downloads files from the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.Downloads.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.azure.storage.blob.Downloads
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    prefix: "sub-dir"
    delimiter: "/"

```

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.delimiter.title
The delimiter for blob hierarchy, "/" for hierarchy based on directories.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.regexp.title
A regular expression to filter on the full key.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.List.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.List.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.azure.storage.blob.List
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    prefix: "sub-dir"
    delimiter: "/"

```

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.properties.expirationDate.title
 The time after which the SAS will no longer work.

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.properties.permissions.title
 The permissions to be set for the Shared Access.

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.title
Shared Access on the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.SharedAccess.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_shared_access
namespace: company.team

tasks:
  - id: shared_access
    type: io.kestra.plugin.azure.storage.blob.SharedAccess
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    name: "myblob"
    expirationDate: "{{ now() | dateAdd(1, 'DAYS') }}"
    permissions:
      - r

```

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.action.title
The action to perform on the retrieved files. If using `NONE`, make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.delimiter.title
The delimiter for blob hierarchy, "/" for hierarchy based on directories.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.regexp.title
A regular expression to filter on the full key.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.title
Wait for files on the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.Trigger.markdownDescription
This trigger will poll every `interval` on the Azure Blob Storage. You can search for all files in a container or directory in `from` or you can filter the files with a `regExp`.The detection is atomic, internally we do a list and interact only with files listed.
Once a file is detected, we download the file on internal storage and processed with declared `action` in order to move or delete the files from the container (to avoid double detection on new poll)##### Examples
> Wait for a list of files on Azure Blob Storage bucket, and then iterate through the files.
```yaml
id: storage_listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
    value: "{{ trigger.blobs | jq('.[].uri') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.azure.storage.blob.Trigger
    interval: PT5M
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    prefix: "trigger/storage-listen"
    action: MOVE
    moveTo:
      container: mydata
      name: archive

```

> Wait for a list of file on a Azure Blob Storage bucket and iterate through the files. Delete files manually after processing to prevent infinite triggering.
```yaml
id: storage_listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
      - id: delete
        type: io.kestra.plugin.azure.storage.blob.Delete
        endpoint: "https://yourblob.blob.core.windows.net"
        connectionString: "DefaultEndpointsProtocol=...=="
        container: "mydata"
        name: "{{ taskrun.value }}"
    value: "{{ trigger.blobs | jq('.[].name') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.azure.storage.blob.Trigger
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    prefix: "trigger/storage_listen"
    action: MOVE
    moveTo:
      container: mydata
      name: archive

```

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.accessTier.markdownDescription
The operation is allowed on a page blob in a premium Storage Account or a block blob in a blob Storage Account or GPV2 Account. A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines the Hot/Cool/Archive storage type. This does not update the blob's etag.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.from.title
The file from the internal storage to upload to the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.legalHold.markdownDescription
NOTE: Blob Versioning must be enabled on your storage account and the blob must be in a container with immutable storage with versioning enabled to call this API.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.title
Upload a file to the Azure Blob Storage.

# definitions.io.kestra.plugin.azure.storage.blob.Upload.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_blob_upload
namespace: company.team

inputs:
  - id: myfile
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.azure.storage.blob.Upload
    endpoint: "https://yourblob.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    container: "mydata"
    from: "{{ inputs.myfile }}"
    name: "myblob"

```

# definitions.io.kestra.plugin.azure.storage.blob.models.BlobImmutabilityPolic.properties.expiryTime.title
The time when the immutability policy expires.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.defaultType.title
The default operation type to be applied to the entity.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.from.markdownDescription
Can be an internal storage URI or a list of maps in the format `partitionKey`, `rowKey`, `type`, `properties`, as shown in the example.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.title
Inserts or updates entities into the Azure Storage Table. Make sure to pass either a list of entities or a file with a list of entities.

# definitions.io.kestra.plugin.azure.storage.table.Bulk.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_table_bulk
namespace: company.team

tasks:
  - id: bulk
    type: io.kestra.plugin.azure.storage.table.Bulk
    endpoint: "https://yourstorageaccount.blob.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    table: "table_name"
    from:
      - partitionKey: "color"
        rowKey: "green"
        type: "UPSERT_MERGE"
        properties:
          "code": "00FF00"

```

# definitions.io.kestra.plugin.azure.storage.table.Delete.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.table.Delete.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Delete.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.table.Delete.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Delete.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Delete.title
Delete an entity on the Azure Storage Table.

# definitions.io.kestra.plugin.azure.storage.table.Delete.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_table_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.azure.storage.table.Delete
    endpoint: "https://yourstorageaccount.table.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    table: "table_name"
    partitionKey: "color"
    rowKey: "green"

```

# definitions.io.kestra.plugin.azure.storage.table.Get.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.table.Get.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Get.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.table.Get.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Get.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.Get.title
Gets an entity from the Azure Storage Table.

# definitions.io.kestra.plugin.azure.storage.table.Get.markdownDescription
##### Examples
> 
```yaml
id: azure_storage_table_get
namespace: company.team

tasks:
  - id: get
    type: io.kestra.plugin.azure.storage.table.Get
    endpoint: "https://yourstorageaccount.table.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    table: "table_name"
    partitionKey: "color"
    rowKey: "green"

```

# definitions.io.kestra.plugin.azure.storage.table.List.properties.connectionString.title
Connection string of the Storage Account.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.filter.title
Returns only tables or entities that satisfy the specified filter.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.sasToken.title
The SAS token to use for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.sasToken.markdownDescription
This string should only be the query parameters (with or without a leading '?') and not a full URL.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.select.title
The desired properties of an entity from the Azure Storage Table.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.sharedKeyAccountAccessKey.title
Shared Key access key for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.sharedKeyAccountName.title
Shared Key account name for authenticating requests.

# definitions.io.kestra.plugin.azure.storage.table.List.properties.top.title
List the top `n` tables or entities from the Azure Storage Table.

# definitions.io.kestra.plugin.azure.storage.table.List.title
Lists entities from the Azure Storage Table using the parameters in the provided options.

# definitions.io.kestra.plugin.azure.storage.table.List.markdownDescription
If the `filter` parameter in the options is set, only entities matching the filter will be returned.
If the `select` parameter is set, only the properties included in the select parameter will be returned for each entity.
If the `top` parameter is set, the maximum number of returned entities per page will be limited to that value.##### Examples
> 
```yaml
id: azure_storage_table_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.azure.storage.table.List
    endpoint: "https://yourstorageaccount.table.core.windows.net"
    connectionString: "DefaultEndpointsProtocol=...=="
    table: "table_name"

```

# definitions.io.kestra.plugin.cassandra.astradb.AstraDbSession.properties.proxyAddress.allOf[].markdownDescription
 Use it only when you are not using the secure bundle.

# definitions.io.kestra.plugin.cassandra.astradb.AstraDbSession.properties.secureBundle.title
The Astra DB secure bundle, base64 encoded.

# definitions.io.kestra.plugin.cassandra.astradb.AstraDbSession.properties.secureBundle.markdownDescription
It must be the ZIP archive containing the secure bundle encoded in base64. Use it only when you are not using the proxy address.

# definitions.io.kestra.plugin.cassandra.astradb.Query.properties.fetch.title
Whether to fetch the data from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.astradb.Query.properties.fetchOne.title
Whether to fetch only one data row from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.astradb.Query.properties.store.title
Whether to store the data from the query result into an ion serialized data file.

# definitions.io.kestra.plugin.cassandra.astradb.Query.markdownDescription
##### Examples
> Send a CQL query to an Astra DB.
```yaml
id: cassandra_astradb_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.cassandra.astradb.Query
    session:
      secureBundle: /path/to/secureBundle.zip
      keyspace: astradb_keyspace
      clientId: astradb_clientId
      clientSecret: astradb_clientSecret
    cql: SELECT * FROM CQL_TABLE
    fetch: true

```

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.fetch.title
Whether to fetch the data from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.fetchOne.title
Whether to fetch only one data row from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.properties.store.title
Whether to store the data from the query result into an ion serialized data file.

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.title
Wait for a query to return results on Astra DB.

# definitions.io.kestra.plugin.cassandra.astradb.Trigger.markdownDescription
##### Examples
> Wait for a CQL query to return results, and then iterate through rows.
```yaml
id: astra_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.core.tasks.flows.EachSequential
    tasks:
      - id: return
        type: io.kestra.core.tasks.debugs.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.cassandra.astradb.Trigger
    interval: "PT5M"
    session:
        secureBundle: /path/to/secureBundle.zip
        keyspace: astradb_keyspace
        clientId: astradb_clientId
        clientSecret: astradb_clientSecret
    cql: "SELECT * FROM CQL_KEYSPACE.CQL_TABLE"
    fetch: true

```

# definitions.io.kestra.plugin.cassandra.standard.CassandraDbSession.properties.applicationName.title
The name of the application using the created session.

# definitions.io.kestra.plugin.cassandra.standard.CassandraDbSession.properties.applicationName.markdownDescription
It will be sent in the STARTUP protocol message, under the key `APPLICATION_NAME`, for each new connection established by the driver. Currently, this information is used by Insights monitoring (if the target cluster does not support Insights, the entry will be ignored by the server).

# definitions.io.kestra.plugin.cassandra.standard.CassandraDbSession.properties.endpoints.title
List of contact endpoints to use for the initial connection to the cluster.

# definitions.io.kestra.plugin.cassandra.standard.CassandraDbSession.properties.localDatacenter.title
Specifies the datacenter that is considered "local" by the load balancing policy.

# definitions.io.kestra.plugin.cassandra.standard.CassandraDbSession-Endpoint.properties.serverName.markdownDescription
In the context of Cloud, this is the string representation of the host ID.

# definitions.io.kestra.plugin.cassandra.standard.Query.properties.fetch.title
Whether to fetch the data from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.standard.Query.properties.fetchOne.title
Whether to fetch only one data row from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.standard.Query.properties.store.title
Whether to store the data from the query result into an ion serialized data file.

# definitions.io.kestra.plugin.cassandra.standard.Query.markdownDescription
##### Examples
> Send a CQL query to a Cassandra database.
```yaml
id: cassandra_standard_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.cassandra.standard.Query
    session:
      endpoints:
        - hostname: localhost
      secureConnection:
        truststorePath: path to .crt file
        truststorePassword: truststore_password
        keystorePath: path to .jks file
        keystorePassword: keystore_password
      username: cassandra_user
      password: cassandra_passwd
    cql: SELECT * FROM CQL_KEYSPACE.CQL_TABLE
    fetch: true

```

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.fetch.title
Whether to fetch the data from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.fetchOne.title
Whether to fetch only one data row from the query result to the task output.

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.cassandra.standard.Trigger.properties.store.title
Whether to store the data from the query result into an ion serialized data file.

# definitions.io.kestra.plugin.cassandra.standard.Trigger.title
Wait for a query to return results on a Cassandra database.

# definitions.io.kestra.plugin.cassandra.standard.Trigger.markdownDescription
##### Examples
> Wait for a CQL query to return results, and then iterate through rows.
```yaml
id: cassandra_trigger
namespace: io.kestra.tests

tasks:
  - id: each
    type: io.kestra.core.tasks.flows.EachSequential
    tasks:
      - id: return
        type: io.kestra.core.tasks.debugs.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.cassandra.standard.Trigger
    interval: "PT5M"
    session:
       endpoints:
          - hostname: localhost
       username: cassandra_user
       password: cassandra_passwd
    cql: "SELECT * FROM CQL_KEYSPACE.CQL_TABLE"
    fetch: true

```

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.env.title
Additional environment variables for the CloudQuery process.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.cloudquery.CloudQueryCLI.markdownDescription
##### Examples
> Run a CloudQuery sync from CLI. You need an [API key](https://docs.cloudquery.io/docs/deployment/generate-api-key) to download plugins. You can add the API key as an environment variable called `CLOUDQUERY_API_KEY`.
```yaml
id: cloudquery_sync_cli
namespace: company.team

tasks:
  - id: hn_to_duckdb
    type: io.kestra.plugin.cloudquery.CloudQueryCLI
    env:
      CLOUDQUERY_API_KEY: "{{ secret('CLOUDQUERY_API_KEY') }}"
    inputFiles:
      config.yml: |
        kind: source
        spec:
          name: hackernews
          path: cloudquery/hackernews
          version: v3.0.13
          tables: ["*"]
          backend_options:
            table_name: cq_cursor
            connection: "@@plugins.duckdb.connection"
          destinations:
            - "duckdb"
          spec:
            item_concurrency: 100
            start_time: "{{ now() | dateAdd(-1, 'DAYS') }}"
          ---
          kind: destination
          spec:
            name: duckdb
            path: cloudquery/duckdb
            version: v4.2.10
            write_mode: overwrite-delete-stale
            spec:
              connection_string: hn.db
    commands:
      - cloudquery sync config.yml --log-console
```

# definitions.io.kestra.plugin.cloudquery.Sync.properties.configs.markdownDescription
A list of CloudQuery configurations or files containing CloudQuery configurations.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.env.title
Additional environment variables for the CloudQuery process.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.incremental.title
Whether to use Kestra's internal KV Store backend to save incremental index.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.incremental.markdownDescription
Kestra can automatically add a backend option to your sources and store the incremental indexes in the KV Store. Use this boolean to activate this option.

Default value is : `false`

# definitions.io.kestra.plugin.cloudquery.Sync.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.cloudquery.Sync.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.cloudquery.Sync.markdownDescription
##### Examples
> Start a CloudQuery sync based on a YAML configuration. You need an [API key](https://docs.cloudquery.io/docs/deployment/generate-api-key) to download plugins. You can add the API key as an environment variable called `CLOUDQUERY_API_KEY`.
```yaml
id: cloudquery_sync
namespace: company.team

tasks:
  - id: hn_to_duckdb
    type: io.kestra.plugin.cloudquery.Sync
    env:
      CLOUDQUERY_API_KEY: "{{ secret('CLOUDQUERY_API_KEY') }}"
    incremental: false
    configs:
      - kind: source
        spec:
          name: hackernews
          path: cloudquery/hackernews
          version: v3.0.13
          tables: ["*"]
          destinations: ["duckdb"]
          spec:
            item_concurrency: 100
            start_time: "{{ now() | dateAdd(-1, 'DAYS') }}"
      - kind: destination
        spec:
          name: duckdb
          path: cloudquery/duckdb
          version: v4.2.10
          write_mode: overwrite-delete-stale
          spec:
            connection_string: hn.db
```

> Start a CloudQuery sync based on a file(s) input.
```yaml
id: cloudquery_sync
namespace: company.team

tasks:
  - id: hn_to_duckdb
    type: io.kestra.plugin.cloudquery.Sync
    incremental: false
    env:
        AWS_ACCESS_KEY_ID: "{{ secret('AWS_ACCESS_KEY_ID') }}"
        AWS_SECRET_ACCESS_KEY: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
        AWS_DEFAULT_REGION: "{{ secret('AWS_DEFAULT_REGION') }}"
        CLOUDQUERY_API_KEY: "{{ secret('CLOUDQUERY_API_KEY') }}"
        PG_CONNECTION_STRING: "postgresql://postgres:{{ secret('DB_PASSWORD') }}@host.docker.internal:5432/demo?sslmode=disable"
    configs:
      - sources.yml
      - destination.yml
```

# definitions.io.kestra.plugin.compress.ArchiveCompress.properties.compression.title
The compression used for the archive file. Some algorithms focus on compressing individual files (for example GZIP), while others compress and combine multiple files into a single archive. The single-file compressor is often used alongside a separate tool for archiving multiple files (TAR and GZIP for example)

# definitions.io.kestra.plugin.compress.ArchiveCompress.properties.from.markdownDescription
The key must be a valid path in the archive and can contain `/` to represent the directory, the value must be a Kestra internal storage URI.
The value can also be a JSON containing multiple keys/values.

# definitions.io.kestra.plugin.compress.ArchiveCompress.markdownDescription
##### Examples
> 
```yaml
id: archive_compress
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: "archive_compress"
    type: "io.kestra.plugin.compress.ArchiveCompress"
    from:
      myfile.txt: "{{ inputs.file }}"
    algorithm: ZIP

```

> 
```yaml
id: archive_compress
namespace: company.team

tasks:
  - id: products_download
    type: io.kestra.plugin.core.http.Download
    uri: "https://raw.githubusercontent.com/kestra-io/datasets/main/csv/products.csv"

  - id: orders_download
    type: io.kestra.plugin.core.http.Download
    uri: "https://raw.githubusercontent.com/kestra-io/datasets/main/csv/orders.csv"

  - id: archive_compress
    type: "io.kestra.plugin.compress.ArchiveCompress"
    from:
      products.csv: "{{ outputs.products_download.uri }}"
      orders.csv: "{{ outputs.orders_download.uri }}"
    algorithm: TAR
    compression: GZIP

```

# definitions.io.kestra.plugin.compress.ArchiveDecompress.properties.compression.title
The compression used for the archive file. Some algorithms focus on compressing individual files (for example GZIP), while others compress and combine multiple files into a single archive. The single-file compressor is often used alongside a separate tool for archiving multiple files (TAR and GZIP for example)

# definitions.io.kestra.plugin.compress.ArchiveDecompress.markdownDescription
##### Examples
> 
```yaml
id: archive_decompress
namespace: company.team

inputs:
  - id: file
    description: Compressed file
    type: FILE

tasks:
  - id: archive_decompress
    type: io.kestra.plugin.compress.ArchiveDecompress
    from: "{{ inputs.file }}"
    algorithm: ZIP
    compression: GZIP

```

# definitions.io.kestra.plugin.compress.FileCompress.properties.compression.title
The algorithm compression of the archive file

# definitions.io.kestra.plugin.compress.FileCompress.markdownDescription
##### Examples
> 
```yaml
id: file_compress
namespace: company.team

inputs:
  - id: file
    description: File to be compressed
    type: FILE

tasks:
  - id: compress
    type: io.kestra.plugin.compress.FileCompress
    from: "{{ inputs.file }}"
    compression: Z

```

# definitions.io.kestra.plugin.compress.FileDecompress.properties.compression.title
The algorithm compression of the archive file

# definitions.io.kestra.plugin.compress.FileDecompress.markdownDescription
##### Examples
> 
```yaml
id: file_decompress
namespace: company.team

inputs:
  - id: file
    description: File to be decompressed
    type: FILE

tasks:
  - id: decompress
    type: io.kestra.plugin.compress.FileDecompress
    from: "{{ inputs.file }}"
    compression: Z

```

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.properties.after.title
The date to test must be after this one.

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.properties.after.markdownDescription
Must be a valid ISO 8601 datetime with the zone identifier (use 'Z' for the default zone identifier).

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.properties.before.title
The date to test must be before this one.

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.properties.before.markdownDescription
Must be a valid ISO 8601 datetime with the zone identifier (use 'Z' for the default zone identifier).

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.properties.date.markdownDescription
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.

Default value is : `"{{ trigger.date }}"`

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.title
Condition to allow events between two specific datetime values.

# definitions.io.kestra.plugin.core.condition.DateTimeBetweenCondition.markdownDescription
##### Examples
> 
```yaml
# This will evaluate to true when the trigger date falls after the `after` date.
- conditions:
    - type: io.kestra.plugin.core.condition.DateTimeBetweenCondition
      date: "{{ trigger.date }}"
      after: "2024-01-01T08:30:00Z"

# This will evaluate to true when the trigger date falls between the `before` and `after` dates.
- conditions:
    - type: io.kestra.plugin.core.condition.DateTimeBetweenCondition
      date: "{{ trigger.date }}"
      before: "2024-01-01T08:30:00Z"
      after: "2024-12-31T23:30:00Z"
```

# definitions.io.kestra.plugin.core.condition.DayWeekCondition.properties.date.markdownDescription
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.

Default value is : `"{{ trigger.date }}"`

# definitions.io.kestra.plugin.core.condition.DayWeekCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.DayWeekCondition
      dayOfWeek: "MONDAY"
```

# definitions.io.kestra.plugin.core.condition.DayWeekInMonthCondition.properties.date.markdownDescription
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.

Default value is : `"{{ trigger.date }}"`

# definitions.io.kestra.plugin.core.condition.DayWeekInMonthCondition.properties.dayInMonth.title
Are you looking for the first or the last day in the month?

# definitions.io.kestra.plugin.core.condition.DayWeekInMonthCondition.title
Condition to allow events on weekdays relative to current month (first, last, ...)

# definitions.io.kestra.plugin.core.condition.DayWeekInMonthCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.DayWeekInMonthCondition
      dayOfWeek: MONDAY
      dayInMonth: FIRST
```

# definitions.io.kestra.plugin.core.condition.ExecutionFlowCondition.title
Condition for a specific flow of an execution.

# definitions.io.kestra.plugin.core.condition.ExecutionFlowCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.ExecutionFlowCondition
      namespace: company.team
      flowId: my-current-flow
```

# definitions.io.kestra.plugin.core.condition.ExecutionLabelsCondition.properties.labels.markdownDescription
List of labels to match in the execution.

# definitions.io.kestra.plugin.core.condition.ExecutionLabelsCondition.title
Condition that check labels of an execution.

# definitions.io.kestra.plugin.core.condition.ExecutionLabelsCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.ExecutionLabelsCondition
      labels:
         owner: john.doe
```

# definitions.io.kestra.plugin.core.condition.ExecutionNamespaceCondition.properties.comparison.title
Comparison to use when checking if namespace matches. If not provided, it will use `EQUALS` by default.

# definitions.io.kestra.plugin.core.condition.ExecutionNamespaceCondition.properties.namespace.title
String against which to match the execution namespace depending on the provided comparison.

# definitions.io.kestra.plugin.core.condition.ExecutionNamespaceCondition.properties.prefix.title
Whether to look at the flow namespace by prefix. Shortcut for `comparison: PREFIX`.

# definitions.io.kestra.plugin.core.condition.ExecutionNamespaceCondition.properties.prefix.markdownDescription
Only used when `comparison` is not set

Default value is : `false`

# definitions.io.kestra.plugin.core.condition.ExecutionNamespaceCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
      namespace: company.team
      comparison: PREFIX
```

# definitions.io.kestra.plugin.core.condition.ExecutionOutputsCondition.title
Condition based on the outputs of an execution.

# definitions.io.kestra.plugin.core.condition.ExecutionOutputsCondition.markdownDescription
The condition returns `false` if the execution has no output. If the result is an empty string, a space, or `false`, the condition will also be considered as `false`.##### Examples
> A condition that will return true for an output matching a specific value.
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.ExecutionOutputsCondition
      expression: {{ trigger.outputs.status_code == '200' }}
```

# definitions.io.kestra.plugin.core.condition.ExecutionStatusCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
      in:
        - SUCCESS
      notIn: 
        - FAILED
```

# definitions.io.kestra.plugin.core.condition.ExpressionCondition.markdownDescription
If the result is an empty string, a string containing only space or `false`, the condition will be considered as false.##### Examples
> A condition that will return false for a missing variable.
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.ExpressionCondition
      expression: {{ unknown is defined }}
```

# definitions.io.kestra.plugin.core.condition.FlowCondition.title
Condition for a specific flow. Note that this condition is deprecated, use `io.kestra.plugin.core.condition.ExecutionFlowCondition` instead.

# definitions.io.kestra.plugin.core.condition.FlowCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.FlowCondition
      namespace: company.team
      flowId: my-current-flow
```

# definitions.io.kestra.plugin.core.condition.FlowNamespaceCondition.properties.namespace.title
The namespace of the flow or the prefix if `prefix` is true.

# definitions.io.kestra.plugin.core.condition.FlowNamespaceCondition.properties.prefix.title
If we must look at the flow namespace by prefix (checked using startWith). The prefix is case sensitive.

# definitions.io.kestra.plugin.core.condition.FlowNamespaceCondition.markdownDescription
Use `io.kestra.plugin.core.condition.ExecutionNamespaceCondition` instead.##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.FlowNamespaceCondition
      namespace: io.kestra.tests
      prefix: true
```

# definitions.io.kestra.plugin.core.condition.HasRetryAttemptCondition.title
Condition that matches if any taskRun has retry attempts.

# definitions.io.kestra.plugin.core.condition.HasRetryAttemptCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.HasRetryAttemptCondition
      in:
        - KILLED
```

# definitions.io.kestra.plugin.core.condition.MultipleCondition.properties.conditions.markdownDescription
The key must be unique for a trigger since it will be use to store previous result.

# definitions.io.kestra.plugin.core.condition.MultipleCondition.properties.window.markdownDescription
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available duration value.
The start of the window is always based on midnight except if you set windowAdvance parameter. Eg if you have a 10 minutes (PT10M) window, the first window will be 00:00 to 00:10 and a new window will be started each 10 minutes

# definitions.io.kestra.plugin.core.condition.MultipleCondition.properties.windowAdvance.markdownDescription
Allow to specify the start hour of the window
Eg: you want a window of 6 hours (window=PT6H). By default the check will be done between: 
00:00 and 06:00 - 06:00 and 12:00 - 12:00 and 18:00 - 18:00 and 00:00 If you want to check the window between: 
03:00 and 09:00 - 09:00 and 15:00 - 15:00 and 21:00 - 21:00 and 3:00You will have to shift the window of 3 hours by settings windowAdvance: PT3H

# definitions.io.kestra.plugin.core.condition.MultipleCondition.markdownDescription
Trigger when all the flows are successfully executed for the first time during the `window` duration.##### Examples
> A flow that is waiting for 2 flows to run successfully in a day
```yaml
triggers:
  - id: multiple-listen-flow
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
        - SUCCESS
      - id: multiple
        type: io.kestra.plugin.core.condition.MultipleCondition
        window: P1D
        windowAdvance: P0D
        conditions:
          flow-a:
            type: io.kestra.plugin.core.condition.ExecutionFlowCondition
            namespace: io.kestra.demo
            flowId: multiplecondition-flow-a
          flow-b:
            type: io.kestra.plugin.core.condition.ExecutionFlowCondition
            namespace: io.kestra.demo
            flowId: multiplecondition-flow-b
```

# definitions.io.kestra.plugin.core.condition.NotCondition.properties.conditions.markdownDescription
If any conditions is true, it will prevent the event's execution.

# definitions.io.kestra.plugin.core.condition.NotCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.NotCondition
      conditions:
      -  type: io.kestra.plugin.core.condition.DateBetweenCondition
         after: "2013-09-08T16:19:12"
```

# definitions.io.kestra.plugin.core.condition.OrCondition.properties.conditions.markdownDescription
If any condition is true, it will allow the event's execution.

# definitions.io.kestra.plugin.core.condition.OrCondition.title
Condition to have at least one condition validated.

# definitions.io.kestra.plugin.core.condition.OrCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.OrCondition
      conditions:
      -  type: io.kestra.plugin.core.condition.DayWeekCondition
         dayOfWeek: "MONDAY"
      -  type: io.kestra.plugin.core.condition.DayWeekCondition
         dayOfWeek: "SUNDAY"
```

# definitions.io.kestra.plugin.core.condition.PublicHolidayCondition.properties.country.title
[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. If not set, it uses the country code from the default locale.

# definitions.io.kestra.plugin.core.condition.PublicHolidayCondition.properties.country.markdownDescription
It uses the [Jollyday](https://github.com/focus-shift/jollyday) library for public holiday calendar that supports more than 70 countries.

# definitions.io.kestra.plugin.core.condition.PublicHolidayCondition.properties.date.markdownDescription
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.

Default value is : `"{{ trigger.date }}"`

# definitions.io.kestra.plugin.core.condition.PublicHolidayCondition.properties.subDivision.markdownDescription
It uses the [Jollyday](https://github.com/focus-shift/jollyday) library for public holiday calendar that supports more than 70 countries.

# definitions.io.kestra.plugin.core.condition.PublicHolidayCondition.title
Condition to allow events on public holidays.

# definitions.io.kestra.plugin.core.condition.PublicHolidayCondition.markdownDescription
##### Examples
> Condition to allow events on public holidays.
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.PublicHolidayCondition
      country: FR

```

> Conditions to allow events on work days.
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.NotCondition
      conditions:
        - type: io.kestra.plugin.core.condition.PublicHolidayCondition
          country: FR
        - type: io.kestra.plugin.core.condition.WeekendCondition

```

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.properties.after.title
The time to test must be after this one.

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.properties.after.markdownDescription
Must be a valid ISO 8601 time with offset.

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.properties.before.title
The time to test must be before this one.

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.properties.before.markdownDescription
Must be a valid ISO 8601 time with offset.

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.properties.date.markdownDescription
Can be any variable or any valid ISO 8601 time. By default, it will use the trigger date.

Default value is : `"{{ trigger.date }}"`

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.title
Condition to allow events between two specific times.

# definitions.io.kestra.plugin.core.condition.TimeBetweenCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.TimeBetweenCondition
      after: "16:19:12+02:00"
```

# definitions.io.kestra.plugin.core.condition.WeekendCondition.properties.date.markdownDescription
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.

Default value is : `"{{ trigger.date }}"`

# definitions.io.kestra.plugin.core.condition.WeekendCondition.markdownDescription
##### Examples
> 
```yaml
- conditions:
    - type: io.kestra.plugin.core.condition.WeekendCondition
```

# definitions.io.kestra.plugin.core.debug.Echo.markdownDescription
This task is deprecated, please use the `io.kestra.plugin.core.log.Log` task instead.##### Examples
> 
```yaml
id: echo_flow
namespace: company.team

tasks:
  - id: echo
    type: io.kestra.plugin.core.debug.Echo
    level: WARN
    format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.debug.Return.markdownDescription
This task is mostly useful for troubleshooting.

It allows you to return some templated functions, inputs or outputs.##### Examples
> 
```yaml
id:return_flow
namespace: company.team

tasks:
  - id: return
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.execution.Count.properties.expression.title
The expression to look at against each flow.

# definitions.io.kestra.plugin.core.execution.Count.properties.expression.markdownDescription
The expression is such that expression must return `true` in order to keep the current line.
Some examples: 
- ```yaml {{ eq count 0 }} ```: no execution found
- ```yaml {{ gte count 5 }} ```: more than 5 executions

# definitions.io.kestra.plugin.core.execution.Count.title
List execution counts for a list of flow.

# definitions.io.kestra.plugin.core.execution.Count.markdownDescription
This can be used to send an alert if a condition is met about execution counts.##### Examples
> Send a slack notification if there is no execution for a flow for the last 24 hours.
```yaml
id: executions_count
namespace: company.team

tasks:
  - id: counts
    type: io.kestra.plugin.core.execution.Counts
    expression: "{{ count == 0 }}"
    flows:
      - namespace: company.team
        flowId: logs
    startDate: "{{ now() | dateAdd(-1, 'DAYS') }}"
  - id: each_parallel
    type: io.kestra.plugin.core.flow.EachParallel
    tasks:
      - id: slack_incoming_webhook
        type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
        payload: |
          {
            "channel": "#run-channel",
            "text": ":warning: Flow `{{ jq taskrun.value '.namespace' true }}`.`{{ jq taskrun.value '.flowId' true }}` has no execution for last 24h!"
          }
        url: "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
    value: "{{ jq outputs.counts.results '. | select(. != null) | .[]' }}"

triggers:
  - id: schedule
    type: io.kestra.plugin.core.trigger.Schedule
    backfill: {}
    cron: "0 4 * * * "
```

# definitions.io.kestra.plugin.core.execution.Fail.properties.condition.title
Optional condition, must coerce to a boolean.

# definitions.io.kestra.plugin.core.execution.Fail.properties.condition.markdownDescription
Boolean coercion allows 0, -0, and '' to coerce to false, all other values to coerce to true.

# definitions.io.kestra.plugin.core.execution.Fail.markdownDescription
Used to fail the execution, for example, on a switch branch or on some conditions based on the execution context.##### Examples
> Fail on a switch branch
```yaml
id: fail_on_switch
namespace: company.team

inputs:
  - id: param
    type: STRING
    required: true

tasks:
  - id: switch
    type: io.kestra.plugin.core.flow.Switch
    value: "{{inputs.param}}"
    cases:
      case1:
        - id: case1
          type: io.kestra.plugin.core.log.Log
          message: Case 1
      case2:
        - id: case2
          type: io.kestra.plugin.core.log.Log
          message: Case 2
      notexist:
        - id: fail
          type: io.kestra.plugin.core.execution.Fail
      default:
        - id: default
          type: io.kestra.plugin.core.log.Log
          message: default
```

> Fail on a condition
```yaml
id: fail_on_condition
namespace: company.team

inputs:
  - name: param
    type: STRING
    required: true

tasks:
  - id: before
    type: io.kestra.plugin.core.debug.Echo
    format: I'm before the fail on condition 
  - id: fail
    type: io.kestra.plugin.core.execution.Fail
    condition: '{{ inputs.param == "fail" }}'
  - id: after
    type: io.kestra.plugin.core.debug.Echo
    format: I'm after the fail on condition 
```

# definitions.io.kestra.plugin.core.execution.Labels.properties.labels.markdownDescription
The value should result in a list of labels or a labelKey:labelValue map

# definitions.io.kestra.plugin.core.execution.Labels.title
Allow to add or overwrite labels for the current execution at runtime.

# definitions.io.kestra.plugin.core.execution.Labels.markdownDescription
##### Examples
> Add labels based on a webhook payload
```yaml
id: webhook_based_labels
namespace: company.team
tasks:
  - id: update_labels_with_map
    type: io.kestra.plugin.core.execution.Labels
    labels:
      customerId: "{{ trigger.body.customerId }}"
  - id: by_list
    type: io.kestra.plugin.core.execution.Labels
    labels:
      - key: order_id
        value: "{{ trigger.body.orderId }}"
      - key: order_type
        value: "{{ trigger.body.orderType }}"
triggers:
  - id: webhook
    key: order_webhook
    type: io.kestra.plugin.core.trigger.Webhook
    conditions:
      - type: io.kestra.plugin.core.condition.ExpressionCondition
        expression: "{{ trigger.body.customerId is defined and trigger.body.orderId is defined and trigger.body.orderType is defined }}"
```

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.endDate.markdownDescription
All data of flows executed before this date will be purged.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.flowId.markdownDescription
You need to provide the `namespace` properties if you want to purge a flow.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.namespace.title
Namespace whose flows need to be purged, or namespace of the flow that needs to be purged.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.namespace.markdownDescription
If `flowId` isn't provided, this is a namespace prefix, else the namespace of the flow.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.purgeLog.markdownDescription
This will only purge logs from executions not from triggers, and it will do it execution by execution.
The `io.kestra.plugin.core.log.PurgeLogs` task is a better fit to purge logs as it will purge logs in bulk, and will also purge logs not tied to an execution like trigger logs.

Default value is : `true`

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.purgeStorage.title
Whether to purge execution's files from the Kestra's internal storage.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.startDate.markdownDescription
All data of flows executed after this date will be purged.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.states.title
The state of the executions to be purged.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.properties.states.markdownDescription
If not set, executions for any states will be purged.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.title
Purge executions, logs, metrics, and storage files.

# definitions.io.kestra.plugin.core.execution.PurgeExecutions.markdownDescription
This task can be used to purge flow executions data for all flows, for a specific namespace, or for a specific flow.##### Examples
> Purge all flow execution data for flows that ended more than one month ago.
```yaml
endDate: "{{ now() | dateAdd(-1, 'MONTHS') }}"
states: 
 - KILLED
 - FAILED
 - WARNING
 - SUCCESS
```

# definitions.io.kestra.plugin.core.execution.Resume.properties.executionId.markdownDescription
If you explicitly define an `executionId`, Kestra will use that specific ID.

If another `namespace` and `flowId` properties are set, Kestra will look for a paused execution for that corresponding flow.

If `executionId` is not set, the task will use the ID of the current execution.

# definitions.io.kestra.plugin.core.execution.Resume.properties.flowId.title
Filter for a specific flow identifier in case `executionId` is set.

# definitions.io.kestra.plugin.core.execution.Resume.properties.inputs.title
Inputs to be passed to the execution when it's resumed.

# definitions.io.kestra.plugin.core.execution.Resume.properties.namespace.title
Filter for a specific namespace in case `executionId` is set. In case you wonder why `executionId` is not enough — we require specifying the namespace to make permissions explicit. The Enterprise Edition of Kestra allows you to resume executions from another namespaces only if the permissions allow it. Check the [Allowed Namespaces](https://kestra.io/docs/enterprise/allowed-namespaces) documentation for more details.

# definitions.io.kestra.plugin.core.execution.Resume.title
Resume a paused execution. By default, the task assumes that you want to resume the current `executionId`. If you want to programmatically resume an execution of another flow, make sure to define the `executionId`, `flowId`, and `namespace` properties explicitly. Using the `inputs` property, you can additionally pass custom `onResume` input values to the execution.

# definitions.io.kestra.plugin.core.execution.Resume.markdownDescription
##### Examples
> 
```yaml
executionId: "{{ trigger.executionId }}"
```

# definitions.io.kestra.plugin.core.flow.AllowFailure.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.AllowFailure.title
Allow a list of tasks to fail without stopping the execution of downstream tasks in the flow.

# definitions.io.kestra.plugin.core.flow.AllowFailure.markdownDescription
If any child task of the `AllowFailure` task fails, the flow will stop executing this block of tasks (i.e. the next tasks in the `AllowFailure` block will no longer be executed), but the flow execution of the tasks, following the `AllowFailure` task, will continue.##### Examples
> 
```yaml
id: allow_failure
namespace: company.team

tasks:
  - id: sequential
    type: io.kestra.plugin.core.flow.AllowFailure
    tasks:
     - id: ko
       type: io.kestra.plugin.scripts.shell.Commands
       commands:
        - 'exit 1'
  - id: last
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.flow.Dag.properties.concurrent.title
Number of concurrent parallel tasks that can be running at any point in time.

# definitions.io.kestra.plugin.core.flow.Dag.properties.concurrent.markdownDescription
If the value is `0`, no concurrency limit exists for the tasks in a DAG and all tasks that can run in parallel will start at the same time.

Default value is : `0`

# definitions.io.kestra.plugin.core.flow.Dag.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.Dag.title
Create a directed acyclic graph (DAG) of tasks without explicitly specifying the order in which the tasks need to run.

# definitions.io.kestra.plugin.core.flow.Dag.markdownDescription
List your tasks and their dependencies, and Kestra will figure out the execution sequence.
Each task can only depend on other tasks from the DAG task.
For technical reasons, low-code interaction via UI forms is disabled for now when using this task.##### Examples
> Run a series of tasks for which the execution order is defined by their upstream dependencies.
```yaml
id: dag_flow
namespace: company.team
tasks:
  - id: dag
    type: io.kestra.plugin.core.flow.Dag
    tasks:
      - task:
          id: task1
          type: io.kestra.plugin.core.log.Log
          message: task 1
      - task:
          id: task2
          type: io.kestra.plugin.core.log.Log
          message: task 2
        dependsOn:
          - task1
      - task:
          id: task3
          type: io.kestra.plugin.core.log.Log
          message: task 3
        dependsOn:
          - task1
      - task:
          id: task4
          type: io.kestra.plugin.core.log.Log
          message: task 4
        dependsOn:
          - task2
      - task:
          id: task5
          type: io.kestra.plugin.core.log.Log
          message: task 5
        dependsOn:
          - task4
          - task3

```

# definitions.io.kestra.plugin.core.flow.Dag-DagTask.properties.dependsOn.title
The list of task IDs that should have been successfully executed before starting this task.

# definitions.io.kestra.plugin.core.flow.EachParallel.properties.concurrent.title
Number of concurrent parallel tasks that can be running at any point in time.

# definitions.io.kestra.plugin.core.flow.EachParallel.properties.concurrent.markdownDescription
If the value is `0`, no limit exist and all the tasks will start at the same time.

Default value is : `0`

# definitions.io.kestra.plugin.core.flow.EachParallel.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.EachParallel.properties.value.markdownDescription
The value can be passed as a string, a list of strings, or a list of objects.

# definitions.io.kestra.plugin.core.flow.EachParallel.title
For each value in the list, execute one or more tasks in parallel.

# definitions.io.kestra.plugin.core.flow.EachParallel.markdownDescription
This task is deprecated, please use the `io.kestra.plugin.core.flow.ForEach` task instead.

The list of `tasks` will be executed for each item in parallel. The value must be a valid JSON string representing an array, e.g. a list of strings `["value1", "value2"]` or a list of dictionaries `[{"key": "value1"}, {"key": "value2"}]`.
You can access the current iteration value using the variable `{{ taskrun.value }}`.

The task list will be executed in parallel for each item. For example, if you have a list with 3 elements and 2 tasks defined in the list of `tasks`, all 6 tasks will be computed in parallel without any order guarantee.

If you want to execute a group of sequential tasks for each value in parallel, you can wrap the list of `tasks` with the [Sequential task](https://kestra.io/plugins/core/tasks/flow/io.kestra.plugin.core.flow.sequential).
If your list of values is large, you can limit the number of concurrent tasks using the `concurrent` property.

We highly recommend triggering a subflow for each value (e.g. using the [ForEachItem](https://kestra.io/plugins/core/tasks/flow/io.kestra.plugin.core.flow.foreachitem) task) instead of specifying many tasks wrapped in a `Sequential` task. This allows better scalability and modularity. Check the [flow best practices documentation](https://kestra.io/docs/best-practices/flows) for more details.##### Examples
> 
```yaml
id: each_parallel
namespace: company.team

tasks:
  - id: each_parallel
    type: io.kestra.plugin.core.flow.EachParallel
    value: '["value 1", "value 2", "value 3"]'
    tasks:
      - id: each_value
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} with current value '{{ taskrun.value }}'"

```

> Create a file for each value in parallel, then process all files in the next task. Note how the `inputFiles` property uses a `jq` expression with a `map` function to extract the paths of all files processed in parallel and pass them into the next task's working directory.
```yaml
id: parallel_script
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachParallel
    value: "{{ range(1, 9) }}"
    tasks:
      - id: script
        type: io.kestra.plugin.scripts.shell.Script
        outputFiles:
          - "out/*.txt"
        script: |
          mkdir out
          echo "{{ taskrun.value }}" > out/file_{{ taskrun.value }}.txt

  - id: process_all_files
    type: io.kestra.plugin.scripts.shell.Script
    inputFiles: "{{ outputs.script | jq('map(.outputFiles) | add') | first }}"
    script: |
      ls -h out/

```

> Run a group of tasks for each value in parallel.
```yaml
id: parallel_task_groups
namespace: company.team

tasks:
  - id: for_each
    type: io.kestra.plugin.core.flow.EachParallel
    value: ["value 1", "value 2", "value 3"]
    tasks:
      - id: group
        type: io.kestra.plugin.core.flow.Sequential
        tasks:
          - id: task1
            type: io.kestra.plugin.scripts.shell.Commands
            commands:
              - echo "{{task.id}} > {{ parents[0].taskrun.value }}"
              - sleep 1

          - id: task2
            type: io.kestra.plugin.scripts.shell.Commands
            commands:
              - echo "{{task.id}} > {{ parents[0].taskrun.value }}"
              - sleep 1

```

# definitions.io.kestra.plugin.core.flow.EachSequential.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.EachSequential.properties.value.markdownDescription
The value car be passed as a string, a list of strings, or a list of objects.

# definitions.io.kestra.plugin.core.flow.EachSequential.title
For each value in the list, execute one or more tasks sequentially.

# definitions.io.kestra.plugin.core.flow.EachSequential.markdownDescription
This task is deprecated, please use the `io.kestra.plugin.core.flow.ForEach` task instead.

The list of `tasks` will be executed for each item sequentially. The value must be a valid JSON string representing an array, e.g. a list of strings `["value1", "value2"]` or a list of dictionaries `[{"key": "value1"}, {"key": "value2"}]`. 

You can access the current iteration value using the variable `{{ taskrun.value }}`. The task list will be executed sequentially for each item.

We highly recommend triggering a subflow for each value. This allows much better scalability and modularity. Check the [flow best practices documentation](https://kestra.io/docs/developer-guide/best-practices) and the [following Blueprint](https://kestra.io/blueprints/128-run-a-subflow-for-each-value-in-parallel-and-wait-for-their-completion-recommended-pattern-to-iterate-over-hundreds-or-thousands-of-list-items) for more details.##### Examples
> The taskrun.value from the `each_sequential` task is available only to immediate child tasks such as the `before_if` and the `if` tasks. To access the taskrun value in child tasks of the `if` task (such as in the `after_if` task), you need to use the syntax `{{ parent.taskrun.value }}` as this allows you to access the taskrun value of the parent task `each_sequential`.
```yaml
id: loop_example
namespace: company.team

tasks:
  - id: each_sequential
    type: io.kestra.plugin.core.flow.EachSequential
    value: ["value 1", "value 2", "value 3"]
    tasks:
      - id: before_if
        type: io.kestra.plugin.core.debug.Return
        format: 'Before if {{ taskrun.value }}'
      - id: if
        type: io.kestra.plugin.core.flow.If
        condition: '{{ taskrun.value == "value 2" }}'
        then:
          - id: after_if
            type: io.kestra.plugin.core.debug.Return
            format: "After if {{ parent.taskrun.value }}"

```

> This task shows that the value can be a bullet-style list. The task iterates over the list of values and executes the `each_value` child task for each value.
```yaml
id: each_sequential_flow
namespace: company.team

tasks:
  - id: each_sequential
    type: io.kestra.plugin.core.flow.EachSequential
    value:
      - value 1
      - value 2
      - value 3
    tasks:
      - id: each_value
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} with value '{{ taskrun.value }}'"

```

# definitions.io.kestra.plugin.core.flow.ForEach.properties.concurrencyLimit.title
The number of concurrent task groups for each value in the `values` array.

# definitions.io.kestra.plugin.core.flow.ForEach.properties.concurrencyLimit.markdownDescription
If you set the `concurrencyLimit` property to 0, Kestra will execute all task groups concurrently for all values (zero limits!). 

If you set the `concurrencyLimit` property to 1, Kestra will execute each task group one after the other starting with the first value in the list (limit concurrency to one task group that can be actively running at any time).

Default value is : `1`

# definitions.io.kestra.plugin.core.flow.ForEach.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.ForEach.properties.values.title
The list of values for which Kestra will execute a group of tasks.

# definitions.io.kestra.plugin.core.flow.ForEach.properties.values.markdownDescription
The values can be passed as a string, a list of strings, or a list of objects.

# definitions.io.kestra.plugin.core.flow.ForEach.title
Execute a group of tasks for each value in the list.

# definitions.io.kestra.plugin.core.flow.ForEach.markdownDescription
You can control how many task groups are executed concurrently by setting the `concurrencyLimit` property. 
- If you set the `concurrencyLimit` property to `0`, Kestra will execute all task groups concurrently for all values. 
- If you set the `concurrencyLimit` property to `1`, Kestra will execute each task group one after the other starting with the task group for the first value in the list. 

Regardless of the `concurrencyLimit` property, the `tasks` will run one after the other — to run those in parallel, wrap them in a [Parallel](https://kestra.io/plugins/core/tasks/flow/io.kestra.plugin.core.flow.parallel) task as shown in the last example below (_see the flow `parallel_tasks_example`_). 

The `values` should be defined as a JSON string or an array, e.g. a list of string values `["value1", "value2"]` or a list of key-value pairs `[{"key": "value1"}, {"key": "value2"}]`. 


You can access the current iteration value using the variable `{{ taskrun.value }}` or `{{ parent.taskrun.value }}` if you are in a nested child task. 

If you need to execute more than 2-5 tasks for each value, we recommend triggering a subflow for each value for better performance and modularity. Check the [flow best practices documentation](https://kestra.io/docs/best-practices/flows) for more details.##### Examples
> The `{{ taskrun.value }}` from the `for_each` task is available only to direct child tasks such as the `before_if` and the `if` tasks. To access the taskrun value of the parent task in a nested child task such as the `after_if` task, use `{{ parent.taskrun.value }}`.
```yaml
id: for_loop_example
namespace: company.team

tasks:
  - id: for_each
    type: io.kestra.plugin.core.flow.ForEach
    values: ["value 1", "value 2", "value 3"]
    tasks:
      - id: before_if
        type: io.kestra.plugin.core.debug.Return
        format: "Before if {{ taskrun.value }}"
      - id: if
        type: io.kestra.plugin.core.flow.If
        condition: '{{ taskrun.value == "value 2" }}'
        then:
          - id: after_if
            type: io.kestra.plugin.core.debug.Return
            format: "After if {{ parent.taskrun.value }}"

```

> This flow uses YAML-style array for `values`. The task `for_each` iterates over a list of values and executes the `return` child task for each value. The `concurrencyLimit` property is set to 2, so the `return` task will run concurrently for the first two values in the list at first. The `return` task will run for the next two values only after the task runs for the first two values have completed.
```yaml
id: for_each_value
namespace: company.team

tasks:
  - id: for_each
    type: io.kestra.plugin.core.flow.ForEach
    values:
      - value 1
      - value 2
      - value 3
      - value 4
    concurrencyLimit: 2
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} with value {{ taskrun.value }}"

```

> This example shows how to run tasks in parallel for each value in the list. All child tasks of the `parallel` task will run in parallel. However, due to the `concurrencyLimit` property set to 2, only two `parallel` task groups will run at any given time.
```yaml
id: parallel_tasks_example
namespace: company.team

tasks:
  - id: for_each
    type: io.kestra.plugin.core.flow.ForEach
    values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    concurrencyLimit: 2
    tasks:
      - id: parallel
        type: io.kestra.plugin.core.flow.Parallel
        tasks:
        - id: log
          type: io.kestra.plugin.core.log.Log
          message: Processing {{ parent.taskrun.value }}
        - id: shell
          type: io.kestra.plugin.scripts.shell.Commands
          commands:
            - sleep {{ parent.taskrun.value }}

```

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.batch.allOf[].markdownDescription
Default value is : `rows: 1
separator: |2+`

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.flowId.title
The identifier of the subflow to be executed

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.inheritLabels.title
Whether the subflow should inherit labels from this execution that triggered it.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.inheritLabels.markdownDescription
By default, labels are not passed to the subflow execution. If you set this option to `true`, the child flow execution will inherit all labels from the parent execution.

Default value is : `false`

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.inputs.title
The inputs to pass to the subflow to be executed

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.items.title
The items to be split into batches and processed. Make sure to set it to Kestra's internal storage URI. This can be either the output from a previous task, formatted as `{{ outputs.task_id.uri }}`, or a FILE type input parameter, like `{{ inputs.myfile }}`. This task is optimized for files where each line represents a single item. Suitable file types include Amazon ION-type files (commonly produced by Query tasks), newline-separated JSON files, or CSV files formatted with one row per line and without a header. For files in other formats such as Excel, CSV, Avro, Parquet, XML, or JSON, it's recommended to first convert them to the ION format. This can be done using the conversion tasks available in the `io.kestra.plugin.serdes` module, which will transform files from their original format to ION.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.labels.title
The labels to pass to the subflow to be executed

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.namespace.title
The namespace of the subflow to be executed

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.revision.title
The revision of the subflow to be executed

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.revision.markdownDescription
By default, the last, i.e. the most recent, revision of the subflow is executed.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.scheduleDate.oneOf[].title
Don't trigger the subflow now but schedule it on a specific date.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.scheduleDate.oneOf[].title
Don't trigger the subflow now but schedule it on a specific date.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.transmitFailed.title
Whether to fail the current execution if the subflow execution fails or is killed.

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.transmitFailed.markdownDescription
Note that this option works only if `wait` is set to `true`.

Default value is : `true`

# definitions.io.kestra.plugin.core.flow.ForEachItem.properties.wait.title
Whether to wait for the subflows execution to finish before continuing the current execution.

# definitions.io.kestra.plugin.core.flow.ForEachItem.title
Execute a subflow for each batch of items

# definitions.io.kestra.plugin.core.flow.ForEachItem.markdownDescription
The `items` value must be Kestra's internal storage URI e.g. an output file from a previous task, or a file from inputs of FILE type.
Two special variables are available to pass as inputs to the subflow:
- `taskrun.items` which is the URI of internal storage file containing the batch of items to process
- `taskrun.iteration` which is the iteration or batch number##### Examples
> Execute a subflow for each batch of items. The subflow `orders` is called from the parent flow `orders_parallel` using the `ForEachItem` task in order to start one subflow execution for each batch of items.
```yaml
id: orders
namespace: company.team

inputs:
  - id: order
    type: STRING

tasks:
  - id: read_file
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - cat "{{ inputs.order }}"

  - id: read_file_content
    type: io.kestra.plugin.core.log.Log
    message: "{{ read(inputs.order) }}"
```

```yaml
id: orders_parallel
namespace: company.team

tasks:
  - id: extract
    type: io.kestra.plugin.jdbc.duckdb.Query
    sql: |
      INSTALL httpfs;
      LOAD httpfs;
      SELECT *
      FROM read_csv_auto('https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv', header=True);
    store: true

  - id: each
    type: io.kestra.plugin.core.flow.ForEachItem
    items: "{{ outputs.extract.uri }}"
    batch:
      rows: 1
    namespace: company.team
    flowId: orders
    wait: true # wait for the subflow execution
    transmitFailed: true # fail the task run if the subflow execution fails
    inputs:
      order: "{{ taskrun.items }}" # special variable that contains the items of the batch

```

> Execute a subflow for each JSON item fetched from a REST API. The subflow `mysubflow` is called from the parent flow `iterate_over_json` using the `ForEachItem` task; this creates one subflow execution for each JSON object.

Note how we first need to convert the JSON array to JSON-L format using the `JsonWriter` task. This is because the `items` attribute of the `ForEachItem` task expects a file where each line represents a single item. Suitable file types include Amazon ION (commonly produced by Query tasks), newline-separated JSON files, or CSV files formatted with one row per line and without a header. For other formats, you can use the conversion tasks available in the `io.kestra.plugin.serdes` module.

In this example, the subflow `mysubflow` expects a JSON object as input. The `JsonReader` task first reads the JSON array from the REST API and converts it to ION. Then, the `JsonWriter` task converts that ION file to JSON-L format, suitable for the `ForEachItem` task.

```yaml
id: mysubflow
namespace: company.team

inputs:
  - id: json
    type: JSON

tasks:
  - id: debug
    type: io.kestra.plugin.core.log.Log
    message: "{{ inputs.json }}"
```

```yaml
id: iterate_over_json
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.fs.http.Download
    uri: "https://api.restful-api.dev/objects"
    contentType: application/json
    method: GET
    failOnEmptyResponse: true
    timeout: PT15S

  - id: json_to_ion
    type: io.kestra.plugin.serdes.json.JsonReader
    from: "{{ outputs.download.uri }}"
    newLine: false # regular json

  - id: ion_to_jsonl
    type: io.kestra.plugin.serdes.json.JsonWriter
    from: "{{ outputs.json_to_ion.uri }}"
    newLine: true # JSON-L

  - id: for_each_item
    type: io.kestra.plugin.core.flow.ForEachItem
    items: "{{ outputs.ion_to_jsonl.uri }}"
    batch:
      rows: 1
    namespace: company.team
    flowId: mysubflow
    wait: true
    transmitFailed: true
    inputs:
      json: "{{ json(read(taskrun.items)) }}"

```

> This example shows how to use the combination of `EachSequential` and `ForEachItem` tasks to process files from an S3 bucket. The `EachSequential` iterates over files from the S3 trigger, and the `ForEachItem` task is used to split each file into batches. The `process_batch` subflow is then called with the `data` input parameter set to the URI of the batch to process.

```yaml
id: process_batch
namespace: company.team

inputs:
  - id: data
    type: FILE

tasks:
  - id: debug
    type: io.kestra.plugin.core.log.Log
    message: "{{ read(inputs.data) }}"
```

```yaml
id: process_files
namespace: company.team

tasks:
  - id: loop_over_files
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.objects | jq('.[].uri') }}"
    tasks:
      - id: subflow_per_batch
        type: io.kestra.plugin.core.flow.ForEachItem
        items: "{{ trigger.uris[parent.taskrun.value] }}"
        batch:
          rows: 1
        flowId: process_batch
        namespace: company.team
        wait: true
        transmitFailed: true
        inputs:
          data: "{{ taskrun.items }}"

triggers:
  - id: s3
    type: io.kestra.plugin.aws.s3.Trigger
    interval: "PT1S"
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "us-east-1"
    bucket: "my_bucket"
    prefix: "sub-dir"
    action: NONE

```

# definitions.io.kestra.plugin.core.flow.ForEachItem-Batch.properties.bytes.title
Split a large file into multiple chunks with a maximum file size of `bytes`.

# definitions.io.kestra.plugin.core.flow.ForEachItem-Batch.properties.bytes.markdownDescription
Can be provided as a string in the format "10MB" or "200KB", or the number of bytes. This allows you to process large files, slit them into smaller chunks by lines and process them in parallel. For example, MySQL by default limits the size of a query size to 16MB per query. Trying to use a bulk insert query with input data larger than 16MB will fail. Splitting the input data into smaller chunks is a common strategy to circumvent this limitation. By dividing a large data set into chunks smaller than the `max_allowed_packet` size (e.g., 10MB), you can insert the data in multiple smaller queries. This approach not only helps to avoid hitting the query size limit but can also be more efficient and manageable in terms of memory utilization, especially for very large datasets. In short, by splitting the file by bytes, you can bulk-insert smaller chunks of e.g. 10MB in parallel to avoid this limitation.

# definitions.io.kestra.plugin.core.flow.ForEachItem-Batch.properties.partitions.title
Split a file into a fixed number of partitioned files. For example, if you have a file with 1000 lines and you set `partitions` to 10, the file will be split into 10 files with 100 lines each.

# definitions.io.kestra.plugin.core.flow.ForEachItem-Batch.properties.rows.title
A number of rows per batch. The file will then be split into chunks with that maximum number of rows.

# definitions.io.kestra.plugin.core.flow.ForEachItem-Batch.properties.separator.title
The separator used to split a file into chunks. By default, it's a newline `\n` character. If you are on Windows, you might want to use `\r\n` instead.

# definitions.io.kestra.plugin.core.flow.If.properties.condition.title
The `If` condition which can be any expression that evaluates to a boolean value.

# definitions.io.kestra.plugin.core.flow.If.properties.condition.markdownDescription
Boolean coercion allows 0, -0, null and '' to evaluate to false, all other values will evaluate to true.

# definitions.io.kestra.plugin.core.flow.If.properties.else.title
List of tasks to execute if the condition is false.

# definitions.io.kestra.plugin.core.flow.If.properties.errors.title
List of tasks to execute in case of errors of a child task.

# definitions.io.kestra.plugin.core.flow.If.properties.then.title
List of tasks to execute if the condition is true.

# definitions.io.kestra.plugin.core.flow.If.title
Process tasks conditionally depending on a contextual value.

# definitions.io.kestra.plugin.core.flow.If.markdownDescription
Allow some workflow based on context variables, for example, branch a flow based on a previous task.##### Examples
> 
```yaml
id: if
namespace: company.team

inputs:
  - id: string
    type: STRING
    required: true

tasks:
  - id: if
    type: io.kestra.plugin.core.flow.If
    condition: "{{ inputs.string == 'Condition' }}"
    then:
      - id: when_true
        type: io.kestra.plugin.core.log.Log
        message: "Condition was true"
    else:
      - id: when_false
        type: io.kestra.plugin.core.log.Log
        message: "Condition was false"

```

# definitions.io.kestra.plugin.core.flow.Parallel.properties.concurrent.title
Number of concurrent parallel tasks that can be running at any point in time.

# definitions.io.kestra.plugin.core.flow.Parallel.properties.concurrent.markdownDescription
If the value is `0`, no limit exist and all tasks will start at the same time.

Default value is : `0`

# definitions.io.kestra.plugin.core.flow.Parallel.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.Parallel.markdownDescription
This task runs all child tasks in parallel.##### Examples
> 
```yaml
id: parallel
namespace: company.team

tasks:
  - id: parallel
    type: io.kestra.plugin.core.flow.Parallel
    tasks:
      - id: 1st
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} > {{ taskrun.startDate }}"

      - id: 2nd
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} > {{ taskrun.id }}"

  - id: last
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.flow.Pause.properties.delay.title
Duration of the pause — useful if you want to pause the execution for a fixed amount of time.

# definitions.io.kestra.plugin.core.flow.Pause.properties.delay.markdownDescription
The delay is a string in the [ISO 8601 Duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) format, e.g. `PT1H` for 1 hour, `PT30M` for 30 minutes, `PT10S` for 10 seconds, `P1D` for 1 day, etc. If no delay and no timeout are configured, the execution will never end until it's manually resumed from the UI or API.

# definitions.io.kestra.plugin.core.flow.Pause.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.Pause.properties.onResume.title
Inputs to be passed to the execution when it's resumed.

# definitions.io.kestra.plugin.core.flow.Pause.properties.onResume.markdownDescription
Before resuming the execution, the user will be prompted to fill in these inputs. The inputs can be used to pass additional data to the execution which is useful for human-in-the-loop scenarios. The `onResume` inputs work the same way as regular [flow inputs](https://kestra.io/docs/workflow-components/inputs) — they can be of any type and can have default values. You can access those values in downstream tasks using the `onResume` output of the Pause task.

# definitions.io.kestra.plugin.core.flow.Pause.properties.timeout.title
Timeout of the pause — useful to avoid never-ending workflows in a human-in-the-loop scenario. For example, if you want to pause the execution until a human validates some data generated in a previous task, you can set a timeout of e.g. 24 hours. If no manual approval happens within 24 hours, the execution will automatically resume without a prior data validation.

# definitions.io.kestra.plugin.core.flow.Pause.properties.timeout.markdownDescription
If no delay and no timeout are configured, the execution will never end until it's manually resumed from the UI or API.

# definitions.io.kestra.plugin.core.flow.Pause.title
Pause the current execution and wait for a manual approval (either by humans or other automated processes). All tasks downstream from the Pause task will be put on hold until the execution is manually resumed from the UI. The Execution will be in a Paused state (_marked in purple_) and you can manually resume it by clicking on the "Resume" button in the UI, or by calling the POST API endpoint "/api/v1/executions/{executionId}/resume". The execution can also be resumed automatically after a timeout.

# definitions.io.kestra.plugin.core.flow.Pause.markdownDescription
##### Examples
> Pause the execution and wait for a manual approval
```yaml
id: human_in_the_loop
namespace: company.team

tasks:
  - id: before_approval
    type: io.kestra.plugin.core.debug.Return
    format: Output data that needs to be validated by a human

  - id: pause
    type: io.kestra.plugin.core.flow.Pause

  - id: run_post_approval
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - echo "Manual approval received! Continuing the execution..."

  - id: post_resume
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} started on {{ taskrun.startDate }} after the Pause"

```

> Vacation approval process pausing the execution for approval and waiting for input from a human to approve or reject the request.
```yaml
id: vacation_approval_process
namespace: company.team

inputs:
  - id: request.name
    type: STRING
    defaults: Rick Astley

  - id: request.start_date
    type: DATE
    defaults: 2042-07-01

  - id: request.end_date
    type: DATE
    defaults: 2042-07-07

  - id: slack_webhook_uri
    type: URI
    defaults: https://reqres.in/api/slack

tasks:
  - id: send_approval_request
    type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
    url: "{{ inputs.slack_webhook_uri }}"
    payload: |
      {
        "channel": "#vacation",
        "text": "Validate holiday request for {{ inputs.request.name }}. To approve the request, click on the `Resume` button here http://localhost:28080/ui/executions/{{flow.namespace}}/{{flow.id}}/{{execution.id}}"
      }

  - id: wait_for_approval
    type: io.kestra.plugin.core.flow.Pause
    onResume:
      - id: approved
        description: Whether to approve the request
        type: BOOLEAN
        defaults: true
      - id: reason
        description: Reason for approval or rejection
        type: STRING
        defaults: Well-deserved vacation

  - id: approve
    type: io.kestra.plugin.core.http.Request
    uri: https://reqres.in/api/products
    method: POST
    contentType: application/json
    body: "{{ inputs.request }}"

  - id: log
    type: io.kestra.plugin.core.log.Log
    message: Status is {{ outputs.wait_for_approval.onResume.reason }}. Process finished with {{ outputs.approve.body }}

```

# definitions.io.kestra.plugin.core.flow.Sequential.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.Sequential.title
Run tasks sequentially, one after the other, in the order they are defined.

# definitions.io.kestra.plugin.core.flow.Sequential.markdownDescription
Used to visually group tasks.##### Examples
> 
```yaml
id: sequential
namespace: company.team

tasks:
  - id: sequential
    type: io.kestra.plugin.core.flow.Sequential
    tasks:
      - id: first_task
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} > {{ taskrun.startDate }}"

      - id: second_task
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} > {{ taskrun.id }}"

  - id: last
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.flow.Subflow.properties.flowId.title
The identifier of the subflow to be executed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.inheritLabels.title
Whether the subflow should inherit labels from this execution that triggered it.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.inheritLabels.markdownDescription
By default, labels are not passed to the subflow execution. If you set this option to `true`, the child flow execution will inherit all labels from the parent execution.

Default value is : `false`

# definitions.io.kestra.plugin.core.flow.Subflow.properties.inputs.title
The inputs to pass to the subflow to be executed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.labels.title
The labels to pass to the subflow to be executed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.namespace.title
The namespace of the subflow to be executed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.outputs.markdownDescription
Allows to specify outputs as key-value pairs to extract any outputs from the subflow execution into output of this task execution.This property is deprecated since v0.15.0, please use the `outputs` property on the Subflow definition for defining the output values available and exposed to this task execution.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.revision.title
The revision of the subflow to be executed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.revision.markdownDescription
By default, the last, i.e. the most recent, revision of the subflow is executed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.scheduleDate.oneOf[].title
Don't trigger the subflow now but schedule it on a specific date.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.scheduleDate.oneOf[].title
Don't trigger the subflow now but schedule it on a specific date.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.transmitFailed.title
Whether to fail the current execution if the subflow execution fails or is killed.

# definitions.io.kestra.plugin.core.flow.Subflow.properties.transmitFailed.markdownDescription
Note that this option works only if `wait` is set to `true`.

Default value is : `true`

# definitions.io.kestra.plugin.core.flow.Subflow.properties.wait.title
Whether to wait for the subflow execution to finish before continuing the current execution.

# definitions.io.kestra.plugin.core.flow.Subflow.title
Create a subflow execution. Subflows offer a modular way to reuse workflow logic by calling other flows just like calling a function in a programming language.

# definitions.io.kestra.plugin.core.flow.Subflow.markdownDescription
##### Examples
> Run a subflow with custom inputs.
```yaml
id: running_subflow
namespace: company.team

tasks:
  - id: call_subflow
    type: io.kestra.plugin.core.flow.Subflow
    namespace: company.team
    flowId: subflow
    inputs:
      user: "Rick Astley"
      favorite_song: "Never Gonna Give You Up"
    wait: true
    transmitFailed: true

```

# definitions.io.kestra.plugin.core.flow.Switch.properties.cases.title
The map of keys and a list of tasks to be executed if the conditional `value` matches the key.

# definitions.io.kestra.plugin.core.flow.Switch.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.Switch.title
Run tasks conditionally, i.e. decide which branch of tasks should be executed based on a given value.

# definitions.io.kestra.plugin.core.flow.Switch.markdownDescription
This task runs a set of tasks based on a given value.
The value is evaluated at runtime and compared to the list of cases.
If the value matches a case, the corresponding tasks are executed.
If the value does not match any case, the default tasks are executed.##### Examples
> 
```yaml
id: switch
namespace: company.team

inputs:
  - id: string
    type: STRING
    required: true

tasks:
  - id: switch
    type: io.kestra.plugin.core.flows.Switch
    value: "{{ inputs.string }}"
    cases:
      FIRST:
        - id: first
          type: io.kestra.plugin.core.debug.Return
          format: "{{ task.id }} > {{ taskrun.startDate }}"
      SECOND:
        - id: second
          type: io.kestra.plugin.core.debug.Return
          format: "{{ task.id }} > {{ taskrun.startDate }}"
      THIRD:
        - id: third
          type: io.kestra.plugin.core.debug.Return
          format: "{{ task.id }} > {{ taskrun.startDate }}"
    defaults:
      - id: default
        type: io.kestra.plugin.core.debug.Return
        format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.flow.Template.properties.args.markdownDescription
You can provide a list of named arguments (like function argument on dev) allowing to rename outputs of current flow for this template.
For example, if you declare this use of template like this: 
```yaml
  - id: 2-template
    type: io.kestra.plugin.core.flow.Template
    namespace: io.kestra.tests
    templateId: template
    args:
      forward: "{{ output.task-id.uri }}"
```
You will be able to get this output on the template with `{{ parent.outputs.args.forward }}`.

# definitions.io.kestra.plugin.core.flow.Template.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.Template.title
Include a reusable template inside a flow.

# definitions.io.kestra.plugin.core.flow.Template.markdownDescription
##### Examples
> 
```yaml
id: template
namespace: company.team

inputs:
  - id: with_string
    type: STRING

tasks:
  - id: 1_return
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} > {{ taskrun.startDate }}"

  - id: 2_template
    type: io.kestra.plugin.core.flow.Template
    namespace: company.team
    templateId: template
    args:
      my_forward: "{{ inputs.with_string }}"

  - id: 3_end
    type: io.kestra.plugin.core.debug.Return
    format: "{{ task.id }} > {{ taskrun.startDate }}"

```

# definitions.io.kestra.plugin.core.flow.WaitFor.properties.condition.title
The condition expression that should evaluate to `true` or `false`.

# definitions.io.kestra.plugin.core.flow.WaitFor.properties.condition.markdownDescription
Boolean coercion allows 0, -0, null and '' to evaluate to false; all other values will evaluate to true.

# definitions.io.kestra.plugin.core.flow.WaitFor.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.WaitFor.properties.failOnMaxReached.title
If set to `true`, the task run will end in a failed state once the `maxIterations` or `maxDuration` are reached.

# definitions.io.kestra.plugin.core.flow.WaitFor.title
Run a list of tasks repeatedly until the expected condition is met.

# definitions.io.kestra.plugin.core.flow.WaitFor.markdownDescription
Use this task if your workflow requires blocking calls polling for a job to finish or for some external API to return a specific HTTP response.

You can access the outputs of the nested tasks in the `condition` property. The `condition` is evaluated after all nested task runs finish.
##### Examples
> Run a task until it returns a specific value. Note how you don't need to take care of incrementing the iteration count. The task will loop and keep track of the iteration outputs behind the scenes — you only need to specify the exit condition for the loop.
```yaml
id: wait_for
namespace: company.team

tasks:
  - id: loop
    type: io.kestra.plugin.core.flow.WaitFor
    condition: "{{ outputs.return.value == '4' }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ outputs.loop.iterationCount }}"

```

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.properties.cache.allOf[].markdownDescription
When a cache is configured, an archive of the files denoted by the cache configuration is created at the end of the execution of the task and saved in Kestra's internal storage.
Then at the beginning of the next execution of the task, the archive of the files is retrieved and the working directory initialized with it.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.properties.errors.title
List of tasks to run if any tasks failed on this FlowableTask.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.title
Run tasks sequentially in the same working directory.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory.markdownDescription
Tasks are stateless by default. Kestra will launch each task within a temporary working directory on a Worker. The `WorkingDirectory` task allows reusing the same file system's working directory across multiple tasks so that multiple sequential tasks can use output files from previous tasks without having to use the `outputs.taskId.outputName` syntax. Note that the `WorkingDirectory` only works with runnable tasks because those tasks are executed directly on the Worker. This means that using flowable tasks such as the `Parallel` task within the `WorkingDirectory` task will not work. ##### Examples
> Clone a Git repository into the Working Directory and run a Python script in a Docker container.
```yaml
id: git_python
namespace: company.team

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/examples
        branch: main

      - id: python
        type: io.kestra.plugin.scripts.python.Commands
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        containerImage: ghcr.io/kestra-io/pydata:latest
        commands:
          - python scripts/etl_script.py

```

> Add input and output files within a Working Directory to use them in a Python script.
```yaml
    id: api_json_to_mongodb
    namespace: company.team

    tasks:
      - id: wdir
        type: io.kestra.plugin.core.flow.WorkingDirectory
        outputFiles:
          - output.json
        inputFiles:
          query.sql: |
            SELECT sum(total) as total, avg(quantity) as avg_quantity
            FROM sales;
        tasks:
          - id: inline_script
            type: io.kestra.plugin.scripts.python.Script
            taskRunner:
              type: io.kestra.plugin.scripts.runner.docker.Docker
            containerImage: python:3.11-slim
            beforeCommands:
              - pip install requests kestra > /dev/null
            warningOnStdErr: false
            script: |
              import requests
              import json
              from kestra import Kestra

              with open('query.sql', 'r') as input_file:
                  sql = input_file.read()

              response = requests.get('https://api.github.com')
              data = response.json()

              with open('output.json', 'w') as output_file:
                  json.dump(data, output_file)

              Kestra.outputs({'receivedSQL': sql, 'status': response.status_code})

      - id: load_to_mongodb
        type: io.kestra.plugin.mongodb.Load
        connection:
          uri: mongodb://host.docker.internal:27017/
        database: local
        collection: github
        from: "{{ outputs.wdir.uris['output.json'] }}"

```

> 
```yaml
id: working_directory
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: first
        type: io.kestra.plugin.scripts.shell.Commands
        commands:
        - 'echo "{{ taskrun.id }}" > {{ workingDir }}/stay.txt'
      - id: second
        type: io.kestra.plugin.scripts.shell.Commands
        commands:
        - |
          echo '::{"outputs": {"stay":"'$(cat {{ workingDir }}/stay.txt)'"}}::''

```

> A working directory with a cache of the node_modules directory.
```yaml
id: node_with_cache
namespace: company.team

tasks:
  - id: working_dir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    cache:
      patterns:
        - node_modules/**
      ttl: PT1H
    tasks:
      - id: script
        type: io.kestra.plugin.scripts.node.Script
        beforeCommands:
          - npm install colors
        script: |
          const colors = require("colors");
          console.log(colors.red("Hello"));

```

# definitions.io.kestra.plugin.core.flow.WorkingDirectory-Cache.properties.patterns.title
List of file [glob](https://en.wikipedia.org/wiki/Glob_(programming)) patterns to include in the cache.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory-Cache.properties.patterns.markdownDescription
For example, 'node_modules/**' will include all files of the node_modules directory including sub-directories.

# definitions.io.kestra.plugin.core.flow.WorkingDirectory-Cache.properties.ttl.title
Cache TTL (Time To Live), after this duration the cache will be deleted.

# definitions.io.kestra.plugin.core.http.Download.properties.failOnEmptyResponse.title
Should the task fail when downloading an empty file.

# definitions.io.kestra.plugin.core.http.Download.properties.uri.title
The fully-qualified URI that points to the HTTP destination

# definitions.io.kestra.plugin.core.http.Download.markdownDescription
This task connects to a HTTP server and copy a file to Kestra's internal storage.##### Examples
> Download a CSV file.
```yaml
id: download
namespace: company.team

tasks:
  - id: extract
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv
```

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.basicAuthPassword.title
The password for HTTP basic authentication.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.basicAuthUser.title
The username for HTTP basic authentication.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.connectTimeout.title
The time allowed to establish a connection to the server before failing.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.connectionPoolIdleTimeout.title
The time an idle connection can remain in the client's connection pool before being closed.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.followRedirects.title
Whether redirects should be followed automatically.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.maxContentLength.title
The maximum content length of the response.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.readIdleTimeout.title
The time allowed for a read connection to remain idle before closing it.

# definitions.io.kestra.plugin.core.http.HttpInterface-RequestOptions.properties.readTimeout.title
The maximum time allowed for reading data from the server before failing.

# definitions.io.kestra.plugin.core.http.HttpInterface-SslOptions.properties.insecureTrustAllCertificates.title
Whether to disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.core.http.HttpInterface-SslOptions.properties.insecureTrustAllCertificates.markdownDescription
Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

# definitions.io.kestra.plugin.core.http.Request.properties.allowFailed.title
If true, allow a failed response code (response code >= 400)

# definitions.io.kestra.plugin.core.http.Request.properties.encryptBody.title
If true, the HTTP response body will be automatically encrypted and decrypted in the outputs, provided that encryption is configured in your Kestra configuration.

# definitions.io.kestra.plugin.core.http.Request.properties.encryptBody.markdownDescription
If this property is set to `true`, this task will output the request body using the `encryptedBody` output property; otherwise, the request body will be stored in the `body` output property.

Default value is : `false`

# definitions.io.kestra.plugin.core.http.Request.properties.uri.title
The fully-qualified URI that points to the HTTP destination

# definitions.io.kestra.plugin.core.http.Request.title
Make an HTTP API request to a specified URL and store the response as output.

# definitions.io.kestra.plugin.core.http.Request.markdownDescription
This task makes an API call to a specified URL of an HTTP server and stores the response as output.
By default, the maximum length of the response is limited to 10MB, but it can be increased to at most 2GB by using the `options.maxContentLength` property.
Note that the response is added as output to the task. If you need to process large API payloads, we recommend using the `Download` task instead.##### Examples
> Execute a Kestra flow via an HTTP POST request authenticated with basic auth. To pass a `user` input to the API call, we use the `formData` property. When using form data, make sure to set the `contentType` property to `multipart/form-data`.
```yaml
id: api_call
namespace: company.team

tasks:
  - id: basic_auth_api
    type: io.kestra.plugin.core.http.Request
    uri: http://host.docker.internal:8080/api/v1/executions/dev/inputs_demo
    options:
      basicAuthUser: admin
      basicAuthPassword: admin
    method: POST
    contentType: multipart/form-data
    formData:
      user: John Doe

```

> Execute a Kestra flow via an HTTP request authenticated with a Bearer auth token.
```yaml
id: api_auth_call
namespace: company.team

tasks:
  - id: auth_token_api
    type: io.kestra.plugin.core.http.Request
    uri: https://dummyjson.com/user/me
    method: GET
    headers:
      authorization: 'Bearer <TOKEN>'

```

> Make an HTTP GET request with a timeout. The `timeout` property specifies the maximum time allowed for the entire task to run, while the `options.connectTimeout`, `options.readTimeout`, `options.connectionPoolIdleTimeout`, and `options.readIdleTimeout` properties specify the time allowed for establishing a connection, reading data from the server, keeping an idle connection in the client's connection pool, and keeping a read connection idle before closing it, respectively.
```yaml
id: timeout
namespace: company.team

tasks:
  - id: http
    type: io.kestra.plugin.core.http.Request
    uri: https://reqres.in/api/long-request
    timeout: PT10M # no default
    method: GET
    options:
      connectTimeout: PT1M # no default
      readTimeout: PT30S # 10 seconds by default
      connectionPoolIdleTimeout: PT10S # 0 seconds by default
      readIdleTimeout: PT10M # 300 seconds by default

```

> Make a HTTP request and process its output. Given that we send a JSON payload in the request body, we need to use `application/json` as content type.
```yaml
id: http_post_request_example
namespace: company.team

inputs:
  - id: payload
    type: JSON
    defaults: |
      {"title": "Kestra Pen"}

tasks:
  - id: send_data
    type: io.kestra.plugin.core.http.Request
    uri: https://dummyjson.com/products/add
    method: POST
    contentType: application/json
    body: "{{ inputs.payload }}"

  - id: print_status
    type: io.kestra.plugin.core.log.Log
    message: '{{ outputs.send_data.body }}'

```

> Send an HTTP POST request to a webserver.
```yaml
id: http_post_request_example
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.http.Request
    uri: "https://server.com/login"
    headers:
      user-agent: "kestra-io"
    method: "POST"
    formData:
      user: "user"
      password: "pass"

```

> Send a multipart HTTP POST request to a webserver.
```yaml
id: http_post_multipart_example
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: send_data
    type: io.kestra.plugin.core.http.Request
    uri: "https://server.com/upload"
    headers:
      user-agent: "kestra-io"
    method: "POST"
    contentType: "multipart/form-data"
    formData:
      user: "{{ inputs.file }}"

```

> Send a multipart HTTP POST request to a webserver and set a custom file name.
```yaml
id: http_post_multipart_example
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: send_data
    type: io.kestra.plugin.core.http.Request
    uri: "https://server.com/upload"
    headers:
      user-agent: "kestra-io"
    method: "POST"
    contentType: "multipart/form-data"
    formData:
      user:
        name: "my-file.txt"
        content: "{{ inputs.file }}"

```

# definitions.io.kestra.plugin.core.http.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.core.http.Trigger.properties.encryptBody.title
If true, the HTTP response body will be automatically encrypted and decrypted in the outputs if encryption is configured

# definitions.io.kestra.plugin.core.http.Trigger.properties.encryptBody.markdownDescription
When true, the `encryptedBody` output will be filled, otherwise the `body` output will be filled

Default value is : `false`

# definitions.io.kestra.plugin.core.http.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.core.http.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.core.http.Trigger.properties.responseCondition.title
The condition on the HTTP response to trigger a flow which can be any expression that evaluates to a boolean value.

# definitions.io.kestra.plugin.core.http.Trigger.properties.responseCondition.markdownDescription
The condition will be evaluated after calling the HTTP endpoint, it can use the response itself to determine whether to start a flow or not.
The following variables are available when evaluating the condition:
- `response.statusCode`: the response HTTP status code
- `response.body`: the response body as a string
- `response.headers`: the response headers

Boolean coercion allows 0, -0, null and '' to evaluate to false, all other values will evaluate to true.

The condition will be evaluated before any 'generic trigger conditions' that can be configured via the `conditions` property.


Default value is : `"{{ response.statusCode < 400 }}"`

# definitions.io.kestra.plugin.core.http.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.core.http.Trigger.properties.uri.title
The fully-qualified URI that points to the HTTP destination

# definitions.io.kestra.plugin.core.http.Trigger.title
Trigger a flow based on an HTTP response

# definitions.io.kestra.plugin.core.http.Trigger.markdownDescription
##### Examples
> Send a Slack alert if the price is below a certain threshold. The flow will be triggered every 30 seconds until the condition is met. Then, the `stopAfter` property will disable the trigger to avoid unnecessary API calls and alerts.
```yaml
id: http_price_alert
namespace: company.team

tasks:
  - id: send_slack_alert
    type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
    url: "{{ secret('SLACK_WEBHOOK') }}"
    payload: |
      {
        "channel": "#price-alerts",
        "text": "The price is now: {{ json(trigger.body).price }}"
      }

triggers:
  - id: http
    type: io.kestra.plugin.core.http.Trigger
    uri: https://fakestoreapi.com/products/1
    responseCondition: "{{ json(response.body).price <= 110 }}"
    interval: PT30S
    stopAfter:
      - SUCCESS

```

> Trigger a flow if an HTTP endpoint returns a status code equals to 200
```yaml
id: http_trigger
namespace: company.team

tasks:
  - id: log_response
    type: io.kestra.plugin.core.log.Log
    message: '{{ trigger.body }}'

triggers:
  - id: http
    type: io.kestra.plugin.core.http.Trigger
    uri: https://api.chucknorris.io/jokes/random
    responseCondition: "{{ response.statusCode == 200 }}"
    stopAfter:
      - SUCCESS

```

# definitions.io.kestra.plugin.core.kv.Delete.properties.errorOnMissing.title
Whether to fail if there is no value for the given key.

# definitions.io.kestra.plugin.core.kv.Delete.properties.namespace.title
The namespace on which to set the value.

# definitions.io.kestra.plugin.core.kv.Delete.markdownDescription
##### Examples
> Delete a KV pair.
```yaml
id: kv_store_delete
namespace: company.team

tasks:
  - id: kv_delete
    type: io.kestra.plugin.core.kv.Delete
    key: my_variable
    namespace: dev # the current namespace of the flow will be used by default

```

# definitions.io.kestra.plugin.core.kv.Get.properties.errorOnMissing.title
Whether to fail if there is no value for the given key.

# definitions.io.kestra.plugin.core.kv.Get.properties.namespace.title
The namespace on which to get the value.

# definitions.io.kestra.plugin.core.kv.Get.properties.namespace.markdownDescription
Default value is : `"{{ flow.namespace }}"`

# definitions.io.kestra.plugin.core.kv.Get.markdownDescription
##### Examples
> Get value for `my_variable` key in `dev` namespace and fail if it's not present.
```yaml
id: kv_store_get
namespace: company.team

tasks:
  - id: kv_get
    type: io.kestra.plugin.core.kv.Get
    key: my_variable
    namespace: dev # the current namespace of the flow will be used by default
    errorOnMissing: true

```

# definitions.io.kestra.plugin.core.kv.GetKeys.properties.namespace.title
The namespace on which to get the value.

# definitions.io.kestra.plugin.core.kv.GetKeys.properties.namespace.markdownDescription
Default value is : `"{{ flow.namespace }}"`

# definitions.io.kestra.plugin.core.kv.GetKeys.markdownDescription
##### Examples
> Get keys that are prefixed by `my_var`.
```yaml
id: kv_store_getkeys
namespace: company.team

tasks:
  - id: kv_getkeys
    type: io.kestra.plugin.core.kv.GetKeys
    prefix: my_var
    namespace: dev # the current namespace of the flow will be used by default

```

# definitions.io.kestra.plugin.core.kv.Set.properties.kvType.title
Enum representing the data type of the KV pair. If not set, the value will be stored as a string.

# definitions.io.kestra.plugin.core.kv.Set.properties.namespace.title
The namespace in which the KV pair will be stored. By default, Kestra will use the namespace of the flow.

# definitions.io.kestra.plugin.core.kv.Set.properties.namespace.markdownDescription
Default value is : `"{{ flow.namespace }}"`

# definitions.io.kestra.plugin.core.kv.Set.properties.overwrite.title
Whether to overwrite or fail if a value for the given key already exists.

# definitions.io.kestra.plugin.core.kv.Set.properties.ttl.title
Optional Time-To-Live (TTL) duration for the key-value pair. If not set, the KV pair will never be deleted from internal storage.

# definitions.io.kestra.plugin.core.kv.Set.markdownDescription
##### Examples
> Set the task's `uri` output as a value for `orders_file` key.
```yaml
id: kv_store_set
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv

  - id: kv_set
    type: io.kestra.plugin.core.kv.Set
    key: orders_file
    value: "{{ outputs.http_download.uri }}"
    kvType: STRING

```

# definitions.io.kestra.plugin.core.log.Fetch.properties.executionId.markdownDescription
If not set, the task will use the ID of the current execution.
If set, it will try to locate the execution on the current flow unless the `namespace` and `flowId` properties are set.

# definitions.io.kestra.plugin.core.log.Fetch.properties.flowId.title
Filter for a specific flow identifier in case `executionId` is set.

# definitions.io.kestra.plugin.core.log.Fetch.properties.level.title
The lowest log level that you want to fetch.

# definitions.io.kestra.plugin.core.log.Fetch.properties.namespace.title
Filter for a specific namespace in case `executionId` is set.

# definitions.io.kestra.plugin.core.log.Fetch.title
Fetch execution logs and store them in a file.

# definitions.io.kestra.plugin.core.log.Fetch.markdownDescription
This task is useful to automate moving logs between various systems and environments.##### Examples
> 
```yaml
level: INFO
executionId: "{{ trigger.executionId }}"
```

> 
```yaml
level: WARN
executionId: "{{ execution.id }}"
tasksId: 
  - "previous_task_id"
```

# definitions.io.kestra.plugin.core.log.Log.properties.level.title
The log level. If not specified, it defaults to `INFO`.

# definitions.io.kestra.plugin.core.log.Log.properties.message.title
One or more message(s) to be sent to the backend as logs.

# definitions.io.kestra.plugin.core.log.Log.properties.message.markdownDescription
It can be a string or an array of strings.

# definitions.io.kestra.plugin.core.log.Log.markdownDescription
##### Examples
> 
```yaml
level: DEBUG
message: "{{ task.id }} > {{ taskrun.startDate }}"
```

> Log one or more messages to the console.
```yaml
id: hello_world
namespace: company.team

tasks:
  - id: greeting
    type: io.kestra.plugin.core.log.Log
    message:
      - Kestra team wishes you a great day 👋
      - If you need some help, reach out via Slack
```

# definitions.io.kestra.plugin.core.log.PurgeLogs.properties.endDate.markdownDescription
All logs before this date will be purged.

# definitions.io.kestra.plugin.core.log.PurgeLogs.properties.flowId.markdownDescription
You need to provide the `namespace` properties if you want to purge a flow logs.

# definitions.io.kestra.plugin.core.log.PurgeLogs.properties.logLevels.markdownDescription
If not set, log for any levels will be purged.

# definitions.io.kestra.plugin.core.log.PurgeLogs.properties.namespace.title
Namespace whose logs need to be purged, or namespace of the logs that needs to be purged.

# definitions.io.kestra.plugin.core.log.PurgeLogs.properties.namespace.markdownDescription
If `flowId` isn't provided, this is a namespace prefix, else the namespace of the flow.

# definitions.io.kestra.plugin.core.log.PurgeLogs.properties.startDate.markdownDescription
All logs after this date will be purged.

# definitions.io.kestra.plugin.core.log.PurgeLogs.markdownDescription
This task can be used to purge flow execution and trigger logs for all flows, for a specific namespace, or for a specific flow.##### Examples
> Purge all logs that has been created more than one month ago.
```yaml
endDate: "{{ now() | dateAdd(-1, 'MONTHS') }}"
```

> Purge all logs that has been created more than one month ago, but keep error logs.
```yaml
endDate: "{{ now() | dateAdd(-1, 'MONTHS') }}"
logLevels:
  - TRACE
  - DEBUG
  - INFO
  - WARN
```

# definitions.io.kestra.plugin.core.namespace.DeleteFiles.properties.files.title
A file or a list of files from the given namespace.

# definitions.io.kestra.plugin.core.namespace.DeleteFiles.properties.files.markdownDescription
String or a list of strings; each string can either be a regex glob pattern or a file path URI.

# definitions.io.kestra.plugin.core.namespace.DeleteFiles.properties.namespace.title
The namespace from which the files should be deleted.

# definitions.io.kestra.plugin.core.namespace.DeleteFiles.title
Delete one or multiple files from your namespace files.

# definitions.io.kestra.plugin.core.namespace.DeleteFiles.markdownDescription
##### Examples
> Delete namespace files that match a specific regex glob pattern.
```yaml
id: delete_files
namespace: company.team
tasks:
  - id: delete
    type: io.kestra.plugin.core.namespace.DeleteFiles
    namespace: tutorial
    files:
      - "**.upl"

```

> Delete all namespace files from a specific namespace.
```yaml
id: delete_all_files
namespace: company.team
tasks:
  - id: delete
    type: io.kestra.plugin.core.namespace.DeleteFiles
    namespace: tutorial
    files:
      - "**"

```

# definitions.io.kestra.plugin.core.namespace.DownloadFiles.properties.destination.title
The folder where the downloaded files will be stored

# definitions.io.kestra.plugin.core.namespace.DownloadFiles.properties.files.title
A file or a list of files from the given namespace.

# definitions.io.kestra.plugin.core.namespace.DownloadFiles.properties.files.markdownDescription
String or a list of strings; each string can either be a regex glob pattern or a file path URI.

# definitions.io.kestra.plugin.core.namespace.DownloadFiles.properties.namespace.title
The namespace from which you want to download files.

# definitions.io.kestra.plugin.core.namespace.DownloadFiles.title
Download one or multiple files from your namespace files.

# definitions.io.kestra.plugin.core.namespace.DownloadFiles.markdownDescription
Use a regex glob pattern or a file path to download files from your namespace files. This can be useful to share code between projects and teams, which is located in different namespaces.##### Examples
> Download a namespace file.
```yaml
id: download_file
namespace: company.team
tasks:
  - id: download
    type: io.kestra.plugin.core.namespace.DownloadFiles
    namespace: tutorial
    files:
      - "**input.txt"

```

> Download all namespace files from a specific namespace.
```yaml
id: download_all_files
namespace: company.team
tasks:
  - id: download
    type: io.kestra.plugin.core.namespace.DownloadFiles
    namespace: tutorial
    files:
      - "**"

```

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.conflict.title
Which action to take when uploading a file that already exists.

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.conflict.markdownDescription
Can be one of the following options: OVERWRITE, ERROR or SKIP. Default is OVERWRITE.

Default value is : `OVERWRITE`

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.destination.markdownDescription
Required when providing a list of files.

Default value is : `/`

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.files.title
A list of Regex that match files in the current directory.

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.files.markdownDescription
This should be a list of Regex matching the [Apache Ant patterns](https://ant.apache.org/manual/dirtasks.html#patterns).It's primarily intended to be used with the `WorkingDirectory` task

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.filesMap.title
A map of key-value pairs where the key is the filename and the value is the URI of the file to upload.

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.filesMap.markdownDescription
This should be a map of URI, with the key being the filename that will be upload, and the key the URI.This one is intended to be used with output files of other tasks. Many Kestra tasks, incl. all Downloads tasks, output a map of files so that you can directly pass the output property to this task e.g. [outputFiles in the S3 Downloads task](https://kestra.io/plugins/plugin-aws/tasks/s3/io.kestra.plugin.aws.s3.downloads#outputfiles) or the [files in the Archive Decompress task](https://kestra.io/plugins/plugin-compress/tasks/io.kestra.plugin.compress.archivedecompress#files).

# definitions.io.kestra.plugin.core.namespace.UploadFiles.properties.namespace.title
The namespace to which the files will be uploaded.

# definitions.io.kestra.plugin.core.namespace.UploadFiles.title
Upload one or multiple files to a specific namespace.

# definitions.io.kestra.plugin.core.namespace.UploadFiles.markdownDescription
Use a regex glob pattern or a file path to upload files as Namespace Files. When using a map with the desired file name as key and file path as value, you can also rename or relocate files.##### Examples
> Upload files generated by a previous task using the `filesMap` property.
```yaml
id: upload_files_from_git
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.core.http.Download
    uri: https://github.com/kestra-io/scripts/archive/refs/heads/main.zip

  - id: unzip
    type: io.kestra.plugin.compress.ArchiveDecompress
    from: "{{ outputs.download.uri }}"
    algorithm: ZIP

  - id: upload
    type: io.kestra.plugin.core.namespace.UploadFiles
    filesMap: "{{ outputs.unzip.files }}"
    namespace: "{{ flow.namespace }}"

```

> Upload a folder using a glob pattern. Note that the Regex syntax requires a `glob` pattern inspired by [Apache Ant patterns](https://ant.apache.org/manual/dirtasks.html#patterns). Make sure that your pattern starts with `glob:`, followed by the pattern. For example, use `glob:**/dbt/**` to upload the entire `dbt` folder (with all files and subdirectories) regardless of that folder's location in the directory structure.
```yaml
id: upload_dbt_project
namespace: company.team

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: git_clone
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-example
        branch: master

      - id: upload
        type: io.kestra.plugin.core.namespace.UploadFiles
        files:
          - "glob:**/dbt/**"
        namespace: "{{ flow.namespace }}"

```

> Upload a specific file and rename it.
```yaml
id: upload_a_file
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.core.http.Download
    uri: https://github.com/kestra-io/scripts/archive/refs/heads/main.zip

  - id: unzip
    type: io.kestra.plugin.compress.ArchiveDecompress
    from: "{{ outputs.download.uri }}"
    algorithm: ZIP

  - id: upload
    type: io.kestra.plugin.core.namespace.UploadFiles
    filesMap:
      LICENCE: "{{ outputs.unzip.files['scripts-main/LICENSE'] }}"
    namespace: "{{ flow.namespace }}"

```

# definitions.io.kestra.plugin.core.output.OutputValues.markdownDescription
You can use this task to return some outputs and pass them to downstream tasks.
It's helpful for parsing and returning values from a task. You can then access these outputs in your downstream tasks
using the expression `{{ outputs.mytask_id.values.my_output_name }}` and you can see them in the Outputs tab.
##### Examples
> 
```yaml
id: outputs_flow
namespace: company.team

tasks:
  - id: output_values
    type: io.kestra.plugin.core.output.OutputValues
    values:
      taskrun_data: "{{ task.id }} > {{ taskrun.startDate }}"
      execution_data: "{{ flow.id }} > {{ execution.startDate }}"

  - id: log_values
    type: io.kestra.plugin.core.log.Log
    message: |
      Got the following outputs from the previous task:
      {{ outputs.output_values.values.taskrun_data }}
      {{ outputs.output_values.values.execution_data }}
```

# definitions.io.kestra.plugin.core.runner.Process.title
Task runner that executes a task as a subprocess on the Kestra host.

# definitions.io.kestra.plugin.core.runner.Process.markdownDescription
To access the task's working directory, use the `{{workingDir}}` Pebble expression or the `WORKING_DIR` environment variable. Input files and namespace files will be available in this directory.

To generate output files you can either use the `outputFiles` task's property and create a file with the same name in the task's working directory, or create any file in the output directory which can be accessed by the `{{outputDir}}` Pebble expression or the `OUTPUT_DIR` environment variables.

Note that:

- This task runner is independent of any Operating System. You can use it equally on Linux, Mac or Windows without any additional configuration.
- When the Kestra Worker running this task is shut down, the process will be interrupted and re-created as soon as the worker is restarted.##### Examples
> Execute a Shell command.
```yaml
id: new_shell
namespace: company.team

tasks:
  - id: shell
    type: io.kestra.plugin.scripts.shell.Commands
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    commands:
      - echo "Hello World"
```

> Install custom Python packages before executing a Python script. Note how we use the `--break-system-packages` flag to avoid conflicts with the system packages. Make sure to use this flag if you see errors similar to `error: externally-managed-environment`.
```yaml
id: before_commands_example
namespace: company.team

inputs:
  - id: url
    type: URI
    defaults: https://jsonplaceholder.typicode.com/todos/1

tasks:
  - id: transform
    type: io.kestra.plugin.scripts.python.Script
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    beforeCommands:
      - pip install kestra requests --break-system-packages
    script: |
      import requests
      from kestra import Kestra

      url = "{{ inputs.url }}"

      response = requests.get(url)
      print('Status Code:', response.status_code)
      Kestra.outputs(response.json())

```

> Pass input files to the task, execute a Shell command, then retrieve output files.
```yaml
id: new_shell_with_file
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: shell
    type: io.kestra.plugin.scripts.shell.Commands
    inputFiles:
      data.txt: "{{inputs.file}}"
    outputFiles:
      - out.txt
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    commands:
      - cp {{workingDir}}/data.txt {{workingDir}}/out.txt
```

# definitions.io.kestra.plugin.core.state.Delete.properties.errorOnMissing.title
Raise an error if the state is not found.

# definitions.io.kestra.plugin.core.state.Delete.properties.namespace.markdownDescription
By default, the state is isolated by namespace **and** flow, setting to `true` will allow to share the state between the **same** namespace

Default value is : `false`

# definitions.io.kestra.plugin.core.state.Delete.properties.taskrunValue.markdownDescription
By default, the state will be isolated with `taskrun.value` (during iteration with each). Setting to `false` will allow using the same state for every run of the iteration.

Default value is : `true`

# definitions.io.kestra.plugin.core.state.Delete.markdownDescription
##### Examples
> Delete the default state for the current flow.
```yaml
id: delete_state
type: io.kestra.plugin.core.state.Delete
```

> Delete the `myState` state for the current flow.
```yaml
id: delete_state
type: io.kestra.plugin.core.state.Delete
name: myState
```

# definitions.io.kestra.plugin.core.state.Get.properties.errorOnMissing.title
Raise an error if the state file is not found.

# definitions.io.kestra.plugin.core.state.Get.properties.namespace.markdownDescription
By default, the state is isolated by namespace **and** flow, setting to `true` will allow to share the state between the **same** namespace

Default value is : `false`

# definitions.io.kestra.plugin.core.state.Get.properties.taskrunValue.markdownDescription
By default, the state will be isolated with `taskrun.value` (during iteration with each). Setting to `false` will allow using the same state for every run of the iteration.

Default value is : `true`

# definitions.io.kestra.plugin.core.state.Get.markdownDescription
##### Examples
> Get the default state file for the current flow.
```yaml
id: get_state
type: io.kestra.plugin.core.state.Get
```

> Get the `myState` state for the current flow.
```yaml
id: get_state
type: io.kestra.plugin.core.state.Get
name: myState
```

# definitions.io.kestra.plugin.core.state.Set.properties.data.title
The data to be stored in the state store.

# definitions.io.kestra.plugin.core.state.Set.properties.namespace.markdownDescription
By default, the state is isolated by namespace **and** flow, setting to `true` will allow to share the state between the **same** namespace

Default value is : `false`

# definitions.io.kestra.plugin.core.state.Set.properties.taskrunValue.markdownDescription
By default, the state will be isolated with `taskrun.value` (during iteration with each). Setting to `false` will allow using the same state for every run of the iteration.

Default value is : `true`

# definitions.io.kestra.plugin.core.state.Set.markdownDescription
Values will be merged: 
* If you provide a new key, the new key will be added.
* If you provide an existing key, the previous key will be overwrite.

::alert{type="warning"}
This method is not concurrency safe. If many executions for the same flow are concurrent, there is no guarantee on isolation on the value.
The value can be overwritten by other executions.
::
##### Examples
> Set the default state for the current flow.
```yaml
id: set_state
type: io.kestra.plugin.core.state.Set
data:
  '{{ inputs.store }}': '{{ outputs.download.md5 }}'
```

> Set the `myState` state for the current flow.
```yaml
id: set_state
type: io.kestra.plugin.core.state.Set
name: myState
data:
  '{{ inputs.store }}': '{{ outputs.download.md5 }}'
```

# definitions.io.kestra.plugin.core.storage.Concat.properties.extension.title
The extension of the created file, default is .tmp.

# definitions.io.kestra.plugin.core.storage.Concat.properties.files.markdownDescription
Must be a `kestra://` storage URIs, can be a list of string or json string

# definitions.io.kestra.plugin.core.storage.Concat.properties.separator.title
The separator to used between files, default is no separator.

# definitions.io.kestra.plugin.core.storage.Concat.markdownDescription
##### Examples
> Concat 2 files with a custom separator.
```yaml
files: 
  - "kestra://long/url/file1.txt"
  - "kestra://long/url/file2.txt"
separator: "\n"
```

> Concat files generated by an each task.
```yaml
tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: start_api_call
        type: io.kestra.plugin.scripts.shell.Commands
        commands:
          - echo {{ taskrun.value }} > {{ temp.generated }}
        files:
          - generated
    value: '["value1", "value2", "value3"]'
  - id: concat
    type: io.kestra.plugin.core.storage.Concat
    files:
      - "{{ outputs.start_api_call.value1.files.generated }}"
      - "{{ outputs.start_api_call.value2.files.generated }}"
      - "{{ outputs.start_api_call.value3.files.generated }}"
```

> Concat a dynamic number of files.
```yaml
tasks:
  - id: echo
    type: io.kestra.plugin.scripts.shell.Commands
    commands:
      - echo "Hello John" > {{ outputDirs.output }}/1.txt
      - echo "Hello Jane" > {{ outputDirs.output }}/2.txt
      - echo "Hello Doe" > {{ outputDirs.output }}/3.txt
    outputDirs:
      - output
  - id: concat
    type: io.kestra.plugin.core.storage.Concat
    files: "{{ outputs.echo.files | jq('.[]') }}"
```

# definitions.io.kestra.plugin.core.storage.DeduplicateItems.properties.expr.title
The 'pebble' expression to be used for extracting the deduplication key from each item.

# definitions.io.kestra.plugin.core.storage.DeduplicateItems.properties.expr.markdownDescription
The 'pebble' expression can be used for constructing a composite key.

# definitions.io.kestra.plugin.core.storage.DeduplicateItems.properties.from.markdownDescription
Must be a `kestra://` internal storage URI.

# definitions.io.kestra.plugin.core.storage.DeduplicateItems.title
Deduplicate a file by retaining only the latest item for each extracted key.

# definitions.io.kestra.plugin.core.storage.DeduplicateItems.markdownDescription
The `Deduplicate` task involves reading the input file twice, rather than loading the entire file into memory.
The first iteration is used to build a deduplication map in memory containing the last lines observed for each key.
The second iteration is used to rewrite the file without the duplicates. The task must be used with this in mind.
##### Examples
> 
```yaml
tasks:
   - id: deduplicate
     type: io.kestra.plugin.core.storage.DeduplicateItems
     from: "{{ inputs.uri }}"
     expr: "{{ key }}"

```

# definitions.io.kestra.plugin.core.storage.Delete.properties.errorOnMissing.title
Raise an error if the file is not found.

# definitions.io.kestra.plugin.core.storage.Delete.title
Delete a file from the Kestra's internal storage.

# definitions.io.kestra.plugin.core.storage.Delete.markdownDescription
##### Examples
> 
```yaml
uri: "kestra://long/url/file.txt"
```

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.errorOrNullBehavior.title
Specifies the behavior when the expression fail to be evaluated on an item or return `null`.

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.errorOrNullBehavior.markdownDescription
Use `FAIL` to throw the exception and fail the task, `INCLUDE` to pass the item through, or `EXCLUDE` to drop the item.

Default value is : `FAIL`

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.filterCondition.title
The 'pebble' expression used to match items to be included or excluded.

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.filterCondition.markdownDescription
The 'pebble' expression should return a BOOLEAN value (i.e. `true` or `false`). Values `0`, `-0`, and `""` are interpreted as `false`. Otherwise, any non empty value will be interpreted as `true`.

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.filterType.title
Specifies the action to perform with items that match the `filterCondition` predicate

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.filterType.markdownDescription
Use `INCLUDE` to pass the item through, or `EXCLUDE` to drop the items.

Default value is : `INCLUDE`

# definitions.io.kestra.plugin.core.storage.FilterItems.properties.from.markdownDescription
Must be a `kestra://` internal storage URI.

# definitions.io.kestra.plugin.core.storage.FilterItems.title
Filter a file by retaining only the items that match a given expression.

# definitions.io.kestra.plugin.core.storage.FilterItems.markdownDescription
##### Examples
> 
```yaml
tasks:
   - id: filter
     type: io.kestra.plugin.core.storage.FilterItems
     from: "{{ inputs.file }}"
     filterCondition: " {{ value == null }}"
     filterType: EXCLUDE
     errorOrNullBehavior: EXCLUDE

```

# definitions.io.kestra.plugin.core.storage.LocalFiles.properties.inputs.title
The files to be created on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.core.storage.LocalFiles.properties.outputs.title
The files from the local filesystem to be sent to the Kestra's internal storage.

# definitions.io.kestra.plugin.core.storage.LocalFiles.properties.outputs.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.core.storage.LocalFiles.markdownDescription
This task was intended to be used along with the `WorkingDirectory` task to create temporary files. This task suffers from multiple limitations e.g. it cannot be skipped, so setting `disabled: true` will have no effect. Overall, the WorkingDirectory task is more flexible and should be used instead of this task. This task will be removed in a future version of Kestra.##### Examples
> Output local files created in a Python task and load them to S3.
```yaml
    id: outputs_from_python_task
    namespace: company.team

    tasks:
      - id: wdir
        type: io.kestra.plugin.core.flow.WorkingDirectory
        tasks:
          - id: clone_repository
            type: io.kestra.plugin.git.Clone
            url: https://github.com/kestra-io/examples
            branch: main

          - id: git_python_scripts
            type: io.kestra.plugin.scripts.python.Commands
            warningOnStdErr: false
            runner: DOCKER
            docker:
              image: ghcr.io/kestra-io/pydata:latest
            beforeCommands:
              - pip install faker > /dev/null
            commands:
              - python examples/scripts/etl_script.py
              - python examples/scripts/generate_orders.py

          - id: export_files
            type: io.kestra.plugin.core.storage.LocalFiles
            outputs:
              - orders.csv
              - "*.parquet"

      - id: load_csv_to_s3
        type: io.kestra.plugin.aws.s3.Upload
        accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
        secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
        region: eu-central-1
        bucket: kestraio
        key: stage/orders.csv
        from: "{{ outputs.export_files.outputFiles['orders.csv'] }}"
        disabled: true

```

> Create a local file that will be accessible to a bash task.
```yaml
id: "local_files"
namespace: "io.kestra.tests"

tasks:
  - id: working_dir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
    - id: input_files
      type: io.kestra.plugin.core.storage.LocalFiles
      inputs:
        hello.txt: "Hello World\n"
        address.json: "{{ outputs.my_task_id.uri }}"
    - id: bash
      type: io.kestra.plugin.scripts.shell.Commands
      commands:
        - cat hello.txt

```

> Send local files to Kestra's internal storage.
```yaml
id: "local_files"
namespace: "io.kestra.tests"

tasks:
  - id: working_dir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
    - id: bash
      type: io.kestra.plugin.scripts.shell.Commands
      commands:
        - mkdir -p sub/dir
        - echo "Hello from Bash" >> sub/dir/bash1.txt
        - echo "Hello from Bash" >> sub/dir/bash2.txt
    - id: output_files
      type: io.kestra.plugin.core.storage.LocalFiles
      outputs:
        - sub/**

```

# definitions.io.kestra.plugin.core.storage.PurgeCurrentExecutionFiles.title
Purge all files from Kestra's internal storage created by this execution.

# definitions.io.kestra.plugin.core.storage.PurgeCurrentExecutionFiles.markdownDescription
This will delete all the generated files from a flow for the current execution. This will delete all files from:
- inputs
- outputs
- triggers

If the current execution doesn't have any generated files, the task will not fail.##### Examples
> 
```yaml

```

# definitions.io.kestra.plugin.core.storage.Reverse.properties.separator.title
The separator used to join the file into chunks. By default, it's a newline `\n` character. If you are on Windows, you might want to use `\r\n` instead.

# definitions.io.kestra.plugin.core.storage.Reverse.title
Reserve a file from the Kestra's internal storage, last line first.

# definitions.io.kestra.plugin.core.storage.Reverse.markdownDescription
##### Examples
> 
```yaml
from: "kestra://long/url/file1.txt"
```

# definitions.io.kestra.plugin.core.storage.Size.properties.uri.title
The file whose size needs to be fetched.

# definitions.io.kestra.plugin.core.storage.Size.title
Get the size of a file from the Kestra's internal storage.

# definitions.io.kestra.plugin.core.storage.Size.markdownDescription
##### Examples
> 
```yaml
uri: "kestra://long/url/file.txt"
```

# definitions.io.kestra.plugin.core.storage.Split.properties.bytes.title
Split a large file into multiple chunks with a maximum file size of `bytes`.

# definitions.io.kestra.plugin.core.storage.Split.properties.bytes.markdownDescription
Can be provided as a string in the format "10MB" or "200KB", or the number of bytes. This allows you to process large files, slit them into smaller chunks by lines and process them in parallel. For example, MySQL by default limits the size of a query size to 16MB per query. Trying to use a bulk insert query with input data larger than 16MB will fail. Splitting the input data into smaller chunks is a common strategy to circumvent this limitation. By dividing a large data set into chunks smaller than the `max_allowed_packet` size (e.g., 10MB), you can insert the data in multiple smaller queries. This approach not only helps to avoid hitting the query size limit but can also be more efficient and manageable in terms of memory utilization, especially for very large datasets. In short, by splitting the file by bytes, you can bulk-insert smaller chunks of e.g. 10MB in parallel to avoid this limitation.

# definitions.io.kestra.plugin.core.storage.Split.properties.partitions.title
Split a file into a fixed number of partitioned files. For example, if you have a file with 1000 lines and you set `partitions` to 10, the file will be split into 10 files with 100 lines each.

# definitions.io.kestra.plugin.core.storage.Split.properties.rows.title
A number of rows per batch. The file will then be split into chunks with that maximum number of rows.

# definitions.io.kestra.plugin.core.storage.Split.properties.separator.title
The separator used to split a file into chunks. By default, it's a newline `\n` character. If you are on Windows, you might want to use `\r\n` instead.

# definitions.io.kestra.plugin.core.storage.Split.title
Split a file from the Kestra's internal storage into multiple files.

# definitions.io.kestra.plugin.core.storage.Split.markdownDescription
##### Examples
> Split a file by size.
```yaml
from: "kestra://long/url/file1.txt"
bytes: 10MB
```

> Split a file by rows count.
```yaml
from: "kestra://long/url/file1.txt"
rows: 1000
```

> Split a file in a defined number of partitions.
```yaml
from: "kestra://long/url/file1.txt"
partitions: 8
```

# definitions.io.kestra.plugin.core.templating.TemplatedTask.title
This task's `spec` property allows you to fully template all task properties using Kestra's Pebble templating. This way, all task properties and their values can be dynamically rendered based on your custom inputs, variables, and outputs from other tasks!

# definitions.io.kestra.plugin.core.templating.TemplatedTask.markdownDescription
##### Examples
> 
```yaml
spec: |
  type: io.kestra.plugin.fs.http.Download
  {{ task.property }}: {{ task.value }}
```

# definitions.io.kestra.plugin.core.trigger.Flow.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.core.trigger.Flow.properties.inputs.title
Fill input of this flow based on output of current flow.

# definitions.io.kestra.plugin.core.trigger.Flow.properties.inputs.markdownDescription
Fill input of this flow based on output of current flow, allowing to pass data or file to the triggered flow
::alert{type="warning"}
If you provide invalid input, the flow will not be created! Since there is no task started, you can't log any reason that's visible on the Execution UI.
So you will need to go to the Logs tabs on the UI to understand the error.
::

# definitions.io.kestra.plugin.core.trigger.Flow.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.core.trigger.Flow.properties.states.title
List of execution states that will be evaluated by the trigger

# definitions.io.kestra.plugin.core.trigger.Flow.properties.states.markdownDescription
By default, only executions in a terminal state will be evaluated.
If you use a condition of type `ExecutionStatusCondition` it will be evaluated after this list.
::alert{type="info"}
The trigger will be evaluated on each execution state change, this means that, for non-terminal state, they can be observed multiple times.
For example, if a flow has two `Pause` tasks, the execution will transition two times from PAUSED to RUNNING so these states will be observed two times.
::
::alert{type="warning"}
You cannot evaluate on the CREATED state.
::

Default value is : `- SUCCESS
- WARNING
- FAILED
- KILLED
- CANCELLED
- RETRIED`

Default value is : `- SUCCESS
- WARNING
- FAILED
- KILLED
- CANCELLED
- RETRIED`

# definitions.io.kestra.plugin.core.trigger.Flow.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.core.trigger.Flow.title
Trigger a flow in response to a state change in one or more other flows.

# definitions.io.kestra.plugin.core.trigger.Flow.markdownDescription
You can trigger a flow as soon as another flow ends. This allows you to add implicit dependencies between multiple flows, which can often be managed by different teams.
::alert{type="warning"}
If you don't provide any conditions, the flow will be triggered for **EVERY execution** of **EVERY flow** on your instance.
::##### Examples
> This flow will be triggered after each successful execution of flow `company.team.trigger_flow` and forward the `uri` of `my_task` taskId outputs.
```yaml
id: trigger_flow_listener
namespace: company.team

inputs:
  - id: from_parent
    type: STRING

tasks:
  - id: only_no_input
    type: io.kestra.plugin.core.debug.Return
    format: "v1: {{ trigger.executionId }}"

triggers:
  - id: listen_flow
    type: io.kestra.plugin.core.trigger.Flow
    inputs:
      from-parent: '{{ outputs.my_task.uri }}'
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionFlowCondition
        namespace: company.team
        flowId: trigger_flow
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - SUCCESS

```

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.backfill.markdownDescription
This property is deprecated and will be removed in the future. Instead, you can now go to the Triggers tab and start a highly customizable backfill process directly from the UI. This will allow you to backfill missed scheduled executions by providing a specific date range and custom labels. Read more about it in the [Backfill](https://kestra.io/docs/concepts/backfill) documentation.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.cron.markdownDescription
A standard [unix cron expression](https://en.wikipedia.org/wiki/Cron) with 5 fields (minutes precision). Using `withSeconds: true` you can switch to 6 fields and a seconds precision.
Can also be a cron extension / nickname:
* `@yearly`
* `@annually`
* `@monthly`
* `@weekly`
* `@daily`
* `@midnight`
* `@hourly`

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.inputs.title
The inputs to pass to the scheduled flow.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.lateMaximumDelay.markdownDescription
If the scheduled execution didn't start after this delay (e.g. due to infrastructure issues), the execution will be skipped.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.recoverMissedSchedules.markdownDescription
`ALL` will recover all missed schedules, `LAST`  will only recovered the last missing one, `NONE` will not recover any missing schedule.
The default is `ALL` unless a different value is configured using the global plugin configuration.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.scheduleConditions.title
(Deprecated) Conditions on date. Use `conditions` instead.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.scheduleConditions.markdownDescription
List of schedule conditions in order to limit the schedule trigger date.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.timezone.title
The [time zone identifier](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (i.e. the second column in [the Wikipedia table](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)) to use for evaluating the cron expression. Default value is the server default zone ID.

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.withSeconds.title
Whether the cron expression has seconds precision

# definitions.io.kestra.plugin.core.trigger.Schedule.properties.withSeconds.markdownDescription
By default, the cron expression has 5 fields, setting this property to true will allow a 6th fields for seconds precision.

Default value is : `false`

# definitions.io.kestra.plugin.core.trigger.Schedule.title
Schedule a flow based on a CRON expression.

# definitions.io.kestra.plugin.core.trigger.Schedule.markdownDescription
You can add multiple schedule(s) to a flow.
The scheduler keeps track of the last scheduled date, allowing you to easily backfill missed executions.
Keep in mind that if you change the trigger ID, the scheduler will consider this as a new schedule, and will start creating new scheduled executions from the current date.
By default, Schedules will use UTC. If you need a different timezone, use the `timezone` property to update it.##### Examples
> Schedule a flow every 15 minutes.
```yaml
id: scheduled_flow
namespace: company.team

tasks:
  - id: sleep_randomly
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - echo "{{ execution.startDate ?? trigger.date }}"
      - sleep $((RANDOM % 60 + 1))

triggers:
  - id: every_15_minutes
    type: io.kestra.plugin.core.trigger.Schedule
    cron: '*/15 * * * *'

```

> Schedule a flow every hour using the cron nickname `@hourly`.
```yaml
id: scheduled_flow
namespace: company.team

tasks:
  - id: log_hello_world
    type: io.kestra.plugin.core.log.Log
    message: Hello World! 🚀

triggers:
  - id: hourly
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "@hourly"

```

> Schedule a flow on the first Monday of the month at 11 AM.
```yaml
id: scheduled_flow
namespace: company.team

tasks:
  - id: log_hello_world
    type: io.kestra.plugin.core.log.Log
    message: Hello World! 🚀

triggers:
  - id: schedule
    cron: "0 11 * * 1"
    conditions:
      - type: io.kestra.plugin.core.condition.DayWeekInMonthCondition
        date: "{{ trigger.date }}"
        dayOfWeek: "MONDAY"
        dayInMonth: "FIRST"

```

> Schedule a flow every day at 9:00 AM and pause a schedule trigger after a failed execution using the `stopAfter` property.
```yaml
id: business_critical_flow
namespace: company.team

tasks:
  - id: important_task
    type: io.kestra.plugin.core.log.Log
    message: "if this run fails, disable the schedule until the issue is fixed"

triggers:
  - id: stop_after_failed
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "0 9 * * *"
    stopAfter:
      - FAILED
```

# definitions.io.kestra.plugin.core.trigger.ScheduleOnDates.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.core.trigger.ScheduleOnDates.properties.inputs.title
The inputs to pass to the scheduled flow.

# definitions.io.kestra.plugin.core.trigger.ScheduleOnDates.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.core.trigger.ScheduleOnDates.properties.recoverMissedSchedules.markdownDescription
`ALL` will recover all missed schedules, `LAST`  will only recovered the last missing one, `NONE` will not recover any missing schedule.
The default is `ALL` unless a different value is configured using the global plugin configuration.

# definitions.io.kestra.plugin.core.trigger.ScheduleOnDates.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.core.trigger.ScheduleOnDates.properties.timezone.title
The [time zone identifier](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (i.e. the second column in [the Wikipedia table](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)) to use for evaluating the cron expression. Default value is the server default zone ID.

# definitions.io.kestra.plugin.core.trigger.Toggle.properties.enabled.title
Whether to enable or disable the trigger.

# definitions.io.kestra.plugin.core.trigger.Toggle.properties.flowId.title
The flow identifier of the trigger to toggle.

# definitions.io.kestra.plugin.core.trigger.Toggle.properties.flowId.markdownDescription
If not set, the current flow identifier will be used.

# definitions.io.kestra.plugin.core.trigger.Toggle.properties.namespace.title
The namespace of the flow of the trigger to toggle.

# definitions.io.kestra.plugin.core.trigger.Toggle.properties.namespace.markdownDescription
If not set, the current flow namespace will be used.

# definitions.io.kestra.plugin.core.trigger.Toggle.properties.trigger.title
The identifier of the trigger to toggle.

# definitions.io.kestra.plugin.core.trigger.Toggle.markdownDescription
##### Examples
> Toggle a trigger on flow input.
```yaml
id: trigger_toggle
namespace: company.team

inputs:
  - id: toggle
    type: BOOLEAN
    defaults: true

tasks:
  - id: if
    type: io.kestra.plugin.core.flow.If
    condition: "{{inputs.toggle}}"
    then:
      - id: enable
        type: io.kestra.plugin.core.trigger.Toggle
        trigger: schedule
        enabled: true
    else:
      - id: disable
        type: io.kestra.plugin.core.trigger.Toggle
        trigger: schedule
        enabled: false
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: Hello World

triggers:
  - id: schedule
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "* * * * *"

```

# definitions.io.kestra.plugin.core.trigger.Webhook.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.core.trigger.Webhook.properties.key.title
The unique key that will be part of the URL.

# definitions.io.kestra.plugin.core.trigger.Webhook.properties.key.markdownDescription
The key is used for generating the URL of the webhook.

::alert{type="warning"}
Make sure to keep the webhook key secure. It's the only security mechanism to protect your endpoint from bad actors, and must be considered as a secret. You can use a random key generator to create the key.
::

# definitions.io.kestra.plugin.core.trigger.Webhook.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.core.trigger.Webhook.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.core.trigger.Webhook.markdownDescription
Webhook trigger allows you to create a unique URL that you can use to trigger a Kestra flow execution based on events in another application such as GitHub or Amazon EventBridge. In order to use that URL, you have to add a secret key that will secure your webhook URL.

The URL will then follow the following format: `https://{your_hostname}/api/v1/executions/webhook/{namespace}/{flowId}/{key}`. Replace the templated values according to your workflow setup.

The webhook URL accepts `GET`, `POST` and `PUT` requests.

You can access the request body and headers sent by another application using the following template variables:
- `{{ trigger.body }}`
- `{{ trigger.headers }}`.

The webhook response will be one of the following HTTP status codes:
- 404 if the namespace, flow or webhook key is not found.
- 200 if the webhook triggers an execution.
- 204 if the webhook cannot trigger an execution due to a lack of matching event conditions sent by other application.

A webhook trigger can have conditions but it doesn't support conditions of type `MultipleCondition`.##### Examples
> Add a webhook trigger to the current flow with the key `4wjtkzwVGBM9yKnjm3yv8r`, the webhook will be available at the URI `/api/v1/executions/webhook/{namespace}/{flowId}/4wjtkzwVGBM9yKnjm3yv8r`.
```yaml
id: webhook_flow
namespace: company.team

tasks:
  - id: log_hello_world
    type: io.kestra.plugin.core.log.Log
    message: Hello World! 🚀

triggers:
  - id: webhook
    type: io.kestra.plugin.core.trigger.Webhook
    key: 4wjtkzwVGBM9yKnjm3yv8r

```

> Add a trigger matching specific webhook event condition. The flow will be executed only if the condition is met.`.

```yaml
id: condition_based_webhook_flow
namespace: company.team

tasks:
  - id: log_hello_world
    type: io.kestra.plugin.core.log.Log
    message: Hello World! 🚀

triggers:
  - id: webhook
    type: io.kestra.plugin.core.trigger.Webhook
    key: 4wjtkzwVGBM9yKnjm3yv8r
    conditions:
      - type: io.kestra.plugin.core.condition.ExpressionCondition
        expression: "{{ trigger.body.hello == 'world' }}"

```

# definitions.io.kestra.plugin.couchbase.Query.properties.connectionString.title
Connection string used to locate the Couchbase cluster.

# definitions.io.kestra.plugin.couchbase.Query.properties.fetchType.title
The way you want to fetch and/or store the data.

# definitions.io.kestra.plugin.couchbase.Query.properties.fetchType.markdownDescription
FETCH_ONE - output just the first row.
FETCH - output all the rows.
STORE - store all the rows in a file.
NONE - do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.couchbase.Query.properties.parameters.title
Query parameters, can be positional or named parameters.

# definitions.io.kestra.plugin.couchbase.Query.properties.parameters.markdownDescription
See Couchbase documentation about Prepared Statements for query syntax. This should be supplied with a parameter map if using named parameters, or an array for positional ones.

# definitions.io.kestra.plugin.couchbase.Query.properties.query.title
N1QL query to execute on Couchbase database.

# definitions.io.kestra.plugin.couchbase.Query.markdownDescription
##### Examples
> Send a N1QL query to a Couchbase database.
```yaml
connectionString: couchbase://localhost
username: couchbase_user
password: couchbase_passwd
query: SELECT * FROM `COUCHBASE_BUCKET`(.`COUCHBASE_SCOPE`.`COUCHBASE_COLLECTION`)
fetchType: FETCH
```

# definitions.io.kestra.plugin.couchbase.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.connectionString.title
Connection string used to locate the Couchbase cluster.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.fetchType.title
The way you want to fetch and/or store the data.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output just the first row.
FETCH - output all the rows.
STORE - store all the rows in a file.
NONE - do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.couchbase.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.couchbase.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.parameters.title
Query parameters, can be positional or named parameters.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.parameters.markdownDescription
See Couchbase documentation about Prepared Statements for query syntax. This should be supplied with a parameter map if using named parameters, or an array for positional ones.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.query.title
N1QL query to execute on Couchbase database.

# definitions.io.kestra.plugin.couchbase.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.couchbase.Trigger.title
Query a Couchbase database on regular intervals, and trigger flow on results.

# definitions.io.kestra.plugin.couchbase.Trigger.markdownDescription
##### Examples
> Wait for a N1QL query to return results, and then iterate through rows.
```yaml
id: couchbase-trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.couchbase.Trigger
    interval: "PT5M"
    connectionString: couchbase://localhost
    username: couchbase_user
    password: couchbase_passwd
    query: SELECT * FROM `COUCHBASE_BUCKET`(.`COUCHBASE_SCOPE`.`COUCHBASE_COLLECTION`)
    fetchType: FETCH
```

# definitions.io.kestra.plugin.crypto.openpgp.Decrypt.properties.privateKey.markdownDescription
Must be an ascii key export with `gpg --export-secret-key -a`

# definitions.io.kestra.plugin.crypto.openpgp.Decrypt.properties.privateKeyPassphrase.title
The passphrase use to unlock the secret ring

# definitions.io.kestra.plugin.crypto.openpgp.Decrypt.properties.requiredSignerUsers.title
The list of recipients the file will be generated.

# definitions.io.kestra.plugin.crypto.openpgp.Decrypt.properties.signUsersKey.markdownDescription
Must be an ascii key export with `gpg --export -a`

# definitions.io.kestra.plugin.crypto.openpgp.Decrypt.markdownDescription
##### Examples
> Decrypt a file
```yaml
id: crypto_decrypt
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: decrypt
    type: io.kestra.plugin.crypto.openpgp.Decrypt
    from: "{{ inputs.file }}"
    privateKey: |
      -----BEGIN PGP PRIVATE KEY BLOCK-----
    privateKeyPassphrase: my-passphrase

```

> Decrypt a file and verify signature
```yaml
id: crypto_decrypt
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: decrypt
    type: io.kestra.plugin.crypto.openpgp.Decrypt
    from: "{{ inputs.file }}"
    privateKey: |
      -----BEGIN PGP PRIVATE KEY BLOCK-----
    privateKeyPassphrase: my-passphrase
    signUsersKey:
      - |
        -----BEGIN PGP PRIVATE KEY BLOCK-----
    requiredSignerUsers:
      - signer@kestra.io

```

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.properties.key.markdownDescription
Must be an ascii key export with `gpg --export -a`

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.properties.recipients.title
The list of recipients the file will be generated.

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.properties.signPassphrase.title
The passphrase use to unlock the secret ring

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.properties.signPrivateKey.markdownDescription
Must be an ascii key export with `gpg --export -a`

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.properties.signPublicKey.markdownDescription
Must be an ascii key export with `gpg --export -a`

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.properties.signUser.markdownDescription
If you want to sign the file, you need to provide a `privateKey`

# definitions.io.kestra.plugin.crypto.openpgp.Encrypt.markdownDescription
##### Examples
> Encrypt a file not signed
```yaml
id: crypto_encrypt
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: encrypt
    type: io.kestra.plugin.crypto.openpgp.Encrypt
    from: "{{ inputs.file }}"
    key: |
      -----BEGIN PGP PUBLIC KEY BLOCK----- ...
    recipients:
      - hello@kestra.io

```

> Encrypt a file signed
```yaml
id: crypto_encrypt
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: encrypt
    type: io.kestra.plugin.crypto.openpgp.Encrypt
    from: "{{ inputs.file }}"
    key: |
      -----BEGIN PGP PUBLIC KEY BLOCK----- ...
    recipients:
      - hello@kestra.io
    signPublicKey: |
      -----BEGIN PGP PUBLIC KEY BLOCK----- ...
    signPrivateKey: |
      -----BEGIN PGP PRIVATE KEY BLOCK-----
    signPassphrase: my-passphrase
    signUser: signer@kestra.io

```

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.authentication.allOf[].markdownDescription
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider.
All configuration options can also be set using the standard Databricks environment variables.
Check the [Databricks authentication guide](https://docs.databricks.com/dev-tools/auth.html) for more information.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.autoTerminationMinutes.title
If set, the cluster will be terminated automatically after this time period.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.configFile.title
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.maxWorkers.markdownDescription
Use this property along with `minWorkers` to use autoscaling. Otherwise, set a fixed number of workers using `numWorkers`.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.minWorkers.markdownDescription
Use this property along with `maxWorkers` for autoscaling. Otherwise, set a fixed number of workers using `numWorkers`.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.nodeTypeId.title
The type of node, the value depends on the cloud provider.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.properties.numWorkers.markdownDescription
You must set this property unless you use the `minWorkers` and `maxWorkers` properties for autoscaling.

# definitions.io.kestra.plugin.databricks.cluster.CreateCluster.markdownDescription
##### Examples
> Create a Databricks cluster with one worker.
```yaml
id: databricks_create_cluster
namespace: company.team

tasks:
  - id: create_cluster
    type: io.kestra.plugin.databricks.cluster.CreateCluster
    authentication:
      token: <your-token>
    host: <your-host>
    clusterName: kestra-demo
    nodeTypeId: n2-highmem-4
    numWorkers: 1
    sparkVersion: 13.0.x-scala2.12

```

# definitions.io.kestra.plugin.databricks.cluster.DeleteCluster.properties.authentication.allOf[].markdownDescription
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider.
All configuration options can also be set using the standard Databricks environment variables.
Check the [Databricks authentication guide](https://docs.databricks.com/dev-tools/auth.html) for more information.

# definitions.io.kestra.plugin.databricks.cluster.DeleteCluster.properties.configFile.title
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one.

# definitions.io.kestra.plugin.databricks.cluster.DeleteCluster.markdownDescription
##### Examples
> Delete a Databricks cluster.
```yaml
id: databricks_delete_cluster
namespace: company.team

tasks:
  - id: delete_cluster
    type: io.kestra.plugin.databricks.cluster.DeleteCluster
    authentication:
      token: <your-token>
    host: <your-host>
    clusterId: <your-cluster>

```

# definitions.io.kestra.plugin.databricks.dbfs.Download.properties.authentication.allOf[].markdownDescription
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider.
All configuration options can also be set using the standard Databricks environment variables.
Check the [Databricks authentication guide](https://docs.databricks.com/dev-tools/auth.html) for more information.

# definitions.io.kestra.plugin.databricks.dbfs.Download.properties.configFile.title
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one.

# definitions.io.kestra.plugin.databricks.dbfs.Download.title
Download a file from Databricks File System.

# definitions.io.kestra.plugin.databricks.dbfs.Download.markdownDescription
The file can be of any size. The task will download the file in chunks of 1MB.##### Examples
> Download a file from the Databricks File System.
```yaml
id: databricks_dbfs_download
namespace: company.team

tasks:
  - id: download_file
    type: io.kestra.plugin.databricks.dbfs.Download
    authentication:
      token: <your-token>
    host: <your-host>
    from: /Share/myFile.txt

```

# definitions.io.kestra.plugin.databricks.dbfs.Upload.properties.authentication.allOf[].markdownDescription
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider.
All configuration options can also be set using the standard Databricks environment variables.
Check the [Databricks authentication guide](https://docs.databricks.com/dev-tools/auth.html) for more information.

# definitions.io.kestra.plugin.databricks.dbfs.Upload.properties.configFile.title
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one.

# definitions.io.kestra.plugin.databricks.dbfs.Upload.properties.from.markdownDescription
Must be a file from Kestra internal storage.

# definitions.io.kestra.plugin.databricks.dbfs.Upload.title
Upload a file to the Databricks File System.

# definitions.io.kestra.plugin.databricks.dbfs.Upload.markdownDescription
The file can be of any size. The task will upload the file in chunks of 1MB.##### Examples
> Upload a file to the Databricks File System.
```yaml
id: databricks_dbfs_upload
namespace: company.team

inputs:
  - id: file
    type: FILE
    description: File to be uploaded to DBFS

tasks:
  - id: upload_file
    type: io.kestra.plugin.databricks.dbfs.Upload
    authentication:
      token: <your-token>
    host: <your-host>
    from: "{{ inputs.file }}"
    to: /Share/myFile.txt

```

# definitions.io.kestra.plugin.databricks.job.CreateJob.properties.authentication.allOf[].markdownDescription
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider.
All configuration options can also be set using the standard Databricks environment variables.
Check the [Databricks authentication guide](https://docs.databricks.com/dev-tools/auth.html) for more information.

# definitions.io.kestra.plugin.databricks.job.CreateJob.properties.configFile.title
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one.

# definitions.io.kestra.plugin.databricks.job.CreateJob.properties.jobTasks.title
The job tasks, if multiple tasks are defined you must set `dependsOn` on each task.

# definitions.io.kestra.plugin.databricks.job.CreateJob.properties.waitForCompletion.title
If set, the task will wait for the job run completion for up to the `waitForCompletion` duration before timing out.

# definitions.io.kestra.plugin.databricks.job.CreateJob.title
Create a Databricks job and run it. Set `waitForCompletion` to the desired maximum duration if you want the task to wait for the job completion (e.g., `PT1H` to wait up to one hour).

# definitions.io.kestra.plugin.databricks.job.CreateJob.markdownDescription
##### Examples
> Create a Databricks job, run it, and wait for completion for five minutes.
```yaml
id: databricks_job_create
namespace: company.team

tasks:
  - id: create_job
    type: io.kestra.plugin.databricks.job.CreateJob
    authentication:
      token: <your-token>
    host: <your-host>
    jobTasks:
      - existingClusterId: <your-cluster>
        taskKey: taskKey
        sparkPythonTask:
          pythonFile: /Shared/hello.py
          sparkPythonTaskSource: WORKSPACE
    waitForCompletion: PT5M

```

# definitions.io.kestra.plugin.databricks.job.CreateJob-JobTaskSetting.properties.dependsOn.title
Task dependencies, set this if multiple tasks are defined on the job.

# definitions.io.kestra.plugin.databricks.job.SubmitRun.properties.authentication.allOf[].markdownDescription
This property allows to configure the authentication to Databricks, different properties should be set depending on the type of authentication and the cloud provider.
All configuration options can also be set using the standard Databricks environment variables.
Check the [Databricks authentication guide](https://docs.databricks.com/dev-tools/auth.html) for more information.

# definitions.io.kestra.plugin.databricks.job.SubmitRun.properties.configFile.title
Databricks configuration file, use this if you don't want to configure each Databricks account properties one by one.

# definitions.io.kestra.plugin.databricks.job.SubmitRun.properties.runTasks.title
The run tasks, if multiple tasks are defined you must set `dependsOn` on each task.

# definitions.io.kestra.plugin.databricks.job.SubmitRun.properties.waitForCompletion.title
If set, the task will wait for the run completion.

# definitions.io.kestra.plugin.databricks.job.SubmitRun.title
Submit a Databricks run. Optionally, set `waitForCompletion` to a desired maximum duration to wait for the run completion.

# definitions.io.kestra.plugin.databricks.job.SubmitRun.markdownDescription
##### Examples
> Submit a Databricks run and wait up to 5 minutes for its completion.
```yaml
id: databricks_job_submit_run
namespace: company.team

tasks:
  - id: submit_run
    type: io.kestra.plugin.databricks.job.SubmitRun
    authentication:
      token: <your-token>
    host: <your-host>
    runTasks:
      - existingClusterId: <your-cluster>
        taskKey: taskKey
        sparkPythonTask:
          pythonFile: /Shared/hello.py
          sparkPythonTaskSource: WORKSPACE
    waitForCompletion: PT5M

```

# definitions.io.kestra.plugin.databricks.job.SubmitRun-RunSubmitTaskSetting.properties.dependsOn.title
Task dependencies, set this if multiple tasks are defined on the run.

# definitions.io.kestra.plugin.databricks.job.task.NotebookTaskSetting.properties.baseParameters.markdownDescription
Can be a map of string/string or a variable that binds to a JSON object.

# definitions.io.kestra.plugin.databricks.job.task.PythonWheelTaskSetting.properties.namedParameters.markdownDescription
Can be a map of string/string or a variable that binds to a JSON object.

# definitions.io.kestra.plugin.databricks.job.task.PythonWheelTaskSetting.properties.parameters.markdownDescription
Can be a list of strings or a variable that binds to a JSON array of strings.

# definitions.io.kestra.plugin.databricks.job.task.SparkJarTaskSetting.properties.parameters.markdownDescription
Can be a list of strings or a variable that binds to a JSON array of strings.

# definitions.io.kestra.plugin.databricks.job.task.SparkPythonTaskSetting.properties.parameters.markdownDescription
Can be a list of strings or a variable that binds to a JSON array of strings.

# definitions.io.kestra.plugin.databricks.job.task.SparkSubmitTaskSetting.properties.parameters.markdownDescription
Can be a list of strings or a variable that binds to a JSON array of strings.

# definitions.io.kestra.plugin.databricks.job.task.SqlTaskSetting.properties.parameters.markdownDescription
Can be a map of string/string or a variable that binds to a JSON object.

# definitions.io.kestra.plugin.databricks.sql.Query.properties.httpPath.markdownDescription
To retrieve the HTTP Path, go to your Databricks cluster, click on Advanced options then, click on JDBC/ODBC. See [Retrieve the connection details](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#get-server-hostname-port-http-path-and-jdbc-url) for more details.

# definitions.io.kestra.plugin.databricks.sql.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker default zone id.

# definitions.io.kestra.plugin.databricks.sql.Query.title
Execute a SQL query on a Databricks cluster.

# definitions.io.kestra.plugin.databricks.sql.Query.markdownDescription
See [Retrieve the connection details](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#retrieve-the-connection-details) in the Databricks documentation to discover how to retrieve the needed configuration properties.
We're using the Databricks JDBC driver to execute a Query, see [https://docs.databricks.com/integrations/jdbc-odbc-bi.html#jdbc-driver-capabilities](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#jdbc-driver-capabilities) for its capabilities.

Due to current limitation of the JDBC driver with Java 21, Arrow is disabled, performance may be impacted, see [here](https://community.databricks.com/t5/data-engineering/what-s-the-eta-for-supporting-java-21-in-the-jdbc-driver/td-p/57370) and [here](https://community.databricks.com/t5/data-engineering/java-21-support-with-databricks-jdbc-driver/m-p/49297) from Databricks status on Java 21 support.
##### Examples
> 
```yaml
id: databricks_sql_query
namespace: company.team

tasks:
  - id: sql_query
    type: io.kestra.plugin.databricks.sql.Query
    accessToken: <your-accessToken>
    host: <your-host>
    httpPath: <your-httpPath>
    sql: SELECT 1

```

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.beforeCommands.title
The commands to run before main list of commands

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.containerImage.markdownDescription
Default value is : `dataformco/dataform:latest`

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.dataform.cli.DataformCLI.markdownDescription
##### Examples
> Compile and run a Dataform project from Git
```yaml
id: dataform
namespace: company.team
tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repo
        type: io.kestra.plugin.git.Clone
        url: https://github.com/dataform-co/dataform-example-project-bigquery

      - id: transform
        type: io.kestra.plugin.dataform.cli.DataformCLI
        beforeCommands:
          - dataform compile
        commands:
          - dataform run --dry-run

```

# definitions.io.kestra.plugin.dbt.cli.Build.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Build.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Build.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Build.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Build.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Build.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Build.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Build.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Build.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Build.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Build.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Build.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Build.markdownDescription
##### Examples
> Invoke dbt `build` command.
```yaml
id: dbt_build
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_build
        type: io.kestra.plugin.dbt.cli.Build
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Compile.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Compile.markdownDescription
##### Examples
> Invoke dbt `compile` command.
```yaml
id: dbt_compile
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_compile
        type: io.kestra.plugin.dbt.cli.Compile
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.profiles.markdownDescription
If a `profile.yml` file already exists in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.projectDir.title
The dbt project directory, if it's not the working directory.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.projectDir.markdownDescription
To use it, also use this directory in the `--project-dir` flag on the dbt CLI commands.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.dbt.cli.DbtCLI.markdownDescription
##### Examples
> Launch a `dbt build` command on a sample dbt project hosted on GitHub.
```yaml
id: dbt_build
namespace: company.team

tasks:
  - id: dbt
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: cloneRepository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-example
        branch: main

      - id: dbt-build
        type: io.kestra.plugin.dbt.cli.DbtCLI
        containerImage: ghcr.io/kestra-io/dbt-duckdb:latest
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        commands:
          - dbt build
        profiles: |
          my_dbt_project:
            outputs:
              dev:
                type: duckdb
                path: ":memory:"
            target: dev
```

> Install a custom dbt version and run `dbt deps` and `dbt build` commands. Note how you can also configure the memory limit for the Docker runner. This is useful when you see Zombie processes.
```yaml
id: dbt_custom_dependencies
namespace: company.team

inputs:
  - id: dbt_version
    type: STRING
    defaults: "dbt-duckdb==1.6.0"

tasks:
  - id: git
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-example
        branch: main

      - id: dbt
        type: io.kestra.plugin.dbt.cli.DbtCLI
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
          memory:
            memory: 1GB
        containerImage: python:3.11-slim
        beforeCommands:
          - pip install uv
          - uv venv --quiet
          - . .venv/bin/activate --quiet
          - uv pip install --quiet {{ inputs.dbt_version }}
        commands:
          - dbt deps
          - dbt build
        profiles: |
          my_dbt_project:
            outputs:
              dev:
                type: duckdb
                path: ":memory:"
                fixed_retries: 1
                threads: 16
                timeout_seconds: 300
            target: dev
```

> Clone a [Git repository](https://github.com/kestra-io/dbt-example) and build dbt models. Note that, as the dbt project files are in a separate directory, you need to set the `projectDir` task property and use `--project-dir` in each dbt CLI command.
```yaml
id: dwh_and_analytics
namespace: company.team

tasks:
  - id: dbt
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
    - id: clone_repository
      type: io.kestra.plugin.git.Clone
      url: https://github.com/kestra-io/dbt-example
      branch: master

    - id: dbt_build
      type: io.kestra.plugin.dbt.cli.DbtCLI
      taskRunner:
        type: io.kestra.plugin.scripts.runner.docker.Docker
      containerImage: ghcr.io/kestra-io/dbt-duckdb:latest
      commands:
        - dbt deps --project-dir dbt --target prod
        - dbt build --project-dir dbt --target prod
      projectDir: dbt
      profiles: |
        my_dbt_project:
          outputs:
            dev:
              type: duckdb
              path: dbt.duckdb
              extensions:
                - parquet
              fixed_retries: 1
              threads: 16
              timeout_seconds: 300
            prod:
              type: duckdb
              path: dbt2.duckdb
              extensions: 
                - parquet
              fixed_retries: 1
              threads: 16
              timeout_seconds: 300
          target: dev
```

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Deps.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Deps.markdownDescription
##### Examples
> Invoke dbt `deps` command
```yaml
id: dbt_deps
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_deps
        type: io.kestra.plugin.dbt.cli.Deps
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Freshness.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Freshness.markdownDescription
##### Examples
> Invoke dbt `source freshness` command.
```yaml
id: dbt_freshness
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_freshness
        type: io.kestra.plugin.dbt.cli.Freshness
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.List.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.List.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.List.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.List.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.List.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.List.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.List.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.List.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.List.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.List.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.List.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.List.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.List.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.List.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.List.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.List.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.List.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.List.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.List.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.List.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.List.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.List.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.List.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.List.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.List.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.List.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.List.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.List.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.List.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.List.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.List.markdownDescription
##### Examples
> Invoke dbt `list` command.
```yaml
id: dbt_list
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_list
        type: io.kestra.plugin.dbt.cli.List
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.Run.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Run.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Run.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Run.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Run.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Run.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Run.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Run.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Run.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Run.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Run.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Run.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Run.markdownDescription
##### Examples
> Invoke dbt `run` command.
```yaml
id: dbt_run
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_run
        type: io.kestra.plugin.dbt.cli.Run
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Seed.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Seed.markdownDescription
##### Examples
> Invoke dbt `seed` command.
```yaml
id: dbt_seed
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_seed
        type: io.kestra.plugin.dbt.cli.Seed
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.exitOnFailed.oneOf[].markdownDescription
This tells bash that it should exit the script if any statement returns a non-true return value. 
The benefit of using -e is that it prevents errors snowballing into serious issues when they could have been caught earlier. This option is deprecated. Use `failFast` instead.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.exitOnFailed.oneOf[].markdownDescription
This tells bash that it should exit the script if any statement returns a non-true return value. 
The benefit of using -e is that it prevents errors snowballing into serious issues when they could have been caught earlier. This option is deprecated. Use `failFast` instead.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.inputFiles.title
Input files are extra files that will be available in the dbt working directory.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.inputFiles.markdownDescription
You can define the files as map or a JSON string. Each file can be defined inlined or can reference a file from Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.profiles.title
The `profiles.yml` file content. Can be an object (a map) or a string.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.pythonPath.markdownDescription
Set the python interpreter path to use.

Default value is : `python`

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.requirements.title
List of python dependencies to add to the python execution process.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.requirements.markdownDescription
Python dependencies list to setup in the virtualenv, in the same format than requirements.txt. It must at least provides dbt.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.dbt.cli.Setup.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.dbt.cli.Setup.markdownDescription
Use it to install dbt requirements locally in a Python virtualenv if you don't want to use dbt via Docker.
In this case, you need to use a `WorkingDirectory` task and this `Setup` task to setup dbt prior to using any of the dbt tasks.##### Examples
> Setup dbt by installing pip dependencies in a Python virtualenv and initializing the profile directory.
```yaml
id: dbt_setup
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_setup
        type: io.kestra.plugin.dbt.cli.Setup
        requirements:
          - dbt-duckdb
        profiles:
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

      - id: dbt_build
        type: io.kestra.plugin.dbt.cli.Build

```

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Snapshot.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Snapshot.markdownDescription
##### Examples
> Invoke dbt `snapshot` command.
```yaml
id: dbt_snapshot
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-demo
        branch: main

      - id: dbt_snapshot
        type: io.kestra.plugin.dbt.cli.Snapshot
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          jaffle_shop:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
                extensions:
                  - parquet
            target: dev

```

# definitions.io.kestra.plugin.dbt.cli.Test.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/dbt`

# definitions.io.kestra.plugin.dbt.cli.Test.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Test.properties.debug.oneOf[].title
Display debug logging during dbt execution.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.debug.oneOf[].markdownDescription
Useful for debugging and making bug reports.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Test.properties.dockerOptions.oneOf[].allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Test.properties.dockerOptions.oneOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.dbt.cli.Test.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.fullRefresh.oneOf[].title
Whether dbt will drop incremental models and fully-recalculate the incremental table from the model definition.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Test.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cli.Test.properties.profiles.markdownDescription
If a `profile.yml` file already exist in the current working directory, it will be overridden.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.projectDir.title
Which directory to look in for the dbt_project.yml file.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.projectDir.markdownDescription
Default is the current working directory and its parents.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.selector.title
The selector name to use, as defined in selectors.yml

# definitions.io.kestra.plugin.dbt.cli.Test.properties.target.title
Which target to load for the given profile

# definitions.io.kestra.plugin.dbt.cli.Test.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.
If you change from the default one, be careful to also configure the entrypoint to an empty list if needed.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.thread.oneOf[].title
Specify the number of threads to use while executing models.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Test.properties.warnError.oneOf[].title
When dbt would normally warn, raise an exception.

# definitions.io.kestra.plugin.dbt.cli.Test.properties.warnError.oneOf[].markdownDescription
Examples include --models that selects nothing, deprecations, configurations with no associated models, invalid test configurations, and missing sources/refs in tests.

Default value is : `"false"`

# definitions.io.kestra.plugin.dbt.cli.Test.markdownDescription
##### Examples
> Invoke dbt `test` command.
```yaml
id: dbt_test
namespace: company.team

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/dbt-example
        branch: main

      - id: dbt_test
        type: io.kestra.plugin.dbt.cli.Test
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        dbtPath: /usr/local/bin/dbt
        containerImage: ghcr.io/kestra-io/dbt-duckdb
        profiles: |
          my_dbt_project:
            outputs:
              dev:
                type: duckdb
                path: ':memory:'
            target: dev

```

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.baseUrl.markdownDescription
Default value is : `https://cloud.getdbt.com`

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.maxDuration.oneOf[].title
The maximum duration the task should poll for the job completion.

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.maxDuration.oneOf[].title
The maximum duration the task should poll for the job completion.

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.parseRunResults.oneOf[].markdownDescription
Whether to parse the run result to display the duration of each dbt node in the Gantt view.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.parseRunResults.oneOf[].markdownDescription
Whether to parse the run result to display the duration of each dbt node in the Gantt view.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.pollFrequency.oneOf[].title
Specify how often the task should poll for the job status.

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.properties.pollFrequency.oneOf[].title
Specify how often the task should poll for the job status.

# definitions.io.kestra.plugin.dbt.cloud.CheckStatus.markdownDescription
##### Examples
> 
```yaml
id: dbt_check_status
namespace: company.team

tasks:
  - id: check_status
    type: io.kestra.plugin.dbt.cloud.CheckStatus
    accountId: "dbt_account"
    token: "dbt_token"
    runId: "run_id"

```

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.baseUrl.markdownDescription
Default value is : `https://cloud.getdbt.com`

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.cause.title
A text description of the reason for running this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.cause.markdownDescription
Default value is : `Triggered by Kestra.`

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.dbtVersionOverride.title
Override the version of dbt used to run this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.generateDocsOverride.oneOf[].title
Override whether or not this job generates docs.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.generateDocsOverride.oneOf[].title
Override whether or not this job generates docs.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.gitBranch.title
The git branch to check out before running this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.gitSha.title
The git SHA to check out before running this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.parseRunResults.oneOf[].markdownDescription
Parsing run result to display duration of each task inside dbt.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.pollFrequency.oneOf[].title
Specify frequency for job state check API calls.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.pollFrequency.oneOf[].title
Specify frequency for job state check API calls.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.schemaOverride.title
Override the destination schema in the configured target for this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.stepsOverride.title
Override the list of steps for this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.targetNameOverride.title
Override the target.name context variable used when running this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.threadsOverride.title
Override the number of threads used to run this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.timeoutSecondsOverride.oneOf[].title
Override the timeout in seconds for this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.timeoutSecondsOverride.oneOf[].title
Override the timeout in seconds for this job.

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.wait.oneOf[].markdownDescription
Allowing to capture job status & logs.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.properties.wait.oneOf[].markdownDescription
Allowing to capture job status & logs.

Default value is : `"true"`

# definitions.io.kestra.plugin.dbt.cloud.TriggerRun.markdownDescription
Use this task to kick off a run for a job. When this endpoint returns a successful response, a new run will be enqueued for the account. If you activate the `wait` option, it will wait for the job to be ended and will display all the log and dynamic tasks.##### Examples
> 
```yaml
id: dbt_trigger_job_run
namespace: company.team

tasks:
  - id: trigger_run
    type: io.kestra.plugin.dbt.cloud.TriggerRun
    accountId: "dbt_account"
    token: "dbt_token"
    jobId: "job_id"

```

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.database.title
The name of the DB2 database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.snapshotMode.markdownDescription
 Possible settings are:
- `ALWAYS`: The connector performs a snapshot every time that it starts.
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: After the connector starts, it performs a snapshot only if it detects one of the following circumstances: 1. It cannot detect any topic offsets. 2. A previously recorded offset specifies a log position that is not available on the server.
- `NO_DATA`: The connector captures the structure of all relevant tables, performing all the steps described in the INITIAL, except that it does not create READ events to represent the data set at the point of the connector’s start-up.
- `RECOVERY`: Set this option to restore a database schema history topic that is lost or corrupted. After a restart, the connector runs a snapshot that rebuilds the topic from the source tables.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.db2.Capture.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.db2.Capture.title
Wait for change data capture event on Db2 server.

# definitions.io.kestra.plugin.debezium.db2.Capture.markdownDescription
##### Examples
> 
```yaml
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "50000"
username: db2inst1
password: my_password
database: my_database
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.database.title
The name of the DB2 database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.offsetsCommitMode.title
How to commit the offsets to the KV Store.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.offsetsCommitMode.markdownDescription
Possible values are:
- ON_EACH_BATCH: after each batch of records consumed by this trigger, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.
- ON_STOP: when this trigger is stopped or killed, the offsets will be stored in the KV Store. This avoid any un-necessary writes to the KV Store, but if the trigger is not stopped gracefully, the KV Store value may not be updated leading to duplicated records consumption.

Default value is : `ON_EACH_BATCH`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `ALWAYS`: The connector performs a snapshot every time that it starts.
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: After the connector starts, it performs a snapshot only if it detects one of the following circumstances: 1. It cannot detect any topic offsets. 2. A previously recorded offset specifies a log position that is not available on the server.
- `NO_DATA`: The connector captures the structure of all relevant tables, performing all the steps described in the INITIAL, except that it does not create READ events to represent the data set at the point of the connector’s start-up.
- `RECOVERY`: Set this option to restore a database schema history topic that is lost or corrupted. After a restart, the connector runs a snapshot that rebuilds the topic from the source tables.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.title
Consume a message in real-time from a DB2 database via change data capture and create one execution per row.

# definitions.io.kestra.plugin.debezium.db2.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.debezium.db2.Trigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.db2.trigger) instead.##### Examples
> Consume a message from a DB2 database via change data capture in real-time.
```yaml
id: debezium-db2
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.db2.RealtimeTrigger
    hostname: 127.0.0.1
    port: 50000
    username: db2inst1
    password: my_password
    database: my_database

```

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.database.title
The name of the DB2 database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `ALWAYS`: The connector performs a snapshot every time that it starts.
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: After the connector starts, it performs a snapshot only if it detects one of the following circumstances: 1. It cannot detect any topic offsets. 2. A previously recorded offset specifies a log position that is not available on the server.
- `NO_DATA`: The connector captures the structure of all relevant tables, performing all the steps described in the INITIAL, except that it does not create READ events to represent the data set at the point of the connector’s start-up.
- `RECOVERY`: Set this option to restore a database schema history topic that is lost or corrupted. After a restart, the connector runs a snapshot that rebuilds the topic from the source tables.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.db2.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.db2.Trigger.title
Consume messages periodically from a DB2 database via change data capture and create one execution per batch.

# definitions.io.kestra.plugin.debezium.db2.Trigger.markdownDescription
If you would like to consume each message from change data capture in real-time and create one execution per message, you can use the [io.kestra.plugin.debezium.db2.RealtimeTrigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.db2.realtimetrigger) instead.##### Examples
> 
```yaml
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "50000"
username: db2inst1
password: my_password
database: my_database
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.connectionString.title
Defines connection string to mongodb replica set or sharded

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedCollections.title
The name of the MongoDB database collection excluded from which to stream the changes.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedCollections.markdownDescription
A list of regular expressions that match the collection namespaces (for example, <dbName>.<collectionName>) of all collections to be excluded

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedCollections.title
The name of the MongoDB database collection included from which to stream the changes.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedCollections.markdownDescription
A list of regular expressions that match the collection namespaces (for example, <dbName>.<collectionName>) of all collections to be monitored

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `NO_DATA`: The connector captures the structure of all relevant tables, performing all the steps described in the default snapshot workflow, except that it does not create READ events to represent the data set at the point of the connector’s start-up.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.mongodb.Capture.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.mongodb.Capture.title
Wait for change data capture event on MongoDB server.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.connectionString.title
Defines connection string to mongodb replica set or sharded

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedCollections.title
The name of the MongoDB database collection excluded from which to stream the changes.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedCollections.markdownDescription
A list of regular expressions that match the collection namespaces (for example, <dbName>.<collectionName>) of all collections to be excluded

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedCollections.title
The name of the MongoDB database collection included from which to stream the changes.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedCollections.markdownDescription
A list of regular expressions that match the collection namespaces (for example, <dbName>.<collectionName>) of all collections to be monitored

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.offsetsCommitMode.title
How to commit the offsets to the KV Store.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.offsetsCommitMode.markdownDescription
Possible values are:
- ON_EACH_BATCH: after each batch of records consumed by this trigger, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.
- ON_STOP: when this trigger is stopped or killed, the offsets will be stored in the KV Store. This avoid any un-necessary writes to the KV Store, but if the trigger is not stopped gracefully, the KV Store value may not be updated leading to duplicated records consumption.

Default value is : `ON_EACH_BATCH`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `NO_DATA`: The connector captures the structure of all relevant tables, performing all the steps described in the default snapshot workflow, except that it does not create READ events to represent the data set at the point of the connector’s start-up.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.title
Consume a message in real-time from a MongoDB database via change data capture and create one execution per row.

# definitions.io.kestra.plugin.debezium.mongodb.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.debezium.mongodb.Trigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.mongodb.trigger) instead.##### Examples
> Sharded connection
```yaml
id: debezium-mongodb
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.mongodb.RealtimeTrigger
    snapshotMode: INITIAL
    connectionString: mongodb://mongo_user:mongo_passwd@mongos0.example.com:27017,mongos1.example.com:27017/

```

> Replica set connection
```yaml
id: debezium-mongodb
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.mongodb.RealtimeTrigger
    snapshotMode: INITIAL
    connectionString: mongodb://mongo_user:mongo_passwd@mongodb0.example.com:27017/?replicaSet=rs0

```

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.connectionString.title
Defines connection string to mongodb replica set or sharded

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedCollections.title
The name of the MongoDB database collection excluded from which to stream the changes.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedCollections.markdownDescription
A list of regular expressions that match the collection namespaces (for example, <dbName>.<collectionName>) of all collections to be excluded

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedCollections.title
The name of the MongoDB database collection included from which to stream the changes.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedCollections.markdownDescription
A list of regular expressions that match the collection namespaces (for example, <dbName>.<collectionName>) of all collections to be monitored

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `NO_DATA`: The connector captures the structure of all relevant tables, performing all the steps described in the default snapshot workflow, except that it does not create READ events to represent the data set at the point of the connector’s start-up.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.title
Wait for change data capture event on MongoDB server and create new execution.

# definitions.io.kestra.plugin.debezium.mongodb.Trigger.markdownDescription
If you would like to consume each message from change data capture in real-time and create one execution per message, you can use the [io.kestra.plugin.debezium.mongodb.RealtimeTrigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.mongodb.realtimetrigger) instead.##### Examples
> Sharded connection
```yaml
id: debezium-mongodb
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.debezium.mongodb.Trigger
    snapshotMode: INITIAL
    connectionString: mongodb://mongo_user:mongo_passwd@mongos0.example.com:27017,mongos1.example.com:27017/

```

> Replica set connection
```yaml
id: debezium-mongodb
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.debezium.mongodb.Trigger
    snapshotMode: INITIAL
    connectionString: mongodb://mongo_user:mongo_passwd@mongodb0.example.com:27017/?replicaSet=rs0

```

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.serverId.markdownDescription
This must be unique across all currently-running database processes in the MySQL cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog. By default, a random number between 5400 and 6400 is generated, though the recommendation is to explicitly set a value.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.
- `NEVER`: The connector never uses snapshots. Upon first startup with a logical server name, the connector reads from the beginning of the binlog. Configure this behavior with care. It is valid only when the binlog is guaranteed to contain the entire history of the database.
- `SCHEMA_ONLY`: The connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
- `SCHEMA_ONLY_RECOVERY`: This is a recovery setting for a connector that has already been capturing changes. When you restart the connector, this setting enables recovery of a corrupted or lost database history topic. You might set it periodically to "clean up" a database history topic that has been growing unexpectedly. Database history topics require infinite retention.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.mysql.Capture.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.mysql.Capture.title
Wait for change data capture event on MySQL server.

# definitions.io.kestra.plugin.debezium.mysql.Capture.markdownDescription
##### Examples
> 
```yaml
snapshotMode: NEVER
hostname: 127.0.0.1
port: "3306"
username: mysql_user
password: mysql_passwd
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.offsetsCommitMode.title
How to commit the offsets to the KV Store.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.offsetsCommitMode.markdownDescription
Possible values are:
- ON_EACH_BATCH: after each batch of records consumed by this trigger, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.
- ON_STOP: when this trigger is stopped or killed, the offsets will be stored in the KV Store. This avoid any un-necessary writes to the KV Store, but if the trigger is not stopped gracefully, the KV Store value may not be updated leading to duplicated records consumption.

Default value is : `ON_EACH_BATCH`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.serverId.markdownDescription
This must be unique across all currently-running database processes in the MySQL cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog. By default, a random number between 5400 and 6400 is generated, though the recommendation is to explicitly set a value.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.
- `NEVER`: The connector never uses snapshots. Upon first startup with a logical server name, the connector reads from the beginning of the binlog. Configure this behavior with care. It is valid only when the binlog is guaranteed to contain the entire history of the database.
- `SCHEMA_ONLY`: The connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
- `SCHEMA_ONLY_RECOVERY`: This is a recovery setting for a connector that has already been capturing changes. When you restart the connector, this setting enables recovery of a corrupted or lost database history topic. You might set it periodically to "clean up" a database history topic that has been growing unexpectedly. Database history topics require infinite retention.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.title
Consume a message in real-time from a MySQL database via change data capture and create one execution per row.

# definitions.io.kestra.plugin.debezium.mysql.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.debezium.mysql.Trigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.mysql.trigger) instead.##### Examples
> Consume a message from a MySQL database via change data capture in real-time.
```yaml
id: debezium-mysql
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.mysql.RealtimeTrigger
    serverId: 123456789
    hostname: 127.0.0.1
    port: 63306
    username: mysql_user
    password: mysql_passwd
```

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.serverId.markdownDescription
This must be unique across all currently-running database processes in the MySQL cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog. By default, a random number between 5400 and 6400 is generated, though the recommendation is to explicitly set a value.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.
- `NEVER`: The connector never uses snapshots. Upon first startup with a logical server name, the connector reads from the beginning of the binlog. Configure this behavior with care. It is valid only when the binlog is guaranteed to contain the entire history of the database.
- `SCHEMA_ONLY`: The connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
- `SCHEMA_ONLY_RECOVERY`: This is a recovery setting for a connector that has already been capturing changes. When you restart the connector, this setting enables recovery of a corrupted or lost database history topic. You might set it periodically to "clean up" a database history topic that has been growing unexpectedly. Database history topics require infinite retention.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.mysql.Trigger.title
Consume messages periodically from a MySQL database via change data capture and create one execution per batch.

# definitions.io.kestra.plugin.debezium.mysql.Trigger.markdownDescription
If you would like to consume each message from change data capture in real-time and create one execution per message, you can use the [io.kestra.plugin.debezium.mysql.RealtimeTrigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.mysql.realtimetrigger) instead.##### Examples
> 
```yaml
snapshotMode: NEVER
hostname: 127.0.0.1
port: "3306"
username: mysql_user
password: mysql_passwd
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.pluggableDatabase.title
The name of the Oracle pluggable database that the connector captures changes from. Used in container database (CDB) installations only.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.pluggableDatabase.markdownDescription
For non-container database (non-CDB) installation, do not specify the pluggableDatabase property.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.sid.title
The name of the database to capture changes from.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.snapshotMode.markdownDescription
 Possible settings are:
- `ALWAYS`: The connector runs a snapshot on each connector start.
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.
- `NO_DATA`: The connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
- `RECOVERY`: This is a recovery setting for a connector that has already been capturing changes. When you restart the connector, this setting enables recovery of a corrupted or lost database history topic. You might set it periodically to "clean up" a database history topic that has been growing unexpectedly. Database history topics require infinite retention.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.oracle.Capture.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.oracle.Capture.title
Wait for change data capture event on Oracle server.

# definitions.io.kestra.plugin.debezium.oracle.Capture.markdownDescription
##### Examples
> Non-container database (non-CDB)
```yaml
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "1521"
username: c##dbzuser
password: dbz
sid: ORCLCDB
maxRecords: 100
```

> Container database (CDB)
```yaml
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "1521"
username: c##dbzuser
password: dbz
sid: ORCLCDB
pluggableDatabase: ORCLPDB1
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.offsetsCommitMode.title
How to commit the offsets to the KV Store.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.offsetsCommitMode.markdownDescription
Possible values are:
- ON_EACH_BATCH: after each batch of records consumed by this trigger, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.
- ON_STOP: when this trigger is stopped or killed, the offsets will be stored in the KV Store. This avoid any un-necessary writes to the KV Store, but if the trigger is not stopped gracefully, the KV Store value may not be updated leading to duplicated records consumption.

Default value is : `ON_EACH_BATCH`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.pluggableDatabase.title
The name of the Oracle pluggable database that the connector captures changes from. Used in container database (CDB) installations only.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.pluggableDatabase.markdownDescription
For non-container database (non-CDB) installation, do not specify the pluggableDatabase property.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.sid.title
The name of the database to capture changes from.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `ALWAYS`: The connector runs a snapshot on each connector start.
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.
- `NO_DATA`: The connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
- `RECOVERY`: This is a recovery setting for a connector that has already been capturing changes. When you restart the connector, this setting enables recovery of a corrupted or lost database history topic. You might set it periodically to "clean up" a database history topic that has been growing unexpectedly. Database history topics require infinite retention.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.title
Consume a message in real-time from a Oracle database via change data capture and create one execution per row.

# definitions.io.kestra.plugin.debezium.oracle.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.debezium.oracle.Trigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.oracle.trigger) instead.##### Examples
> Consume a message from a Oracle database via change data capture in real-time.
```yaml
id: debezium-oracle
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.oracle.RealtimeTrigger
    hostname: 127.0.0.1
    port: 1521
    username: c##dbzuser
    password: dbz
    sid: ORCLCDB

```

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.pluggableDatabase.title
The name of the Oracle pluggable database that the connector captures changes from. Used in container database (CDB) installations only.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.pluggableDatabase.markdownDescription
For non-container database (non-CDB) installation, do not specify the pluggableDatabase property.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.sid.title
The name of the database to capture changes from.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `ALWAYS`: The connector runs a snapshot on each connector start.
- `INITIAL`: The connector runs a snapshot only when no offsets have been recorded for the logical server name.
- `INITIAL_ONLY`: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.
- `WHEN_NEEDED`: The connector runs a snapshot upon startup whenever it deems it necessary. That is, when no offsets are available, or when a previously recorded offset specifies a binlog location or GTID that is not available in the server.
- `NO_DATA`: The connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
- `RECOVERY`: This is a recovery setting for a connector that has already been capturing changes. When you restart the connector, this setting enables recovery of a corrupted or lost database history topic. You might set it periodically to "clean up" a database history topic that has been growing unexpectedly. Database history topics require infinite retention.

Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.oracle.Trigger.title
Consume messages periodically from a Oracle database via change data capture and create one execution per batch.

# definitions.io.kestra.plugin.debezium.oracle.Trigger.markdownDescription
If you would like to consume each message from change data capture in real-time and create one execution per message, you can use the [io.kestra.plugin.debezium.oracle.RealtimeTrigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.oracle.realtimetrigger) instead.##### Examples
> 
```yaml
snapshotMode: INITIAL_ONLY
hostname: 127.0.0.1
port: "1521"
username: c##dbzuser
password: dbz
sid: ORCLCDB
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.database.title
The name of the PostgreSQL database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.pluginName.markdownDescription
If you are using a `wal2json` plug-in and transactions are very large, the JSON batch event that contains all transaction changes might not fit into the hard-coded memory buffer, which has a size of 1 GB. In such cases, switch to a streaming plug-in, by setting the plugin-name property to `wal2json_streaming` or `wal2json_rds_streaming`. With a streaming plug-in, PostgreSQL sends the connector a separate message for each change in a transaction.

Default value is : `PGOUTPUT`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.publicationName.title
The name of the PostgreSQL publication created for streaming changes when using `PGOUTPUT`.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.publicationName.markdownDescription
This publication is created at start-up if it does not already exist and it includes all tables. Debezium then applies its own include/exclude list filtering, if configured, to limit the publication to change events for the specific tables of interest. The connector user must have superuser permissions to create this publication, so it is usually preferable to create the publication before starting the connector for the first time.

If the publication already exists, either for all tables or configured with a subset of tables, Debezium uses the publication as it is defined.

Default value is : `kestra_publication`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.slotName.title
The name of the PostgreSQL logical decoding slot that was created for streaming changes from a particular plug-in for a particular database/schema.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.slotName.markdownDescription
The server uses this slot to stream events to the Debezium connector that you are configuring.
Slot names must conform to [PostgreSQL replication slot naming rules](https://www.postgresql.org/docs/current/static/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION), which state: "Each replication slot has a name, which can contain lower-case letters, numbers, and the underscore character."

Default value is : `kestra`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector performs a snapshot only when no offsets have been recorded for the logical server name.
- `ALWAYS`: The connector performs a snapshot each time the connector starts.
- `NEVER`: The connector never performs snapshots. When a connector is configured this way, its behavior when it starts is as follows. If there is a previously stored LSN, the connector continues streaming changes from that position. If no LSN has been stored, the connector starts streaming changes from the point in time when the PostgreSQL logical replication slot was created on the server. The never snapshot mode is useful only when you know all data of interest is still reflected in the WAL.
- `INITIAL_ONLY`: The connector performs an initial snapshot and then stops, without processing any subsequent changes.


Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.sslKeyPassword.title
The password to access the client private key `sslKey`.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.sslMode.title
Whether to use an encrypted connection to the PostgreSQL server. Options include:
- `DISABLE` uses an unencrypted connection.
- `REQUIRE` uses a secure (encrypted) connection, and fails if one cannot be established.
- `VERIFY_CA` behaves like require but also verifies the server TLS certificate against the configured Certificate Authority (CA) certificates, or fails if no valid matching CA certificates are found.
- `VERIFY_FULL` behaves like verify-ca but also verifies that the server certificate matches the host to which the connector is trying to connect.

See the [PostgreSQL documentation](https://www.postgresql.org/docs/current/static/libpq-connect.html) for more information.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.sslRootCert.title
The root certificate(s) against which the server is validated.

# definitions.io.kestra.plugin.debezium.postgres.Capture.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.postgres.Capture.title
Wait for change data capture event on PostgreSQL server.

# definitions.io.kestra.plugin.debezium.postgres.Capture.markdownDescription
##### Examples
> 
```yaml
hostname: 127.0.0.1
port: "5432"
username: psql_user
password: psql_passwd
maxRecords: 100
database: my_database
pluginName: PGOUTPUT
snapshotMode: ALWAYS
```

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.database.title
The name of the PostgreSQL database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.offsetsCommitMode.title
How to commit the offsets to the KV Store.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.offsetsCommitMode.markdownDescription
Possible values are:
- ON_EACH_BATCH: after each batch of records consumed by this trigger, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.
- ON_STOP: when this trigger is stopped or killed, the offsets will be stored in the KV Store. This avoid any un-necessary writes to the KV Store, but if the trigger is not stopped gracefully, the KV Store value may not be updated leading to duplicated records consumption.

Default value is : `ON_EACH_BATCH`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.pluginName.markdownDescription
If you are using a `wal2json` plug-in and transactions are very large, the JSON batch event that contains all transaction changes might not fit into the hard-coded memory buffer, which has a size of 1 GB. In such cases, switch to a streaming plug-in, by setting the plugin-name property to `wal2json_streaming` or `wal2json_rds_streaming`. With a streaming plug-in, PostgreSQL sends the connector a separate message for each change in a transaction.

Default value is : `PGOUTPUT`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.publicationName.title
The name of the PostgreSQL publication created for streaming changes when using `PGOUTPUT`.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.publicationName.markdownDescription
This publication is created at start-up if it does not already exist and it includes all tables. Debezium then applies its own include/exclude list filtering, if configured, to limit the publication to change events for the specific tables of interest. The connector user must have superuser permissions to create this publication, so it is usually preferable to create the publication before starting the connector for the first time.

If the publication already exists, either for all tables or configured with a subset of tables, Debezium uses the publication as it is defined.

Default value is : `kestra_publication`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.slotName.title
The name of the PostgreSQL logical decoding slot that was created for streaming changes from a particular plug-in for a particular database/schema.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.slotName.markdownDescription
The server uses this slot to stream events to the Debezium connector that you are configuring.
Slot names must conform to [PostgreSQL replication slot naming rules](https://www.postgresql.org/docs/current/static/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION), which state: "Each replication slot has a name, which can contain lower-case letters, numbers, and the underscore character."

Default value is : `kestra`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector performs a snapshot only when no offsets have been recorded for the logical server name.
- `ALWAYS`: The connector performs a snapshot each time the connector starts.
- `NEVER`: The connector never performs snapshots. When a connector is configured this way, its behavior when it starts is as follows. If there is a previously stored LSN, the connector continues streaming changes from that position. If no LSN has been stored, the connector starts streaming changes from the point in time when the PostgreSQL logical replication slot was created on the server. The never snapshot mode is useful only when you know all data of interest is still reflected in the WAL.
- `INITIAL_ONLY`: The connector performs an initial snapshot and then stops, without processing any subsequent changes.


Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.sslKeyPassword.title
The password to access the client private key `sslKey`.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.sslMode.title
Whether to use an encrypted connection to the PostgreSQL server. Options include:
- `DISABLE` uses an unencrypted connection.
- `REQUIRE` uses a secure (encrypted) connection, and fails if one cannot be established.
- `VERIFY_CA` behaves like require but also verifies the server TLS certificate against the configured Certificate Authority (CA) certificates, or fails if no valid matching CA certificates are found.
- `VERIFY_FULL` behaves like verify-ca but also verifies that the server certificate matches the host to which the connector is trying to connect.

See the [PostgreSQL documentation](https://www.postgresql.org/docs/current/static/libpq-connect.html) for more information.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.sslRootCert.title
The root certificate(s) against which the server is validated.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.title
Consume a message in real-time from a PostgreSQL database via change data capture and create one execution per row.

# definitions.io.kestra.plugin.debezium.postgres.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.debezium.postgres.Trigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.postgres.trigger) instead.##### Examples
> Consume a message from a PostgreSQL database via change data capture in real-time.
```yaml
id: debezium-postgres
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.postgres.RealtimeTrigger
    database: postgres
    hostname: 127.0.0.1
    port: 65432
    username: postgres
    password: pg_passwd
```

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.database.title
The name of the PostgreSQL database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.pluginName.markdownDescription
If you are using a `wal2json` plug-in and transactions are very large, the JSON batch event that contains all transaction changes might not fit into the hard-coded memory buffer, which has a size of 1 GB. In such cases, switch to a streaming plug-in, by setting the plugin-name property to `wal2json_streaming` or `wal2json_rds_streaming`. With a streaming plug-in, PostgreSQL sends the connector a separate message for each change in a transaction.

Default value is : `PGOUTPUT`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.publicationName.title
The name of the PostgreSQL publication created for streaming changes when using `PGOUTPUT`.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.publicationName.markdownDescription
This publication is created at start-up if it does not already exist and it includes all tables. Debezium then applies its own include/exclude list filtering, if configured, to limit the publication to change events for the specific tables of interest. The connector user must have superuser permissions to create this publication, so it is usually preferable to create the publication before starting the connector for the first time.

If the publication already exists, either for all tables or configured with a subset of tables, Debezium uses the publication as it is defined.

Default value is : `kestra_publication`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.slotName.title
The name of the PostgreSQL logical decoding slot that was created for streaming changes from a particular plug-in for a particular database/schema.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.slotName.markdownDescription
The server uses this slot to stream events to the Debezium connector that you are configuring.
Slot names must conform to [PostgreSQL replication slot naming rules](https://www.postgresql.org/docs/current/static/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION), which state: "Each replication slot has a name, which can contain lower-case letters, numbers, and the underscore character."

Default value is : `kestra`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: The connector performs a snapshot only when no offsets have been recorded for the logical server name.
- `ALWAYS`: The connector performs a snapshot each time the connector starts.
- `NEVER`: The connector never performs snapshots. When a connector is configured this way, its behavior when it starts is as follows. If there is a previously stored LSN, the connector continues streaming changes from that position. If no LSN has been stored, the connector starts streaming changes from the point in time when the PostgreSQL logical replication slot was created on the server. The never snapshot mode is useful only when you know all data of interest is still reflected in the WAL.
- `INITIAL_ONLY`: The connector performs an initial snapshot and then stops, without processing any subsequent changes.


Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.sslKeyPassword.title
The password to access the client private key `sslKey`.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.sslMode.title
Whether to use an encrypted connection to the PostgreSQL server. Options include:
- `DISABLE` uses an unencrypted connection.
- `REQUIRE` uses a secure (encrypted) connection, and fails if one cannot be established.
- `VERIFY_CA` behaves like require but also verifies the server TLS certificate against the configured Certificate Authority (CA) certificates, or fails if no valid matching CA certificates are found.
- `VERIFY_FULL` behaves like verify-ca but also verifies that the server certificate matches the host to which the connector is trying to connect.

See the [PostgreSQL documentation](https://www.postgresql.org/docs/current/static/libpq-connect.html) for more information.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.sslRootCert.title
The root certificate(s) against which the server is validated.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.postgres.Trigger.title
Consume messages periodically from a PostgreSQL database via change data capture and create one execution per batch.

# definitions.io.kestra.plugin.debezium.postgres.Trigger.markdownDescription
If you would like to consume each message from change data capture in real-time and create one execution per message, you can use the [io.kestra.plugin.debezium.postgres.RealtimeTrigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.postgres.realtimetrigger) instead.##### Examples
> 
```yaml
hostname: 127.0.0.1
port: "5432"
username: posgres
password: psql_passwd
maxRecords: 100
database: my_database
pluginName: PGOUTPUT
snapshotMode: ALWAYS
```

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.database.title
The name of the Microsoft SQL Server database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: Takes a snapshot of structure and data of captured tables; useful if topics should be populated with a complete representation of the data from the captured tables.
- `INITIAL_ONLY`: Takes a snapshot of structure and data like initial but instead does not transition into streaming changes once the snapshot has completed.
- `SCHEMA_ONLY`: Takes a snapshot of the structure of captured tables only; useful if only changes happening from now onwards should be propagated to topics.


Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.title
Wait for change data capture event on Microsoft SQL Server.

# definitions.io.kestra.plugin.debezium.sqlserver.Capture.markdownDescription
##### Examples
> 
```yaml
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "1433"
username: sqlserver_user
password: sqlserver_passwd
maxRecords: 100
```

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.database.title
The name of the Microsoft SQL Server database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.offsetsCommitMode.title
How to commit the offsets to the KV Store.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.offsetsCommitMode.markdownDescription
Possible values are:
- ON_EACH_BATCH: after each batch of records consumed by this trigger, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.
- ON_STOP: when this trigger is stopped or killed, the offsets will be stored in the KV Store. This avoid any un-necessary writes to the KV Store, but if the trigger is not stopped gracefully, the KV Store value may not be updated leading to duplicated records consumption.

Default value is : `ON_EACH_BATCH`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: Takes a snapshot of structure and data of captured tables; useful if topics should be populated with a complete representation of the data from the captured tables.
- `INITIAL_ONLY`: Takes a snapshot of structure and data like initial but instead does not transition into streaming changes once the snapshot has completed.
- `SCHEMA_ONLY`: Takes a snapshot of the structure of captured tables only; useful if only changes happening from now onwards should be propagated to topics.


Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.title
Consume a message in real-time from a SQL Server database via change data capture and create one execution per row.

# definitions.io.kestra.plugin.debezium.sqlserver.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.debezium.sqlserver.Trigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.sqlserver.trigger) instead.##### Examples
> Consume a message from a SQL Server database via change data capture in real-time.
```yaml
id: debezium-sqlserver
namespace: company.team

tasks:
  - id: send_data
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.debezium.sqlserver.RealtimeTrigger
    hostname: 127.0.0.1
    port: 61433
    username: sa
    password: password
    database: deb
```

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.database.title
The name of the Microsoft SQL Server database from which to stream the changes.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.deleted.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add a deleted field as boolean.
- `NULL`: Send a row with all values as null.
- `DROP`: Don't send deleted row.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.deletedFieldName.title
The name of deleted field if deleted is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.excludedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.excludedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `includedColumns` connector configuration property."

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.excludedDatabases.title
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.excludedDatabases.markdownDescription
The connector captures changes in any database whose name is not in the `excludedDatabases`. Do not also set the `includedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.excludedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.excludedTables.markdownDescription
The connector captures changes in any table not included in `excludedTables`. Each identifier is of the form databaseName.tableName. Do not also specify the `includedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.format.markdownDescription
 Possible settings are:
- `RAW`: Send raw data from debezium.
- `INLINE`: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.
- `WRAP`: Send a row like INLINE but wrapped in a `record` field.


Default value is : `INLINE`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.ignoreDdl.markdownDescription
Ignore CREATE, ALTER, DROP and TRUNCATE operations.

Default value is : `true`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.includedColumns.title
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.includedColumns.markdownDescription
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the `excludedColumns` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.includedDatabases.title
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.includedDatabases.markdownDescription
The connector does not capture changes in any database whose name is not in `includedDatabases`. By default, the connector captures changes in all databases. Do not also set the `excludedDatabases` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.includedTables.title
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.includedTables.markdownDescription
The connector does not capture changes in any table not included in `includedTables`. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the `excludedTables` connector configuration property.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.key.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add key(s) merged with columns.
- `DROP`: Drop keys.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxDuration.title
The maximum duration waiting for new rows.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxRecords.title
The maximum number of rows to fetch before stopping.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxSnapshotDuration.title
The maximum duration waiting for the snapshot to ends.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxSnapshotDuration.markdownDescription
It's not an hard limit and is evaluated every second.
 The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.

Default value is : `3600.000000000`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.maxWait.markdownDescription
It's not an hard limit and is evaluated every second.
 It is taken into account after the snapshot if any.

Default value is : `10.000000000`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.metadata.markdownDescription
 Possible settings are:
- `ADD_FIELD`: Add metadata in a column named `metadata`.
- `DROP`: Drop metadata.

Default value is : `ADD_FIELD`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.metadataFieldName.title
The name of metadata field if metadata is `ADD_FIELD`.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.properties.markdownDescription
Any additional configuration properties that is valid for the current driver.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.snapshotMode.title
Specifies the criteria for running a snapshot when the connector starts.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.snapshotMode.markdownDescription
 Possible settings are:
- `INITIAL`: Takes a snapshot of structure and data of captured tables; useful if topics should be populated with a complete representation of the data from the captured tables.
- `INITIAL_ONLY`: Takes a snapshot of structure and data like initial but instead does not transition into streaming changes once the snapshot has completed.
- `SCHEMA_ONLY`: Takes a snapshot of the structure of captured tables only; useful if only changes happening from now onwards should be propagated to topics.


Default value is : `INITIAL`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.splitTable.markdownDescription
 Possible settings are:
- `TABLE`: This will split all rows by tables on output with name `database.table`
- `DATABASE`: This will split all rows by databases on output with name `database`.
- `OFF`: This will **NOT** split all rows resulting in a single `data` output.

Default value is : `TABLE`

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.stateName.title
The name of the Debezium state file stored in the KV Store for that namespace.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.title
Consume messages periodically from a SQL Server database via change data capture and create one execution per batch.

# definitions.io.kestra.plugin.debezium.sqlserver.Trigger.markdownDescription
If you would like to consume each message from change data capture in real-time and create one execution per message, you can use the [io.kestra.plugin.debezium.sqlserver.RealtimeTrigger](https://kestra.io/plugins/plugin-debezium/triggers/io.kestra.plugin.debezium.sqlserver.realtimetrigger) instead.##### Examples
> 
```yaml
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "1433"
username: sqlserver_user
password: sqlserver_passwd
database: deb
maxRecords: 100
```

# definitions.io.kestra.plugin.docker.Build.properties.buildArgs.title
Optional build arguments in a `key: value` format.

# definitions.io.kestra.plugin.docker.Build.properties.credentials.allOf[].title
Credentials to push your image to a container registry.

# definitions.io.kestra.plugin.docker.Build.properties.dockerfile.title
The contents of your Dockerfile passed as a string, or a path to the Dockerfile

# definitions.io.kestra.plugin.docker.Build.properties.host.title
The URI of your Docker host e.g. localhost

# definitions.io.kestra.plugin.docker.Build.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.docker.Build.properties.labels.title
Additional metadata for the image in a `key: value` format.

# definitions.io.kestra.plugin.docker.Build.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.docker.Build.properties.platforms.title
The target platform for the image e.g. linux/amd64.

# definitions.io.kestra.plugin.docker.Build.properties.protocol.title
The protocol to use for pushing the image to the container registry (HTTP or HTTPS).

# definitions.io.kestra.plugin.docker.Build.properties.pull.title
Always attempt to pull the latest version of the base image.

# definitions.io.kestra.plugin.docker.Build.properties.push.title
Whether to push the image to a remote container registry.

# definitions.io.kestra.plugin.docker.Build.title
Build a Docker image and push it to a remote container registry.

# definitions.io.kestra.plugin.docker.Build.markdownDescription
##### Examples
> Build and push a Docker image to a registry
```yaml
id: docker_build
namespace: company.team

tasks:
  - id: build
    type: io.kestra.plugin.docker.Build
    dockerfile: |
      FROM ubuntu
      ARG APT_PACKAGES=""

      RUN apt-get update && apt-get install -y --no-install-recommends ${APT_PACKAGES};
    platforms:
      - linux/amd64
    tags:
      - private-registry.io/unit-test:latest
    buildArgs:
      APT_PACKAGES: curl
    labels:
      unit-test: "true"
    credentials:
      registry: <registry.url.com>
      username: <your-user>
      password: <your-password>

```

# definitions.io.kestra.plugin.docker.Run.properties.commands.markdownDescription
Default value is : `[]`

Default value is : `[]`

# definitions.io.kestra.plugin.docker.Run.properties.config.markdownDescription
Docker configuration file that can set access credentials to private container registries. Usually located in `~/.docker/config.json`.

# definitions.io.kestra.plugin.docker.Run.properties.cpu.allOf[].title
Limits the CPU usage to a given maximum threshold value.

# definitions.io.kestra.plugin.docker.Run.properties.cpu.allOf[].markdownDescription
By default, each container’s access to the host machine’s CPU cycles is unlimited. You can set various constraints to limit a given container’s access to the host machine’s CPU cycles.

# definitions.io.kestra.plugin.docker.Run.properties.credentials.allOf[].title
Credentials for a private container registry.

# definitions.io.kestra.plugin.docker.Run.properties.deviceRequests.title
A list of device requests to be sent to device drivers.

# definitions.io.kestra.plugin.docker.Run.properties.env.title
Additional environment variables for the Docker container.

# definitions.io.kestra.plugin.docker.Run.properties.extraHosts.title
Extra hostname mappings to the container network interface configuration.

# definitions.io.kestra.plugin.docker.Run.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.docker.Run.properties.memory.allOf[].title
Limits memory usage to a given maximum threshold value.

# definitions.io.kestra.plugin.docker.Run.properties.memory.allOf[].markdownDescription
Docker can enforce hard memory limits, which allow the container to use no more than a given amount of user or system memory, or soft limits, which allow the container to use as much memory as it needs unless certain conditions are met, such as when the kernel detects low memory or contention on the host machine. Some of these options have different effects when used alone or when more than one option is set.

# definitions.io.kestra.plugin.docker.Run.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.docker.Run.properties.networkMode.title
Docker network mode to use e.g. `host`, `none`, etc.

# definitions.io.kestra.plugin.docker.Run.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.docker.Run.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.docker.Run.properties.pullPolicy.allOf[].title
The image pull policy for a container image and the tag of the image, which affect when Docker attempts to pull (download) the specified image.

# definitions.io.kestra.plugin.docker.Run.properties.pullPolicy.allOf[].markdownDescription
Pull policy can be used to prevent pulling of an already existing image `IF_NOT_PRESENT`, or can be set to `ALWAYS` to pull the latest version of the image even if an image with the same tag already exists.

Default value is : `ALWAYS`

# definitions.io.kestra.plugin.docker.Run.properties.shmSize.markdownDescription
The size must be greater than 0. If omitted, the system uses 64MB.

# definitions.io.kestra.plugin.docker.Run.properties.volumes.markdownDescription
Must be a valid mount expression as string, example : `/home/user:/app`.

Volumes mount are disabled by default for security reasons; you must enable them on server configuration by setting `kestra.tasks.scripts.docker.volume-enabled` to `true`.

# definitions.io.kestra.plugin.docker.Run.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.docker.Run.markdownDescription
##### Examples
> Run the docker/whalesay container with the command 'cowsay hello'
```yaml
id: docker_run
namespace: company.team

tasks:
  - id: run
    type: io.kestra.plugin.docker.Run
    containerImage: docker/whalesay
    commands:
      - cowsay
      - hello

```

> Run the docker/whalesay container with no command
```yaml
id: docker_run
namespace: company.team

tasks:
  - id: run
    type: io.kestra.plugin.docker.Run
    containerImage: docker/whalesay

```

# definitions.io.kestra.plugin.elasticsearch.Bulk.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Bulk.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Bulk.markdownDescription
##### Examples
> 
```yaml
id: elasticsearch_bulk_load
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: bulk_load
    type: io.kestra.plugin.elasticsearch.Bulk
    connection:
      hosts:
       - "http://localhost:9200"
    from: "{{ inputs.file }}"

```

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.headers.title
List of HTTP headers to be send on every request.

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.headers.markdownDescription
Must be a string with key value separated with `:`, ex: `Authorization: Token XYZ`.

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.hosts.markdownDescription
Must be an URI like `https://elasticsearch.com:9200` with scheme and port.

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.pathPrefix.title
Sets the path's prefix for every request used by the HTTP client.

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.pathPrefix.markdownDescription
For example, if this is set to `/my/path`, then any client request will become `/my/path/` + endpoint.
In essence, every request's endpoint is prefixed by this `pathPrefix`.
The path prefix is useful for when ElasticSearch is behind a proxy that provides a base path or a proxy that requires all paths to start with '/'; it is not intended for other purposes and it should not be supplied in other scenarios.

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.strictDeprecationMode.title
Whether the REST client should return any response containing at least one warning header as a failure.

# definitions.io.kestra.plugin.elasticsearch.ElasticsearchConnection.properties.trustAllSsl.markdownDescription
Use this if the server is using a self signed SSL certificate.

# definitions.io.kestra.plugin.elasticsearch.Get.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Get.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Get.properties.version.markdownDescription
which will cause the get operation to only be performed if a matching version exists and no changes happened on the doc since then.

# definitions.io.kestra.plugin.elasticsearch.Get.markdownDescription
##### Examples
> 
```yaml
id: elasticsearch_get
namespace: company.team

tasks:
  - id: get
    type: io.kestra.plugin.elasticsearch.Get
    connection:
      hosts:
       - "http://localhost:9200"
    index: "my_index"
    key: "my_id"

```

# definitions.io.kestra.plugin.elasticsearch.Load.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Load.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Load.title
Bulk load documents in ElasticSearch using Kestra Internal Storage file.

# definitions.io.kestra.plugin.elasticsearch.Load.markdownDescription
##### Examples
> 
```yaml
id: elasticsearch_load
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: load
    type: io.kestra.plugin.elasticsearch.Load
    connection:
      hosts:
       - "http://localhost:9200"
    from: "{{ inputs.file }}"
    index: "my_index"

```

# definitions.io.kestra.plugin.elasticsearch.Put.properties.refreshPolicy.markdownDescription
an immediate refresh `IMMEDIATE`, wait for a refresh `WAIT_UNTIL`, or proceed ignore refreshes entirely `NONE`.

Default value is : `NONE`

# definitions.io.kestra.plugin.elasticsearch.Put.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Put.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Put.properties.value.markdownDescription
Can be a string. In this case, the contentType will be used or a raw Map.

# definitions.io.kestra.plugin.elasticsearch.Put.markdownDescription
##### Examples
> Put a document with a Map.
```yaml
id: elasticsearch_put
namespace: company.team

tasks:
  - id: put
    type: io.kestra.plugin.elasticsearch.Put
    connection:
      hosts:
       - "http://localhost:9200"
    index: "my_index"
    key: "my_id"
    value:
      name: "John Doe"
      city: "Paris"

```

> Put a document from a JSON string.
```yaml
id: elasticsearch_put
namespace: company.team

inputs:
  - id: value
    type: JSON
    defaults: {"name": "John Doe", "city": "Paris"}

tasks:
  - id: put
    type: io.kestra.plugin.elasticsearch.Put
    connection:
      hosts:
       - "http://localhost:9200"
    index: "my_index"
    key: "my_id"
    value: "{{ inputs.value }}"

```

# definitions.io.kestra.plugin.elasticsearch.Request.properties.body.markdownDescription
Can be a JSON string or raw Map that will be converted to json.

# definitions.io.kestra.plugin.elasticsearch.Request.properties.endpoint.title
The path of the request (without scheme, host, port, or prefix).

# definitions.io.kestra.plugin.elasticsearch.Request.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Request.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Request.markdownDescription
##### Examples
> Inserting a document in an index using POST request.
```yaml
id: elasticsearch_request
namespace: company.team

tasks:
  - id: request_post
    type: io.kestra.plugin.elasticsearch.Request
    connection:
      hosts:
       - "http://localhost:9200"
    method: "POST"
    endpoint: "my_index/_doc/john"
    body:
      name: "john"

```

> Searching for documents using GET request.
```yaml
id: elasticsearch_request
namespace: company.team

tasks:
  - id: request_get
    type: io.kestra.plugin.elasticsearch.Request
    connection:
      hosts:
       - "http://localhost:9200"
    method: "GET"
    endpoint: "my_index/_search"
    parameters:
      q: "name:"John Doe""

```

> Deleting document using DELETE request.
```yaml
id: elasticsearch_request
namespace: company.team

tasks:
  - id: request_delete
    type: io.kestra.plugin.elasticsearch.Request
    connection:
      hosts:
       - "http://localhost:9200"
    method: "DELETE"
    endpoint: "my_index/_doc/<_id>"

```

# definitions.io.kestra.plugin.elasticsearch.Scroll.properties.request.markdownDescription
Can be a JSON string. In this case, the contentType will be used or a raw Map.

# definitions.io.kestra.plugin.elasticsearch.Scroll.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Scroll.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Scroll.markdownDescription
Get all documents from a search request and store it as Kestra Internal Storage file.##### Examples
> 
```yaml
id: elasticsearch_scroll
namespace: company.team

tasks:
  - id: scroll
    type: io.kestra.plugin.elasticsearch.Scroll
    connection:
      hosts:
        - "http://localhost:9200"
    indexes:
      - "my_index"
    request:
      query:
        term:
          name:
            value: 'john'

```

# definitions.io.kestra.plugin.elasticsearch.Search.properties.fetchType.markdownDescription
FETCH_ONE output the first row, FETCH output all the rows, STORE store all rows in a file, NONE do nothing.

Default value is : `FETCH`

# definitions.io.kestra.plugin.elasticsearch.Search.properties.request.markdownDescription
Can be a JSON string. In this case, the contentType will be used or a raw Map.

# definitions.io.kestra.plugin.elasticsearch.Search.properties.routing.title
Controls the shard routing of the request.

# definitions.io.kestra.plugin.elasticsearch.Search.properties.routing.markdownDescription
Using this value to hash the shard and not the id.

# definitions.io.kestra.plugin.elasticsearch.Search.markdownDescription
Get all documents from a search request and store it as outputs.##### Examples
> 
```yaml
id: elasticsearch_search
namespace: company.team

tasks:
  - id: search
    type: io.kestra.plugin.elasticsearch.Search
    connection:
      hosts:
        - "http://localhost:9200"
    indexes:
      - "my_index"
    request:
      query:
        term:
          name:
            value: 'john'

```

# definitions.io.kestra.plugin.fivetran.connectors.Sync.properties.force.markdownDescription
If `force` is true and the connector is currently syncing, it will stop the sync and re-run it. If force is `false`, the connector will sync only if it isn't currently syncing.

Default value is : `false`

# definitions.io.kestra.plugin.fivetran.connectors.Sync.properties.wait.markdownDescription
Allowing to capture job status & logs.

Default value is : `true`

# definitions.io.kestra.plugin.fivetran.connectors.Sync.markdownDescription
##### Examples
> 
```yaml
id: fivetran_sync
namespace: company.team

tasks:
  - id: sync
    type: io.kestra.plugin.fivetran.connectors.Sync
    apiKey: "api_key"
    apiSecret: "api_secret"
    connectorId: "connector_id"

```

# definitions.io.kestra.plugin.fs.ftp.Delete.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Delete.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Delete.markdownDescription
##### Examples
> 
```yaml
id: fs_ftp_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.fs.ftp.Delete
    host: localhost
    port: 21
    username: foo
    password: pass
    uri: "/upload/dir1/file.txt"

```

# definitions.io.kestra.plugin.fs.ftp.Download.properties.from.title
The fully-qualified URIs that point to destination path

# definitions.io.kestra.plugin.fs.ftp.Download.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Download.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Download.markdownDescription
##### Examples
> 
```yaml
id: fs_ftp_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.fs.ftp.Download
    host: localhost
    port: 21
    username: foo
    password: pass
    from: "/in/file.txt"

```

# definitions.io.kestra.plugin.fs.ftp.Downloads.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.ftp.Downloads.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Downloads.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Downloads.markdownDescription
##### Examples
> Download a list of files and move it to an archive folders
```yaml
id: fs_ftp_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.fs.ftp.Downloads
    host: localhost
    port: 21
    username: foo
    password: pass
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

```

# definitions.io.kestra.plugin.fs.ftp.List.properties.from.title
The fully-qualified URIs that point to path

# definitions.io.kestra.plugin.fs.ftp.List.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.List.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.List.markdownDescription
##### Examples
> 
```yaml
id: fs_ftp_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.fs.ftp.List
    host: localhost
    port: 21
    username: foo
    password: pass
    from: "/upload/dir1/"
    regExp: ".*/dir1/.*.(yaml|yml)"

```

# definitions.io.kestra.plugin.fs.ftp.Move.properties.from.title
The file or directory to move from remote server.

# definitions.io.kestra.plugin.fs.ftp.Move.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Move.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Move.properties.to.title
The path to move the file or directory to on the remote server.

# definitions.io.kestra.plugin.fs.ftp.Move.properties.to.markdownDescription
The full destination path (with filename optionally)
If end with a `/`, the destination is considered as a directory and filename will be happen
If the destFile exists, it is deleted first.

# definitions.io.kestra.plugin.fs.ftp.Move.markdownDescription
If the destination directory doesn't exist, it will be created##### Examples
> 
```yaml
id: fs_ftp_move
namespace: company.team

tasks:
  - id: move
    type: io.kestra.plugin.fs.ftp.Move
    host: localhost
    port: 21
    username: foo
    password: pass
    from: "/upload/dir1/file.txt"
    to: "/upload/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.fs.ftp.Trigger.title
Trigger a flow as soon as new files are detected in a given FTP server's directory.

# definitions.io.kestra.plugin.fs.ftp.Trigger.markdownDescription
##### Examples
> Wait for one or more files in a given FTP server's directory and process each of these files sequentially.
```yaml
id: ftp_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.ftp.Trigger
    host: localhost
    port: 21
    username: foo
    password: bar
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

```

> Wait for one or more files in a given FTP server's directory and process each of these files sequentially. Delete files manually after processing to prevent infinite triggering.
```yaml
id: ftp_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.name') }}"
      - id: delete
        type: io.kestra.plugin.fs.ftp.Delete
        host: localhost
        port: 21
        username: foo
        password: bar
        uri: "/in/{{ taskrun.value | jq('.name') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.ftp.Trigger
    host: localhost
    port: 21
    username: foo
    password: bar
    from: "/in/"
    interval: PT10S
    action: NONE

```

> Wait for one or more files in a given FTP server's directory and process each of these files sequentially. In this example, we restrict the trigger to only wait for CSV files in the `mydir` directory.
```yaml
id: ftp_wait_for_csv_in_mydir
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.ftp.Trigger
    host: localhost
    port: "21"
    username: foo
    password: bar
    from: "mydir/"
    regExp: ".*.csv"
    action: MOVE
    moveDirectory: "archive/"
    interval: PTS

```

# definitions.io.kestra.plugin.fs.ftp.Upload.properties.from.title
The file to copy, must be an internal storage URI

# definitions.io.kestra.plugin.fs.ftp.Upload.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Upload.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Upload.properties.to.title
The destination path, if not set it will use the name of the file denoted by the `from` property

# definitions.io.kestra.plugin.fs.ftp.Upload.markdownDescription
##### Examples
> 
```yaml
id: fs_ftp_upload
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.fs.ftp.Upload
    host: localhost
    port: 21
    username: foo
    password: pass
    from: "{{ inputs.file }}"
    to: "/upload/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.ftp.Uploads.properties.from.title
The files to upload, must be internal storage URIs, must be a list of URIs or a pebble template that returns a list of URIs

# definitions.io.kestra.plugin.fs.ftp.Uploads.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftp.Uploads.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftp.Uploads.title
Upload files to a FTP server's directory

# definitions.io.kestra.plugin.fs.ftp.Uploads.markdownDescription
##### Examples
> 
```yaml
id: fs_ftp_uploads
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: uploads
    type: io.kestra.plugin.fs.ftp.Uploads
    host: localhost
    port: 21
    username: foo
    password: pass
    from:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"
    to: "/upload/dir2"

```

# definitions.io.kestra.plugin.fs.ftps.Delete.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Delete.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Delete.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Delete.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Delete.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Delete.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Delete.markdownDescription
##### Examples
> 
```yaml
id: fs_ftps_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.fs.ftps.Delete
    host: localhost
    port: 990
    username: foo
    password: pass
    uri: "/upload/dir1/file.txt"

```

# definitions.io.kestra.plugin.fs.ftps.Download.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Download.properties.from.title
The fully-qualified URIs that point to destination path

# definitions.io.kestra.plugin.fs.ftps.Download.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Download.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Download.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Download.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Download.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Download.markdownDescription
##### Examples
> 
```yaml
id: fs_ftps_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.fs.ftps.Download
    host: localhost
    port: 990
    username: foo
    password: pass
    from: "/in/file.txt"

```

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Downloads.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Downloads.title
Download multiple files from FTPS server

# definitions.io.kestra.plugin.fs.ftps.Downloads.markdownDescription
##### Examples
> Download a list of files and move it to an archive folders
```yaml
id: fs_ftps_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.fs.ftps.Downloads
    host: localhost
    port: 990
    username: foo
    password: pass
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

```

# definitions.io.kestra.plugin.fs.ftps.List.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.List.properties.from.title
The fully-qualified URIs that point to path

# definitions.io.kestra.plugin.fs.ftps.List.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.List.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.List.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.List.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.List.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.List.markdownDescription
##### Examples
> 
```yaml
id: fs_ftps_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.fs.ftps.List
    host: localhost
    port: 990
    username: foo
    password: pass
    from: "/upload/dir1/"
    regExp: ".*/dir1/.*.(yaml|yml)"

```

# definitions.io.kestra.plugin.fs.ftps.Move.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Move.properties.from.title
The file or directory to move from remote server.

# definitions.io.kestra.plugin.fs.ftps.Move.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Move.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Move.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Move.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Move.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Move.properties.to.title
The path to move the file or directory to on the remote server.

# definitions.io.kestra.plugin.fs.ftps.Move.properties.to.markdownDescription
The full destination path (with filename optionally)
If end with a `/`, the destination is considered as a directory and filename will be happen
If the destFile exists, it is deleted first.

# definitions.io.kestra.plugin.fs.ftps.Move.markdownDescription
If the destination directory doesn't exist, it will be created##### Examples
> 
```yaml
id: fs_ftps_move
namespace: company.team

tasks:
  - id: move
    type: io.kestra.plugin.fs.ftps.Move
    host: localhost
    port: 990
    username: foo
    password: pass
    from: "/upload/dir1/file.txt"
    to: "/upload/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.fs.ftps.Trigger.title
Trigger a flow as soon as new files are detected in a given FTPS server's directory.

# definitions.io.kestra.plugin.fs.ftps.Trigger.markdownDescription
##### Examples
> Wait for one or more files in a given FTPS server's directory and process each of these files sequentially.
```yaml
id: ftps_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.ftps.Trigger
    host: localhost
    port: 990
    username: foo
    password: bar
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

```

> Wait for one or more files in a given FTPS server's directory and process each of these files sequentially. In this example, we restrict the trigger to only wait for CSV files in the `mydir` directory.
```yaml
id: ftp_wait_for_csv_in_mydir
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.ftps.Trigger
    host: localhost
    port: "21"
    username: foo
    password: bar
    from: "mydir/"
    regExp: ".*.csv"
    action: MOVE
    moveDirectory: "archive/"
    interval: PTS

```

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.from.title
The file to copy, must be an internal storage URI

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Upload.properties.to.title
The destination path, if not set it will use the name of the file denoted by the `from` property

# definitions.io.kestra.plugin.fs.ftps.Upload.markdownDescription
##### Examples
> 
```yaml
id: fs_ftps_upload
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.fs.ftps.Upload
    host: localhost
    port: 990
    username: foo
    password: pass
    from: "{{ inputs.file }}"
    to: "/upload/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.dataChannelProtectionLevel.title
Sets the data channel protection level (PROT).

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.from.title
The files to upload, must be internal storage URIs, must be a list of URIs or a pebble template that returns a list of URIs

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.insecureTrustAllCertificates.title
Whether the client should disable checking of the remote SSL certificate.

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.insecureTrustAllCertificates.markdownDescription
Note: This makes the SSL connection insecure, and should only be used for testing.

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.mode.title
Sets FTPS mode, either "implicit" or "explicit".

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.passiveMode.title
Whether to use a [passive mode](https://www.jscape.com/blog/active-v-s-passive-ftp-simplified). Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to `true`. To use active mode instead, set the property to `false`.

# definitions.io.kestra.plugin.fs.ftps.Uploads.properties.remoteIpVerification.title
Control that the server ip that emit the request is the same than send response.

# definitions.io.kestra.plugin.fs.ftps.Uploads.title
Upload files to a FTPS server's directory

# definitions.io.kestra.plugin.fs.ftps.Uploads.markdownDescription
##### Examples
> 
```yaml
id: fs_ftps_uploads
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: uploads
    type: io.kestra.plugin.fs.ftps.Uploads
    host: localhost
    port: 990
    username: foo
    password: pass
    from:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"
    to: "/upload/dir2"

```

# definitions.io.kestra.plugin.fs.sftp.Delete.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Delete.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Delete.markdownDescription
##### Examples
> 
```yaml
id: fs_sftp_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.fs.sftp.Delete
    host: localhost
    port: "22"
    username: foo
    password: pass
    uri: "/upload/dir1/file.txt"

```

# definitions.io.kestra.plugin.fs.sftp.Download.properties.from.title
The fully-qualified URIs that point to destination path

# definitions.io.kestra.plugin.fs.sftp.Download.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Download.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Download.markdownDescription
##### Examples
> 
```yaml
id: fs_sftp_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.fs.sftp.Download
    host: localhost
    port: "22"
    username: foo
    password: pass
    from: "/in/file.txt"

```

# definitions.io.kestra.plugin.fs.sftp.Downloads.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Downloads.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Downloads.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.sftp.Downloads.title
Download multiple files from SFTP server

# definitions.io.kestra.plugin.fs.sftp.Downloads.markdownDescription
##### Examples
> Download a list of files and move it to an archive folders
```yaml
id: fs_sftp_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.fs.sftp.Downloads
    host: localhost
    port: "22"
    username: foo
    password: pass
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

```

# definitions.io.kestra.plugin.fs.sftp.List.properties.from.title
The fully-qualified URIs that point to path

# definitions.io.kestra.plugin.fs.sftp.List.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.List.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.List.markdownDescription
##### Examples
> 
```yaml
id: fs_sftp_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.fs.sftp.List
    host: localhost
    port: "22"
    username: foo
    password: pass
    from: "/upload/dir1/"
    regExp: ".*/dir1/.*.(yaml|yml)"

```

# definitions.io.kestra.plugin.fs.sftp.Move.properties.from.title
The file or directory to move from remote server.

# definitions.io.kestra.plugin.fs.sftp.Move.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Move.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Move.properties.to.title
The path to move the file or directory to on the remote server.

# definitions.io.kestra.plugin.fs.sftp.Move.properties.to.markdownDescription
The full destination path (with filename optionally)
If end with a `/`, the destination is considered as a directory and filename will be happen
If the destFile exists, it is deleted first.

# definitions.io.kestra.plugin.fs.sftp.Move.markdownDescription
If the destination directory doesn't exist, it will be created##### Examples
> 
```yaml
id: fs_sftp_move
namespace: company.team

tasks:
  - id: move
    type: io.kestra.plugin.fs.sftp.Move
    host: localhost
    port: "22"
    username: foo
    password: pass
    from: "/upload/dir1/file.txt"
    to: "/upload/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.sftp.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.fs.sftp.Trigger.title
Trigger a flow as soon as new files are detected in a given SFTP server's directory.

# definitions.io.kestra.plugin.fs.sftp.Trigger.markdownDescription
##### Examples
> Wait for one or more files in a given SFTP server's directory and process each of these files sequentially.
```yaml
id: sftp_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.sftp.Trigger
    host: localhost
    port: 6622
    username: foo
    password: bar
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

```

> Wait for one or more files in a given SFTP server's directory and process each of these files sequentially. Delete files manually after processing to prevent infinite triggering.
```yaml
id: sftp_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files | jq('.path') }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
      - id: delete
        type: io.kestra.plugin.fs.sftp.Delete
        host: localhost
        port: 6622
        username: foo
        password: bar
        uri: "/in/{{ taskrun.value }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.sftp.Trigger
    host: localhost
    port: 6622
    username: foo
    password: bar
    from: "/in/"
    interval: PT10S
    action: NONE

```

> Wait for one or more files in a given SFTP server's directory and process each of these files sequentially. In this example, we restrict the trigger to only wait for CSV files in the `mydir` directory.
```yaml
id: ftp_wait_for_csv_in_mydir
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.sftp.Trigger
    host: localhost
    port: "6622"
    username: foo
    password: bar
    from: "mydir/"
    regExp: ".*.csv"
    action: MOVE
    moveDirectory: "archive/"
    interval: PTS

```

# definitions.io.kestra.plugin.fs.sftp.Upload.properties.from.title
The file to copy, must be an internal storage URI

# definitions.io.kestra.plugin.fs.sftp.Upload.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Upload.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Upload.properties.to.title
The destination path, if not set it will use the name of the file denoted by the `from` property

# definitions.io.kestra.plugin.fs.sftp.Upload.markdownDescription
##### Examples
> 
```yaml
id: fs_sftp_upload
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.fs.sftp.Upload
    host: localhost
    port: "22"
    username: foo
    password: pass
    from: "{{ inputs.file }}"
    to: "/upload/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.sftp.Uploads.properties.from.title
The files to upload, must be internal storage URIs, must be a list of URIs or a pebble template that returns a list of URIs

# definitions.io.kestra.plugin.fs.sftp.Uploads.properties.keyfile.title
Private keyfile in the PEM file format to connect to a remote server using SSH

# definitions.io.kestra.plugin.fs.sftp.Uploads.properties.keyfile.markdownDescription
To generate a PEM format key from OpenSSH, use the following command: `ssh-keygen -m PEM`

# definitions.io.kestra.plugin.fs.sftp.Uploads.title
Upload files to a SFTP server's directory

# definitions.io.kestra.plugin.fs.sftp.Uploads.markdownDescription
##### Examples
> 
```yaml
id: fs_sftp_uploads
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: uploads
    type: io.kestra.plugin.fs.sftp.Uploads
    host: localhost
    port: "22"
    username: foo
    password: pass
    from:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"
    to: "/upload/dir2"

```

# definitions.io.kestra.plugin.fs.smb.Delete.title
Delete a file from a SMB (Samba for eg.) server.

# definitions.io.kestra.plugin.fs.smb.Delete.markdownDescription
##### Examples
> 
```yaml
id: fs_smb_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.fs.smb.Delete
    host: localhost
    port: 445
    username: foo
    password: pass
    uri: "/my_share/dir1/file.txt"

```

# definitions.io.kestra.plugin.fs.smb.Download.properties.from.title
The fully-qualified URIs that point to destination path

# definitions.io.kestra.plugin.fs.smb.Download.title
Download file from SMB (Samba for eg.) server

# definitions.io.kestra.plugin.fs.smb.Download.markdownDescription
##### Examples
> 
```yaml
id: fs_smb_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.fs.smb.Download
    host: localhost
    port: 445
    username: foo
    password: pass
    from: "/my_share/file.txt"

```

# definitions.io.kestra.plugin.fs.smb.Downloads.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.smb.Downloads.title
Download multiple files from a SMB (Samba for eg.) server

# definitions.io.kestra.plugin.fs.smb.Downloads.markdownDescription
##### Examples
> Download files from `my_share` and move them to an `archive_share`
```yaml
id: fs_smb_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.fs.smb.Downloads
    host: localhost
    port: 445
    username: foo
    password: pass
    from: "/my_share/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive_share/"

```

# definitions.io.kestra.plugin.fs.smb.List.properties.from.title
The fully-qualified URIs that point to path

# definitions.io.kestra.plugin.fs.smb.List.title
List files from a SMB (Samba for eg.) server directory

# definitions.io.kestra.plugin.fs.smb.List.markdownDescription
##### Examples
> 
```yaml
id: fs_smb_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.fs.smb.List
    host: localhost
    port: 445
    username: foo
    password: pass
    from: "/my_share/dir1/"
    regExp: ".*/dir1/.*.(yaml|yml)"

```

# definitions.io.kestra.plugin.fs.smb.Move.properties.from.title
The file or directory to move from remote server.

# definitions.io.kestra.plugin.fs.smb.Move.properties.to.title
The path to move the file or directory to on the remote server.

# definitions.io.kestra.plugin.fs.smb.Move.properties.to.markdownDescription
The full destination path (with filename optionally)
If end with a `/`, the destination is considered as a directory and filename will be happen
If the destFile exists, it is deleted first.

# definitions.io.kestra.plugin.fs.smb.Move.title
Move a file to a different share / folder on a SMB (Samba for eg.) server.

# definitions.io.kestra.plugin.fs.smb.Move.markdownDescription
If the destination directory doesn't exist, it will be created##### Examples
> 
```yaml
id: fs_smb_move
namespace: company.team

tasks:
  - id: move
    type: io.kestra.plugin.fs.smb.Move
    host: localhost
    port: 445
    username: foo
    password: pass
    from: "/my_share/dir1/file.txt"
    to: "/my_share/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.smb.Trigger.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.fs.smb.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.fs.smb.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.fs.smb.Trigger.properties.moveDirectory.title
The destination directory in case off `MOVE` 

# definitions.io.kestra.plugin.fs.smb.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.fs.smb.Trigger.title
Trigger a flow as soon as new files are detected in a given SMB (Samba for eg.) server's directory.

# definitions.io.kestra.plugin.fs.smb.Trigger.markdownDescription
##### Examples
> Wait for one or more files in a given SMB server's directory and process each of these files sequentially.
Then move them to another share which is used as an archive.
```yaml
id: smb_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.smb.Trigger
    host: localhost
    port: 445
    username: foo
    password: bar
    from: "/my_share/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive_share/"

```

> Wait for one or more files in a given SMB server's directory and process each of these files sequentially.
Then move them to another share which is used as an archive.
```yaml
id: smb_trigger_flow
namespace: company.team

tasks:
  - id: for_each_file
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"
      - id: delete
        type: io.kestra.plugin.fs.smb.Delete
        host: localhost
        port: 445
        username: foo
        password: bar
        uri: "/my_share/in/{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.smb.Trigger
    host: localhost
    port: 445
    username: foo
    password: bar
    from: "/my_share/in/"
    interval: PT10S
    action: NONE

```

> Wait for one or more files in a given SMB server's directory (composed of share name followed by dir path) and process each of these files sequentially.
In this example, we restrict the trigger to only wait for CSV files in the `mydir` directory.
```yaml
id: smb_wait_for_csv_in_my_share_my_dir
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    value: "{{ trigger.files }}"
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.smb.Trigger
    host: localhost
    port: "445"
    username: foo
    password: bar
    from: "my_share/mydir/"
    regExp: ".*.csv"
    action: MOVE
    moveDirectory: "my_share/archivedir"
    interval: PTS

```

# definitions.io.kestra.plugin.fs.smb.Upload.properties.from.title
The file to copy, must be an internal storage URI

# definitions.io.kestra.plugin.fs.smb.Upload.properties.to.title
The destination path, if not set it will use the name of the file denoted by the `from` property

# definitions.io.kestra.plugin.fs.smb.Upload.title
Upload a file to a SMB (Samba for eg.) server

# definitions.io.kestra.plugin.fs.smb.Upload.markdownDescription
##### Examples
> 
```yaml
id: fs_smb_upload
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: upload
    type: io.kestra.plugin.fs.smb.Upload
    host: localhost
    port: 445
    username: foo
    password: pass
    from: "{{ inputs.file }}"
    to: "/my_share/dir2/file.txt"

```

# definitions.io.kestra.plugin.fs.smb.Uploads.properties.from.title
The files to upload, must be internal storage URIs, must be a list of URIs or a pebble template that returns a list of URIs

# definitions.io.kestra.plugin.fs.smb.Uploads.title
Upload files to a SMB (Samba for eg.) server's directory.

# definitions.io.kestra.plugin.fs.smb.Uploads.markdownDescription
##### Examples
> 
```yaml
id: fs_smb_uploads
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: uploads
    type: io.kestra.plugin.fs.smb.Uploads
    host: localhost
    port: 445
    username: foo
    password: pass
    from:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"
    to: "/my_share/dir2"

```

# definitions.io.kestra.plugin.fs.ssh.Command.properties.commands.title
The list of commands to run on the remote server

# definitions.io.kestra.plugin.fs.ssh.Command.properties.enableSshRsa1.title
Enable the disabled by default RSA/SHA1 algorithm

# definitions.io.kestra.plugin.fs.ssh.Command.properties.env.title
Environment variables to pass to the SSH process.

# definitions.io.kestra.plugin.fs.ssh.Command.properties.openSSHConfigDir.title
OpenSSH configuration directory in case the authentication method is `OPEN_SSH`.

# definitions.io.kestra.plugin.fs.ssh.Command.properties.password.title
Password on the remote server, required for password auth method

# definitions.io.kestra.plugin.fs.ssh.Command.properties.privateKey.title
Private SSH Key to authenticate, required for pubkey auth method

# definitions.io.kestra.plugin.fs.ssh.Command.properties.privateKeyPassphrase.title
Passphrase used in order to unseal the private key, optional for pubkey auth method

# definitions.io.kestra.plugin.fs.ssh.Command.properties.strictHostKeyChecking.title
Whether to check if the host public key could be found among known host, one of 'yes', 'no', 'ask'

# definitions.io.kestra.plugin.fs.ssh.Command.properties.username.title
Username on the remote server, required for password auth method

# definitions.io.kestra.plugin.fs.ssh.Command.properties.warningOnStdErr.title
Use `WARNING` state if any stdErr is sent

# definitions.io.kestra.plugin.fs.ssh.Command.title
Send a command to a remote server using SSH.

# definitions.io.kestra.plugin.fs.ssh.Command.markdownDescription
##### Examples
> Run SSH command using password authentication
```yaml
id: fs_ssh_command
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.fs.ssh.Command
    host: localhost
    port: "22"
    authMethod: PASSWORD
    username: foo
    password: pass
    commands: ['ls']

```

> Run SSH command using public key authentication (must be an OpenSSH private key)
```yaml
id: fs_ssh_command
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.fs.ssh.Command
    host: localhost
    port: "22"
    authMethod: PUBLIC_KEY
    username: root
    privateKey: "{{ secret('SSH_RSA_PRIVATE_KEY') }}"
    commands: ['touch kestra_was_here']

```

> Run SSH command using the local OpenSSH configuration
```yaml
id: ssh
namespace: company.team
tasks:
  - id: ssh
    type: io.kestra.plugin.fs.ssh.Command
    authMethod: OPEN_SSH
    useOpenSSHConfig: true
    host: localhost
    password: pass.
    commands:
      - echo "Hello World"
```

# definitions.io.kestra.plugin.gcp.auth.OauthAccessToken.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-AvroOptions.properties.useAvroLogicalTypes.title
If format is set to AVRO, you can interpret logical types into their corresponding types (such as TIMESTAMP) instead of only using their raw types (such as INTEGER)

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.allowJaggedRows.title
Whether BigQuery should accept rows that are missing trailing optional columns.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.allowJaggedRows.markdownDescription
If true, BigQuery treats missing trailing columns as null values. If {@code false}, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. By default, rows with missing trailing columns are considered bad records.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.allowQuotedNewLines.title
Whether BigQuery should allow quoted data sections that contain newline characters in a CSV file.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.allowQuotedNewLines.markdownDescription
By default quoted newline are not allowed.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.encoding.markdownDescription
The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values set in {@link #setQuote(String)} and {@link #setFieldDelimiter(String)}.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.fieldDelimiter.markdownDescription
BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.quote.title
The value that is used to quote data sections in a CSV file.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.quote.markdownDescription
BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set {@link #setAllowQuotedNewLines(boolean)} property to {@code true}.

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.skipLeadingRows.title
The number of rows at the top of a CSV file that BigQuery will skip when reading the data

# definitions.io.kestra.plugin.gcp.bigquery.AbstractLoad-CsvOptions.properties.skipLeadingRows.markdownDescription
The default value is 0. This property is useful if you have header rows in the file that should be skipped.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.createDisposition.title
Whether the job is allowed to create tables.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.dryRun.title
Whether the job has to be dry run or not.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.dryRun.markdownDescription
 A valid query will mostly return an empty response with some processing statistics, while an invalid query will return the same error as it would if it were an actual run.

Default value is : `false`

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.jobTimeout.markdownDescription
If this time limit is exceeded, BigQuery may attempt to terminate the job.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.labels.markdownDescription
You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.operationType.title
Sets the supported operation types in table copy job.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.operationType.markdownDescription
* `COPY`: The source and destination table have the same table type.
* `SNAPSHOT`: The source table type is TABLE and the destination table type is SNAPSHOT.
* `RESTORE`: The source table type is SNAPSHOT and the destination table type is TABLE.
* `CLONE`: The source and destination table have the same table type, but only bill for unique data.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.Copy.properties.writeDisposition.title
The action that should occur if the destination table already exists.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.title
Copy a BigQuery table or partition to other one.

# definitions.io.kestra.plugin.gcp.bigquery.Copy.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_copy
namespace: company.team

tasks:
  - id: copy
    type: io.kestra.plugin.gcp.bigquery.Copy
    operationType: COPY
    sourceTables:
      - "my_project.my_dataset.my_table$20130908"
    destinationTable: "my_project.my_dataset.my_table"

```

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.createDisposition.title
Whether the job is allowed to create tables.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.destinationTable.markdownDescription
If not provided, a new table is created.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.dryRun.title
Whether the job has to be dry run or not.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.dryRun.markdownDescription
 A valid query will mostly return an empty response with some processing statistics, while an invalid query will return the same error as it would if it were an actual run.

Default value is : `false`

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.from.markdownDescription
If the partition :
- is a numeric range, must be a valid integer
- is a date, must a valid datetime like `{{ now() }}`

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.jobTimeout.markdownDescription
If this time limit is exceeded, BigQuery may attempt to terminate the job.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.labels.markdownDescription
You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.to.markdownDescription
If the partition :
- is a numeric range, must be a valid integer
- is a date, must a valid datetime like `{{ now() }}`

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.properties.writeDisposition.title
The action that should occur if the destination table already exists.

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.title
Copy partitions between interval to another table 

# definitions.io.kestra.plugin.gcp.bigquery.CopyPartitions.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_copy_partitions
namespace: company.team

tasks:
  - id: copy_partitions
    type: io.kestra.plugin.gcp.bigquery.CopyPartitions
    projectId: my-project
    dataset: my-dataset
    table: my-table
    destinationTable: my-dest-table
    partitionType: DAY
    from: "{{ now() | dateAdd(-30, 'DAYS') }}"
    to: "{{ now() | dateAdd(-7, 'DAYS') }}"

```

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.acl.title
The dataset's access control configuration.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.defaultEncryptionConfiguration.allOf[].title
The default encryption key for all tables in the dataset.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.defaultEncryptionConfiguration.allOf[].markdownDescription
Once this property is set, all newly-created partitioned tables in the dataset will have encryption key set to this value, unless table creation request (or query) overrides the key.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.defaultPartitionExpirationMs.title
[Optional] The default partition expiration time for all partitioned tables in the dataset, in milliseconds.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.defaultPartitionExpirationMs.markdownDescription
 Once this property is set, all newly-created partitioned tables in the  dataset will has an expirationMs property in the timePartitioning settings set to this value. Changing the value only affect new tables, not existing ones. The storage in a partition will have an expiration time of its partition time plus this value. Setting this property overrides the use of defaultTableExpirationMs for partitioned tables: only one of defaultTableExpirationMs and defaultPartitionExpirationMs will be used for any new partitioned table. If you provide an explicit timePartitioning.expirationMs when creating or updating a partitioned table, that value takes precedence over the default partition expiration time indicated by this property. The value may be null.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.defaultTableLifetime.title
The default lifetime of all tables in the dataset, in milliseconds.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.defaultTableLifetime.markdownDescription
The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. This property is experimental and might be subject to change or removed.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.description.markdownDescription
A user-friendly description for the dataset.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.ifExists.title
Policy to apply if a dataset already exists.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.
See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.title
Create a dataset or update if it already exists.

# definitions.io.kestra.plugin.gcp.bigquery.CreateDataset.markdownDescription
##### Examples
> Create a dataset if not exits
```yaml
id: gcp_bq_create_dataset
namespace: company.team

tasks:
  - id: create_dataset
    type: io.kestra.plugin.gcp.bigquery.CreateDataset
    name: "my_dataset"
    location: "EU"
    ifExists: "SKIP"

```

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.description.title
The user-friendly description for the table.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.expirationDuration.title
Sets the duration, since now, when this table expires.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.expirationDuration.markdownDescription
If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.labels.title
Return a map for labels applied to the table.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.requirePartitionFilter.title
Return true if a partition filter (that can be used for partition elimination) is required for queries over this table.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.CreateTable.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_create_table
namespace: company.team

tasks:
  - id: create_table
    type: io.kestra.plugin.gcp.bigquery.CreateTable
    projectId: my-project
    dataset: my-dataset
    table: my-table
    tableDefinition:
      type: TABLE
      schema:
        fields:
        - name: id
          type: INT64
        - name: name
          type: STRING
      standardTableDefinition:
        clustering:
        - id
        - name
    friendlyName: new_table

```

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.deleteContents.title
Whether to delete a dataset even if non-empty.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.deleteContents.markdownDescription
If not provided, attempting to delete a non-empty dataset will result in a exception being thrown.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.DeleteDataset.markdownDescription
##### Examples
> Delete a dataset.
```yaml
id: gcp_bq_delete_dataset
namespace: company.team

tasks:
  - id: delete_dataset
    type: io.kestra.plugin.gcp.bigquery.DeleteDataset
    name: "my-dataset"
    deleteContents: true

```

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.from.markdownDescription
If the partition :
- is a numeric range, must be a valid integer
- is a date, must a valid datetime like `{{ now() }}`

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.properties.to.markdownDescription
If the partition :
- is a numeric range, must be a valid integer
- is a date, must a valid datetime like `{{ now() }}`

# definitions.io.kestra.plugin.gcp.bigquery.DeletePartitions.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_delete_partitions
namespace: company.team

tasks:
  - id: delete_partitions
    type: io.kestra.plugin.gcp.bigquery.DeletePartitions
    projectId: my-project
    dataset: my-dataset
    table: my-table
    partitionType: DAY
    from: "{{ now() | dateAdd(-30, 'DAYS') }}"
    to: "{{ now() | dateAdd(-7, 'DAYS') }}"

```

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.DeleteTable.markdownDescription
##### Examples
> Delete a partition
```yaml
id: gcp_bq_delete_table
namespace: company.team

tasks:
  - id: delete_table
    type: io.kestra.plugin.gcp.bigquery.DeleteTable
    projectId: my-project
    dataset: my-dataset
    table: my-table$20130908

```

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.compression.title
the compression value to use for exported files. If not set exported files are not compressed. 

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.destinationUris.title
The list of fully-qualified Google Cloud Storage URIs (e.g. gs://bucket/path) where the extracted table should be written.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.fieldDelimiter.title
The delimiter to use between fields in the exported data. By default "," is used.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.format.title
The exported file format. If not set table is exported in CSV format. 

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.jobTimeoutMs.title
[Optional] Job timeout in milliseconds. If this time limit is exceeded, BigQuery may attempt to terminate the job.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.labels.markdownDescription
The labels associated with this job. You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.
Parameters:
    labels - labels or null for none 

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.printHeader.title
Whether to print out a header row in the results. By default an header is printed.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.useAvroLogicalTypes.title
[Optional] Flag if format is set to "AVRO".

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.properties.useAvroLogicalTypes.markdownDescription
[Optional] If destinationFormat is set to "AVRO", this flag indicates whether to enable extracting applicable column types (such as TIMESTAMP) to their corresponding AVRO logical types (timestamp-micros), instead of only using their raw types (avro-long).

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.title
Extract data from BigQuery table to GCS (Google Cloud Storage).

# definitions.io.kestra.plugin.gcp.bigquery.ExtractToGcs.markdownDescription
##### Examples
> Extract a BigQuery table to a GCS bucket.
```yaml
id: gcp_bq_extract_to_gcs
namespace: company.team

tasks:
  - id: extract_to_gcs
    type: io.kestra.plugin.gcp.bigquery.ExtractToGcs
    destinationUris:
      - "gs://bucket_name/filename.csv"
    sourceTable: "my_project.my_dataset.my_table"
    format: CSV
    fieldDelimiter: ';'
    printHeader: true

```

# definitions.io.kestra.plugin.gcp.bigquery.Load.$metrics[].description
the number of bad records reported in a job.

# definitions.io.kestra.plugin.gcp.bigquery.Load.$metrics[].description
The number of bytes of source data in a load job.

# definitions.io.kestra.plugin.gcp.bigquery.Load.$metrics[].description
The number of source files in a load job.

# definitions.io.kestra.plugin.gcp.bigquery.Load.$metrics[].description
The size of the data loaded by a load job so far, in bytes.

# definitions.io.kestra.plugin.gcp.bigquery.Load.$metrics[].description
The number of rows loaded by a load job so far.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.autodetect.title
[Experimental] Automatic inference of the options and schema for CSV and JSON sources.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.clusteringFields.title
The clustering specification for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.createDisposition.title
Whether the job is allowed to create tables.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.destinationTable.markdownDescription
If not provided, a new table is created.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.failedOnEmpty.title
Does the task will failed for an empty file

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.format.title
The source format, and possibly some parsing options, of the external data.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.from.title
The fully-qualified URIs that point to source data

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.ignoreUnknownValues.title
Whether BigQuery should allow extra values that are not represented in the table schema.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.ignoreUnknownValues.markdownDescription
 If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. By default unknown values are not allowed.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.maxBadRecords.title
The maximum number of bad records that BigQuery can ignore when running the job.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.maxBadRecords.markdownDescription
 If the number of bad records exceeds this value, an invalid error is returned in the job result. By default, no bad record is ignored.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.schema.markdownDescription
The schema can be omitted if the destination table already exists, or if you're loading data from a Google Cloud Datastore backup (i.e.  DATASTORE_BACKUP format option).
```yaml
schema:
  fields:
    - name: colA
      type: STRING
    - name: colB
      type: NUMERIC
```
See type from [StandardSQLTypeName](https://javadoc.io/static/com.google.cloud/google-cloud-bigquery/1.88.0/com/google/cloud/bigquery/StandardSQLTypeName.html)

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.schemaUpdateOptions.title
[Experimental] Options allowing the schema of the destination table to be updated as a side effect of the query job.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.schemaUpdateOptions.markdownDescription
Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.timePartitioningField.title
The time partitioning field for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.timePartitioningType.title
The time partitioning type specification for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.Load.properties.writeDisposition.title
The action that should occur if the destination table already exists.

# definitions.io.kestra.plugin.gcp.bigquery.Load.markdownDescription
##### Examples
> Load an csv file from an input file
```yaml
id: gcp_bq_load
namespace: company.team

tasks:
  - id: load
    type: io.kestra.plugin.gcp.bigquery.Load
    from: "{{ inputs.file }}"
    destinationTable: "my_project.my_dataset.my_table"
    format: CSV
    csvOptions:
      fieldDelimiter: ";"

```

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.$metrics[].description
the number of bad records reported in a job.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.$metrics[].description
The number of bytes of source data in a load job.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.$metrics[].description
The number of source files in a load job.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.$metrics[].description
The size of the data loaded by a load job so far, in bytes.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.$metrics[].description
The number of rows loaded by a load job so far.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.autodetect.title
[Experimental] Automatic inference of the options and schema for CSV and JSON sources.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.clusteringFields.title
The clustering specification for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.createDisposition.title
Whether the job is allowed to create tables.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.destinationTable.markdownDescription
If not provided, a new table is created.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.format.title
The source format, and possibly some parsing options, of the external data.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.from.markdownDescription
The fully-qualified URIs that point to source data in Google Cloud Storage (e.g. gs://bucket/path). Each URI can contain one '*' wildcard character and it must come after the 'bucket' name.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.ignoreUnknownValues.title
Whether BigQuery should allow extra values that are not represented in the table schema.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.ignoreUnknownValues.markdownDescription
 If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. By default unknown values are not allowed.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.maxBadRecords.title
The maximum number of bad records that BigQuery can ignore when running the job.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.maxBadRecords.markdownDescription
 If the number of bad records exceeds this value, an invalid error is returned in the job result. By default, no bad record is ignored.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.schema.markdownDescription
The schema can be omitted if the destination table already exists, or if you're loading data from a Google Cloud Datastore backup (i.e.  DATASTORE_BACKUP format option).
```yaml
schema:
  fields:
    - name: colA
      type: STRING
    - name: colB
      type: NUMERIC
```
See type from [StandardSQLTypeName](https://javadoc.io/static/com.google.cloud/google-cloud-bigquery/1.88.0/com/google/cloud/bigquery/StandardSQLTypeName.html)

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.schemaUpdateOptions.title
[Experimental] Options allowing the schema of the destination table to be updated as a side effect of the query job.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.schemaUpdateOptions.markdownDescription
Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.timePartitioningField.title
The time partitioning field for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.timePartitioningType.title
The time partitioning type specification for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.properties.writeDisposition.title
The action that should occur if the destination table already exists.

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.title
Load data from GCS (Google Cloud Storage) to BigQuery

# definitions.io.kestra.plugin.gcp.bigquery.LoadFromGcs.markdownDescription
##### Examples
> Load an avro file from a gcs bucket
```yaml
id: gcp_bq_load_from_gcs
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv

  - id: csv_to_ion
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.http_download.uri }}"
    header: true

  - id: ion_to_avro
    type: io.kestra.plugin.serdes.avro.IonToAvro
    from: "{{ outputs.csv_to_ion.uri }}"
    schema: |
      {
        "type": "record",
        "name": "Order",
        "namespace": "com.example.order",
        "fields": [
          {"name": "order_id", "type": "int"},
          {"name": "customer_name", "type": "string"},
          {"name": "customer_email", "type": "string"},
          {"name": "product_id", "type": "int"},
          {"name": "price", "type": "double"},
          {"name": "quantity", "type": "int"},
          {"name": "total", "type": "double"}
        ]
      }

  - id: load_from_gcs
    type: io.kestra.plugin.gcp.bigquery.LoadFromGcs
    from:
      - "{{ outputs.ion_to_avro.uri }}"
    destinationTable: "my_project.my_dataset.my_table"
    format: AVRO
    avroOptions:
      useAvroLogicalTypes: true

```

> Load a csv file with a defined schema
```yaml
id: gcp_bq_load_files_test
namespace: company.team

tasks:
  - id: load_files_test
    type: io.kestra.plugin.gcp.bigquery.LoadFromGcs
    destinationTable: "myDataset.myTable"
    ignoreUnknownValues: true
    schema:
      fields:
        - name: colA
          type: STRING
        - name: colB
          type: NUMERIC
        - name: colC
          type: STRING
    format: CSV
    csvOptions:
      allowJaggedRows: true
      encoding: UTF-8
      fieldDelimiter: ","
    from:
      - gs://myBucket/myFile.csv

```

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
Whether the query result was fetched from the query cache.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The original estimate of bytes processed for the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The total number of bytes billed for the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The total number of bytes processed by the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The totla number of partitions processed from all partitioned tables referenced in the job.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The slot-milliseconds consumed by the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The number of rows affected by a DML statement. Present only for DML statements INSERT, UPDATE or DELETE.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The number of tables referenced by the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.$metrics[].description
The number of child jobs executed by the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.allowLargeResults.title
Sets whether the job is enabled to create arbitrarily large results.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.allowLargeResults.markdownDescription
If `true` the query is allowed to create large results at a slight cost in performance. `destinationTable` must be provided.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.clusteringFields.title
The clustering specification for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.createDisposition.title
Whether the job is allowed to create tables.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.defaultDataset.markdownDescription
This dataset is used for all unqualified table names used in the query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.destinationTable.markdownDescription
If not provided, a new table is created.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.dryRun.title
Whether the job has to be dry run or not.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.dryRun.markdownDescription
 A valid query will mostly return an empty response with some processing statistics, while an invalid query will return the same error as it would if it were an actual run.

Default value is : `false`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.fetch.title
Whether to Fetch the data from the query result to the task output

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.fetchOne.title
Whether to Fetch only one data row from the query result to the task output

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.flattenResults.title
Sets whether nested and repeated fields should be flattened.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.flattenResults.markdownDescription
If set to `false`, allowLargeResults must be `true`.

Default value is : `true`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.jobTimeout.markdownDescription
If this time limit is exceeded, BigQuery may attempt to terminate the job.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.labels.markdownDescription
You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.legacySql.title
Whether to use BigQuery's legacy SQL dialect for this query

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.legacySql.markdownDescription
By default this property is set to false.

Default value is : `false`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.maxResults.title
This is only supported in the fast query path.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.maxResults.markdownDescription
The maximum number of rows of data to return per page of results. Setting this flag to a small value such as 1000 and then paging through results might improve reliability when the query result set is large. In addition to this limit, responses are also limited to 10 MB. By default, there is no maximum row count, and only the byte limit applies.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.maximumBillingTier.markdownDescription
Queries that have resource usage beyond this tier will fail (without incurring a charge). If unspecified, this will be set to your project default.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.maximumBytesBilled.markdownDescription
Queries that will have bytes billed beyond this limit will fail (without incurring a charge). If unspecified, this will be set to your project default.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.rangePartitioningField.title
Range partitioning field for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.rangePartitioningStart.title
The start of range partitioning, inclusive.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.schemaUpdateOptions.title
[Experimental] Options allowing the schema of the destination table to be updated as a side effect of the query job.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.schemaUpdateOptions.markdownDescription
 Schema update options are supported in two cases: * when writeDisposition is WRITE_APPEND; 
* when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. 
 For normal tables, WRITE_TRUNCATE will always overwrite the schema.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.store.title
Whether to store the data from the query result into an ion serialized data file

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.timePartitioningField.title
The time partitioning field for the destination table.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.timePartitioningType.title
The time partitioning type specification.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.useLegacySql.title
Sets whether to use BigQuery's legacy SQL dialect for this query.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.useLegacySql.markdownDescription
 A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run.

Default value is : `false`

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.useQueryCache.title
Sets whether to look for the result in the query cache.

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.useQueryCache.markdownDescription
The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when `destinationTable` is not set 

# definitions.io.kestra.plugin.gcp.bigquery.Query.properties.writeDisposition.title
The action that should occur if the destination table already exists.

# definitions.io.kestra.plugin.gcp.bigquery.Query.title
Execute BigQuery SQL query in a specific BigQuery database.

# definitions.io.kestra.plugin.gcp.bigquery.Query.markdownDescription
##### Examples
> Create a table with a custom query.
```yaml
id: gcp_bq_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.gcp.bigquery.Query
    destinationTable: "my_project.my_dataset.my_table"
    writeDisposition: WRITE_APPEND
    sql: |
      SELECT
        "hello" as string,
        NULL AS `nullable`,
        1 as int,
        1.25 AS float,
        DATE("2008-12-25") AS date,
        DATETIME "2008-12-25 15:30:00.123456" AS datetime,
        TIME(DATETIME "2008-12-25 15:30:00.123456") AS time,
        TIMESTAMP("2008-12-25 15:30:00.123456") AS timestamp,
        ST_GEOGPOINT(50.6833, 2.9) AS geopoint,
        ARRAY(SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) AS `array`,
        STRUCT(4 AS x, 0 AS y, ARRAY(SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) AS z) AS `struct`

```

> Execute a query and fetch results sets on another task.
```yaml
id: gcp_bq_query
namespace: company.team

tasks:
  - id: fetch
    type: io.kestra.plugin.gcp.bigquery.Query
    fetch: true
    sql: |
      SELECT 1 as id, "John" as name
      UNION ALL
      SELECT 2 as id, "Doe" as name
  - id: use_fetched_data
    type: io.kestra.plugin.core.debug.Return
    format: |
      {% for row in outputs.fetch.rows %}
      id : {{ row.id }}, name: {{ row.name }}
      {% endfor %}

```

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.$metrics[].description
Rows count reported by BigQuery, only on `PENDING` writeStreamType.

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.properties.bufferSize.title
The number of records to send on each query

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.properties.from.title
The fully-qualified URIs that point to source data

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.properties.location.title
The geographic location where the dataset should reside

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.StorageWrite.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_storage_write
namespace: company.team

tasks:
  - id: read_data
    type: io.kestra.plugin.core.http.Download
    uri: https://dummyjson.com/products/1

  - id: storage_write
    type: io.kestra.plugin.gcp.bigquery.StorageWrite
    from: "{{ outputs.read_data.uri }}"
    destinationTable: "my_project.my_dataset.my_table"
    writeStreamType: DEFAULT

```

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.ifNotExists.title
Policy to apply if a table don't exists.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.ifNotExists.markdownDescription
If the policy is `SKIP`, the output will contain only null value, otherwise an error is raised.

Default value is : `ERROR`

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.TableMetadata.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_table_metadata
namespace: company.team

tasks:
  - id: table_metadata
    type: io.kestra.plugin.gcp.bigquery.TableMetadata
    projectId: my-project
    dataset: my-dataset
    table: my-table

```

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.fetch.title
Whether to Fetch the data from the query result to the task output

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.fetchOne.title
Whether to Fetch only one data row from the query result to the task output

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.legacySql.title
Whether to use BigQuery's legacy SQL dialect for this query

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.legacySql.markdownDescription
By default this property is set to false.

Default value is : `false`

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.properties.store.title
Whether to store the data from the query result into an ion serialized data file

# definitions.io.kestra.plugin.gcp.bigquery.Trigger.markdownDescription
##### Examples
> Wait for a sql query to return results and iterate through rows.
```yaml
id: bigquery-listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.gcp.bigquery.Trigger
    interval: "PT5M"
    sql: "SELECT * FROM `myproject.mydataset.mytable`"
    fetch: true
```

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.acl.title
The dataset's access control configuration.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.defaultEncryptionConfiguration.allOf[].title
The default encryption key for all tables in the dataset.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.defaultEncryptionConfiguration.allOf[].markdownDescription
Once this property is set, all newly-created partitioned tables in the dataset will have encryption key set to this value, unless table creation request (or query) overrides the key.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.defaultPartitionExpirationMs.title
[Optional] The default partition expiration time for all partitioned tables in the dataset, in milliseconds.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.defaultPartitionExpirationMs.markdownDescription
 Once this property is set, all newly-created partitioned tables in the  dataset will has an expirationMs property in the timePartitioning settings set to this value. Changing the value only affect new tables, not existing ones. The storage in a partition will have an expiration time of its partition time plus this value. Setting this property overrides the use of defaultTableExpirationMs for partitioned tables: only one of defaultTableExpirationMs and defaultPartitionExpirationMs will be used for any new partitioned table. If you provide an explicit timePartitioning.expirationMs when creating or updating a partitioned table, that value takes precedence over the default partition expiration time indicated by this property. The value may be null.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.defaultTableLifetime.title
The default lifetime of all tables in the dataset, in milliseconds.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.defaultTableLifetime.markdownDescription
The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. This property is experimental and might be subject to change or removed.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.description.markdownDescription
A user-friendly description for the dataset.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.
See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.UpdateDataset.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_update_dataset
namespace: company.team

tasks:
  - id: update_dataset
    type: io.kestra.plugin.gcp.bigquery.UpdateDataset
    name: "my_dataset"
    location: "EU"
    friendlyName: "new Friendly Name"

```

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.description.title
The user-friendly description for the table.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.expirationDuration.title
Sets the duration, since now, when this table expires.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.expirationDuration.markdownDescription
If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.labels.title
Return a map for labels applied to the table.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.location.title
The geographic location where the dataset should reside.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.location.markdownDescription
This property is experimental and might be subject to change or removed.

See Dataset Location

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.requirePartitionFilter.title
Return true if a partition filter (that can be used for partition elimination) is required for queries over this table.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryAuto.oneOf[].allOf[].title
Automatic retry for retryable BigQuery exceptions.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryAuto.oneOf[].allOf[].markdownDescription
Some exceptions (especially rate limit) are not retried by default by BigQuery client, we use by default a transparent retry (not the kestra one) to handle this case.
The default values are exponential of 5 seconds for a maximum of 15 minutes and ten attempts

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryMessages.title
The messages which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryMessages.markdownDescription
Message is tested as a substring of the full message, and is case insensitive.

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

Default value is : `- due to concurrent update
- Retrying the job may solve the problem`

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryReasons.title
The reasons which would trigger an automatic retry.

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.retryReasons.markdownDescription
Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

Default value is : `- rateLimitExceeded
- jobBackendError
- internalError
- jobInternalError`

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.bigquery.UpdateTable.markdownDescription
##### Examples
> 
```yaml
id: gcp_bq_update_table
namespace: company.team

tasks:
  - id: update_table
    type: io.kestra.plugin.gcp.bigquery.UpdateTable
    projectId: my-project
    dataset: my-dataset
    table: my-table
    expirationDuration: PT48H

```

# definitions.io.kestra.plugin.gcp.bigquery.models.Entity.properties.type.title
The type of the entity (USER, GROUP, DOMAIN or IAM_MEMBER).

# definitions.io.kestra.plugin.gcp.bigquery.models.Entity.properties.value.markdownDescription
For example, user email if the type is USER.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.autodetect.title
Whether automatic detection of schema and format options should be performed.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.compression.title
The compression type of the data source.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.formatType.title
The source format, and possibly some parsing options, of the external data.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.ignoreUnknownValues.title
Whether BigQuery should allow extra values that are not represented in the table schema.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.ignoreUnknownValues.markdownDescription
If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.maxBadRecords.title
The maximum number of bad records that BigQuery can ignore when reading data.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.maxBadRecords.markdownDescription
If the number of bad records exceeds this value, an invalid error is returned in the job result.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.sourceUris.title
The fully-qualified URIs that point to your data in Google Cloud Storage.

# definitions.io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition.properties.sourceUris.markdownDescription
Each URI can
* contain one '*' wildcard character that must come after the bucket's name. Size limits related
* to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size
* across all URIs.

# definitions.io.kestra.plugin.gcp.bigquery.models.Field.properties.mode.markdownDescription
By default, `Field.Mode.NULLABLE` is used.

# definitions.io.kestra.plugin.gcp.bigquery.models.Field.properties.subFields.title
The list of sub-fields if `type` is a `LegacySQLType.RECORD`. Returns null otherwise.

# definitions.io.kestra.plugin.gcp.bigquery.models.MaterializedViewDefinition.properties.enableRefresh.title
Whether automatic refresh is enabled for the materialized view when the base table is updated.

# definitions.io.kestra.plugin.gcp.bigquery.models.MaterializedViewDefinition.properties.lastRefreshDate.title
Date when this materialized view was last modified.

# definitions.io.kestra.plugin.gcp.bigquery.models.MaterializedViewDefinition.properties.refreshInterval.title
The maximum frequency at which this materialized view will be refreshed.

# definitions.io.kestra.plugin.gcp.bigquery.models.StandardTableDefinition.properties.clustering.title
Returns the clustering configuration for this table. If {@code null}, the table is not clustered.

# definitions.io.kestra.plugin.gcp.bigquery.models.StandardTableDefinition.properties.rangePartitioning.allOf[].title
Returns the range partitioning configuration for this table. If {@code null}, the table is not range-partitioned.

# definitions.io.kestra.plugin.gcp.bigquery.models.StandardTableDefinition.properties.streamingBuffer.allOf[].title
Returns information on the table's streaming buffer, if exists. Returns {@code null} if no streaming buffer exists.

# definitions.io.kestra.plugin.gcp.bigquery.models.StandardTableDefinition.properties.timePartitioning.allOf[].title
Returns the time partitioning configuration for this table. If {@code null}, the table is not time-partitioned.

# definitions.io.kestra.plugin.gcp.bigquery.models.TableDefinition.properties.externalTableDefinition.allOf[].title
The external table definition if the type is `EXTERNAL`.

# definitions.io.kestra.plugin.gcp.bigquery.models.TableDefinition.properties.materializedViewDefinition.allOf[].title
The materialized view definition if the type is `MATERIALIZED_VIEW`.

# definitions.io.kestra.plugin.gcp.bigquery.models.TableDefinition.properties.standardTableDefinition.allOf[].title
The table definition if the type is `TABLE`.

# definitions.io.kestra.plugin.gcp.bigquery.models.TableDefinition.properties.viewDefinition.allOf[].title
The view definition if the type is `VIEW`.

# definitions.io.kestra.plugin.gcp.bigquery.models.TimePartitioning.properties.expiration.title
The number of milliseconds for which to keep the storage for a partition. When expired, the storage for the partition is reclaimed. If null, the partition does not expire.

# definitions.io.kestra.plugin.gcp.bigquery.models.TimePartitioning.properties.field.title
If not set, the table is partitioned by pseudo column '_PARTITIONTIME'; if set, the table is partitioned by this field.

# definitions.io.kestra.plugin.gcp.bigquery.models.TimePartitioning.properties.requirePartitionFilter.title
If set to true, queries over this table require a partition filter (that can be used for partition elimination) to be specified.

# definitions.io.kestra.plugin.gcp.bigquery.models.UserDefinedFunction.properties.Type of UserDefinedFunction.markdownDescription
If `type` is UserDefinedFunction.Type.INLINE, this method returns a code blob.
If `type` is UserDefinedFunction.Type.FROM_URI, the method returns a Google Cloud Storage URI (e.g. gs://bucket/path).

# definitions.io.kestra.plugin.gcp.bigquery.models.ViewDefinition.properties.viewUserDefinedFunctions.title
User defined functions that can be used by query. Returns {@code null} if not set.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.projectId.title
The GCP project ID to scope the commands to.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.serviceAccount.title
The full service account JSON key to use to authenticate to gcloud.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.gcp.cli.GCloudCLI.markdownDescription
##### Examples
> Create a cluster then list them using a service account.
```yaml
id: gcp_g_cloud_cli
namespace: company.team

tasks:
  - id: g_cloud_cli
    type: io.kestra.plugin.gcp.cli.GCloudCLI
    projectId: my-gcp-project
    serviceAccount: "{{ secret('gcp-sa') }}"
    commands:
      - gcloud container clusters create simple-cluster --region=europe-west3
      - gcloud container clusters list

```

> Create a GCS bucket.
```yaml
id: gcp_g_cloud_cli
namespace: company.team

tasks:
  - id: g_cloud_cli
    type: io.kestra.plugin.gcp.cli.GCloudCLI
    projectId: my-gcp-project
    serviceAccount: "{{ secret('gcp-sa') }}"
    commands:
      - gcloud storage buckets create gs://my-bucket

```

> Output the result of a command.
```yaml
id: gcp_g_cloud_cli
namespace: company.team

tasks:
  - id: g_cloud_cli
    type: io.kestra.plugin.gcp.cli.GCloudCLI
    projectId: my-gcp-project
    serviceAccount: "{{ secret('gcp-sa') }}"
    commands:
      # Outputs as a flow output for UI display
      - gcloud pubsub topics list --format=json | tr -d '
 ' | xargs -0 -I {} echo '::{"outputs":{"gcloud":{}}}::'

      # Outputs as a file, preferred way for large payloads
      - gcloud storage ls --json > storage.json

```

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-ExecutionCon.properties.kmsKey.title
The Cloud KMS key to use for encryption.

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-ExecutionCon.properties.serviceAccountEmail.title
Service account used to execute workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-PeripheralsC.properties.metastoreService.title
Resource name of an existing Dataproc Metastore service.

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-PeripheralsC.properties.sparkHistoryServer.allOf[].title
Resource name of an existing Dataproc Metastore service.

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-RuntimeConfi.properties.containerImage.title
Optional custom container image for the job runtime environment.

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-RuntimeConfi.properties.containerImage.markdownDescription
If not specified, a default container image will be used.

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-RuntimeConfi.properties.properties.title
properties used to configure the workload execution (map of key/value pairs).

# definitions.io.kestra.plugin.gcp.dataproc.batches.AbstractBatch-SparkHistory.properties.dataprocCluster.title
Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.archiveUris.title
HCFS URIs of archives to be extracted into the working director of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.archiveUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.args.markdownDescription
Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.fileUris.title
HCFS URIs of files to be placed in the working directory of each executor.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.fileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.jarFileUris.title
HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.jarFileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.mainPythonFileUri.title
The HCFS URI of the main Python file to use as the Spark driver. Must be a .py file.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.mainPythonFileUri.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.peripherals.allOf[].title
Peripherals configuration for a workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit.markdownDescription
##### Examples
> 
```yaml
id: gcp_dataproc_py_spark_submit
namespace: company.team
tasks:
  - id: py_spark_submit
    type: io.kestra.plugin.gcp.dataproc.batches.PySparkSubmit
    mainPythonFileUri: 'gs://spark-jobs-kestra/pi.py'
    name: test-pyspark
    region: europe-west3

```

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.archiveUris.title
HCFS URIs of archives to be extracted into the working director of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.archiveUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.args.markdownDescription
Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.fileUris.title
HCFS URIs of files to be placed in the working directory of each executor.

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.fileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.jarFileUris.title
HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.jarFileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.mainRFileUri.title
The HCFS URI of the main R file to use as the driver. Must be a `.R` or `.r` file.

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.mainRFileUri.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.peripherals.allOf[].title
Peripherals configuration for a workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit.markdownDescription
##### Examples
> 
```yaml
id: gcp_dataproc_r_spark_submit
namespace: company.team
tasks:
  - id: r_spark_submit
    type: io.kestra.plugin.gcp.dataproc.batches.RSparkSubmit
    mainRFileUri: 'gs://spark-jobs-kestra/dataframe.r'
    name: test-rspark
    region: europe-west3

```

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.archiveUris.title
HCFS URIs of archives to be extracted into the working director of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.archiveUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.args.markdownDescription
Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.fileUris.title
HCFS URIs of files to be placed in the working directory of each executor.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.fileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.jarFileUris.title
HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.jarFileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.peripherals.allOf[].title
Peripherals configuration for a workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.queryFileUri.title
The HCFS URI of the script that contains Spark SQL queries to execute.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.queryFileUri.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.title
[Apache Spark SQL](https://spark.apache.org/sql/) queries as a batch workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit.markdownDescription
##### Examples
> 
```yaml
id: gcp_dataproc_spark_sql_submit
namespace: company.team
tasks:
  - id: spark_sql_submit
    type: io.kestra.plugin.gcp.dataproc.batches.SparkSqlSubmit
    queryFileUri: 'gs://spark-jobs-kestra/foobar.py'
    name: test-sparksql
    region: europe-west3

```

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.archiveUris.title
HCFS URIs of archives to be extracted into the working director of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.archiveUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.args.markdownDescription
Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.fileUris.title
HCFS URIs of files to be placed in the working directory of each executor.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.fileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.jarFileUris.title
HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.jarFileUris.markdownDescription
Hadoop Compatible File System (HCFS) URIs should be accessible from the cluster. Can be a GCS file with the gs:// prefix, an HDFS file on the cluster with the hdfs:// prefix, or a local file on the cluster with the file:// prefix

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.mainClass.markdownDescription
The jar file that contains the class must be in the classpath or specified in `jarFileUris`

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.peripherals.allOf[].title
Peripherals configuration for a workload.

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.dataproc.batches.SparkSubmit.markdownDescription
##### Examples
> 
```yaml
id: gcp_dataproc_spark_submit
namespace: company.team
tasks:
  - id: spark_submit
    type: io.kestra.plugin.gcp.dataproc.batches.SparkSubmit
    jarFileUris:
      - 'gs://spark-jobs-kestra/spark-examples.jar'
    mainClass: org.apache.spark.examples.SparkPi
    args:
      - 1000
    name: test-spark
    region: europe-west3

```

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Create.properties.imageVersion.markdownDescription
The Compute Engine image resource used for cluster instances.

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Create.properties.masterDiskSizeGB.title
The disk size in GB for each master node.

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Create.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Create.properties.workerDiskSizeGB.title
The disk size in GB for each worker node.

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Create.title
Create clusters in Google Cloud Dataproc.

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Create.markdownDescription
##### Examples
> Creates a cluster in Google Cloud Dataproc.
```yaml
id: gcp_dataproc_cluster_create
namespace: company.team

tasks:
  - id: cluster_create
    type: io.kestra.plugin.gcp.dataproc.clusters.Create
    clusterName: YOUR_CLUSTER_NAME
    region: YOUR_REGION
    zone: YOUR_ZONE
    masterMachineType: n1-standard-2
    workerMachineType: n1-standard-2
    workers: 2
    bucket: YOUR_BUCKET_NAME

```

> Creates a cluster in Google Cloud Dataproc with specific disk size.
```yaml
id: gcp_dataproc_cluster_create
namespace: company.team

tasks:
  - id: create_cluster_with_certain_disk_size
    type: io.kestra.plugin.gcp.dataproc.clusters.Create
    clusterName: YOUR_CLUSTER_NAME
    region: YOUR_REGION
    zone: YOUR_ZONE
    masterMachineType: n1-standard-2
    masterDiskSizeGB: 500
    workerMachineType: n1-standard-2
    workerDiskSizeGB: 200
    workers: 2
    bucket: YOUR_BUCKET_NAM

```

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Delete.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Delete.title
Delete clusters from Google Cloud Dataproc.

# definitions.io.kestra.plugin.gcp.dataproc.clusters.Delete.markdownDescription
##### Examples
> Deletes a cluster from Google Cloud Dataproc.
```yaml
id: gcp_dataproc_cluster_delete
namespace: company.team

tasks:
  - id: create_cluster_with_certain_disk_size
    type: io.kestra.plugin.gcp.dataproc.clusters.Create
    clusterName: YOUR_CLUSTER_NAME
    region: YOUR_REGION

```

# definitions.io.kestra.plugin.gcp.firestore.Delete.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.firestore.Delete.markdownDescription
##### Examples
> 
```yaml
id: gcp_firestore_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.gcp.firestore.Delete
    collection: "persons"
    childPath: "1"

```

# definitions.io.kestra.plugin.gcp.firestore.Get.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.firestore.Get.markdownDescription
##### Examples
> Get a document from its path.
```yaml
id: gcp_firestore_get
namespace: company.team

tasks:
  - id: get
    type: io.kestra.plugin.gcp.firestore.Get
    collection: "persons"
    childPath: "1"

```

# definitions.io.kestra.plugin.gcp.firestore.Query.properties.fetchType.markdownDescription
FETCH_ONE output the first row, FETCH output all the rows, STORE store all rows in a file, NONE do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.gcp.firestore.Query.properties.filters.title
List of query filters that will be added as a where clause.

# definitions.io.kestra.plugin.gcp.firestore.Query.properties.offset.title
Start offset for pagination of the query results.

# definitions.io.kestra.plugin.gcp.firestore.Query.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.firestore.Query.markdownDescription
##### Examples
> 
```yaml
id: gcp_firestore_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.gcp.firestore.Query
    collection: "persons"
    filters:
      - field: "lastname"
        value: "Doe"

```

# definitions.io.kestra.plugin.gcp.firestore.Query-Filter.properties.operator.title
The operator for the filter, by default EQUAL_TO that will call 'collection.whereEqualTo(name, value)'

# definitions.io.kestra.plugin.gcp.firestore.Query-Filter.properties.value.markdownDescription
Field value for the filter. Only strings are supported at the moment.

# definitions.io.kestra.plugin.gcp.firestore.Set.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.firestore.Set.markdownDescription
##### Examples
> Set a document from a map.
```yaml
id: gcp_firestore_set
namespace: company.team

tasks:
  - id: set
    type: io.kestra.plugin.gcp.firestore.Set
    collection: "persons"
    document:
      firstname: "John"
      lastname: "Doe"

```

> Set a document from a JSON string.
```yaml
id: gcp_firestore_set
namespace: company.team

inputs:
  - id: json_string
    type: STRING
    default: "{"firstname": "John", "lastname": "Doe"}"

tasks:
  - id: set
    type: io.kestra.plugin.gcp.firestore.Set
    collection: "persons"
    document: "{{ inputs.json_string }}"

```

# definitions.io.kestra.plugin.gcp.gcs.Compose.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Compose.markdownDescription
##### Examples
> Concat files in a bucket
```yaml
id: gcp_gcs_compose
namespace: company.team

tasks:
  - id: compose
    type: io.kestra.plugin.gcp.gcs.Compose
    list:
      from: "gs://my_bucket/dir/"
    to: "gs://my_bucket/destination/my-compose-file.txt"

```

# definitions.io.kestra.plugin.gcp.gcs.Compose-List.properties.listingType.title
The listing type you want (like directory or recursive)

# definitions.io.kestra.plugin.gcp.gcs.Compose-List.properties.listingType.markdownDescription
if DIRECTORY, will only list objects in the specified directory
if RECURSIVE, will list objects in the specified directory recursively
Default value is DIRECTORY
When using RECURSIVE value, be careful to move your files to a location not in the `from` scope

Default value is : `DIRECTORY`

# definitions.io.kestra.plugin.gcp.gcs.Compose-List.properties.regExp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.gcp.gcs.Copy.properties.delete.title
Whether to delete the source files (from parameter) on success copy

# definitions.io.kestra.plugin.gcp.gcs.Copy.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Copy.markdownDescription
Copy the file between Internal Storage or Google Cloud Storage file##### Examples
> Move a file between bucket path
```yaml
id: gcp_gcs_copy
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: copy
    type: io.kestra.plugin.gcp.gcs.Copy
    from: "{{ inputs.file }}"
    delete: true

```

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.acl.title
The bucket's access control configuration

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.acl.markdownDescription
See About Access Control Lists

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.cors.title
The bucket's Cross-Origin Resource Sharing (CORS) configuration

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.cors.markdownDescription
See Cross-Origin ResourceSharing (CORS)

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.defaultAcl.title
The default access control configuration

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.defaultAcl.markdownDescription
The access control configuration to apply to bucket's blobs when no other configuration is specified.
See About Access Control Lists

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.defaultEventBasedHold.title
The default event-based hold for this bucket

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.defaultKmsKeyName.title
The default Cloud KMS key name for this bucket

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.iamConfiguration.allOf[].markdownDescription
See uniform bucket-level access

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.ifExists.title
Policy to apply if a bucket already exists.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.indexPage.markdownDescription
Behaves as the bucket's directory index where missing  blobs are treated as potential directories.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.lifecycleRules.markdownDescription
This configuration is expressed as a number of lifecycle rules, consisting of an action and a condition.
See Object Lifecycle Management
Only the age condition is supported. Only the delete and SetStorageClass actions are supported

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.location.markdownDescription
Data for blobs in the bucket resides in physical storage within this region. A list of supported values is available here.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.logging.allOf[].markdownDescription
This configuration defines the destination bucket and optional name prefix for the current bucket's logs.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.notFoundPage.title
The custom object to return when a requested resource is not found

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.requesterPays.markdownDescription
Whether a user accessing the bucket or an object it contains should assume the transit  costs related to the access.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.retentionPeriod.markdownDescription
If policy is not locked this value can be cleared, increased, and decreased. If policy is  locked the retention period can only be increased.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.storageClass.markdownDescription
This defines how blobs in the bucket are stored and determines the SLA and the cost of storage. A list of supported values is available here.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.versioningEnabled.title
Whether versioning should be enabled for this bucket

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.properties.versioningEnabled.markdownDescription
When set to true, versioning is  fully enabled.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.title
Create a bucket or update if it already exists.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucket.markdownDescription
##### Examples
> Create a new bucket with some options
```yaml
id: gcp_gcs_create_bucket
namespace: company.team

tasks:
  - id: create_bucket
    type: io.kestra.plugin.gcp.gcs.CreateBucket
    name: "my-bucket"
    versioningEnabled: true
    labels:
      my-label: my-value

```

# definitions.io.kestra.plugin.gcp.gcs.CreateBucketIamPolicy.properties.ifExists.title
Policy to apply if a policy already exists.

# definitions.io.kestra.plugin.gcp.gcs.CreateBucketIamPolicy.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.CreateBucketIamPolicy.markdownDescription
##### Examples
> Add role to a service account on a bucket
```yaml
id: gcp_gcs_create_bucket_iam_policy
namespace: company.team

tasks:
  - id: create_bucket_iam_policy
    type: io.kestra.plugin.gcp.gcs.CreateBucketIamPolicy
    name: "my-bucket"
    member: "sa@project.iam.gserviceaccount.com"
    role: "roles/storage.admin"

```

# definitions.io.kestra.plugin.gcp.gcs.Delete.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Delete.markdownDescription
##### Examples
> 
```yaml
id: gcp_gcs_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.gcp.gcs.Delete
    uri: "gs://my_bucket/dir/file.csv"

```

# definitions.io.kestra.plugin.gcp.gcs.DeleteBucket.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.DeleteBucket.markdownDescription
##### Examples
> Delete a bucket
```yaml
id: gcp_gcs_delete_bucket
namespace: company.team

tasks:
  - id: delete_bucket
    type: io.kestra.plugin.gcp.gcs.DeleteBucket
    name: "my-bucket"

```

# definitions.io.kestra.plugin.gcp.gcs.DeleteList.properties.allVersions.title
If set to `true`, lists all versions of a blob. The default is `false`.

# definitions.io.kestra.plugin.gcp.gcs.DeleteList.properties.listingType.title
The listing type you want (like directory or recursive)

# definitions.io.kestra.plugin.gcp.gcs.DeleteList.properties.listingType.markdownDescription
if DIRECTORY, will only list objects in the specified directory
if RECURSIVE, will list objects in the specified directory recursively
Default value is DIRECTORY
When using RECURSIVE value, be careful to move your files to a location not in the `from` scope

Default value is : `DIRECTORY`

# definitions.io.kestra.plugin.gcp.gcs.DeleteList.properties.regExp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.gcp.gcs.DeleteList.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.DeleteList.markdownDescription
##### Examples
> 
```yaml
id: gcp_gcs_delete_list
namespace: company.team

tasks:
  - id: delete_list
    type: io.kestra.plugin.gcp.gcs.DeleteList
    from: "gs://my_bucket/dir/"

```

# definitions.io.kestra.plugin.gcp.gcs.Download.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Download.markdownDescription
##### Examples
> 
```yaml
id: gcp_gcs_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.gcp.gcs.Download
    from: "gs://my_bucket/dir/file.csv"

```

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.allVersions.title
If set to `true`, lists all versions of a blob. The default is `false`.

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.listingType.title
The listing type you want (like directory or recursive)

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.listingType.markdownDescription
if DIRECTORY, will only list objects in the specified directory
if RECURSIVE, will list objects in the specified directory recursively
Default value is DIRECTORY
When using RECURSIVE value, be careful to move your files to a location not in the `from` scope

Default value is : `DIRECTORY`

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.moveDirectory.title
The destination directory for `MOVE` action.

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.regExp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.gcp.gcs.Downloads.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Downloads.title
Download multiple files from a GCS bucket.

# definitions.io.kestra.plugin.gcp.gcs.Downloads.markdownDescription
##### Examples
> Download a list of files and move it to an archive folders
```yaml
id: gcp_gcs_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.gcp.gcs.Downloads
    from: gs://my-bucket/kestra/files/
    action: MOVE
    moveDirectory: gs://my-bucket/kestra/archive/

```

# definitions.io.kestra.plugin.gcp.gcs.List.properties.allVersions.title
If set to `true`, lists all versions of a blob. The default is `false`.

# definitions.io.kestra.plugin.gcp.gcs.List.properties.listingType.title
The listing type you want (like directory or recursive)

# definitions.io.kestra.plugin.gcp.gcs.List.properties.listingType.markdownDescription
if DIRECTORY, will only list objects in the specified directory
if RECURSIVE, will list objects in the specified directory recursively
Default value is DIRECTORY
When using RECURSIVE value, be careful to move your files to a location not in the `from` scope

Default value is : `DIRECTORY`

# definitions.io.kestra.plugin.gcp.gcs.List.properties.regExp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.gcp.gcs.List.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.List.markdownDescription
##### Examples
> List files in a bucket
```yaml
id: gcp_gcs_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.gcp.gcs.List
    from: "gs://my_bucket/dir/"

```

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.listingType.title
The listing type you want (like directory or recursive)

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.listingType.markdownDescription
if DIRECTORY, will only list objects in the specified directory
if RECURSIVE, will list objects in the specified directory recursively
Default value is DIRECTORY
When using RECURSIVE value, be careful to move your files to a location not in the `from` scope

Default value is : `DIRECTORY`

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.moveDirectory.title
The destination directory for `MOVE` action.

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.regExp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.gcp.gcs.Trigger.markdownDescription
This trigger will poll every `interval` a GCS bucket. You can search for all files in a bucket or directory in `from` or you can filter the files with a `regExp`.The detection is atomic, internally we do a list and interact only with files listed.
Once a file is detected, we download the file on internal storage and processed with declared `action` in order to move or delete the files from the bucket (to avoid double detection on new poll).##### Examples
> Wait for a list of files on a GCS bucket, and iterate through the files.
```yaml
id: gcs-listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
    value: "{{ trigger.blobs | jq('.[].uri') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.gcp.gcs.Trigger
    interval: "PT5M"
    from: gs://my-bucket/kestra/listen/
    action: MOVE
    moveDirectory: gs://my-bucket/kestra/archive/
```

> Wait for a list of files on a GCS bucket and iterate through the files. Delete files manually after processing to prevent infinite triggering.
```yaml
id: gcs-listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
      - id: delete
        type: io.kestra.plugin.gcp.gcs.Delete
        uri: "{{ taskrun.value }}"
    value: "{{ trigger.blobs | jq('.[].uri') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.gcp.gcs.Trigger
    interval: "PT5M"
    from: gs://my-bucket/kestra/listen/
    action: NONE
```

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.acl.title
The bucket's access control configuration

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.acl.markdownDescription
See About Access Control Lists

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.cors.title
The bucket's Cross-Origin Resource Sharing (CORS) configuration

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.cors.markdownDescription
See Cross-Origin ResourceSharing (CORS)

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.defaultAcl.title
The default access control configuration

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.defaultAcl.markdownDescription
The access control configuration to apply to bucket's blobs when no other configuration is specified.
See About Access Control Lists

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.defaultEventBasedHold.title
The default event-based hold for this bucket

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.defaultKmsKeyName.title
The default Cloud KMS key name for this bucket

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.iamConfiguration.allOf[].markdownDescription
See uniform bucket-level access

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.indexPage.markdownDescription
Behaves as the bucket's directory index where missing  blobs are treated as potential directories.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.lifecycleRules.markdownDescription
This configuration is expressed as a number of lifecycle rules, consisting of an action and a condition.
See Object Lifecycle Management
Only the age condition is supported. Only the delete and SetStorageClass actions are supported

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.location.markdownDescription
Data for blobs in the bucket resides in physical storage within this region. A list of supported values is available here.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.logging.allOf[].markdownDescription
This configuration defines the destination bucket and optional name prefix for the current bucket's logs.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.notFoundPage.title
The custom object to return when a requested resource is not found

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.requesterPays.markdownDescription
Whether a user accessing the bucket or an object it contains should assume the transit  costs related to the access.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.retentionPeriod.markdownDescription
If policy is not locked this value can be cleared, increased, and decreased. If policy is  locked the retention period can only be increased.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.storageClass.markdownDescription
This defines how blobs in the bucket are stored and determines the SLA and the cost of storage. A list of supported values is available here.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.versioningEnabled.title
Whether versioning should be enabled for this bucket

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.properties.versioningEnabled.markdownDescription
When set to true, versioning is  fully enabled.

# definitions.io.kestra.plugin.gcp.gcs.UpdateBucket.markdownDescription
##### Examples
> Update some bucket labels
```yaml
id: gcp_gcs_update_bucket
namespace: company.team

tasks:
  - id: update_bucket
    type: io.kestra.plugin.gcp.gcs.UpdateBucket
    name: "my-bucket"
    labels:
      my-label: my-value

```

# definitions.io.kestra.plugin.gcp.gcs.Upload.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gcs.Upload.markdownDescription
##### Examples
> 
```yaml
id: gcp_gcs_upload
namespace: company.team

tasks:
  - id: upload
    type: io.kestra.plugin.gcp.gcs.Upload
    from: "{{ inputs.file }}"
    to: "gs://my_bucket/dir/file.csv"

```

# definitions.io.kestra.plugin.gcp.gcs.models.BucketLifecycleRule.properties.action.allOf[].title
The action to take when a lifecycle condition is met

# definitions.io.kestra.plugin.gcp.gcs.models.BucketLifecycleRule-Condition.properties.age.title
The Age condition is satisfied when an object reaches the specified age (in days). Age is measured from the object's creation time.

# definitions.io.kestra.plugin.gcp.gcs.models.Entity.properties.type.title
The type of the entity (USER, GROUP or DOMAIN)

# definitions.io.kestra.plugin.gcp.gcs.models.Entity.properties.value.title
The value for the entity (ex : user email if the type is USER ...)

# definitions.io.kestra.plugin.gcp.gke.ClusterMetadata.properties.clusterId.title
Cluster ID whose metadata needs to be fetched.

# definitions.io.kestra.plugin.gcp.gke.ClusterMetadata.properties.clusterProjectId.title
GCP project ID where the GKE cluster is present.

# definitions.io.kestra.plugin.gcp.gke.ClusterMetadata.properties.clusterZone.title
GCP zone in which the GKE cluster is present.

# definitions.io.kestra.plugin.gcp.gke.ClusterMetadata.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.gke.ClusterMetadata.markdownDescription
##### Examples
> Fetch a GKE cluster's metadata.
```yaml
id: gcp_gke_cluster_metadata
namespace: company.team

tasks:
  - id: cluster_metadata
    type: io.kestra.plugin.gcp.gke.ClusterMetadata
    clusterProjectId: my-project-id
    clusterZone: europe-west1-c
    clusterId: my-cluster-id

```

# definitions.io.kestra.plugin.gcp.pubsub.Consume.properties.autoCreateSubscription.title
Whether the Pub/Sub subscription should be created if not exists.

# definitions.io.kestra.plugin.gcp.pubsub.Consume.properties.maxDuration.title
Max duration in the Duration ISO format, after that the task will end.

# definitions.io.kestra.plugin.gcp.pubsub.Consume.properties.maxRecords.title
Max number of records, when reached the task will end.

# definitions.io.kestra.plugin.gcp.pubsub.Consume.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.pubsub.Consume.properties.subscription.markdownDescription
The Pub/Sub subscription. It will be created automatically if it didn't exist and 'autoCreateSubscription' is enabled.

# definitions.io.kestra.plugin.gcp.pubsub.Consume.properties.topic.markdownDescription
The Pub/Sub topic. It must be created before executing the task.

# definitions.io.kestra.plugin.gcp.pubsub.Consume.markdownDescription
Requires a maxDuration or a maxRecords.##### Examples
> 
```yaml
id: gcp_pubsub_consume
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.gcp.pubsub.Consume
    topic: topic-test
    maxRecords: 10
    projectId: {{ secret('GCP_PROJECT_ID') }}
    subscription: my-subscription

```

# definitions.io.kestra.plugin.gcp.pubsub.Publish.properties.from.markdownDescription
Can be an internal storage URI, a list of Pub/Sub messages, or a single Pub/Sub message.

# definitions.io.kestra.plugin.gcp.pubsub.Publish.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.pubsub.Publish.properties.topic.markdownDescription
The Pub/Sub topic. It must be created before executing the task.

# definitions.io.kestra.plugin.gcp.pubsub.Publish.markdownDescription
##### Examples
> 
```yaml
id: gcp_pubsub_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.gcp.pubsub.Publish
    topic: topic-test
    from:
      - data: "{{ 'base64-encoded-string-1' | base64encode }}"
         attributes:
             testAttribute: KestraTest
      - messageId: '1234'
      - orderingKey: 'foo'
      - data: "{{ 'base64-encoded-string-2' | base64encode }}"
      - attributes:
             testAttribute: KestraTest

```

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.autoCreateSubscription.title
Whether the Pub/Sub subscription should be created if not exist

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.maxDuration.title
Max duration in the Duration ISO format, after that the task will end.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.maxRecords.title
Max number of records, when reached the task will end.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.subscription.markdownDescription
The Pub/Sub subscription. It will be created automatically if it didn't exist and 'autoCreateSubscription' is enabled.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.properties.topic.markdownDescription
The Pub/Sub topic. It must be created before executing the task.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.title
Consume a message in real-time from a Pub/Sub topic and create one execution per message.

# definitions.io.kestra.plugin.gcp.pubsub.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.gcp.pubsub.Trigger](https://kestra.io/plugins/plugin-gcp/triggers/io.kestra.plugin.gcp.pubsub.trigger) instead.##### Examples
> Consume a message from a Pub/Sub topic in real-time.
```yaml
id: realtime-pubsub
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "Received: {{ trigger.data }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.gcp.pubsub.RealtimeTrigger
    projectId: test-project-id
    topic: test-topic
    subscription: test-subscription

```

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.autoCreateSubscription.title
Whether the Pub/Sub subscription should be created if not exist

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.maxDuration.title
Max duration in the Duration ISO format, after that the task will end.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.maxRecords.title
Max number of records, when reached the task will end.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.subscription.markdownDescription
The Pub/Sub subscription. It will be created automatically if it didn't exist and 'autoCreateSubscription' is enabled.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.properties.topic.markdownDescription
The Pub/Sub topic. It must be created before executing the task.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.title
Consume messages periodically from a Pub/Sub topic and create one execution per batch.

# definitions.io.kestra.plugin.gcp.pubsub.Trigger.markdownDescription
If you would like to consume each message from a Pub/Sub topic in real-time and create one execution per message, you can use the [io.kestra.plugin.gcp.pubsub.RealtimeTrigger](https://kestra.io/plugins/plugin-gcp/triggers/io.kestra.plugin.gcp.pubsub.realtimetrigger) instead.##### Examples
> 
```yaml
id: gcp_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "Received: {{ trigger.data }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.gcp.pubsub.Trigger
    projectId: test-project-id
    subscription: test-subscription
    topic: test-topic
    maxRecords: 10

```

# definitions.io.kestra.plugin.gcp.pubsub.model.Message.properties.data.title
The message data, must be a string if serde type is 'STRING', otherwise a JSON object

# definitions.io.kestra.plugin.gcp.pubsub.model.Message.properties.data.markdownDescription
If it's a string, it can be a dynamic property otherwise not.

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.maxOutputTokens.title
Maximum number of tokens that can be generated in the response.

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.maxOutputTokens.markdownDescription
Specify a lower value for shorter responses and a higher value for longer responses.
A token may be smaller than a word. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

Default value is : `128`

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.temperature.title
Temperature used for sampling during the response generation, which occurs when topP and topK are applied.

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.temperature.markdownDescription
Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a more deterministic and less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of 0 is deterministic: the highest probability response is always selected. For most use cases, try starting with a temperature of 0.2.

Default value is : `0.2`

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.topK.title
Top-k changes how the model selects tokens for output.

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.topK.markdownDescription
A top-k of 1 means the selected token is the most probable among all tokens in the model's vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature).
For each token selection step, the top K tokens with the highest probabilities are sampled. Then tokens are further filtered based on topP with the final token selected using temperature sampling.
Specify a lower value for less random responses and a higher value for more random responses.

Default value is : `40`

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.topP.title
Top-p changes how the model selects tokens for output.

# definitions.io.kestra.plugin.gcp.vertexai.AbstractGenerativeAi-ModelParamete.properties.topP.markdownDescription
Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value. For example, if tokens A, B, and C have a probability of 0.3, 0.2, and 0.1 and the top-p value is 0.5, then the model will select either A or B as the next token (using temperature) and doesn't consider C. The default top-p value is 0.95.
Specify a lower value for less random responses and a higher value for more random responses.

Default value is : `0.95`

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.context.title
For backward compatibility, since migration to Gemini LLM this property will be the first message to be send to the chat.

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.examples.title
This property is not used anymore since migration to Gemini LLM.

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.history.title
Conversation history provided to the model.

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.history.markdownDescription
Messages appear in chronological order: oldest first, newest last. When the history of messages causes the input to exceed the maximum length, the oldest messages are removed until the entire prompt is within the allowed limit.

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.messages.markdownDescription
Messages appear in chronological order: oldest first, newest last. When the history of messages causes the input to exceed the maximum length, the oldest messages are removed until the entire prompt is within the allowed limit.

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.parameters.allOf[].markdownDescription
Default value is : `temperature: 0.2
maxOutputTokens: 128
topK: 40
topP: 0.95`

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.title
Chat completion using the Vertex AI for Google's Gemini large language models (LLM).

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion.markdownDescription
See [Generative AI quickstart using the Vertex AI API](https://cloud.google.com/vertex-ai/docs/generative-ai/start/quickstarts/api-quickstart) for more information.##### Examples
> Chat completion using the Vertex AI Gemini API.
```yaml
id: gcp_vertexai_chat_completion
namespace: company.team

tasks:
  - id: chat_completion
    type: io.kestra.plugin.gcp.vertexai.ChatCompletion
    region: us-central1
    projectId: my-project
    context: I love jokes that talk about sport
    messages:
      - author: user
        content: Please tell me a joke

```

# definitions.io.kestra.plugin.gcp.vertexai.ChatCompletion-Message.properties.author.title
This property is not used anymore since migration to Gemini LLM

# definitions.io.kestra.plugin.gcp.vertexai.CustomJob.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.vertexai.CustomJob.properties.wait.markdownDescription
Allowing to capture job status & logs.

Default value is : `true`

# definitions.io.kestra.plugin.gcp.vertexai.CustomJob.markdownDescription
##### Examples
> 
```yaml
id: gcp_vertexai_custom_job
namespace: company.team

tasks:
  - id: custom_job
    type: io.kestra.plugin.gcp.vertexai.CustomJob
    projectId: my-gcp-project
    region: europe-west1
    displayName: Start Custom Job
    spec:
      workerPoolSpecs:
      - containerSpec:
          imageUri: gcr.io/my-gcp-project/my-dir/my-image:latest
        machineSpec:
          machineType: n1-standard-4
        replicaCount: 1

```

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion.properties.parameters.allOf[].markdownDescription
Default value is : `temperature: 0.2
maxOutputTokens: 128
topK: 40
topP: 0.95`

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion.title
Multimodal completion using the Vertex AI Gemini large language models (LLM).

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion.markdownDescription
See [Overview of multimodal models](https://cloud.google.com/vertex-ai/docs/generative-ai/multimodal/overview) for more information.##### Examples
> Text completion using the Vertex Gemini API
```yaml
id: gcp_vertexai_multimodal_completion
namespace: company.team

tasks:
  - id: multimodal_completion
    type: io.kestra.plugin.gcp.vertexai.MultimodalCompletion
    region: us-central1
    projectId: my-project
    contents:
      - content: Please tell me a joke

```

> Multimodal completion using the Vertex Gemini API
```yaml
id: gcp_vertexai_multimodal_completion
namespace: company.team

inputs:
  - id: image
    type: FILE

tasks:
  - id: multimodal_completion
    type: io.kestra.plugin.gcp.vertexai.MultimodalCompletion
    region: us-central1
    projectId: my-project
    contents:
      - content: Can you describe this image?
      - mimeType: image/jpeg
        content: "{{ inputs.image }}"

```

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion-Content.properties.content.title
The content itself, should be a string for text content or a Kestra internal storage URI for other content types.

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion-Content.properties.content.markdownDescription
If the content is not text, the `mimeType` property must be set.

# definitions.io.kestra.plugin.gcp.vertexai.MultimodalCompletion-Content.properties.mimeType.title
Mime type of the content, use it only when the content is not text.

# definitions.io.kestra.plugin.gcp.vertexai.TextCompletion.properties.parameters.allOf[].markdownDescription
Default value is : `temperature: 0.2
maxOutputTokens: 128
topK: 40
topP: 0.95`

# definitions.io.kestra.plugin.gcp.vertexai.TextCompletion.properties.prompt.markdownDescription
Prompts can include preamble, questions, suggestions, instructions, or examples.

# definitions.io.kestra.plugin.gcp.vertexai.TextCompletion.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/cloud-platform`

Default value is : `- https://www.googleapis.com/auth/cloud-platform`

# definitions.io.kestra.plugin.gcp.vertexai.TextCompletion.title
Text completion using the Vertex AI API for Google's Gemini large language models (LLM).

# definitions.io.kestra.plugin.gcp.vertexai.TextCompletion.markdownDescription
See [Generative AI quickstart using the Vertex AI API](https://cloud.google.com/vertex-ai/docs/generative-ai/start/quickstarts/api-quickstart) for more information.##### Examples
> Text completion using the Vertex AI Gemini API.
```yaml
id: gcp_vertexai_text_completion
namespace: company.team

tasks:
  - id: text_completion
    type: io.kestra.plugin.gcp.vertexai.TextCompletion
    region: us-central1
    projectId: my-project
    prompt: Please tell me a joke

```

# definitions.io.kestra.plugin.gcp.vertexai.models.ContainerSpec.properties.args.title
The arguments to be passed when starting the container.

# definitions.io.kestra.plugin.gcp.vertexai.models.ContainerSpec.properties.commands.title
The command to be invoked when the container is started.

# definitions.io.kestra.plugin.gcp.vertexai.models.ContainerSpec.properties.commands.markdownDescription
It overrides the entrypoint instruction in Dockerfile when provided.

# definitions.io.kestra.plugin.gcp.vertexai.models.ContainerSpec.properties.env.title
Environment variables to be passed to the container.

# definitions.io.kestra.plugin.gcp.vertexai.models.ContainerSpec.properties.imageUri.title
The URI of a container image in the Container Registry that is to be run on each worker replica.

# definitions.io.kestra.plugin.gcp.vertexai.models.ContainerSpec.properties.imageUri.markdownDescription
Must be on google container registry, example: `gcr.io/{{ project }}/{{ dir }}/{{ image }}:{{ tag }}`

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.baseOutputDirectory.allOf[].title
The Cloud Storage location to store the output of this job.

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.network.title
The full name of the Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the Job should be peered.

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.network.markdownDescription
For example, `projects/12345/global/networks/myVPC`.
Format is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name.
To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering).
If this field is left unspecified, the job is not peered with any network.

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.serviceAccount.title
Specifies the service account for workload run-as account.

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.serviceAccount.markdownDescription
       Users submitting jobs must have act-as permission on this run-as account.
       If unspecified, the [Vertex AI Custom Code Service
       Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
       for the CustomJob's project is used.

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.tensorboard.title
The name of a Vertex AI Tensorboard resource to which this CustomJob

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.workerPoolSpecs.title
The spec of the worker pools including machine type and Docker image.

# definitions.io.kestra.plugin.gcp.vertexai.models.CustomJobSpec.properties.workerPoolSpecs.markdownDescription
 All worker pools except the first one are optional and can be skipped

# definitions.io.kestra.plugin.gcp.vertexai.models.GcsDestination.properties.outputUriPrefix.title
Google Cloud Storage URI to output directory.

# definitions.io.kestra.plugin.gcp.vertexai.models.GcsDestination.properties.outputUriPrefix.markdownDescription
If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.

# definitions.io.kestra.plugin.gcp.vertexai.models.MachineSpec.properties.acceleratorCount.title
The number of accelerators to attach to the machine.

# definitions.io.kestra.plugin.gcp.vertexai.models.MachineSpec.properties.acceleratorType.title
The type of accelerator(s) that may be attached to the machine.

# definitions.io.kestra.plugin.gcp.vertexai.models.PythonPackageSpec.properties.args.title
The Google Cloud Storage location of the Python package files which are the training program and its dependent packages.

# definitions.io.kestra.plugin.gcp.vertexai.models.PythonPackageSpec.properties.args.markdownDescription
The maximum number of package URIs is 100.

# definitions.io.kestra.plugin.gcp.vertexai.models.PythonPackageSpec.properties.envs.title
Environment variables to be passed to the python module.

# definitions.io.kestra.plugin.gcp.vertexai.models.PythonPackageSpec.properties.packageUris.title
The Google Cloud Storage location of the Python package files which are the training program and its dependent packages.

# definitions.io.kestra.plugin.gcp.vertexai.models.PythonPackageSpec.properties.packageUris.markdownDescription
The maximum number of package URIs is 100.

# definitions.io.kestra.plugin.gcp.vertexai.models.Scheduling.properties.restartJobOnWorkerRestart.title
Restarts the entire CustomJob if a worker gets restarted.

# definitions.io.kestra.plugin.gcp.vertexai.models.Scheduling.properties.restartJobOnWorkerRestart.markdownDescription
This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.

# definitions.io.kestra.plugin.gcp.vertexai.models.Scheduling.properties.timeOut.title
The maximum job running time. The default is 7 days.

# definitions.io.kestra.plugin.git.Clone.properties.depth.title
Creates a shallow clone with a history truncated to the specified number of commits.

# definitions.io.kestra.plugin.git.Clone.properties.directory.title
The optional directory associated with the clone operation.

# definitions.io.kestra.plugin.git.Clone.properties.directory.markdownDescription
If the directory isn't set, the current directory will be used.

# definitions.io.kestra.plugin.git.Clone.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.Clone.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.Clone.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.Clone.markdownDescription
##### Examples
> Clone a public GitHub repository.
```yaml
id: git_clone
namespace: company.team

tasks:
  - id: clone
    type: io.kestra.plugin.git.Clone
    url: https://github.com/dbt-labs/jaffle_shop
    branch: main

```

> Clone a private repository from an HTTP server such as a private GitHub repository using a [personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
```yaml
id: git_clone
namespace: company.team

tasks:
  - id: clone
    type: io.kestra.plugin.git.Clone
    url: https://github.com/kestra-io/examples
    branch: main
    username: git_username
    password: your_personal_access_token

```

> Clone a repository from an SSH server. If you want to clone the repository into a specific directory, you can configure the `directory` property as shown below.
```yaml
id: git_clone
namespace: company.team

tasks:
  - id: clone
    type: io.kestra.plugin.git.Clone
    url: git@github.com:kestra-io/kestra.git
    directory: kestra
    privateKey: <keyfile_content>
    passphrase: <passphrase>

```

> Clone a GitHub repository and run a Python ETL script. Note that the `Worker` task is required so that the Python script shares the same local file system with files cloned from GitHub in the previous task.
```yaml
id: git_python
namespace: company.team

tasks:
  - id: file_system
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/examples
        branch: main
      - id: python_etl
        type: io.kestra.plugin.scripts.python.Commands
        beforeCommands:
          - pip install requests pandas > /dev/null
        commands:
          - python examples/scripts/etl_script.py

```

# definitions.io.kestra.plugin.git.Push.properties.addFilesPattern.title
Patterns of files to add to the commit. Default is `.` which means all files.

# definitions.io.kestra.plugin.git.Push.properties.addFilesPattern.markdownDescription
A directory name (e.g. `dir` to add `dir/file1` and `dir/file2`) can also be given to add all files in the directory, recursively. File globs (e.g. `*.py`) are not yet supported.

Default value is : `- .`

Default value is : `- .`

# definitions.io.kestra.plugin.git.Push.properties.branch.title
The branch to which files should be committed and pushed.

# definitions.io.kestra.plugin.git.Push.properties.branch.markdownDescription
If the branch doesn't exist yet, it will be created.

# definitions.io.kestra.plugin.git.Push.properties.directory.title
The optional directory associated with the clone operation.

# definitions.io.kestra.plugin.git.Push.properties.directory.markdownDescription
If the directory isn't set, the current directory will be used.

# definitions.io.kestra.plugin.git.Push.properties.flows.allOf[].title
Whether to push flows from the current namespace to Git.

# definitions.io.kestra.plugin.git.Push.properties.flows.allOf[].markdownDescription
Default value is : `enabled: true
childNamespaces: true
gitDirectory: _flows`

# definitions.io.kestra.plugin.git.Push.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.git.Push.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.git.Push.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.Push.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.Push.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.Push.title
Commit and push files to a Git repository.

# definitions.io.kestra.plugin.git.Push.markdownDescription
Replaced by [PushFlows](https://kestra.io/plugins/plugin-git/tasks/io.kestra.plugin.git.pushflows) and [PushNamespaceFiles](https://kestra.io/plugins/plugin-git/tasks/io.kestra.plugin.git.pushnamespacefiles) for flow and namespace files push scenario. You can add `inputFiles` to be committed and pushed. Furthermore, you can use this task in combination with the `Clone` task so that you can first clone the repository, then add or modify files and push to Git afterwards. Check the examples below as well as the [Version Control with Git](https://kestra.io/docs/developer-guide/git) documentation for more information.##### Examples
> Push flows and namespace files to a Git repository every 15 minutes.
```yaml
id: push_to_git
namespace: company.team

tasks:
  - id: commit_and_push
    type: io.kestra.plugin.git.Push
    namespaceFiles:
      enabled: true
    flows:
      enabled: true
    url: https://github.com/kestra-io/scripts
    branch: kestra
    username: git_username
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    commitMessage: "add flows and scripts {{ now() }}"

triggers:
  - id: schedule_push
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "*/15 * * * *"

```

> Clone the main branch, generate a file in a script, and then push that new file to Git. Since we're in a working directory with a `.git` directory, you don't need to specify the URL in the Push task. However, the Git credentials always need to be explicitly provided on both Clone and Push tasks (unless using task defaults).
```yaml
id: push_new_file_to_git
namespace: company.team

inputs:
  - id: commit_message
    type: STRING
    defaults: add a new file to Git

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone
        type: io.kestra.plugin.git.Clone
        branch: main
        url: https://github.com/kestra-io/scripts
      - id: generate_data
        type: io.kestra.plugin.scripts.python.Commands
        docker:
          image: ghcr.io/kestra-io/pydata:latest
        commands:
          - python generate_data/generate_orders.py
      - id: push
        type: io.kestra.plugin.git.Push
        username: git_username
        password: myPAT
        branch: feature_branch
        inputFiles:
          to_commit/avg_order.txt: "{{ outputs.generate_data.vars.average_order }}"
        addFilesPattern:
          - to_commit
        commitMessage: "{{ inputs.commit_message }}"

```

# definitions.io.kestra.plugin.git.Push-Author.properties.email.title
The commit author email, if null no author will be set on this commit

# definitions.io.kestra.plugin.git.Push-Author.properties.name.title
The commit author name, if null the username will be used instead

# definitions.io.kestra.plugin.git.Push-FlowFiles.properties.childNamespaces.title
Whether flows from child namespaces should be included.

# definitions.io.kestra.plugin.git.Push-FlowFiles.properties.enabled.title
Whether to push flows as YAML files to Git.

# definitions.io.kestra.plugin.git.Push-FlowFiles.properties.gitDirectory.title
To which directory flows should be pushed (relative to `directory`).

# definitions.io.kestra.plugin.git.PushFlows.properties.authorEmail.markdownDescription
If null, no author will be set on this commit.

# definitions.io.kestra.plugin.git.PushFlows.properties.authorName.markdownDescription
If null, the username will be used instead.

Default value is : `'`username`'`

# definitions.io.kestra.plugin.git.PushFlows.properties.branch.title
The branch to which files should be committed and pushed.

# definitions.io.kestra.plugin.git.PushFlows.properties.branch.markdownDescription
If the branch doesn't exist yet, it will be created.

Default value is : `kestra`

# definitions.io.kestra.plugin.git.PushFlows.properties.commitMessage.default
Add flows from `sourceNamespace` namespace

# definitions.io.kestra.plugin.git.PushFlows.properties.commitMessage.markdownDescription
Default value is : `Add flows from `sourceNamespace` namespace`

# definitions.io.kestra.plugin.git.PushFlows.properties.dryRun.title
If `true`, the task will only output modifications without pushing any file to Git yet. If `false` (default), all listed files will be pushed to Git immediately.

# definitions.io.kestra.plugin.git.PushFlows.properties.flows.title
List of glob patterns or a single one that declare which flows should be included in the Git commit.

# definitions.io.kestra.plugin.git.PushFlows.properties.flows.markdownDescription
By default, all flows from the specified sourceNamespace will be pushed (and optionally adjusted to match the targetNamespace before pushing to Git).
If you want to push only the current flow, you can use the "{{flow.id}}" expression or specify the flow ID explicitly, e.g. myflow.
Given that this is a list of glob patterns, you can include as many flows as you wish, provided that the user is authorized to access that namespace.
Note that each glob pattern try to match the file name OR the relative path starting from `gitDirectory`

Default value is : `'**'`

# definitions.io.kestra.plugin.git.PushFlows.properties.gitDirectory.title
Directory to which flows should be pushed.

# definitions.io.kestra.plugin.git.PushFlows.properties.gitDirectory.markdownDescription
If not set, flows will be pushed to a Git directory named _flows and will optionally also include subdirectories named after the child namespaces.
If you prefer, you can specify an arbitrary path, e.g., kestra/flows, allowing you to push flows to that specific Git directory.
If the `includeChildNamespaces` property is set to true, this task will also push all flows from child namespaces into their corresponding nested directories, e.g., flows from the child namespace called prod.marketing will be added to the marketing folder within the _flows folder.
Note that the targetNamespace (here prod) is specified in the flow code; therefore, kestra will not create the prod directory within _flows. You can use the PushFlows task to push flows from the sourceNamespace, and use SyncFlows to then sync PR-approved flows to the targetNamespace, including all child namespaces.

Default value is : `_flows`

# definitions.io.kestra.plugin.git.PushFlows.properties.includeChildNamespaces.title
Whether you want to push flows from child namespaces as well.

# definitions.io.kestra.plugin.git.PushFlows.properties.includeChildNamespaces.markdownDescription
By default, it’s `false`, so the task will push only flows from the explicitly declared namespace without pushing flows from child namespaces. If set to `true`, flows from child namespaces will be pushed to child directories in Git. See the example below for a practical explanation:

| Source namespace in the flow code |       Git directory path       |  Synced to target namespace   |
| --------------------------------- | ------------------------------ | ----------------------------- |
| namespace: dev                    | _flows/flow1.yml               | namespace: prod               |
| namespace: dev                    | _flows/flow2.yml               | namespace: prod               |
| namespace: dev.marketing          | _flows/marketing/flow3.yml     | namespace: prod.marketing     |
| namespace: dev.marketing          | _flows/marketing/flow4.yml     | namespace: prod.marketing     |
| namespace: dev.marketing.crm      | _flows/marketing/crm/flow5.yml | namespace: prod.marketing.crm |
| namespace: dev.marketing.crm      | _flows/marketing/crm/flow6.yml | namespace: prod.marketing.crm |

Default value is : `false`

# definitions.io.kestra.plugin.git.PushFlows.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.PushFlows.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.PushFlows.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.PushFlows.properties.sourceNamespace.title
The source namespace from which flows should be synced to the `gitDirectory`.

# definitions.io.kestra.plugin.git.PushFlows.properties.sourceNamespace.markdownDescription
Default value is : `"{{ flow.namespace }}"`

# definitions.io.kestra.plugin.git.PushFlows.properties.targetNamespace.title
The target namespace, intended as the production namespace.

# definitions.io.kestra.plugin.git.PushFlows.properties.targetNamespace.markdownDescription
If set, the `sourceNamespace` will be overwritten to the `targetNamespace` in the flow source code to prepare your branch for merging into the production namespace.

# definitions.io.kestra.plugin.git.PushFlows.title
Commit and push your saved flows to a Git repository.

# definitions.io.kestra.plugin.git.PushFlows.markdownDescription
Using this task, you can push one or more flows from a given namespace (and optionally also child namespaces) to Git.
Check the examples below to see how you can push all flows or only specific ones.
You can also learn about Git integration in the Version Control with [Git documentation](https://kestra.io/docs/developer-guide/git).##### Examples
> Automatically push all saved flows from the dev namespace and all child namespaces to a Git repository every day at 5 p.m. Before pushing to Git, the task will adjust the flow's source code to match the targetNamespace to prepare the Git branch for merging to the production namespace.
```yaml
id: push_to_git
namespace: company.team

tasks:
  - id: commit_and_push
    type: io.kestra.plugin.git.PushFlows
    sourceNamespace: dev # the namespace from which flows are pushed
    targetNamespace: prod # the target production namespace; if different than sourceNamespace, the sourceNamespace in the source code will be overwritten by the targetNamespace
    flows: "*"  # optional list of glob patterns; by default, all flows are pushed
    includeChildNamespaces: true # optional boolean, false by default
    gitDirectory: _flows
    url: https://github.com/kestra-io/scripts # required string
    username: git_username # required string needed for Auth with Git
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    branch: kestra # optional, uses "kestra" by default
    commitMessage: "add flows {{ now() }}" # optional string
    dryRun: true  # if true, you'll see what files will be added, modified or deleted based on the state in Git without overwriting the files yet

triggers:
  - id: schedule_push
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "0 17 * * *" # release/push to Git every day at 5pm

```

> Manually push a single flow to Git if the input push is set to true.
```yaml
id: myflow
namespace: prod

inputs:
  - id: push
    type: BOOLEAN
    defaults: false

tasks:
  - id: if
    type: io.kestra.plugin.core.flow.If
    condition: "{{ inputs.push == true}}"
    then:
      - id: commit_and_push
        type: io.kestra.plugin.git.PushFlows
        sourceNamespace: prod # optional; if you prefer templating, you can use "{{ flow.namespace }}"
        targetNamespace: prod # optional; by default, set to the same namespace as defined in sourceNamespace
        flows: myflow # if you prefer templating, you can use "{{ flow.id }}"
        url: https://github.com/kestra-io/scripts
        username: git_username
        password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
        branch: kestra
        commitMessage: "add flow {{ flow.namespace ~ '.' ~ flow.id }}"

```

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.authorEmail.markdownDescription
If null, no author will be set on this commit.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.authorName.markdownDescription
If null, the username will be used instead.

Default value is : `'`username`'`

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.branch.title
The branch to which Namespace Files should be committed and pushed.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.branch.markdownDescription
If the branch doesn’t exist yet, it will be created. If not set, the task will push the files to the `kestra` branch.

Default value is : `kestra`

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.commitMessage.markdownDescription
Default value is : `Add files from `namespace` namespace`

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.dryRun.title
If `true`, the task will only output modifications without pushing any file to Git yet. If `false` (default), all listed files will be pushed to Git immediately.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.files.title
Which Namespace Files should be included in the commit.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.files.markdownDescription
By default, Kestra will push all Namespace Files from the specified namespace.
If you want to push only a specific file or directory e.g. myfile.py, you can set it explicitly using files: myfile.py.
Given that this is a glob pattern string (or a list of glob patterns), you can include as many files as you wish, provided that the user is authorized to access that namespace.
Note that each glob pattern try to match the file name OR the relative path starting from `gitDirectory`

Default value is : `'**'`

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.gitDirectory.title
Directory to which Namespace Files should be pushed.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.gitDirectory.markdownDescription
If not set, files will be pushed to a Git directory named _files. See the table below for an example mapping of Namespace Files to Git paths:

|  Namespace File Path  |      Git directory path      |
| --------------------- | ---------------------------- |
| scripts/app.py        | _files/scripts/app.py        |
| scripts/etl.py        | _files/scripts/etl.py        |
| queries/orders.sql    | _files/queries/orders.sql    |
| queries/customers.sql | _files/queries/customers.sql |
| requirements.txt      | _files/requirements.txt      |

Default value is : `_files`

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.namespace.title
The namespace from which files should be pushed to the `gitDirectory`.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.namespace.markdownDescription
Default value is : `"{{ flow.namespace }}"`

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.title
Commit and push Namespace Files created from kestra UI to Git.

# definitions.io.kestra.plugin.git.PushNamespaceFiles.markdownDescription
Using this task, you can push one or more Namespace Files from a given kestra namespace to Git. Check the [Version Control with Git](https://kestra.io/docs/developer-guide/git) documentation for more details.##### Examples
> Push all saved Namespace Files from the dev namespace to a Git repository every 15 minutes.
```yaml
id: push_to_git
namespace: company.team

tasks:
  - id: commit_and_push
    type: io.kestra.plugin.git.PushNamespaceFiles
    namespace: dev
    files: "*"  # optional list of glob patterns; by default, all files are pushed
    gitDirectory: _files # optional path in Git where Namespace Files should be pushed
    url: https://github.com/kestra-io/scripts # required string
    username: git_username # required string needed for Auth with Git
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    branch: dev # optional, uses "kestra" by default
    commitMessage: "add namespace files" # optional string
    dryRun: true  # if true, you'll see what files will be added, modified or deleted based on the state in Git without overwriting the files yet

triggers:
  - id: schedule_push_to_git
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "*/15 * * * *"

```

# definitions.io.kestra.plugin.git.Sync.properties.dryRun.title
If true, the task will only display modifications without syncing any files yet. If false (default), all namespace files and flows will be overwritten based on the state in Git.

# definitions.io.kestra.plugin.git.Sync.properties.gitDirectory.title
Git directory to sync code from. If not specified, all files from a Git repository will be synchronized.

# definitions.io.kestra.plugin.git.Sync.properties.namespaceFilesDirectory.title
Namespace files directory to which files from Git should be synced. It defaults to the root directory of the namespace.

# definitions.io.kestra.plugin.git.Sync.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.Sync.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.Sync.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.Sync.title
Synchronizes the code for namespace files and flows based on the current state in Git.

# definitions.io.kestra.plugin.git.Sync.markdownDescription
Replaced by [SyncFlows](https://kestra.io/plugins/plugin-git/tasks/io.kestra.plugin.git.syncflows) and [SyncNamespaceFiles](https://kestra.io/plugins/plugin-git/tasks/io.kestra.plugin.git.syncnamespacefiles). Files located in `gitDirectory` will be synced with namespace files under `namespaceFilesDirectory` folder. Any file not present in the `gitDirectory` but present in `namespaceFilesDirectory` will be deleted from namespace files to ensure that Git remains a single source of truth for your workflow and application code. If you don't want some files from Git to be synced, you can add them to a `.kestraignore` file at the root of your `gitDirectory` folder — that file works the same way as `.gitignore`. 

If there is a `_flows` folder under the `gitDirectory` folder, any file within it will be parsed and imported as a flow under the namespace declared in the task. It's important to keep in mind that all flows **must be located within the same directory without any nested directories**. If you want to deploy all flows to kestra from Git using the Git Sync pattern, you have to place all your flows in the `_flows` directory. Adding namespace folders will result in an error and that's expected. Flows are not equivalent to Namespace Files — while Namespace Files can be stored in arbitrarily nested folders stored in Internal Storage, Flows are just metadata. Flows are sent to Kestra's API and stored in the database backend. This is why they follow a different deployment pattern and cannot be stored in nested folders in Git. 

Another important aspect is that the namespace defined in the flow code **might get overwritten (!)** if the namespace defined within Git doesn't match the namespace or a child namespace defined in the Git Sync task. All Git deployments, both the Git Sync and Kestra's CI/CD integrations, operate on a namespace level to ensure namespace-level governance of permissions, secrets, and to allow separation of resources. If you leverage multiple namespaces in a monorepo, you can create multiple flows, each using the Git Sync task to sync specific Git directories to the desired namespaces.##### Examples
> Synchronizes namespace files and flows based on the current state in a Git repository. This flow can run either on a schedule (using the Schedule trigger) or anytime you push a change to a given Git branch (using the Webhook trigger).
```yaml
id: sync_from_git
namespace: company.team

tasks:
  - id: git
    type: io.kestra.plugin.git.Sync
    url: https://github.com/kestra-io/scripts
    branch: main
    username: git_username
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    gitDirectory: your_git_dir # optional, otherwise all files
    namespaceFilesDirectory: your_namespace_files_location # optional, otherwise the namespace root directory
    dryRun: true  # if true, print the output of what files will be added/modified or deleted without overwriting the files yet

triggers:
  - id: every_minute
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "*/1 * * * *"

```

# definitions.io.kestra.plugin.git.SyncFlows.properties.branch.title
The branch from which flows will be synced to Kestra.

# definitions.io.kestra.plugin.git.SyncFlows.properties.delete.title
Whether you want to delete flows present in kestra but not present in Git.

# definitions.io.kestra.plugin.git.SyncFlows.properties.delete.markdownDescription
It’s `false` by default to avoid destructive behavior. Use this property with caution because when set to `true` and `includeChildNamespaces` is also set to `true`, this task will delete all flows from the `targetNamespace` and all its child namespaces that are not present in Git rather than only overwriting the changes.

Default value is : `false`

# definitions.io.kestra.plugin.git.SyncFlows.properties.dryRun.title
If `true`, the task will only output modifications without performing any modification to Kestra. If `false` (default), all listed modifications will be applied.

# definitions.io.kestra.plugin.git.SyncFlows.properties.gitDirectory.title
Directory from which flows should be synced.

# definitions.io.kestra.plugin.git.SyncFlows.properties.gitDirectory.markdownDescription
If not set, this task assumes your branch has a Git directory named `_flows` (equivalent to the default `gitDirectory` of the [PushFlows](https://kestra.io/docs/how-to-guides/pushflows) task).

If `includeChildNamespaces` property is set to `true`, this task will push all flows from nested subdirectories into their corresponding child namespaces, e.g. if `targetNamespace` is set to `prod`, then:

- flows from the `_flows` directory will be synced to the `prod` namespace,
- flows from the `_flows/marketing` subdirectory in Git will be synced to the `prod.marketing` namespace,
- flows from the `_flows/marketing/crm` subdirectory will be synced to the `prod.marketing.crm` namespace.

Default value is : `_flows`

# definitions.io.kestra.plugin.git.SyncFlows.properties.includeChildNamespaces.title
Whether you want to sync flows from child namespaces as well.

# definitions.io.kestra.plugin.git.SyncFlows.properties.includeChildNamespaces.markdownDescription
It’s `false` by default so that we sync only flows from the explicitly declared `gitDirectory` without traversing child directories. If set to `true`, flows from subdirectories in Git will be synced to child namespace in Kestra using the dot notation `.` for each subdirectory in the folder structure.

Default value is : `false`

# definitions.io.kestra.plugin.git.SyncFlows.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.SyncFlows.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.SyncFlows.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.SyncFlows.properties.targetNamespace.title
The target namespace to which flows from the `gitDirectory` should be synced.

# definitions.io.kestra.plugin.git.SyncFlows.properties.targetNamespace.markdownDescription
If the top-level namespace specified in the flow source code is different than the `targetNamespace`, it will be overwritten by this target namespace. This facilitates moving between environments and projects. If `includeChildNamespaces` property is set to true, the top-level namespace in the source code will also be overwritten by the `targetNamespace` in children namespaces.

For example, if the `targetNamespace` is set to `prod` and `includeChildNamespaces` property is set to `true`, then:
- `namespace: dev` in flow source code will be overwritten by `namespace: prod`,
- `namespace: dev.marketing.crm` will be overwritten by `namespace: prod.marketing.crm`.

See the table below for a practical explanation:

| Source namespace in the flow code |       Git directory path       |  Synced to target namespace   |
| --------------------------------- | ------------------------------ | ----------------------------- |
| namespace: dev                    | _flows/flow1.yml               | namespace: prod               |
| namespace: dev                    | _flows/flow2.yml               | namespace: prod               |
| namespace: dev.marketing          | _flows/marketing/flow3.yml     | namespace: prod.marketing     |
| namespace: dev.marketing          | _flows/marketing/flow4.yml     | namespace: prod.marketing     |
| namespace: dev.marketing.crm      | _flows/marketing/crm/flow5.yml | namespace: prod.marketing.crm |
| namespace: dev.marketing.crm      | _flows/marketing/crm/flow6.yml | namespace: prod.marketing.crm |

# definitions.io.kestra.plugin.git.SyncFlows.markdownDescription
This task syncs flows from a given Git branch to a Kestra `namespace`. If the `delete` property is set to true, any flow available in kestra but not present in the `gitDirectory` will be deleted, considering Git as a single source of truth for your flows. Check the [Version Control with Git](https://kestra.io/docs/developer-guide/git) documentation for more details.##### Examples
> Sync flows from a Git repository. This flow can run either on a schedule (using the [Schedule](https://kestra.io/docs/workflow-components/triggers#schedule-trigger) trigger) or anytime you push a change to a given Git branch (using the [Webhook](https://kestra.io/docs/workflow-components/triggers#webhook-trigger) trigger).
```yaml
id: sync_flows_from_git
namespace: company.team

tasks:
  - id: git
    type: io.kestra.plugin.git.SyncFlows
    gitDirectory: flows # optional; set to _flows by default
    targetNamespace: git # required
    includeChildNamespaces: true # optional; by default, it's set to false to allow explicit definition
    delete: true # optional; by default, it's set to false to avoid destructive behavior
    url: https://github.com/kestra-io/flows # required
    branch: main
    username: git_username
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    dryRun: true  # if true, the task will only log which flows from Git will be added/modified or deleted in kestra without making any changes in kestra backend yet

triggers:
  - id: every_full_hour
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "0 * * * *"

```

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.branch.title
The branch from which Namespace Files will be synced to Kestra.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.delete.title
Whether you want to delete Namespace Files present in kestra but not present in Git.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.delete.markdownDescription
It’s `false` by default to avoid destructive behavior. Use with caution because when set to `true`, this task will delete all Namespace Files which are not present in Git.

Default value is : `false`

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.dryRun.title
If `true`, the task will only output modifications without performing any modification to Kestra. If `false` (default), all listed modifications will be applied.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.gitDirectory.title
Directory from which Namespace Files should be synced.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.gitDirectory.markdownDescription
If not set, this task assumes your branch includes a directory named `_files`

Default value is : `_files`

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.namespace.title
The namespace from which files should be synced from the `gitDirectory` to Kestra.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.namespace.markdownDescription
Default value is : `"{{ flow.namespace }}"`

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.password.title
The password or Personal Access Token (PAT). When you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the `authorName` and `authorEmail` properties).

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.privateKey.title
PEM-format private key content that is paired with a public key registered on Git.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.properties.privateKey.markdownDescription
To generate an ECDSA PEM format key from OpenSSH, use the following command: `ssh-keygen -t ecdsa -b 256 -m PEM`. You can then set this property with your private key content and put your public key on Git.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.title
Sync Namespace Files from Git to Kestra.

# definitions.io.kestra.plugin.git.SyncNamespaceFiles.markdownDescription
This task syncs Namespace Files from a given Git branch to a Kestra `namespace. If the delete property is set to true, any Namespace Files available in kestra but not present in the gitDirectory will be deleted, allowing to maintain Git as a single source of truth for your Namespace Files. Check the Version Control with Git documentation for more details.
Using this task, you can push one or more Namespace Files from a given kestra namespace to Git. Check the [Version Control with Git](https://kestra.io/docs/developer-guide/git) documentation for more details.##### Examples
> Sync Namespace Files from a Git repository. This flow can run either on a schedule (using the Schedule trigger) or anytime you push a change to a given Git branch (using the Webhook trigger).
```yaml
id: sync_from_git
namespace: company.team

tasks:
  - id: git
    type: io.kestra.plugin.git.SyncNamespaceFiles
    namespace: prod
    gitDirectory: _files # optional; set to _files by default
    delete: true # optional; by default, it's set to false to avoid destructive behavior
    url: https://github.com/kestra-io/flows
    branch: main
    username: git_username
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    dryRun: true  # if true, the task will only log which flows from Git will be added/modified or deleted in kestra without making any changes in kestra backend yet

triggers:
  - id: every_minute
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "*/1 * * * *"

```

# definitions.io.kestra.plugin.github.code.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.code.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.code.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.code.Search.properties.order.markdownDescription
ASC - the results will be in ascending order

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.code.Search.properties.query.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.code.Search.properties.query.markdownDescription
Allow you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.code.Search.properties.sort.markdownDescription
BEST_MATCH - the results will be sorted by best match results

INDEXED - the results will be sorted by the index


Default value is : `BEST_MATCH`

# definitions.io.kestra.plugin.github.code.Search.properties.user.title
Search commits in all repositories owned by a certain user.

# definitions.io.kestra.plugin.github.code.Search.markdownDescription
Requires authentication.##### Examples
> Search for code in a repository.
```yaml
id: github_code_search_flow
namespace: company.team

tasks:
  - id: search_code
    type: io.kestra.plugin.github.code.Search
    oauthToken: your_github_token
    query: "addClass in:file language:js repo:jquery/jquery"

```

> Search for code in a repository.
```yaml
id: github_code_search_flow
namespace: company.team

tasks:
  - id: search_code
    type: io.kestra.plugin.github.code.Search
    oauthToken: your_github_token
    query: addClass
    in: file
    language: js
    repository: jquery/jquery

```

# definitions.io.kestra.plugin.github.commits.Search.properties.authorDate.title
Match commits authored within the specified date range. When you search for a date, you can use greater than, less than, and range qualifiers to further filter results.

# definitions.io.kestra.plugin.github.commits.Search.properties.authorEmail.title
Match commits by the author's full email address.

# definitions.io.kestra.plugin.github.commits.Search.properties.committerDate.title
Match commits committed within the specified date range.

# definitions.io.kestra.plugin.github.commits.Search.properties.committerDate.markdownDescription
When you search for a date, you can use greater than, less than, and range qualifiers to further filter results.

# definitions.io.kestra.plugin.github.commits.Search.properties.committerEmail.title
Match commits by the committer's full email address.

# definitions.io.kestra.plugin.github.commits.Search.properties.committerName.title
Match commits by the name of the committer

# definitions.io.kestra.plugin.github.commits.Search.properties.hash.title
Matches commits with the specified SHA-1 hash.

# definitions.io.kestra.plugin.github.commits.Search.properties.is.title
Matches commits from repositories with the specified visibility.

# definitions.io.kestra.plugin.github.commits.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.commits.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.commits.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.commits.Search.properties.order.markdownDescription
ASC - the results will be in ascending order

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.commits.Search.properties.org.title
Search commits in all repositories owned by a certain organization.

# definitions.io.kestra.plugin.github.commits.Search.properties.parent.title
Matches commits whose parent has the specified SHA-1 hash.

# definitions.io.kestra.plugin.github.commits.Search.properties.query.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.commits.Search.properties.query.markdownDescription
Allows you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.commits.Search.properties.sort.markdownDescription
COMMITTER_DATE - the results will be sorted by when user joined to Github

AUTHOR_DATE - the results will be sorted by the number of repositories owned by user


Default value is : `COMMITTER_DATE`

# definitions.io.kestra.plugin.github.commits.Search.properties.tree.title
Matches commits with the specified SHA-1 git tree hash.

# definitions.io.kestra.plugin.github.commits.Search.properties.user.title
Search commits in all repositories owned by a certain user

# definitions.io.kestra.plugin.github.commits.Search.markdownDescription
Requires authentication.##### Examples
> Search for commits in a repository.
```yaml
id: github_commit_search_flow
namespace: company.team

tasks:
  - id: search_commit
    type: io.kestra.plugin.github.commits.Search
    oauthToken: your_github_token
    query: "Initial repo:kestra-io/plugin-github language:java"

```

> Search for commits in a repository.
```yaml
id: github_commit_search_flow
namespace: company.team

tasks:
  - id: search_commit
    type: io.kestra.plugin.github.commits.Search
    oauthToken: your_github_token
    query: Initial
    repository: kestra-io/plugin-github

```

# definitions.io.kestra.plugin.github.issues.Comment.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.issues.Comment.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.issues.Comment.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.issues.Comment.properties.repository.markdownDescription
Repository where issue/ticket should be created. It's a string of Username + / + Repository name

# definitions.io.kestra.plugin.github.issues.Comment.markdownDescription
If no authentication is provided, anonymous authentication will be used.##### Examples
> Put a comment on an issue in a repository.
```yaml
id: github_comment_on_issue_flow
namespace: company.team

tasks:
  - id: comment_on_issue
    type: io.kestra.plugin.github.issues.Comment
    oauthToken: your_github_token
    repository: kestra-io/kestra
    issueNumber: 1347
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"

```

# definitions.io.kestra.plugin.github.issues.Create.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.issues.Create.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.issues.Create.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.issues.Create.properties.repository.markdownDescription
Repository where issue/ticket should be created. It's a string of Username + / + Repository name

# definitions.io.kestra.plugin.github.issues.Create.markdownDescription
If no authentication is provided, anonymous authentication will be used.##### Examples
> Create an issue in a repository using JWT token.
```yaml
id: github_issue_create_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    jwtToken: your_github_jwt_token
    repository: kestra-io/kestra
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"
    labels:
      - bug
      - workflow

```

> Create an issue in a repository using OAuth token.
```yaml
id: github_issue_create_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    login: your_github_login
    oauthToken: your_github_token
    repository: kestra-io/kestra
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"
    labels:
      - bug
      - workflow

```

> Create an issue in a repository with assignees.
```yaml
id: github_issue_create_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    oauthToken: your_github_token
    repository: kestra-io/kestra
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"
    labels:
      - bug
      - workflow
    assignees:
      - MyDeveloperUserName
      - MyDesignerUserName

```

# definitions.io.kestra.plugin.github.issues.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.issues.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.issues.Search.properties.mentions.title
Searched issues mentions by specified user.

# definitions.io.kestra.plugin.github.issues.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.issues.Search.properties.order.markdownDescription
ASC - the results will be in ascending order

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.issues.Search.properties.query.title
The query contains one or more search keywords and qualifiers. Allows you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.issues.Search.properties.sort.markdownDescription
CREATED - Sorts the results of query by the time issue was created (DEFAULT)

UPDATED - Sorts the results of query by the tome issue was last time updated

COMMENTS - Sorts the results of query by the number of comments


Default value is : `CREATED`

# definitions.io.kestra.plugin.github.issues.Search.markdownDescription
If no authentication is provided, anonymous authentication will be used##### Examples
> Search for issues in a repository.
```yaml
id: github_issue_search_flow
namespace: company.team

tasks:
  - id: search_issues
    type: io.kestra.plugin.github.issues.Search
    oauthToken: your_github_token
    query: "repo:kestra-io/plugin-github is:open"

```

> Search for open issues in a repository.
```yaml
id: github_issue_search_flow
namespace: company.team

tasks:
  - id: search_open_issues
    type: io.kestra.plugin.github.issues.Search
    oauthToken: your_github_token
    repository: kestra-io/plugin-github
    open: TRUE

```

# definitions.io.kestra.plugin.github.pulls.Create.properties.body.markdownDescription
The contents of the pull request. This is the markdown description of a pull request.

# definitions.io.kestra.plugin.github.pulls.Create.properties.draft.markdownDescription
Boolean value indicates whether to create a draft pull request or not. Default is false.

Default value is : `false`

# definitions.io.kestra.plugin.github.pulls.Create.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.pulls.Create.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.pulls.Create.properties.maintainerCanModify.title
Whether maintainers can modify the pull request.

# definitions.io.kestra.plugin.github.pulls.Create.properties.maintainerCanModify.markdownDescription
Boolean value indicating whether maintainers can modify the pull request. Default is false.

Default value is : `false`

# definitions.io.kestra.plugin.github.pulls.Create.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.pulls.Create.properties.repository.markdownDescription
Repository where issue/ticket should be created. It's a string of Username + / + Repository name

# definitions.io.kestra.plugin.github.pulls.Create.properties.sourceBranch.markdownDescription
Required. The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace head with a user like this: `username:branch`.

# definitions.io.kestra.plugin.github.pulls.Create.properties.targetBranch.markdownDescription
Required. The name of the branch you want your changes pulled into. This should be an existing branch on the current repository.

# definitions.io.kestra.plugin.github.pulls.Create.properties.title.markdownDescription
Required. The title of the pull request.

# definitions.io.kestra.plugin.github.pulls.Create.markdownDescription
If no authentication is provided, anonymous authentication will be used.##### Examples
> Create a pull request in a repository.
```yaml
id: github_pulls_create_flow
namespace: company.team

tasks:
  - id: create_pull_request
    type: io.kestra.plugin.github.pulls.Create
    oauthToken: your_github_token
    repository: kestra-io/kestra
    sourceBranch: develop
    targetBranch: main
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"

```

# definitions.io.kestra.plugin.github.pulls.Search.properties.assigned.title
Search pull requests that are assigned to a certain user.

# definitions.io.kestra.plugin.github.pulls.Search.properties.author.title
Finds pull requests created by a certain user or integration account.

# definitions.io.kestra.plugin.github.pulls.Search.properties.base.title
Filter pull requests based on the branch they are merging into.

# definitions.io.kestra.plugin.github.pulls.Search.properties.closed.title
Specifies whether the pull request is closed.

# definitions.io.kestra.plugin.github.pulls.Search.properties.closedAt.title
Search for code based on when pull request was closed.

# definitions.io.kestra.plugin.github.pulls.Search.properties.closedAt.markdownDescription
You can use greater than, less than, and range qualifiers (`..` between two dates) to further filter results.

# definitions.io.kestra.plugin.github.pulls.Search.properties.commit.title
Search for pull requests that contain that SHA.

# definitions.io.kestra.plugin.github.pulls.Search.properties.commit.markdownDescription
The SHA syntax must be at least seven characters.

# definitions.io.kestra.plugin.github.pulls.Search.properties.createdAt.title
Search for code based on when the pull request was created.

# definitions.io.kestra.plugin.github.pulls.Search.properties.createdAt.markdownDescription
You can use greater than, less than, and range qualifiers (`..` between two dates) to further filter results.

# definitions.io.kestra.plugin.github.pulls.Search.properties.createdByMe.title
Specifies whether pull request is created by user who logged in using token.

# definitions.io.kestra.plugin.github.pulls.Search.properties.draft.title
Specifies whether the pull request is in draft.

# definitions.io.kestra.plugin.github.pulls.Search.properties.head.title
Filter pull requests based on the branch they came from.

# definitions.io.kestra.plugin.github.pulls.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.pulls.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.pulls.Search.properties.mentions.title
Searched issues mentions by specified user.

# definitions.io.kestra.plugin.github.pulls.Search.properties.merged.title
Specifies whether the pull request is merged.

# definitions.io.kestra.plugin.github.pulls.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.pulls.Search.properties.open.title
Specifies whether the pull request is open.

# definitions.io.kestra.plugin.github.pulls.Search.properties.order.markdownDescription
ASC - the results will be in ascending order

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.pulls.Search.properties.query.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.pulls.Search.properties.query.markdownDescription
Allow you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.pulls.Search.properties.repository.title
Search pull requests in a specific repository.

# definitions.io.kestra.plugin.github.pulls.Search.properties.sort.markdownDescription
CREATED - Sorts the results of query by the time issue was created (DEFAULT)

UPDATED - Sorts the results of query by the tome issue was last time updated

COMMENTS - Sorts the results of query by the number of comments


Default value is : `CREATED`

# definitions.io.kestra.plugin.github.pulls.Search.properties.title.title
Search pull requests that have title like specified.

# definitions.io.kestra.plugin.github.pulls.Search.properties.updatedAt.title
Search for code based on when pull request was updated last time

# definitions.io.kestra.plugin.github.pulls.Search.properties.updatedAt.markdownDescription
You can use greater than, less than, and range qualifiers (`..` between two dates) to further filter results

# definitions.io.kestra.plugin.github.pulls.Search.markdownDescription
If no authentication is provided, anonymous authentication will be used. Anonymous authentication can't retrieve full information.##### Examples
> Search for pull requests in a repository.
```yaml
id: github_pulls_search_flow
namespace: company.team

tasks:
  - id: search_pull_requests
    type: io.kestra.plugin.github.pulls.Search
    oauthToken: your_github_token
    query: "repo:kestra-io/plugin-github is:open"

```

> Search for open pull requests in a repository.
```yaml
id: github_pulls_search_flow
namespace: company.team

tasks:
  - id: search_open_pull_requests
    type: io.kestra.plugin.github.pulls.Search
    oauthToken: your_github_token
    repository: kestra-io/plugin-github
    open: TRUE

```

# definitions.io.kestra.plugin.github.repositories.Search.properties.created.title
Search for code based on when repository was created.

# definitions.io.kestra.plugin.github.repositories.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.repositories.Search.properties.language.title
Search for code based on what language it's written in.

# definitions.io.kestra.plugin.github.repositories.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.repositories.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.repositories.Search.properties.order.markdownDescription
ASC - the results will be in ascending order

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.repositories.Search.properties.query.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.repositories.Search.properties.query.markdownDescription
Qualifiers allow you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.repositories.Search.properties.repository.title
To search the code in a specific repository.

# definitions.io.kestra.plugin.github.repositories.Search.properties.sort.markdownDescription
UPDATED - the results will be sorted by when the repository was last updated

STARS - the results will be sorted by the number of stars the repository has

FORKS - the results will be sorted by the number of forks the repository has


Default value is : `UPDATED`

# definitions.io.kestra.plugin.github.repositories.Search.properties.stars.title
Search for code based on how many starts repository has.

# definitions.io.kestra.plugin.github.repositories.Search.properties.user.title
Search the code in all repositories owned by a certain user.

# definitions.io.kestra.plugin.github.repositories.Search.properties.user.markdownDescription
To search by organization, use: "query: org:myOrganization".

# definitions.io.kestra.plugin.github.repositories.Search.properties.visibility.title
Search repository that have specified repositories. By default, it's search for all repositories.

# definitions.io.kestra.plugin.github.repositories.Search.properties.visibility.markdownDescription
PUBLIC - shows only public repositories

PRIVATE - shows only private repositories that are available for user who is searching

INTERNAL - shows only internal repositories

# definitions.io.kestra.plugin.github.repositories.Search.markdownDescription
If no authentication is provided, anonymous authentication will be used. Anonymous authentication can't retrieve full information.##### Examples
> Search for Github repositories using query.
```yaml
id: github_repo_search_flow
namespace: company.team

tasks:
  - id: search_repositories
    type: io.kestra.plugin.github.repositories.Search
    oauthToken: your_github_token
    query: "repo:kestra-io/plugin-github"

```

> Search for Github repositories using repository.
```yaml
id: github_repo_search_flow
namespace: company.team

tasks:
  - id: search_repositories
    type: io.kestra.plugin.github.repositories.Search
    oauthToken: your_github_token
    repository: kestra-io/plugin-github

```

> Search for Github repositories and order the results.
```yaml
id: github_repo_search_flow
namespace: company.team

tasks:
  - id: search_repositories
    type: io.kestra.plugin.github.repositories.Search
    oauthToken: your_github_token
    query: "user:kestra-io language:java is:public"
    sort: STARS
    order: DESC

```

> Search for Github repositories with filters like language and visibility, and order the results.
```yaml
id: github_repo_search_flow
namespace: company.team

tasks:
  - id: search_repositories
    type: io.kestra.plugin.github.repositories.Search
    oauthToken: your_github_token
    user: kestra-io
    language: java
    visibility: PUBLIC
    sort: STARS
    order: DESC

```

# definitions.io.kestra.plugin.github.topics.Search.properties.created.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.topics.Search.properties.created.markdownDescription
You can use greater than, less than, and range qualifiers to further filter results.

# definitions.io.kestra.plugin.github.topics.Search.properties.is.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.topics.Search.properties.is.markdownDescription
CURATED - Matches topics that are curated

FEATURED - Matches topics that are featured on `https://github.com/topics/`

NOT_CURATED - Matches topics that don't have extra information, such as a description or logo

NOT_FEATURED - Matches topics that aren't featured on `https://github.com/topics/`

# definitions.io.kestra.plugin.github.topics.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.topics.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.topics.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.topics.Search.properties.order.markdownDescription
ASC - the results will be in ascending order

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.topics.Search.properties.query.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.topics.Search.properties.query.markdownDescription
Allow you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.topics.Search.properties.repositories.title
Matches topics that have number of repositories.

# definitions.io.kestra.plugin.github.topics.Search.properties.repositories.markdownDescription
You can use greater than, less than, and range qualifiers to further filter results.

# definitions.io.kestra.plugin.github.topics.Search.markdownDescription
If no authentication is provided, anonymous authentication will be used. Anonymous authentication can't retrieve full information.##### Examples
> Search for topics.
```yaml
id: github_topic_search_flow
namespace: company.team

tasks:
  - id: search_topics
    type: io.kestra.plugin.github.topics.Search
    oauthToken: your_github_token
    query: "micronaut framework is:not-curated repositories:>100"

```

> Search for topics with conditions.
```yaml
id: github_topic_search_flow
namespace: company.team

tasks:
  - id: search_topics
    type: io.kestra.plugin.github.topics.Search
    oauthToken: your_github_token
    query: "micronaut framework"
    is: NOT_CURATED
    repositories: >100

```

# definitions.io.kestra.plugin.github.users.Search.properties.accountType.title
Restrict search results to personal accounts or organizations only.

# definitions.io.kestra.plugin.github.users.Search.properties.accountType.markdownDescription
USER - the results will include only user accounts

ORGANIZATION - the results will include only organization accounts

# definitions.io.kestra.plugin.github.users.Search.properties.created.title
Filter users based on when they joined GitHub.

# definitions.io.kestra.plugin.github.users.Search.properties.created.markdownDescription
Available formats:

- '<=YYYY-MM-DD' - joined at or before

- '>=YYYY-MM-DD' - joined at or after

- Similar cases for above two with ">", "<"

- 'YYYY-MM-DD..YYYY-MM-DD' - joined in period between

# definitions.io.kestra.plugin.github.users.Search.properties.followers.title
Filter users based on the number of followers that they have.

# definitions.io.kestra.plugin.github.users.Search.properties.in.title
With the 'in' qualifier you can restrict your search to the username/login, full name, public email.

# definitions.io.kestra.plugin.github.users.Search.properties.in.markdownDescription
Example kenya in:login matches users with the word "kenya" in their username. One more case of use to search users that have sponsor profile, equivalent to query: `is:sponsorable`.

# definitions.io.kestra.plugin.github.users.Search.properties.jwtToken.markdownDescription
Does not requires additional fields to log-in

# definitions.io.kestra.plugin.github.users.Search.properties.language.title
Search for users based on the languages of repositories they own.

# definitions.io.kestra.plugin.github.users.Search.properties.location.title
Search for users by the location indicated in their profile.

# definitions.io.kestra.plugin.github.users.Search.properties.login.markdownDescription
Requires additional field: oauthToken, to log-in

# definitions.io.kestra.plugin.github.users.Search.properties.oauthToken.markdownDescription
GitHub Personal Access Token. In addition, can be used with login or by its own

# definitions.io.kestra.plugin.github.users.Search.properties.order.markdownDescription
ASC - the results will be in ascending order (DEFAULT)

DESC - the results will be in descending order


Default value is : `ASC`

# definitions.io.kestra.plugin.github.users.Search.properties.query.title
The query contains one or more search keywords and qualifiers.

# definitions.io.kestra.plugin.github.users.Search.properties.query.markdownDescription
Qualifiers allow you to limit your search to specific areas of GitHub.

# definitions.io.kestra.plugin.github.users.Search.properties.repositories.title
You can filter users based on the number of repositories they own.

# definitions.io.kestra.plugin.github.users.Search.properties.sort.markdownDescription
JOINED - the results will be sorted by when user joined to Github (DEFAULT)

REPOSITORIES - the results will be sorted by the number of repositories owned by user

FOLLOWERS - the results will be sorted by the number of followers that user has


Default value is : `JOINED`

# definitions.io.kestra.plugin.github.users.Search.markdownDescription
If no authentication is provided, anonymous authentication will be used. Anonymous authentication can't retrieve full information.##### Examples
> Search for users.
```yaml
id: github_user_search_flow
namespace: company.team

tasks:
  - id: search_users
    type: io.kestra.plugin.github.users.Search
    oauthToken: your_github_token
    query: "kestra-io in:login language:java"

```

> Search for users with conditions.
```yaml
id: github_user_search_flow
namespace: company.team

tasks:
  - id: search_users
    type: io.kestra.plugin.github.users.Search
    oauthToken: your_github_token
    query: kestra-io
    in: login
    language: java

```

# definitions.io.kestra.plugin.googleworkspace.drive.Create.properties.mimeType.markdownDescription
Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded. If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published [here](https://developers.google.com/drive/api/v3/mime-types).

# definitions.io.kestra.plugin.googleworkspace.drive.Create.properties.name.markdownDescription
This is not necessarily unique within a folder

# definitions.io.kestra.plugin.googleworkspace.drive.Create.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.drive.Create.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/drive`

Default value is : `- https://www.googleapis.com/auth/drive`

# definitions.io.kestra.plugin.googleworkspace.drive.Create.properties.teamDriveId.title
ID of the Team Drive the file resides in.

# definitions.io.kestra.plugin.googleworkspace.drive.Create.markdownDescription
##### Examples
> 
```yaml
id: googleworkspace_drive_create
namespace: company.team

tasks:
  - id: create
    type: io.kestra.plugin.googleworkspace.drive.Create
    name: "My Folder"
    mimeType: "application/vnd.google-apps.folder"

```

# definitions.io.kestra.plugin.googleworkspace.drive.Delete.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.drive.Delete.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/drive`

Default value is : `- https://www.googleapis.com/auth/drive`

# definitions.io.kestra.plugin.googleworkspace.drive.Delete.markdownDescription
##### Examples
> 
```yaml
id: googleworkspace_drive_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.googleworkspace.drive.Delete
    fileId: "1Dkd3W0OQo-wxz1rrORLP7YGSj6EBLEg74fiTdbJUIQE"

```

# definitions.io.kestra.plugin.googleworkspace.drive.Download.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.drive.Download.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/drive`

Default value is : `- https://www.googleapis.com/auth/drive`

# definitions.io.kestra.plugin.googleworkspace.drive.Download.markdownDescription
##### Examples
> 
```yaml
id: googleworkspace_drive_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.googleworkspace.drive.Download
    fileId: "1Dkd3W0OQo-wxz1rrORLP7YGSj6EBLEg74fiTdbJUIQE"

```

# definitions.io.kestra.plugin.googleworkspace.drive.Export.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.drive.Export.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/drive`

Default value is : `- https://www.googleapis.com/auth/drive`

# definitions.io.kestra.plugin.googleworkspace.drive.Export.markdownDescription
##### Examples
> 
```yaml
id: googleworkspace_drive_export
namespace: company.team

tasks:
  - id: export
    type: io.kestra.plugin.googleworkspace.drive.Export
    fileId: "1Dkd3W0OQo-wxz1rrORLP7YGSj6EBLEg74fiTdbJUIQE"

```

# definitions.io.kestra.plugin.googleworkspace.drive.List.properties.corpora.title
list of bodies of items (files/documents) to which the query applies.

# definitions.io.kestra.plugin.googleworkspace.drive.List.properties.corpora.markdownDescription
'allTeamDrives' must be combined with 'user'; all other values must be used in isolation. Prefer 'user' or 'teamDrive' to 'allTeamDrives' for efficiency.

# definitions.io.kestra.plugin.googleworkspace.drive.List.properties.query.markdownDescription
see details [here](https://developers.google.com/drive/api/v3/search-files)
if not defined, will list all files that the service account have access

# definitions.io.kestra.plugin.googleworkspace.drive.List.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.drive.List.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/drive`

Default value is : `- https://www.googleapis.com/auth/drive`

# definitions.io.kestra.plugin.googleworkspace.drive.List.markdownDescription
##### Examples
> List subfolder in a Drive folder
```yaml
id: googleworkspace_drive_list
namespace: company.team

tasks:
  - id: list
    type: io.kestra.plugin.googleworkspace.drive.List
    query: |
      mimeType = 'application/vnd.google-apps.folder'
      and '1z2GZgLEX12BN9zbVE6TodrCHyTRMj_ka' in parents

```

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.properties.fileId.markdownDescription
If not provided, it will create a new file

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.properties.mimeType.markdownDescription
Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded. If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published [here](https://developers.google.com/drive/api/v3/mime-types).

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.properties.name.markdownDescription
This is not necessarily unique within a folder

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/drive`

Default value is : `- https://www.googleapis.com/auth/drive`

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.properties.teamDriveId.title
ID of the Team Drive the file resides in.

# definitions.io.kestra.plugin.googleworkspace.drive.Upload.markdownDescription
##### Examples
> Upload a csv and convert it to sheet format
```yaml
id: googleworkspace_drive_upload
namespace: company.team

inputs:
  - id: file
    type: FILE
    description: The file to be uploaded to Google Drive

tasks:
  - id: upload
    type: io.kestra.plugin.googleworkspace.drive.Upload
    from: "{{ inputs.file }}"
    parents:
     - "1HuxzpLt1b0111MuKMgy8wAv-m9Myc1E_"
    name: "My awesome CSV"
    contentType: "text/csv"
    mimeType: "application/vnd.google-apps.spreadsheet"

```

# definitions.io.kestra.plugin.googleworkspace.sheets.AbstractLoad-CsvOptions.properties.skipLeadingRows.title
The number of rows at the top of a CSV file that will be skipped when reading the data.

# definitions.io.kestra.plugin.googleworkspace.sheets.AbstractLoad-CsvOptions.properties.skipLeadingRows.markdownDescription
The default value is 0. This property is useful if you have header rows in the file that should be skipped.

# definitions.io.kestra.plugin.googleworkspace.sheets.CreateSpreadsheet.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.sheets.CreateSpreadsheet.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/spreadsheets`

Default value is : `- https://www.googleapis.com/auth/spreadsheets`

# definitions.io.kestra.plugin.googleworkspace.sheets.CreateSpreadsheet.title
Create a spreadsheet in Google Workspace

# definitions.io.kestra.plugin.googleworkspace.sheets.CreateSpreadsheet.markdownDescription
##### Examples
> Create a spreadsheet in Google Workspace
```yaml
         id: googleworkspace_sheets_create
         namespace: company.team

         inputs:
           - id: serviceAccount
             type: STRING

         tasks:
           - id: create_spreadsheet
             type: io.kestra.plugin.googleworkspace.sheets.CreateSpreadsheet
             serviceAccount: "{{ inputs.serviceAccount }}"

```

# definitions.io.kestra.plugin.googleworkspace.sheets.DeleteSpreadsheet.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.sheets.DeleteSpreadsheet.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/spreadsheets`

Default value is : `- https://www.googleapis.com/auth/spreadsheets`

# definitions.io.kestra.plugin.googleworkspace.sheets.DeleteSpreadsheet.title
Deletes a spreadsheet in Google Workspace

# definitions.io.kestra.plugin.googleworkspace.sheets.DeleteSpreadsheet.markdownDescription
##### Examples
> Deletes a spreadsheet in google workspace
```yaml
         id: googleworkspace_sheets_delete
         namespace: company.team

         inputs:
           - id: serviceAccount
             type: STRING

         tasks:
           - id: delete_spreadsheet
             type: io.kestra.plugin.googleworkspace.sheets.DeleteSpreadsheet
             serviceAccount: "{{ inputs.serviceAccount }}"
             spreadsheetId: "xxxxxxxxxxxxxxxx"

```

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.avroSchema.markdownDescription
If provided, the task will read avro objects using this schema.

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.csvOptions.allOf[].markdownDescription
Default value is : `fieldDelimiter: ","
encoding: UTF-8`

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.format.markdownDescription
If not provided, the task will programmatically try to find the correct format based on the extension.

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.from.title
The URI of the Kestra's internal storage file.

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.header.title
Specifies if the first line should be the header (default: false).

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/spreadsheets`

Default value is : `- https://www.googleapis.com/auth/spreadsheets`

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.title
Load data from a local file to a Google Workspace spreadsheet

# definitions.io.kestra.plugin.googleworkspace.sheets.Load.markdownDescription
##### Examples
> Load data into a Google Workspace spreadsheet from an input file
```yaml
   id: googleworkspace_sheets_load
namespace: company.team

inputs:
  - id: file
    type: FILE
  - id: serviceAccount
    type: STRING

tasks:
  - id: load_data
    type: io.kestra.plugin.googleworkspace.sheets.Load
    from: "{{ inputs.file }}"
    spreadsheetId: xxxxxxxxxxxxxxxxx
    range: Sheet2
    serviceAccount: "{{ inputs.serviceAccount }}"
    csvOptions:
      fieldDelimiter: ";"

```

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.dateTimeRender.title
How dates, times, and durations should be represented in the output.

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.fetch.title
Whether to Fetch the data from the query result to the task output

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.header.title
Specifies if the first line should be the header (default: false)

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/spreadsheets`

Default value is : `- https://www.googleapis.com/auth/spreadsheets`

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.selectedSheetsTitle.markdownDescription
If not provided all the sheets will be included.

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.store.title
Whether to store the data from the query result into an ion serialized data file

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.properties.valueRender.title
Determines how values should be rendered in the output.

# definitions.io.kestra.plugin.googleworkspace.sheets.Read.markdownDescription
##### Examples
> 
```yaml
id: googleworkspace_sheets_read
namespace: company.team

tasks:
  - id: read
    type: io.kestra.plugin.googleworkspace.sheets.Read
    spreadsheetId: "1Dkd3W0OQo-wxz1rrORLP7YGSj6EBLEg74fiTdbJUIQE"
    store: true
    valueRender: FORMATTED_VALUE

```

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.dateTimeRender.title
How dates, times, and durations should be represented in the output.

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.fetch.title
Whether to Fetch the data from the query result to the task output

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.header.title
Specifies if the first line should be the header (default: false)

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.readTimeout.title
The read timeout for the request (in seconds)

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.scopes.markdownDescription
Default value is : `- https://www.googleapis.com/auth/spreadsheets`

Default value is : `- https://www.googleapis.com/auth/spreadsheets`

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.store.title
Whether to store the data from the query result into an ion serialized data file

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.properties.valueRender.title
Determines how values should be rendered in the output.

# definitions.io.kestra.plugin.googleworkspace.sheets.ReadRange.markdownDescription
##### Examples
> 
```yaml
id: googleworkspace_sheets_readrange
namespace: company.team

tasks:
  - id: read_range
    type: io.kestra.plugin.googleworkspace.sheets.ReadRange
    spreadsheetId: "1Dkd3W0OQo-wxz1rrORLP7YGSj6EBLEg74fiTdbJUIQE"
    range: "Second One!A1:I"
    store: true
    valueRender: FORMATTED_VALUE

```

# definitions.io.kestra.plugin.hightouch.Sync.properties.wait.markdownDescription
Allowing to capture run status and logs

Default value is : `true`

# definitions.io.kestra.plugin.hightouch.Sync.title
Trigger a Hightouch sync and optionally wait for its completion

# definitions.io.kestra.plugin.hightouch.Sync.markdownDescription
##### Examples
> 
```yaml
id: hightouch_sync
namespace: company.team

tasks:
  - id: sync
    type: io.kestra.plugin.hightouch.Sync
    token: YOUR_API_TOKEN
    syncId: 1127166

```

# definitions.io.kestra.plugin.hubspot.tickets.Create.properties.priority.markdownDescription
(Optional) Available values:
LOW: Low priority
MEDIUM: Medium priority
HIGH: High priority

# definitions.io.kestra.plugin.hubspot.tickets.Create.markdownDescription
##### Examples
> 
```yaml
id: hubspot_tickets_create
namespace: company.team

tasks:
  - id: create_ticket
    type: io.kestra.plugin.hubspot.tickets.Create
    apiKey: my_api_key
    subject: "Increased 5xx in Demo Service"
    content: "The number of 5xx has increased beyond the threshold for Demo service."
    stage: 3
    priority: HIGH

```

> Create an issue when a Kestra workflow in any namespace with `company` as prefix fails.
```yaml
id: create_ticket_on_failure
namespace: system

tasks:
  - id: create_ticket
    type: io.kestra.plugin.hubspot.tickets.Create
    apiKey: my_api_key
    subject: Workflow failed
    content: "{{ execution.id }} has failed on {{ taskrun.startDate }}"
    stage: 3
    priority: HIGH

triggers:
  - id: on_failure
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: company
        comparison: PREFIX

```

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.title
Query a database through Apache Arrow Flight SQL driver.

# definitions.io.kestra.plugin.jdbc.arrowflight.Query.markdownDescription
##### Examples
> Send a SQL query to a database and fetch row(s) using Apache Arrow Flight SQL driver.
```yaml
id: arrow_flight_sql_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.arrowflight.Query
    url: jdbc:arrow-flight-sql://localhost:31010/?useEncryption=false
    username: db_user
    password: db_password
    sql: select * FROM departments
    fetchType: FETCH

```

> Send a SQL query to a Dremio coordinator and fetch rows as output using Apache Arrow Flight SQL driver.
```yaml
id: arrow_flight_sql_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.arrowflight.Query
    url: jdbc:arrow-flight-sql://dremio-coordinator:32010/?schema=postgres.public
    username: dremio_user
    password: dremio_password
    sql: select * FROM departments
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.title
Wait for query to a database through Arrow Flight SQL driver.

# definitions.io.kestra.plugin.jdbc.arrowflight.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.arrowflight.Trigger
    username: dremio_user
    password: dremio_password
    url: jdbc:arrow-flight-sql://dremio-coordinator:32010/?schema=postgres.public
    interval: "PT5M"
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.as400.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.as400.Query.markdownDescription
##### Examples
> Send a SQL query to a AS400 Database and fetch a row as output.
```yaml
id: as400_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.as400.Query
    url: jdbc:as400://127.0.0.1:50000/
    username: as400_user
    password: as400_password
    sql: select * from as400_types
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.as400.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.as400.Trigger
    interval: "PT5M"
    url: jdbc:as400://127.0.0.1:50000/
    username: as400_user
    password: as400_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.title
Bulk Insert new rows into a ClickHouse database.

# definitions.io.kestra.plugin.jdbc.clickhouse.BulkInsert.markdownDescription
##### Examples
> Insert rows from another table to a Clickhouse database using asynchronous inserts.
```yaml
id: clickhouse_bulk_insert
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: bulk_insert
    type: io.kestra.plugin.jdbc.clickhouse.BulkInsert
    from: "{{ inputs.file }}"
    url: jdbc:clickhouse://127.0.0.1:56982/
    username: ch_user
    password: ch_password
    sql: INSERT INTO YourTable SETTINGS async_insert=1, wait_for_async_insert=1 values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Insert data into specific columns via a SQL query to a ClickHouse database using asynchronous inserts.
```yaml
id: clickhouse_bulk_insert
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: bulk_insert
    type: io.kestra.plugin.jdbc.clickhouse.BulkInsert
    from: "{{ inputs.file }}"
    url: jdbc:clickhouse://127.0.0.1:56982/
    username: ch_user
    password: ch_password
    sql: INSERT INTO YourTable ( field1, field2, field3 ) SETTINGS async_insert=1, wait_for_async_insert=1 values( ?, ?, ? )

```

> Insert data into specific columns via a SQL query to a ClickHouse database using asynchronous inserts.
```yaml
id: clickhouse_bulk_insert
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: bulk_insert
    type: io.kestra.plugin.jdbc.clickhouse.BulkInsert
    from: "{{ inputs.file }}"
    url: jdbc:clickhouse://127.0.0.1:56982/
    username: ch_user
    password: ch_password
    table: YourTable

```

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.properties.beforeCommands.title
The commands to run before main list of commands.

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.jdbc.clickhouse.ClickHouseLocalCLI.markdownDescription
##### Examples
> Run clickhouse-local commands
```yaml
id: clickhouse-local
namespace: company.team
tasks:
  - id: query
    type: io.kestra.plugin.clickhouse.ClickHouseLocalCLI
    commands:
      - SELECT count() FROM s3('https://datasets-documentation.s3.eu-west-3.amazonaws.com/house_parquet/house_0.parquet')

```

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.clickhouse.Query.markdownDescription
##### Examples
> Query a Clickhouse database.
```yaml
id: clickhouse_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.clickhouse.Query
    url: jdbc:clickhouse://127.0.0.1:56982/
    username: ch_user
    password: ch_password
    sql: select * from clickhouse_types
    fetchType: STORE

```

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.title
Wait for query on a Clickhouse database.

# definitions.io.kestra.plugin.jdbc.clickhouse.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.clickhouse.Trigger
    interval: "PT5M"
    url: jdbc:clickhouse://127.0.0.1:56982/
    username: ch_user
    password: ch_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.db2.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.db2.Query.markdownDescription
##### Examples
> Send a SQL query to a DB2 Database and fetch a row as output.
```yaml
id: db2_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.db2.Query
    url: jdbc:db2://127.0.0.1:50000/
    username: db2inst
    password: db2_password
    sql: select * from db2_types
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.db2.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.db2.Trigger
    interval: "PT5M"
    url: jdbc:db2://127.0.0.1:50000/
    username: db2inst
    password: db2_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.dremio.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.dremio.Query.markdownDescription
##### Examples
> Send a SQL query to a Dremio database and fetch a row as output.
```yaml
id: dremio_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.dremio.Query
    url: jdbc:dremio:direct=sql.dremio.cloud:443;ssl=true;PROJECT_ID=sampleProjectId;
    username: dremio_token
    password: samplePersonalAccessToken
    sql: select * FROM source.database.table
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.dremio.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.dremio.Trigger
    interval: "PT5M"
    url: jdbc:dremio:direct=sql.dremio.cloud:443;ssl=true;PROJECT_ID=sampleProjectId;
    username: dremio_token
    password: samplePersonalAccessToken
    sql: "SELECT * FROM source.database.my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.druid.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.druid.Query.markdownDescription
##### Examples
> Query an Apache Druid database.
```yaml
id: druid_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.druid.Query
    url: jdbc:avatica:remote:url=http://localhost:8888/druid/v2/sql/avatica/;transparent_reconnection=true
    sql: |
      SELECT *
      FROM wikiticker
    fetchType: STORE

```

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.druid.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.druid.Trigger
    interval: "PT5M"
    url: jdbc:avatica:remote:url=http://localhost:8888/druid/v2/sql/avatica/;transparent_reconnection=true
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.inputFiles.markdownDescription
Describe a files map that will be written and usable by DuckDb. You can reach files using a `workingDir` variable, example: `SELECT * FROM read_csv_auto('{{ workingDir }}/myfile.csv');` 

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.outputFiles.title
Output file list that will be uploaded to internal storage.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.outputFiles.markdownDescription
List of keys that will generate temporary files.
On the SQL query, you can just use a variable named `outputFiles.key` for the corresponding file.
If you add a file with `["first"]`, you can use the special vars `COPY tbl TO '{{ outputFiles.first }}' (HEADER, DELIMITER ',');` and use this file in others tasks using `{{ outputs.taskId.outputFiles.first }}`.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.duckdb.Query.properties.url.markdownDescription
The default value, `jdbc:duckdb:`, will use a local in-memory database. 
Set this property when connecting to a persisted database instance, for example `jdbc:duckdb:md:my_database?motherduck_token=<my_token>` to connect to [MotherDuck](https://motherduck.com/).

Default value is : `"jdbc:duckdb:"`

# definitions.io.kestra.plugin.jdbc.duckdb.Query.markdownDescription
##### Examples
> Execute a query that reads a csv, and outputs another csv.
```yaml
id: query_duckdb
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: "https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv"

  - id: query
    type: io.kestra.plugin.jdbc.duckdb.Query
    url: 'jdbc:duckdb:'
    timeZoneId: Europe/Paris
    sql: |-
      CREATE TABLE new_tbl AS SELECT * FROM read_csv_auto('{{ workingDir }}/in.csv', header=True);

      COPY (SELECT order_id, customer_name FROM new_tbl) TO '{{ outputFiles.out }}' (HEADER, DELIMITER ',');
    inputFiles:
      in.csv: "{{ outputs.http_download.uri }}"
    outputFiles:
       - out

```

> Execute a query that reads from an existing database file using a URL.
```yaml
id: query_duckdb
namespace: company.team

tasks:
  - id: query1
    type: io.kestra.plugin.jdbc.duckdb.Query
    url: jdbc:duckdb:/{{ vars.dbfile }}
    sql: SELECT * FROM table_name;
    fetchType: STORE

  - id: query2
    type: io.kestra.plugin.jdbc.duckdb.Query
    url: jdbc:duckdb:/temp/folder/duck.db
    sql: SELECT * FROM table_name;
    fetchType: STORE

```

> Execute a query that reads from an existing database file using the `databaseFile` variable.
```yaml
id: query_duckdb
namespace: company.team

tasks:
  - id: query1
    type: io.kestra.plugin.jdbc.duckdb.Query
    url: jdbc:duckdb:
    databaseFile: {{ vars.dbfile }}
    sql: SELECT * FROM table_name;
    fetchType: STORE

  - id: query2
    type: io.kestra.plugin.jdbc.duckdb.Query
    url: jdbc:duckdb:
    databaseFile: /temp/folder/duck.db
    sql: SELECT * FROM table_name;
    fetchType: STORE

```

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.duckdb.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.duckdb.Trigger
    interval: "PT5M"
    url: 'jdbc:duckdb:'
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.title
Execute a batch query to a MySQL server.

# definitions.io.kestra.plugin.jdbc.mysql.Batch.markdownDescription
##### Examples
> Fetch rows from a table, and bulk insert them to another one.
```yaml
id: mysql_batch
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.mysql.Query
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.mysql.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    sql: |
      insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Fetch rows from a table, and bulk insert them to another one, without using sql query.
```yaml
id: mysql_batch
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.mysql.Query
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.mysql.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    table: xref

```

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.inputFile.title
Add input file to be loaded with `LOAD DATA LOCAL`.

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.inputFile.markdownDescription
The file must be from Kestra's internal storage

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.mysql.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.mysql.Query.markdownDescription
##### Examples
> Send a SQL query to a MySQL Database and fetch a row as output.
```yaml
id: mysql_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.mysql.Query
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    sql: select * from mysql_types
    fetchType: FETCH_ONE

```

> Load a csv file into a MySQL table.
```yaml
id: mysql_query
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/products.csv

  - id: query
    type: io.kestra.plugin.jdbc.mysql.Query
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    inputFile: "{{ outputs.http_download.uri }}"
    sql: |
      LOAD DATA LOCAL INFILE '{{ inputFile }}'
      INTO TABLE products
      FIELDS TERMINATED BY ','
      ENCLOSED BY '"'
      LINES TERMINATED BY '\n'
      IGNORE 1 ROWS;

```

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.mysql.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.mysql.Trigger
    interval: "PT5M"
    url: jdbc:mysql://127.0.0.1:3306/
    username: mysql_user
    password: mysql_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.oracle.Batch.title
Execute a batch query to a Oracle server

# definitions.io.kestra.plugin.jdbc.oracle.Batch.markdownDescription
##### Examples
> Fetch rows from a table and bulk insert to another one
```yaml
id: oracle_batch
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.oracle.Query
    url: jdbc:oracle:thin:@dev:49161:XE
    username: oracle
    password: oracle_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.oracle.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:oracle:thin:@prod:49161:XE
    username: oracle
    password: oracle_password
    sql: |
      insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Fetch rows from a table and bulk insert to another one, without using sql query
```yaml
id: oracle_batch
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.oracle.Query
    url: jdbc:oracle:thin:@dev:49161:XE
    username: oracle
    password: oracle_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.oracle.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:oracle:thin:@prod:49161:XE
    username: oracle
    password: oracle_password
    table: XREF

```

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.oracle.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.oracle.Query.markdownDescription
##### Examples
> Execute a query and fetch results on another task to update another table.
```yaml
id: oracle_query
namespace: company.team

tasks:
  - id: select
    type: io.kestra.plugin.jdbc.oracle.Query
    url: jdbc:oracle:thin:@localhost:49161:XE
    username: oracle_user
    password: oracle_password
    sql: select * from source
    fetchType: FETCH

  - id: generate_update
    type: io.kestra.plugin.jdbc.oracle.Query
    url: jdbc:oracle:thin:@localhost:49161:XE
    username: oracle_user
    password: oracle_password
    sql: "{% for row in outputs.select.rows %} INSERT INTO destination (year_month, store_code, update_date) values ({{ row.year_month }}, {{ row.store_code }}, TO_DATE('{{ row.date }}', 'MONTH DD, YYYY') ); {% endfor %}"

```

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.oracle.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.oracle.Trigger
    interval: "PT5M"
    url: jdbc:oracle:thin:@localhost:49161:XE
    username: oracle_user
    password: oracle_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.pinot.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.pinot.Query.markdownDescription
##### Examples
> 
```yaml
id: pinot_query
namespace: company.team

tasks:
  - id: query
    type: o.kestra.plugin.jdbc.pinot.Query
    url: jdbc:pinot://localhost:9000
    sql: |
      SELECT *
      FROM airlineStats
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.pinot.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.pinot.Trigger
    interval: "PT5M"
    url: jdbc:pinot://localhost:9000
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.title
Execute a batch query to a PostgreSQL server.

# definitions.io.kestra.plugin.jdbc.postgresql.Batch.markdownDescription
##### Examples
> Fetch rows from a table, and bulk insert them to another one.
```yaml
id: postgres_bulk_insert
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.postgresql.Query
    url: jdbc:postgresql://dev:56982/
    username: pg_user
    password: pg_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.postgresql.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:postgresql://prod:56982/
    username: pg_user
    password: pg_password
    sql: |
      insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Fetch rows from a table, and bulk insert them to another one, without using sql query.
```yaml
id: postgres_bulk_insert
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.postgresql.Query
    url: jdbc:postgresql://dev:56982/
    username: pg_user
    password: pg_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.postgresql.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:postgresql://prod:56982/
    username: pg_user
    password: pg_password
    table: xre

```

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.columns.title
An optional list of columns to be copied.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.columns.markdownDescription
If no column list is specified, all columns of the table will be copied.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.delimiter.title
Specifies the character that separates columns within each row (line) of the file.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.delimiter.markdownDescription
The default is a tab character in text format, a comma in CSV format. This must be a single one-byte character. This option is not allowed when using binary.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.encoding.title
Specifies that the file is encoded in the encoding_name.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.encoding.markdownDescription
If this option is omitted, the current client encoding is used. See the Notes below for more details.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.escape.title
Specifies the character that should appear before a data character that matches the QUOTE value.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.escape.markdownDescription
The default is the same as the QUOTE value (so that the quoting character is doubled if it appears in the data). This must be a single one-byte character. This option is allowed only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.forceNotNull.title
Do not match the specified columns' values against the null string.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.forceNotNull.markdownDescription
In the default case where the null string is empty, this means that empty values will be read as zero-length strings rather than nulls, even when they are not quoted. This option is allowed only in COPY FROM, and only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.forceNull.title
Match the specified columns' values against the null string, even if it has been quoted, and if a match is found set the value to NULL.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.forceNull.markdownDescription
In the default case where the null string is empty, this converts a quoted empty string into NULL. This option is allowed only in COPY FROM, and only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.forceQuote.title
Forces quoting to be used for all non-NULL values in each specified column.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.forceQuote.markdownDescription
NULL output is never quoted. If * is specified, non-NULL values will be quoted in all columns. This option is allowed only in COPY TO, and only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.format.title
Selects the data format to be read or written.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.freeze.title
Requests copying the data with rows already frozen, just as they would be after running the VACUUM FREEZE command.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.freeze.markdownDescription
This is intended as a performance option for initial data loading. Rows will be frozen only if the table being loaded has been created or truncated in the current sub-transaction, there are no cursors open and there are no older snapshots held by this transaction. It is currently not possible to perform a COPY FREEZE on a partitioned table.

Note that all other sessions will immediately be able to see the data once it has been successfully loaded. This violates the normal rules of MVCC visibility and users specifying should be aware of the potential problems this might cause.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.header.title
Specifies that the file contains a header line with the names of each column in the file.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.header.markdownDescription
On output, the first line contains the column names from the table, and on input, the first line is ignored. This option is allowed only when using CSV.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.nullString.title
Specifies the string that represents a null value.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.nullString.markdownDescription
The default is \N (backslash-N) in text format, and an unquoted empty string in CSV format. You might prefer an empty string even in text format for cases where you don't want to distinguish nulls from empty strings. This option is not allowed when using binary format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.oids.markdownDescription
An error is raised if OIDs is specified for a table that does not have OIDs, or in the case of copying a query.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.quote.title
Specifies the quoting character to be used when a data value is quoted.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.quote.markdownDescription
The default is double-quote. This must be a single one-byte character. This option is allowed only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.table.title
The name (optionally schema-qualified) of an existing table.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyIn.markdownDescription
Copies in CSV, Text, or Binary data into PostgreSQL table.##### Examples
> Load CSV data into a PostgreSQL table.
```yaml
id: postgres_copy_in
namespace: company.team

tasks:
  - id: copy_in
    type: io.kestra.plugin.jdbc.postgresql.CopyIn
    url: jdbc:postgresql://127.0.0.1:56982/
    username: pg_user
    password: pg_password
    format: CSV
    from: "{{ outputs.export.uri }}"
    table: my_destination_table
    header: true
    delimiter: "\t"

```

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.columns.title
An optional list of columns to be copied.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.columns.markdownDescription
If no column list is specified, all columns of the table will be copied.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.delimiter.title
Specifies the character that separates columns within each row (line) of the file.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.delimiter.markdownDescription
The default is a tab character in text format, a comma in CSV format. This must be a single one-byte character. This option is not allowed when using binary.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.encoding.title
Specifies that the file is encoded in the encoding_name.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.encoding.markdownDescription
If this option is omitted, the current client encoding is used. See the Notes below for more details.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.escape.title
Specifies the character that should appear before a data character that matches the QUOTE value.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.escape.markdownDescription
The default is the same as the QUOTE value (so that the quoting character is doubled if it appears in the data). This must be a single one-byte character. This option is allowed only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.forceNotNull.title
Do not match the specified columns' values against the null string.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.forceNotNull.markdownDescription
In the default case where the null string is empty, this means that empty values will be read as zero-length strings rather than nulls, even when they are not quoted. This option is allowed only in COPY FROM, and only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.forceNull.title
Match the specified columns' values against the null string, even if it has been quoted, and if a match is found set the value to NULL.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.forceNull.markdownDescription
In the default case where the null string is empty, this converts a quoted empty string into NULL. This option is allowed only in COPY FROM, and only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.forceQuote.title
Forces quoting to be used for all non-NULL values in each specified column.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.forceQuote.markdownDescription
NULL output is never quoted. If * is specified, non-NULL values will be quoted in all columns. This option is allowed only in COPY TO, and only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.format.title
Selects the data format to be read or written.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.freeze.title
Requests copying the data with rows already frozen, just as they would be after running the VACUUM FREEZE command.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.freeze.markdownDescription
This is intended as a performance option for initial data loading. Rows will be frozen only if the table being loaded has been created or truncated in the current sub-transaction, there are no cursors open and there are no older snapshots held by this transaction. It is currently not possible to perform a COPY FREEZE on a partitioned table.

Note that all other sessions will immediately be able to see the data once it has been successfully loaded. This violates the normal rules of MVCC visibility and users specifying should be aware of the potential problems this might cause.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.header.title
Specifies that the file contains a header line with the names of each column in the file.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.header.markdownDescription
On output, the first line contains the column names from the table, and on input, the first line is ignored. This option is allowed only when using CSV.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.nullString.title
Specifies the string that represents a null value.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.nullString.markdownDescription
The default is \N (backslash-N) in text format, and an unquoted empty string in CSV format. You might prefer an empty string even in text format for cases where you don't want to distinguish nulls from empty strings. This option is not allowed when using binary format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.oids.markdownDescription
An error is raised if OIDs is specified for a table that does not have OIDs, or in the case of copying a query.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.quote.title
Specifies the quoting character to be used when a data value is quoted.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.quote.markdownDescription
The default is double-quote. This must be a single one-byte character. This option is allowed only when using CSV format.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.sql.title
A SELECT, VALUES, INSERT, UPDATE or DELETE command whose results are to be copied.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.sql.markdownDescription
For INSERT, UPDATE and DELETE queries a RETURNING clause must be provided, and the target relation must not have a conditional rule, nor an ALSO rule, nor an INSTEAD rule that expands to multiple statements.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.table.title
The name (optionally schema-qualified) of an existing table.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.title
Copy tabular data from a PostgreSQL table to a file.

# definitions.io.kestra.plugin.jdbc.postgresql.CopyOut.markdownDescription
##### Examples
> Export a PostgreSQL table or query to a CSV or TSV file.
```yaml
id: postgres_copy_out
namespace: company.team

tasks:
  - id: copy_out
    type: io.kestra.plugin.jdbc.postgresql.CopyOut
    url: jdbc:postgresql://127.0.0.1:56982/
    username: pg_user
    password: pg_password
    format: CSV
    sql: SELECT 1 AS int, 't'::bool AS bool UNION SELECT 2 AS int, 'f'::bool AS bool
    header: true
    delimiter: "\t"

```

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.postgresql.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.postgresql.Query.markdownDescription
##### Examples
> Execute a query and fetch results in a task, and update another table with fetched results in a different task.
```yaml
id: postgres_query
namespace: company.team

tasks:
  - id: fetch
    type: io.kestra.plugin.jdbc.postgresql.Query
    url: jdbc:postgresql://127.0.0.1:56982/
    username: pg_user
    password: pg_password
    sql: select concert_id, available, a, b, c, d, play_time, library_record, floatn_test, double_test, real_test, numeric_test, date_type, time_type, timez_type, timestamp_type, timestampz_type, interval_type, pay_by_quarter, schedule, json_type, blob_type from pgsql_types
    fetchType: FETCH

  - id: use_fetched_data
    type: io.kestra.plugin.jdbc.postgresql.Query
    url: jdbc:postgresql://127.0.0.1:56982/
    username: pg_user
    password: pg_password
    sql:  "{% for row in outputs.fetch.rows %} INSERT INTO pl_store_distribute (year_month,store_code, update_date) values ({{row.play_time}}, {{row.concert_id}}, TO_TIMESTAMP('{{row.timestamp_type}}', 'YYYY-MM-DDTHH:MI:SS.US') ); {% endfor %}"

```

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.title
Wait for query on a PostgreSQL database.

# definitions.io.kestra.plugin.jdbc.postgresql.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.postgresql.Trigger
    interval: "PT5M"
    url: jdbc:postgresql://127.0.0.1:56982/
    username: pg_user
    password: pg_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.redshift.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.redshift.Query.markdownDescription
##### Examples
> Send a SQL query to a Redshift database and fetch a row as output.
```yaml
id: redshift_query
namespace: company.team

tasks:
  - id: select
    type: io.kestra.plugin.jdbc.redshift.Query
    url: jdbc:redshift://123456789.eu-central-1.redshift-serverless.amazonaws.com:5439/dev
    username: admin
    password: admin_password
    sql: select * from redshift_types
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.redshift.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.redshift.Trigger
    interval: "PT5M"
    url: jdbc:redshift://123456789.eu-central-1.redshift-serverless.amazonaws.com:5439/dev
    username: admin
    password: admin_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.compress.title
Whether to compress data before uploading stream.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.database.title
Specifies the default database to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.database.markdownDescription
The specified database should be an existing database for which the specified default role has privileges.
If you need to use a different database after connecting, execute the `USE DATABASE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.fileName.title
File name on Snowflake stage that should be downloaded.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.privateKey.title
Specifies the private key for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.privateKey.markdownDescription
It needs to be an un-encoded private key in plaintext.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.privateKeyFile.title
Specifies the private key file for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.privateKeyFile.markdownDescription
It needs to be the path on the host where the private key file is located.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.privateKeyFilePassword.title
Specifies the private key file password for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.role.title
Specifies the default access control role to use in the Snowflake session initiated by the driver.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.role.markdownDescription
The specified role should be an existing role that has already been assigned to the specified user for the driver. If the specified role has not already been assigned to the user, the role is not used when the session is initiated by the driver.
If you need to use a different role after connecting, execute the `USE ROLE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.schema.title
Specifies the default schema to use for the specified database once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.schema.markdownDescription
The specified schema should be an existing schema for which the specified default role has privileges.
If you need to use a different schema after connecting, execute the `USE SCHEMA` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.warehouse.title
Specifies the virtual warehouse to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.properties.warehouse.markdownDescription
The specified warehouse should be an existing warehouse for which the specified default role has privileges.
If you need to use a different warehouse after connecting, execute the `USE WAREHOUSE` command to set a different warehouse for the session.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.title
Download data from Snowflake stage to Kestra's internal storage.

# definitions.io.kestra.plugin.jdbc.snowflake.Download.markdownDescription
##### Examples
> 
```yaml
id: snowflake_download
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.jdbc.snowflake.Download
    url: jdbc:snowflake://<account_identifier>.snowflakecomputing.com
    username: snowflake_user
    password: snowflake_password
    stageName: "@demo_db.public.%myStage"
    fileName: prefix/destFile.csv

```

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.database.title
Specifies the default database to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.database.markdownDescription
The specified database should be an existing database for which the specified default role has privileges.
If you need to use a different database after connecting, execute the `USE DATABASE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.privateKey.title
Specifies the private key for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.privateKey.markdownDescription
It needs to be an un-encoded private key in plaintext.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.privateKeyFile.title
Specifies the private key file for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.privateKeyFile.markdownDescription
It needs to be the path on the host where the private key file is located.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.privateKeyFilePassword.title
Specifies the private key file password for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.role.title
Specifies the default access control role to use in the Snowflake session initiated by the driver.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.role.markdownDescription
The specified role should be an existing role that has already been assigned to the specified user for the driver. If the specified role has not already been assigned to the user, the role is not used when the session is initiated by the driver.
If you need to use a different role after connecting, execute the `USE ROLE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.schema.title
Specifies the default schema to use for the specified database once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.schema.markdownDescription
The specified schema should be an existing schema for which the specified default role has privileges.
If you need to use a different schema after connecting, execute the `USE SCHEMA` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.warehouse.title
Specifies the virtual warehouse to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.properties.warehouse.markdownDescription
The specified warehouse should be an existing warehouse for which the specified default role has privileges.
If you need to use a different warehouse after connecting, execute the `USE WAREHOUSE` command to set a different warehouse for the session.

# definitions.io.kestra.plugin.jdbc.snowflake.Query.markdownDescription
##### Examples
> Execute a query and fetch results in a task, and update another table with fetched results in a different task.
```yaml
id: snowflake_query
namespace: company.team

tasks:
  - id: select
    type: io.kestra.plugin.jdbc.snowflake.Query
    url: jdbc:snowflake://<account_identifier>.snowflakecomputing.com
    username: snowflake_user
    password: snowflake_password
    sql: select * from demo_db.public.customers
    fetchType: FETCH

  - id: generate_update
    type: io.kestra.plugin.jdbc.snowflake.Query
    url: jdbc:snowflake://<account_identifier>.snowflakecomputing.com
    username: snowflake_user
    password: snowflake_password
    sql: "INSERT INTO demo_db.public.customers_new (year_month, store_code, update_date) values {% for row in outputs.update.rows %} ({{ row.year_month }}, {{ row.store_code }}, TO_DATE('{{ row.date }}', 'MONTH DD, YYYY') ) {% if not loop.last %}, {% endif %}; {% endfor %}"

```

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.database.title
Specifies the default database to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.database.markdownDescription
The specified database should be an existing database for which the specified default role has privileges.
If you need to use a different database after connecting, execute the `USE DATABASE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.privateKey.title
Specifies the private key for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.privateKey.markdownDescription
It needs to be an un-encoded private key in plaintext.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.privateKeyFile.title
Specifies the private key file for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.privateKeyFile.markdownDescription
It needs to be the path on the host where the private key file is located.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.privateKeyFilePassword.title
Specifies the private key file password for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.role.title
Specifies the default access control role to use in the Snowflake session initiated by the driver.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.role.markdownDescription
The specified role should be an existing role that has already been assigned to the specified user for the driver. If the specified role has not already been assigned to the user, the role is not used when the session is initiated by the driver.
If you need to use a different role after connecting, execute the `USE ROLE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.schema.title
Specifies the default schema to use for the specified database once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.schema.markdownDescription
The specified schema should be an existing schema for which the specified default role has privileges.
If you need to use a different schema after connecting, execute the `USE SCHEMA` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.warehouse.title
Specifies the virtual warehouse to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.properties.warehouse.markdownDescription
The specified warehouse should be an existing warehouse for which the specified default role has privileges.
If you need to use a different warehouse after connecting, execute the `USE WAREHOUSE` command to set a different warehouse for the session.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.title
Wait for a query on a Snowflake database.

# definitions.io.kestra.plugin.jdbc.snowflake.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.snowflake.Trigger
    interval: "PT5M"
    url: jdbc:snowflake://<account_identifier>.snowflakecomputing.com
    username: snowflake_user
    password: snowflake_password
    sql: "SELECT * FROM demo_db.public.customers"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.compress.title
Whether to compress the file or not before uploading it to the Snowflake stage.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.database.title
Specifies the default database to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.database.markdownDescription
The specified database should be an existing database for which the specified default role has privileges.
If you need to use a different database after connecting, execute the `USE DATABASE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.from.title
Path to the file to load to Snowflake stage.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.prefix.title
The prefix under which the file will be uploaded to Snowflake stage.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.privateKey.title
Specifies the private key for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.privateKey.markdownDescription
It needs to be an un-encoded private key in plaintext.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.privateKeyFile.title
Specifies the private key file for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.privateKeyFile.markdownDescription
It needs to be the path on the host where the private key file is located.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.privateKeyFilePassword.title
Specifies the private key file password for key pair authentication and key rotation.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.role.title
Specifies the default access control role to use in the Snowflake session initiated by the driver.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.role.markdownDescription
The specified role should be an existing role that has already been assigned to the specified user for the driver. If the specified role has not already been assigned to the user, the role is not used when the session is initiated by the driver.
If you need to use a different role after connecting, execute the `USE ROLE` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.schema.title
Specifies the default schema to use for the specified database once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.schema.markdownDescription
The specified schema should be an existing schema for which the specified default role has privileges.
If you need to use a different schema after connecting, execute the `USE SCHEMA` command.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.stageName.markdownDescription
This can either be a stage name or a table name.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.warehouse.title
Specifies the virtual warehouse to use once connected.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.properties.warehouse.markdownDescription
The specified warehouse should be an existing warehouse for which the specified default role has privileges.
If you need to use a different warehouse after connecting, execute the `USE WAREHOUSE` command to set a different warehouse for the session.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.title
Upload data from an internal storage file to Snowflake stage. Make sure that the `stageName` follows the naming convention of `@databaseName.schemaName.%stageOrTableName`. For usage examples, check the Blueprints tagged with `Snowflake`.

# definitions.io.kestra.plugin.jdbc.snowflake.Upload.markdownDescription
##### Examples
> 
```yaml
id: snowflake_upload
namespace: company.team

tasks:
  - id: upload
    type: io.kestra.plugin.jdbc.snowflake.Upload
    url: jdbc:snowflake://<account_identifier>.snowflakecomputing.com
    username: snowflake_user
    password: snowflake_password
    from: '{{ outputs.extract.uri }}'
    fileName: data.csv
    prefix: raw
    stageName: "@demo_db.public.%myStage"

```

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.sqliteFile.markdownDescription
The file must be from Kestra's internal storage

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sqlite.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sqlite.Query.markdownDescription
##### Examples
> Execute a query and pass the results to another task.
```yaml
id: sqlite_query
namespace: company.team

tasks:
  - id: update
    type: io.kestra.plugin.jdbc.sqlite.Query
    url: jdbc:sqlite:myfile.db
    sql: select concert_id, available, a, b, c, d, play_time, library_record, floatn_test, double_test, real_test, numeric_test, date_type, time_type, timez_type, timestamp_type, timestampz_type, interval_type, pay_by_quarter, schedule, json_type, blob_type from pgsql_types
    fetchType: FETCH

  - id: use_fetched_data
    type: io.kestra.plugin.jdbc.sqlite.Query
    url: jdbc:sqlite:myfile.db
    sql: "{% for row in outputs.update.rows %} INSERT INTO pl_store_distribute (year_month,store_code, update_date) values ({{row.play_time}}, {{row.concert_id}}, TO_TIMESTAMP('{{row.timestamp_type}}', 'YYYY-MM-DDTHH:MI:SS.US') ); {% endfor %}"

```

> Execute a query, using existing sqlite file, and pass the results to another task.
```yaml
id: sqlite_query_using_file
namespace: company.team

tasks:
  - id: update
    type: io.kestra.plugin.jdbc.sqlite.Query
    url: jdbc:sqlite:myfile.db
    sqliteFile: {{ outputs.get.outputFiles['myfile.sqlite'] }}
    sql: select * from pgsql_types
    fetchType: FETCH

  - id: use_fetched_data
    type: io.kestra.plugin.jdbc.sqlite.Query
    url: jdbc:sqlite:myfile.db
    sqliteFile: {{ outputs.get.outputFiles['myfile.sqlite'] }}
    sql: "{% for row in outputs.update.rows %} INSERT INTO pl_store_distribute (year_month,store_code, update_date) values ({{row.play_time}}, {{row.concert_id}}, TO_TIMESTAMP('{{row.timestamp_type}}', 'YYYY-MM-DDTHH:MI:SS.US') ); {% endfor %}"

```

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sqlite.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.sqlite.Trigger
    interval: "PT5M"
    url: jdbc:sqlite:myfile.db
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.title
Execute a batch query on a Microsoft SQL Server.

# definitions.io.kestra.plugin.jdbc.sqlserver.Batch.markdownDescription
##### Examples
> Fetch rows from a table and bulk insert to another one.
```yaml
id: sqlserver_batch_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.sqlserver.Query
    url: jdbc:sqlserver://dev:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.sqlserver.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:sqlserver://prod:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_password
    sql: |
      insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Fetch rows from a table and bulk insert to another one, without using sql query.
```yaml
id: sqlserver_batch_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.sqlserver.Query
    url: jdbc:sqlserver://dev:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_passwd
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.sqlserver.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:sqlserver://prod:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_passwd
    table: xref
```

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sqlserver.Query.markdownDescription
##### Examples
> Execute a query and fetch results in a task, and update another table with fetched results in a different task.
```yaml
id: sqlserver_query
namespace: company.team

tasks:
  - id: select
    type: io.kestra.plugin.jdbc.sqlserver.Query
    url: jdbc:sqlserver://localhost:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_password
    sql: select * from source
    fetchType: FETCH

  - id: generate_update
    type: io.kestra.plugin.jdbc.sqlserver.Query
    url: jdbc:sqlserver://localhost:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_password
    sql: "{% for row in outputs.update.rows %} INSERT INTO destination (year_month, store_code, update_date) values ({{row.year_month}}, {{row.store_code}}, '{{row.date}}'); {% endfor %}"

```

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.title
Wait for query on a Microsoft SQL Server database.

# definitions.io.kestra.plugin.jdbc.sqlserver.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.sqlserver.Trigger
    interval: "PT5M"
    url: jdbc:sqlserver://localhost:41433;trustServerCertificate=true
    username: sql_server_user
    password: sql_server_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sybase.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sybase.Query.markdownDescription
##### Examples
> Send a SQL query to a Sybase Database and fetch a row as output.
```yaml
id: sybase_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.sybase.Query
    url: jdbc:sybase:Tds:127.0.0.1:5000/
    username: syb_user
    password: syb_password
    sql: select * from syb_types
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.sybase.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.sybase.Trigger
    interval: "PT5M"
    url: jdbc:sybase:Tds:127.0.0.1:5000/
    username: syb_user
    password: syb_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.trino.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.trino.Query.title
Query data using Trino Query Engine. Make sure NOT to include semicolon at the end of your SQL query. Adding semicolon at the end will result in an error. If you want to test this integration, search for Trino in Blueprints - you'll find detailed instructions there.

# definitions.io.kestra.plugin.jdbc.trino.Query.markdownDescription
##### Examples
> Execute a query and fetch results to pass it to downstream tasks.
```yaml
id: trino_query
namespace: company.team

tasks:
  - id: analyze_orders
    type: io.kestra.plugin.jdbc.trino.Query
    url: jdbc:trino://localhost:8080/tpch
    username: trino_user
    password: trino_password
    sql: |
      select orderpriority as priority, sum(totalprice) as total
      from tpch.tiny.orders
      group by orderpriority
      order by orderpriority
    fetchType: FETCH
    fetchType: STORE

  - id: csv_report
    type: io.kestra.plugin.serdes.csv.IonToCsv
    from: "{{ outputs.analyze_orders.uri }}"

```

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.trino.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.trino.Trigger
    interval: "PT5M"
    url: jdbc:trino://localhost:8080/tpch
    username: trino_user
    password: trino_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.title
Execute a batch query on a Vectorwise server.

# definitions.io.kestra.plugin.jdbc.vectorwise.Batch.markdownDescription
##### Examples
> Fetch rows from a table and bulk insert to another one.
```yaml
id: vectorwise_batch_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.vectorwise.Query
    url: jdbc:vectorwise://dev:port/base
    username: admin
    password: admin_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.vectorwise.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:vectorwise://prod:port/base
    username: admin
    password: admin_password
    sql: insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Fetch rows from a table and bulk insert to another one without using sql query.
```yaml
id: vectorwise_batch_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.vectorwise.Query
    url: jdbc:vectorwise://dev:port/base
    username: admin
    password: admin_passwd
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.vectorwise.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:vectorwise://prod:port/base
    username: admin
    password: admin_passwd
    table: xref
```

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.vectorwise.Query.markdownDescription
##### Examples
> Send a SQL query to a Vectorwise database and fetch a row as output.
```yaml
id: vectorwise_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.vectorwise.Query
    url: jdbc:vectorwise://url:port/base
    username: admin
    password: admin_password
    sql: select * from vectorwise_types
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.title
Wait for query on a Vectorwise database.

# definitions.io.kestra.plugin.jdbc.vectorwise.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.vectorwise.Trigger
    interval: "PT5M"
    url: jdbc:vectorwise://url:port/base
    username: admin
    password: admin_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.chunk.title
The size of chunk for every bulk request.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.columns.markdownDescription
If not provided, `?` count need to match the `from` number of columns.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.sql.markdownDescription
The query must have as many question marks as the number of columns in the table.
Example: 'insert into <table_name> values( ? , ? , ? )' for 3 columns.
In case you do not want all columns, you need to specify it in the query in the columns property
Example: 'insert into <table_name> (id, name) values( ? , ? )' for inserting data into 2 columns: 'id' and 'name'.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.table.title
The table from which column names will be retrieved.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.table.markdownDescription
This property specifies the table name which will be used to retrieve the columns for the inserted values.
You can use it instead of specifying manually the columns in the `columns` property. In this case, the `sql` property can also be omitted, an INSERT statement would be generated automatically.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.title
Execute a batch query on a Vertica server.

# definitions.io.kestra.plugin.jdbc.vertica.Batch.markdownDescription
##### Examples
> Fetch rows from a table and bulk insert to another one.
```yaml
id: vertica_batch_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.vertica.Query
    url: jdbc:vertica://dev:56982/db
    username: vertica_user
    password: vertica_password
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: FETCH
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.vertica.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:vertica://prod:56982/db
    username: vertica_user
    password: vertica_password
    sql: insert into xref values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

```

> Fetch rows from a table and bulk insert to another one, without using sql query.
```yaml
id: vertica_batch_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.vertica.Query
    url: jdbc:vertica://dev:56982/db
    username: vertica_user
    password: vertica_passwd
    sql: |
      SELECT *
      FROM xref
      LIMIT 1500;
    fetchType: FETCH
    fetchType: STORE

  - id: update
    type: io.kestra.plugin.jdbc.vertica.Batch
    from: "{{ outputs.query.uri }}"
    url: jdbc:vertica://prod:56982/db
    username: vertica_user
    password: vertica_passwd
    table: xref
```

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.autoCommit.markdownDescription
Sets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the method commit or the method rollback. By default, new connections are in auto-commit mode except when you are using `store` property in which case the auto-commit will be disabled.

Default value is : `true`

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.vertica.Query.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.vertica.Query.markdownDescription
##### Examples
> Send a SQL query to a Vertica database, and fetch a row as output.
```yaml
id: vertica_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.vertica.Query
    url: jdbc:vertica://127.0.0.1:56982/db
    username: vertica_user
    password: vertica_password
    sql: select * from customer
    fetchType: FETCH_ONE

```

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.fetch.title
DEPRECATED, please use `fetchType: FETCH` instead.
Whether to fetch the data from the query result to the task output. This parameter is evaluated after `fetchOne` and `store`.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.fetchOne.title
DEPRECATED, please use `fetchType: FETCH_ONE` instead.
Whether to fetch only one data row from the query result to the task output. This parameter is evaluated before `store` and `fetch`.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.fetchSize.markdownDescription
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this ResultSet object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. Ignored if `autoCommit` is false.

Default value is : `10000`

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `NONE`

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.store.title
DEPRECATED, please use `fetchType: FETCH_STORE` instead.
Whether to fetch data row(s) from the query result to a file in internal storage. File will be saved as Amazon Ion (text format).
See Amazon Ion documentation This parameter is evaluated after `fetchOne` but before `fetch`.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.timeZoneId.title
The time zone id to use for date/time manipulation. Default value is the worker's default time zone id.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.properties.url.title
The JDBC URL to connect to the database.

# definitions.io.kestra.plugin.jdbc.vertica.Trigger.markdownDescription
##### Examples
> Wait for a SQL query to return results, and then iterate through rows.
```yaml
id: jdbc_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.jdbc.vertica.Trigger
    interval: "PT5M"
    url: jdbc:vertica://127.0.0.1:56982/db
    username: vertica_user
    password: vertica_password
    sql: "SELECT * FROM my_table"
    fetchType: FETCH

```

# definitions.io.kestra.plugin.jira.issues.Create.properties.password.markdownDescription
(Required for basic & API token authorization)

# definitions.io.kestra.plugin.jira.issues.Create.properties.username.markdownDescription
(Required for basic & API token authorization)

# definitions.io.kestra.plugin.jira.issues.Create.title
Create a jira ticket based on workflow execution status.

# definitions.io.kestra.plugin.jira.issues.Create.markdownDescription
##### Examples
> Create a jira ticket on a failed flow execution using basic authentication.
```yaml
id: jira_flow
namespace: company.myteam

tasks:
  - id: create_issue
    type: io.kestra.plugin.jira.issues.Create
    baseUrl: your-domain.atlassian.net
    username: your_email@example.com
    password: "{{ secret('your_jira_api_token') }}"
    projectKey: myproject
    summary: "Workflow failed"
    description: "{{ execution.id }} has failed on {{ taskrun.startDate }} See the link below for more details"
    labels:
      - bug
      - workflow

```

> Create a jira ticket on a failed flow execution using OAUTH2 access token authentication.
```yaml
id: jira_flow
namespace: company.myteam

tasks:
  - id: create_issue
    type: io.kestra.plugin.jira.issues.Create
    baseUrl: your-domain.atlassian.net
    accessToken: "{{ secret('your_jira_access_token') }}"
    projectKey: myproject
    summary: "Workflow failed"
    description: "{{ execution.id }} has failed on {{ taskrun.startDate }} See the link below for more details"
    labels:
      - bug
      - workflow

```

# definitions.io.kestra.plugin.jira.issues.CreateComment.properties.password.markdownDescription
(Required for basic & API token authorization)

# definitions.io.kestra.plugin.jira.issues.CreateComment.properties.username.markdownDescription
(Required for basic & API token authorization)

# definitions.io.kestra.plugin.jira.issues.CreateComment.title
Comment on a jira ticket based on workflow execution status.

# definitions.io.kestra.plugin.jira.issues.CreateComment.markdownDescription
##### Examples
> Comment on a jira ticket on a failed flow execution.
```yaml
id: jira_flow
namespace: company.myteam

tasks:
  - id: create_comment_on_a_ticket
    type: io.kestra.plugin.jira.issues.CreateComment
    baseUrl: your-domain.atlassian.net
    username: your_email@example.com
    password: "{{ secret('jira_api_token') }}"
    projectKey: project_key
    issueIdOrKey: "TID-53"
    body: "This ticket is not moving, do we need to outsource this!"

```

# definitions.io.kestra.plugin.jira.issues.UpdateFields.properties.password.markdownDescription
(Required for basic & API token authorization)

# definitions.io.kestra.plugin.jira.issues.UpdateFields.properties.username.markdownDescription
(Required for basic & API token authorization)

# definitions.io.kestra.plugin.jira.issues.UpdateFields.markdownDescription
Update specific fields in a Jira ticket.##### Examples
> Update a Jira ticket fields
```yaml
  id: jira_update_field
  namespace: company.myteam

  tasks:
    - id: update_ticket_field
      type: io.kestra.plugin.jira.issues.UpdateFields
      baseUrl: your-domain.atlassian.net
      username: your_email@example.com
      password: "{{ secret('your_jira_api_token') }}"
      issueIdOrKey: YOUR_ISSUE_KEY
      fields:
        description: "Updated description of: {{ execution.id }}"
        customfield_10005: "Updated value"

```

# definitions.io.kestra.plugin.kafka.Consume.properties.groupId.markdownDescription
Using a consumer group, we will fetch only records that haven't been consumed yet.

# definitions.io.kestra.plugin.kafka.Consume.properties.keyDeserializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.Consume.properties.maxDuration.title
The maximum duration to wait for new records before stopping the consumption process.

# definitions.io.kestra.plugin.kafka.Consume.properties.maxDuration.markdownDescription
It's a soft limit evaluated every second.

# definitions.io.kestra.plugin.kafka.Consume.properties.maxRecords.title
The maximum number of records to fetch before stopping the consumption process.

# definitions.io.kestra.plugin.kafka.Consume.properties.maxRecords.markdownDescription
It's a soft limit evaluated every second.

# definitions.io.kestra.plugin.kafka.Consume.properties.partitions.title
Topic partitions to consume messages from.

# definitions.io.kestra.plugin.kafka.Consume.properties.partitions.markdownDescription
Manually assign a list of partitions to the consumer.

# definitions.io.kestra.plugin.kafka.Consume.properties.pollDuration.markdownDescription
If no records are available, the maximum wait duration to wait for new records. 

Default value is : `5.000000000`

# definitions.io.kestra.plugin.kafka.Consume.properties.properties.markdownDescription
The `bootstrap.servers` property is a minimal required configuration to connect to a Kafka topic.
This property can reference any valid [Consumer Configs](https://kafka.apache.org/documentation/#consumerconfigs) or [Producer Configs
](https://kafka.apache.org/documentation/#producerconfigs) as key-value pairs.

If you want to pass a truststore or a keystore, you must provide a base64 encoded string for `ssl.keystore.location` and `ssl.truststore.location`.

# definitions.io.kestra.plugin.kafka.Consume.properties.serdeProperties.markdownDescription
Configuration that will be passed to serializer or deserializer. The `avro.use.logical.type.converters` is always passed when you have any values set to `true`.

Default value is : `{}`

# definitions.io.kestra.plugin.kafka.Consume.properties.since.title
Timestamp of a message to start consuming messages from.

# definitions.io.kestra.plugin.kafka.Consume.properties.since.markdownDescription
By default, we consume all messages from the topics with no consumer group or depending on the configuration of the `auto.offset.reset` property. However, you can provide an arbitrary start time.
This property is ignored if a consumer group is used.
It must be a valid ISO 8601 date.

# definitions.io.kestra.plugin.kafka.Consume.properties.topic.title
Kafka topic(s) to consume messages from.

# definitions.io.kestra.plugin.kafka.Consume.properties.topic.markdownDescription
It can be a string or a list of strings to consume from one or multiple topics.

# definitions.io.kestra.plugin.kafka.Consume.properties.topicPattern.title
Kafka topic pattern to consume messages from.

# definitions.io.kestra.plugin.kafka.Consume.properties.topicPattern.markdownDescription
Consumer will subscribe to all topics matching the specified pattern to get dynamically assigned partitions.

# definitions.io.kestra.plugin.kafka.Consume.properties.valueDeserializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.Consume.title
Consume messages from one or more Kafka topics.

# definitions.io.kestra.plugin.kafka.Consume.markdownDescription
##### Examples
> 
```yaml
id: kafka_consume
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.kafka.Consume
    topic: test_kestra
    properties:
      bootstrap.servers: localhost:9092
    serdeProperties:
      schema.registry.url: http://localhost:8085
    keyDeserializer: STRING
    valueDeserializer: AVRO

```

> Connect to a Kafka cluster with SSL.
```yaml
id: kafka_consume
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.kafka.Consume
    properties:
      security.protocol: SSL
      bootstrap.servers: localhost:19092
      ssl.key.password: my-ssl-password
      ssl.keystore.type: PKCS12
      ssl.keystore.location: my-base64-encoded-keystore
      ssl.keystore.password: my-ssl-password
      ssl.truststore.location: my-base64-encoded-truststore
      ssl.truststore.password: my-ssl-password
    topic:
      - kestra_workerinstance
    keyDeserializer: STRING
    valueDeserializer: STRING

```

# definitions.io.kestra.plugin.kafka.Produce.properties.from.title
The content of the message to be sent to Kafka.

# definitions.io.kestra.plugin.kafka.Produce.properties.from.markdownDescription
Can be a Kestra internal storage URI, a map (i.e. a list of key-value pairs) or a list of maps. The following keys are supported: `key`, `value`, `partition`, `timestamp`, and `headers`.

# definitions.io.kestra.plugin.kafka.Produce.properties.keyAvroSchema.title
Avro Schema if the key is set to `AVRO` type.

# definitions.io.kestra.plugin.kafka.Produce.properties.keySerializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.Produce.properties.properties.markdownDescription
The `bootstrap.servers` property is a minimal required configuration to connect to a Kafka topic.
This property can reference any valid [Consumer Configs](https://kafka.apache.org/documentation/#consumerconfigs) or [Producer Configs
](https://kafka.apache.org/documentation/#producerconfigs) as key-value pairs.

If you want to pass a truststore or a keystore, you must provide a base64 encoded string for `ssl.keystore.location` and `ssl.truststore.location`.

# definitions.io.kestra.plugin.kafka.Produce.properties.serdeProperties.markdownDescription
Configuration that will be passed to serializer or deserializer. The `avro.use.logical.type.converters` is always passed when you have any values set to `true`.

Default value is : `{}`

# definitions.io.kestra.plugin.kafka.Produce.properties.topic.title
Kafka topic to which the message should be sent.

# definitions.io.kestra.plugin.kafka.Produce.properties.topic.markdownDescription
Could also be passed inside the `from` property using the key `topic`.

# definitions.io.kestra.plugin.kafka.Produce.properties.transactional.title
Whether the producer should be transactional.

# definitions.io.kestra.plugin.kafka.Produce.properties.valueAvroSchema.title
Avro Schema if the value is set to `AVRO` type.

# definitions.io.kestra.plugin.kafka.Produce.properties.valueSerializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.Produce.markdownDescription
##### Examples
> Read a CSV file, transform it and send it to Kafka.
```yaml
id: send_message_to_kafka
namespace: company.team

inputs:
  - id: file
    type: FILE
    description: A CSV file with columns: id, username, tweet, and timestamp.

tasks:
  - id: csv_to_ion
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ inputs.file }}"

  - id: ion_to_avro_schema
    type: io.kestra.plugin.scripts.nashorn.FileTransform
    from: "{{ outputs.csv_to_ion.uri }}"
    script: |
      var result = {
        "key": row.id,
        "value": {
          "username": row.username,
          "tweet": row.tweet
        },
        "timestamp": row.timestamp,
        "headers": {
          "key": "value"
        }
      };
      row = result

  - id: avro_to_kafka
    type: io.kestra.plugin.kafka.Produce
    from: "{{ outputs.ion_to_avro_schema.uri }}"
    keySerializer: STRING
    properties:
      bootstrap.servers: localhost:9092
    serdeProperties:
      schema.registry.url: http://localhost:8085
    topic: test_kestra
    valueAvroSchema: |
      {"type":"record","name":"twitter_schema","namespace":"io.kestra.examples","fields":[{"name":"username","type":"string"},{"name":"tweet","type":"string"}]}
    valueSerializer: AVRO

```

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.groupId.markdownDescription
Using a consumer group, we will fetch only records that haven't been consumed yet.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.keyDeserializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.partitions.title
Topic partitions to consume messages from.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.partitions.markdownDescription
Manually assign a list of partitions to the consumer.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.properties.markdownDescription
The `bootstrap.servers` property is a minimal required configuration to connect to a Kafka topic.
This property can reference any valid [Consumer Configs](https://kafka.apache.org/documentation/#consumerconfigs) or [Producer Configs
](https://kafka.apache.org/documentation/#producerconfigs) as key-value pairs.

If you want to pass a truststore or a keystore, you must provide a base64 encoded string for `ssl.keystore.location` and `ssl.truststore.location`.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.serdeProperties.markdownDescription
Configuration that will be passed to serializer or deserializer. The `avro.use.logical.type.converters` is always passed when you have any values set to `true`.

Default value is : `{}`

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.since.title
Timestamp of a message to start consuming messages from.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.since.markdownDescription
By default, we consume all messages from the topics with no consumer group or depending on the configuration of the `auto.offset.reset` property. However, you can provide an arbitrary start time.
This property is ignored if a consumer group is used.
It must be a valid ISO 8601 date.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.topic.title
Kafka topic(s) to consume messages from.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.topic.markdownDescription
It can be a string or a list of strings to consume from one or multiple topics.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.topicPattern.title
Kafka topic pattern to consume messages from.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.topicPattern.markdownDescription
Consumer will subscribe to all topics matching the specified pattern to get dynamically assigned partitions.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.properties.valueDeserializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.title
Consume a message in real-time from a Kafka topic and create one execution per message.

# definitions.io.kestra.plugin.kafka.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.kafka.Trigger](https://kestra.io/plugins/plugin-kafka/triggers/io.kestra.plugin.kafka.trigger) instead.##### Examples
> Consume a message from a Kafka topic in real time.
```yaml
id: kafka_realtime_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.value }}"

triggers:
  - id: realtime_trigger
    type: io.kestra.plugin.kafka.RealtimeTrigger
    topic: test_kestra
    properties:
      bootstrap.servers: localhost:9092
    serdeProperties:
      schema.registry.url: http://localhost:8085
      keyDeserializer: STRING
      valueDeserializer: AVRO
    groupId: kafkaConsumerGroupId
```

# definitions.io.kestra.plugin.kafka.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.kafka.Trigger.properties.groupId.markdownDescription
Using a consumer group, we will fetch only records that haven't been consumed yet.

# definitions.io.kestra.plugin.kafka.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.kafka.Trigger.properties.keyDeserializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.kafka.Trigger.properties.maxDuration.title
The maximum duration to wait for new records before stopping the consumption process.

# definitions.io.kestra.plugin.kafka.Trigger.properties.maxDuration.markdownDescription
It's a soft limit evaluated every second.

# definitions.io.kestra.plugin.kafka.Trigger.properties.maxRecords.title
The maximum number of records to fetch before stopping the consumption process.

# definitions.io.kestra.plugin.kafka.Trigger.properties.maxRecords.markdownDescription
It's a soft limit evaluated every second.

# definitions.io.kestra.plugin.kafka.Trigger.properties.partitions.title
Topic partitions to consume messages from.

# definitions.io.kestra.plugin.kafka.Trigger.properties.partitions.markdownDescription
Manually assign a list of partitions to the consumer.

# definitions.io.kestra.plugin.kafka.Trigger.properties.pollDuration.markdownDescription
If no records are available, the maximum wait duration to wait for new records. 

Default value is : `5.000000000`

# definitions.io.kestra.plugin.kafka.Trigger.properties.properties.markdownDescription
The `bootstrap.servers` property is a minimal required configuration to connect to a Kafka topic.
This property can reference any valid [Consumer Configs](https://kafka.apache.org/documentation/#consumerconfigs) or [Producer Configs
](https://kafka.apache.org/documentation/#producerconfigs) as key-value pairs.

If you want to pass a truststore or a keystore, you must provide a base64 encoded string for `ssl.keystore.location` and `ssl.truststore.location`.

# definitions.io.kestra.plugin.kafka.Trigger.properties.serdeProperties.markdownDescription
Configuration that will be passed to serializer or deserializer. The `avro.use.logical.type.converters` is always passed when you have any values set to `true`.

Default value is : `{}`

# definitions.io.kestra.plugin.kafka.Trigger.properties.since.title
Timestamp of a message to start consuming messages from.

# definitions.io.kestra.plugin.kafka.Trigger.properties.since.markdownDescription
By default, we consume all messages from the topics with no consumer group or depending on the configuration of the `auto.offset.reset` property. However, you can provide an arbitrary start time.
This property is ignored if a consumer group is used.
It must be a valid ISO 8601 date.

# definitions.io.kestra.plugin.kafka.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.kafka.Trigger.properties.topic.title
Kafka topic(s) to consume messages from.

# definitions.io.kestra.plugin.kafka.Trigger.properties.topic.markdownDescription
It can be a string or a list of strings to consume from one or multiple topics.

# definitions.io.kestra.plugin.kafka.Trigger.properties.topicPattern.title
Kafka topic pattern to consume messages from.

# definitions.io.kestra.plugin.kafka.Trigger.properties.topicPattern.markdownDescription
Consumer will subscribe to all topics matching the specified pattern to get dynamically assigned partitions.

# definitions.io.kestra.plugin.kafka.Trigger.properties.valueDeserializer.markdownDescription
Possible values are: `STRING`, `INTEGER`, `FLOAT`, `DOUBLE`, `LONG`, `SHORT`, `BYTE_ARRAY`, `BYTE_BUFFER`, `BYTES`, `UUID`, `VOID`, `AVRO`, `JSON`.

Default value is : `STRING`

# definitions.io.kestra.plugin.kafka.Trigger.title
Consume messages periodically from Kafka topics and create one execution per batch.

# definitions.io.kestra.plugin.kafka.Trigger.markdownDescription
Note that you don't need an extra task to consume the message from the event trigger. The trigger will automatically consume messages and you can retrieve their content in your flow using the `{{ trigger.uri }}` variable. If you would like to consume each message from a Kafka topic in real-time and create one execution per message, you can use the [io.kestra.plugin.kafka.RealtimeTrigger](https://kestra.io/plugins/plugin-kafka/triggers/io.kestra.plugin.kafka.realtimetrigger) instead.##### Examples
> 
```yaml
id: kafka_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.value }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.kafka.Trigger
    topic: test_kestra
    properties:
      bootstrap.servers: localhost:9092
    serdeProperties:
      schema.registry.url: http://localhost:8085
      keyDeserializer: STRING
      valueDeserializer: AVRO
    interval: PT30S
    maxRecords: 5
    groupId: kafkaConsumerGroupId

```

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.connection.allOf[].title
The connection parameters to the Kubernetes cluster

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.connection.allOf[].markdownDescription
If no connection is defined, we try to load the connection from the current context in the following order: 
1. System properties
2. Environment variables
3. Kube config file
4. Service account token and a mounted CA certificate.

You can pass a full configuration with all options if needed.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.delete.title
Whether the pod should be deleted upon completion.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.fileSidecar.allOf[].title
The configuration of the file sidecar container that handle download and upload of files.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.inputFiles.markdownDescription
The files will be available inside the `kestra/working-dir` directory of the container. You can use the special variable `{{workingDir}}` in your command to refer to it.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.namespace.title
The namespace where the pod will be created

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.outputFiles.title
The files from the container filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.outputFiles.markdownDescription
Only files created inside the `kestra/working-dir` directory of the container can be retrieved.
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`..

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.resume.title
Whether to reconnect to the current pod if it already exists.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.waitForLogInterval.title
Additional time after the pod ends to wait for late logs.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.waitRunning.title
The maximum duration to wait for the job completion.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.waitUntilRunning.title
The maximum duration to wait until the job and the pod is created.

# definitions.io.kestra.plugin.kubernetes.PodCreate.properties.waitUntilRunning.markdownDescription
This timeout is the maximum time that Kubernetes scheduler will take to
* schedule the job
* pull the pod image
* and start the pod.

Default value is : `600.000000000`

# definitions.io.kestra.plugin.kubernetes.PodCreate.title
Create a pod on a Kubernetes cluster, wait until the pod stops and collect its logs.

# definitions.io.kestra.plugin.kubernetes.PodCreate.markdownDescription
##### Examples
> Launch a Pod
```yaml
id: kubernetes_pod_create
namespace: company.team

tasks:
  - id: pod_create
    type: io.kestra.plugin.kubernetes.PodCreate
    namespace: default
    metadata:
      labels:
        my-label: my-value
    spec:
      containers:
      - name: unittest
        image: debian:stable-slim
        command:
          - 'bash'
          - '-c'
          - 'for i in {1..10}; do echo $i; sleep 0.1; done'
    restartPolicy: Never

```

> Launch a Pod with input files and gather its output files.
```yaml
id: kubernetes
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: kubernetes
    type: io.kestra.plugin.kubernetes.PodCreate
    spec:
      containers:
      - name: unittest
        image: centos
        command:
          - cp
          - "{{workingDir}}/data.txt"
          - "{{workingDir}}/out.txt"
      restartPolicy: Never
    waitUntilRunning: PT3M
    inputFiles:
      data.txt: "{{inputs.file}}"
    outputFiles:
      - out.txt
```

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.connection.allOf[].title
The connection parameters to the Kubernetes cluster

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.connection.allOf[].markdownDescription
If no connection is defined, we try to load the connection from the current context in the following order: 
1. System properties
2. Environment variables
3. Kube config file
4. Service account token and a mounted CA certificate.

You can pass a full configuration with all options if needed.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.fileSidecar.allOf[].title
The configuration of the file sidecar container that handle download and upload of files.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.inputFiles.markdownDescription
The files will be available inside the `kestra/working-dir` directory of the container. You can use the special variable `{{workingDir}}` in your command to refer to it.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.outputFiles.title
The files from the container filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.outputFiles.markdownDescription
Only files created inside the `kestra/working-dir` directory of the container can be retrieved.
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`..

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.waitRunning.title
The maximum duration to wait for the job completion.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.waitUntilRunning.title
The maximum duration to wait until the job and the pod is created.

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.properties.waitUntilRunning.markdownDescription
This timeout is the maximum time that Kubernetes scheduler will take to
* schedule the job
* pull the pod image
* and start the pod.

Default value is : `600.000000000`

# definitions.io.kestra.plugin.kubernetes.kubectl.Apply.markdownDescription
##### Examples
> Apply a Kubernetes resource, using YAML.
```yaml
id: create_or_replace_deployment
namespace: company.team

tasks:
  - id: apply
    type: io.kestra.plugin.kubernetes.kubectl.Apply
    namespace: default
    spec: |-
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: mypod

```

> Apply a Kubernetes resource, using a namespace file.
```yaml
id: create_or_replace_deployment
namespace: company.team

tasks:
  - id: apply
    type: io.kestra.plugin.kubernetes.kubectl.Apply
    namespaceFiles:
      enabled: true
    namespace: default
    spec: "{{ read('deployment.yaml') }}"

```

# definitions.io.kestra.plugin.kubernetes.models.Connection.properties.clientKeyAlgo.markdownDescription
default is RSA

Default value is : `RSA`

# definitions.io.kestra.plugin.kubernetes.models.SideCar.properties.image.title
The image used for the file sidecar container.

# definitions.io.kestra.plugin.ldap.Add.properties.inputs.markdownDescription
List of URI(s) of file(s) containing LDIF formatted entries to input into LDAP.

# definitions.io.kestra.plugin.ldap.Add.properties.port.markdownDescription
A whole number describing the port for connection.

# definitions.io.kestra.plugin.ldap.Add.markdownDescription
Creates a new entry, if allowed, for each line of provided LDIF files.##### Examples
> Insert entries in LDAP server.
```yaml
id: ldap_add
namespace: company.team

tasks:
  - id: add
    type: io.kestra.plugin.ldap.Add
    description: What your task is supposed to do and why.
    userDn: cn=admin,dc=orga,dc=en
    password: admin
    inputs:
       - "{{outputs.someTask.uri_of_ldif_formated_file}}"
    hostname: 0.0.0.0
    port: 18060

```

# definitions.io.kestra.plugin.ldap.Delete.properties.port.markdownDescription
A whole number describing the port for connection.

# definitions.io.kestra.plugin.ldap.Delete.markdownDescription
Remove entries based on a targeted DN list.##### Examples
> 
```yaml
id: ldap_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.ldap.Delete
    description: What your task is supposed to do and why.
    userDn: cn=admin,dc=orga,dc=fr
    password: admin
    inputs:
       - "{{ outputs.some_task.uri_of_ldif_formated_file }}"
    hostname: 0.0.0.0
    port: 15060

```

# definitions.io.kestra.plugin.ldap.IonToLdif.properties.inputs.title
URI(s) of file(s) containing ION entries.

# definitions.io.kestra.plugin.ldap.IonToLdif.markdownDescription
Transform .ion files to .ldif ones.##### Examples
> YAML: Make LDIF entries from ION ones.
```yaml
id: ldap_ion_to_ldif
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: ion_to_ldiff
    type: io.kestra.plugin.ldap.IonToLdif
    inputs:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"

```

> INPUT example: here's an ION file content that may be inputted :
```yaml
# simple entry
{dn:"cn=bob@orga.com,ou=diffusion_list,dc=orga,dc=com",attributes:{description:["Some description","Some other description"],someOtherAttribute:["perhaps","perhapsAgain"]}}
# modify changeRecord
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"modify",modifications:[{operation:"DELETE",attribute:"description",values:["Some description 3"]},{operation:"ADD",attribute:"description",values:["Some description 4"]},{operation:"REPLACE",attribute:"someOtherAttribute",values:["Loves herself more"]}]}
# delete changeRecord
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"delete"}
# moddn changeRecord (it is mandatory to specify a newrdn and a deleteoldrdn)
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"moddn",newDn:{newrdn:"cn=triss@orga.com",deleteoldrdn:false,newsuperior:"ou=expeople,dc=example,dc=com"}}
# moddn changeRecord without new superior (it is optional to specify a new superior field)
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"moddn",newDn:{newrdn:"cn=triss@orga.com",deleteoldrdn:true}}

```

> OUTPUT example: here's an LDIF file content that may be outputted :
```yaml
# simple entry
dn: cn=bob@orga.com,ou=diffusion_list,dc=orga,dc=com
description: Some description
someOtherAttribute: perhaps
description: Some other description
someOtherAttribute: perhapsAgain

# modify changeRecord
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: modify
delete: description
description: Some description 3
-
add: description
description: Some description 4
-
replace: someOtherAttribute
someOtherAttribute: Loves herself more
-

# delete changeRecord
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: delete

# moddn with new superior
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: moddn
newrdn: cn=triss@orga.com
deleteoldrdn: 0
newsuperior: ou=expeople,dc=example,dc=com

# moddn without new superior
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: moddn
newrdn: cn=triss@orga.com
deleteoldrdn: 1

```

# definitions.io.kestra.plugin.ldap.LdifToIon.properties.inputs.title
URI(s) of file(s) containing LDIF entries.

# definitions.io.kestra.plugin.ldap.LdifToIon.markdownDescription
Transform .ldif files to .ion ones.##### Examples
> Make ION entries from LDIF ones.
```yaml
id: ldap_ldif_to_ion
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: ldif_to_ion
    type: io.kestra.plugin.ldap.LdifToIon
    inputs:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"


```

> INPUT example : here's an LDIF file content that may be inputted :
```yaml
# simple entry
dn: cn=bob@orga.com,ou=diffusion_list,dc=orga,dc=com
description: Some description
someOtherAttribute: perhaps
description: Some other description
someOtherAttribute: perhapsAgain

# modify changeRecord
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: modify
delete: description
description: Some description 3
-
add: description
description: Some description 4
-
replace: someOtherAttribute
someOtherAttribute: Loves herself more
-

# delete changeRecord
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: delete

# moddn and modrdn are equals, what's mandatory is to specify in the following order : newrdn -> deleteoldrdn -> (optional) newsuperior
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: modrdn
newrdn: cn=triss@orga.com
deleteoldrdn: 0
newsuperior: ou=expeople,dc=example,dc=com

# moddn without new superior
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: moddn
newrdn: cn=triss@orga.com
deleteoldrdn: 1

```

> OUTPUT example : here's an ION file content that may be outputted :
```yaml
# simple entry
{dn:"cn=bob@orga.com,ou=diffusion_list,dc=orga,dc=com",attributes:{description:["Some description","Some other description"],someOtherAttribute:["perhaps","perhapsAgain"]}}
# modify changeRecord
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"modify",modifications:[{operation:"DELETE",attribute:"description",values:["Some description 3"]},{operation:"ADD",attribute:"description",values:["Some description 4"]},{operation:"REPLACE",attribute:"someOtherAttribute",values:["Loves herself more"]}]}
# delete changeRecord
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"delete"}
# moddn changeRecord (it is mandatory to specify a newrdn and a deleteoldrdn)
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"moddn",newDn:{newrdn:"cn=triss@orga.com",deleteoldrdn:false,newsuperior:"ou=expeople,dc=example,dc=com"}}
# moddn changeRecord without new superior (it is optional to specify a new superior field)
{dn:"cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com",changeType:"moddn",newDn:{newrdn:"cn=triss@orga.com",deleteoldrdn:true}}

```

# definitions.io.kestra.plugin.ldap.Modify.properties.inputs.markdownDescription
List of URI(s) of file(s) containing LDIF formatted entries to modify into LDAP. Entries must provide a changeType field.

# definitions.io.kestra.plugin.ldap.Modify.properties.port.markdownDescription
A whole number describing the port for connection.

# definitions.io.kestra.plugin.ldap.Modify.markdownDescription
Modify, Delete or Add attributes or DNs following LDIF changeType fields of each entries provided.##### Examples
> Modify entries in LDAP server.
```yaml
id: ldap_modify
namespace: company.team

tasks:
  - id: modify
    type: io.kestra.plugin.ldap.Modify
    userDn: cn=admin,dc=orga,dc=en
    password: admin
    inputs:
       - "{{ outputs.some_task.uri_of_ldif_change_record_formated_file }}"
    hostname: 0.0.0.0
    port: 18060

```

# definitions.io.kestra.plugin.ldap.Search.properties.attributes.markdownDescription
Specific attributes to retrieve from the filtered entries. Retrieves all attributes by default.
Sepcial attributes may be specified :
"+"   -> OPERATIONAL_ATTRIBUTES
"1.1" -> NO_ATTRIBUTES
"0.0" -> ALL_ATTRIBUTES_EXCEPT_OPERATIONAL
    `--> This special attribute canno't be combined with other attributes and the search will ignore everything else.


Default value is : `- '*'`

Default value is : `- '*'`

# definitions.io.kestra.plugin.ldap.Search.properties.baseDn.markdownDescription
Base DN target in the LDAP.

Default value is : `ou=system`

# definitions.io.kestra.plugin.ldap.Search.properties.filter.markdownDescription
Filter for the search in the LDAP.

Default value is : `(objectclass=*)`

# definitions.io.kestra.plugin.ldap.Search.properties.port.markdownDescription
A whole number describing the port for connection.

# definitions.io.kestra.plugin.ldap.Search.properties.sub.allOf[].markdownDescription
Search scope of the filter :
BASE -- Indicates that only the entry specified by the base DN should be considered.
ONE -- Indicates that only entries that are immediate subordinates of the entry specified by the base DN (but not the base entry itself) should be considered.
SUB -- Indicates that the base entry itself and any subordinate entries (to any depth) should be considered.
SUBORDINATE_SUBTREE -- Indicates that any subordinate entries (to any depth) below the entry specified by the base DN should be considered, but the base entry itself should not be considered, as described in draft-sermersheim-ldap-subordinate-scope.

Default value is : `name: SUB`

# definitions.io.kestra.plugin.ldap.Search.markdownDescription
Search and list entries based on a filter list for each base DN target.##### Examples
> Retrieve LDAP entries.
In this example, assuming that their is exactly one entry matching each of our filter,
the outputs of the task would be four entries in this order (since we search two times in the same baseDn) :
(dn, description, mail) of {melusine, metatron, melusine, metatron}.
```yaml
id: ldap_search
namespace: company.team

tasks:
  - id: search
    type: io.kestra.plugin.ldap.Search
    userDn: cn=admin,dc=orga,dc=en
    password: admin
    baseDn: ou=people,dc=orga,dc=en
    filter: (|(sn=melusine*)(sn=metatron*))
    attributes:
      - description
      - mail
    hostname: 0.0.0.0
    port: 15060

```

# definitions.io.kestra.plugin.linear.issues.Create.markdownDescription
##### Examples
> 
```yaml
id: linear_issues_create
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.linear.issues.Create
    token: your_api_token
    team: MyTeamName
    title: "Increased 5xx in Demo Service"
    description: "The number of 5xx has increased beyond the threshold for Demo service."
    labels:
      - Bug
      - Workflow

```

> Create an issue when a Kestra workflow in any namespace with `company` as prefix fails.
```yaml
id: create_ticket_on_failure
namespace: system

tasks:
  - id: create_issue
    type: io.kestra.plugin.linear.issues.Create
    token: your_api_token
    team: MyTeamName
    title: Workflow failed
    description: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details."
    labels:
      - Bug
      - Workflow

triggers:
  - id: on_failure
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: company
        comparison: PREFIX

```

# definitions.io.kestra.plugin.malloy.CLI.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.malloy.CLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.malloy.CLI.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/malloy`

# definitions.io.kestra.plugin.malloy.CLI.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.malloy.CLI.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.malloy.CLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.malloy.CLI.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.malloy.CLI.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.malloy.CLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.malloy.CLI.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.malloy.CLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.malloy.CLI.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.malloy.CLI.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.malloy.CLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.malloy.CLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.malloy.CLI.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.malloy.CLI.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.malloy.CLI.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.malloy.CLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.malloy.CLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.malloy.CLI.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.malloy.CLI.title
Execute one or more Malloy commands from the Command Line Interface.

# definitions.io.kestra.plugin.malloy.CLI.markdownDescription
##### Examples
> Create a Malloy script and run the malloy-cli run command.
```yaml
id: malloy
namespace: company.team

tasks:
  - id: run_malloy
    type: io.kestra.plugin.malloy.CLI
    inputFiles:
      model.malloy: |
        source: my_model is duckdb.table('https://huggingface.co/datasets/kestra/datasets/raw/main/csv/iris.csv')

        run: my_model -> {
            group_by: variety
            aggregate:
                avg_petal_width is avg(petal_width)
                avg_petal_length is avg(petal_length)
                avg_sepal_width is avg(sepal_width)
                avg_sepal_length is avg(sepal_length)
        }
    commands:
      - malloy-cli run model.malloy

```

# definitions.io.kestra.plugin.meilisearch.DocumentAdd.properties.index.markdownDescription
Index of the collection you want to add documents to

# definitions.io.kestra.plugin.meilisearch.DocumentAdd.markdownDescription
Add one or multiple [documents](https://www.meilisearch.com/docs/reference/api/documents#add-or-replace-documents) to a Meilisearch DB##### Examples
> Add Document to Meilisearch
```yaml
    id: meilisearch-add-flow
        namespace: company.team

    variables:
      host: http://172.18.0.3:7700/

    tasks:
      - id: http_download
        type: io.kestra.plugin.core.http.Download
        uri: https://pokeapi.co/api/v2/pokemon/jigglypuff

      - id: to_ion
        type: io.kestra.plugin.serdes.json.JsonToIon
        from: "{{ outputs.http_download.uri }}"

      - id: add
        type: io.kestra.plugin.meilisearch.DocumentAdd
        index: "pokemon"
        url: "{{ vars.host }}"
        key: "MASTER_KEY"
        data: "{{ outputs.to_ion.uri }}"

```

# definitions.io.kestra.plugin.meilisearch.DocumentGet.properties.index.markdownDescription
Index of the collections you want to retrieve your document from

# definitions.io.kestra.plugin.meilisearch.DocumentGet.markdownDescription
Get a json [document](https://www.meilisearch.com/docs/reference/api/documents#get-documents-with-get) from Meilisearch using id and index##### Examples
> Get Document from Meilisearch
```yaml
    id: meilisearch-get-flow
        namespace: company.team

    variables:
      id: a123
      index: pokemons
      host: http://172.18.0.3:7700/

    tasks:
      - id: get_document
        type: io.kestra.plugin.meilisearch.DocumentGet
        index: {{ vars.index }}
        documentId: {{ vars.id }}
        url: "{{ vars.host }}"
        key: "MASTER_KEY"

```

# definitions.io.kestra.plugin.meilisearch.FacetSearch.properties.facetName.markdownDescription
Name of the facet you wan to perform a search on (ex: facetName: "genre" on a film collection)

# definitions.io.kestra.plugin.meilisearch.FacetSearch.properties.facetQuery.markdownDescription
Query that will be used on the specified facetName

Default value is : `--- ""`

# definitions.io.kestra.plugin.meilisearch.FacetSearch.properties.filters.markdownDescription
Additional filters to apply to your facet search

Default value is : `"[]"`

Default value is : `"[]"`

# definitions.io.kestra.plugin.meilisearch.FacetSearch.properties.index.markdownDescription
Index of the collection you want to search in

# definitions.io.kestra.plugin.meilisearch.FacetSearch.markdownDescription
Perform a facet [search](https://www.meilisearch.com/docs/reference/api/facet_search) from a Meilisearch DB.
WARNING: make sure to set the [filterable attributes](https://www.meilisearch.com/docs/learn/filtering_and_sorting/search_with_facet_filters#configure-facet-index-settings) before.
##### Examples
> Sample facet search
```yaml
    facetQuery: "fiction",
    facetName: "genre",
    filters:
        -"rating > 3"
    url: "http://localhost:7700",
    key: "MASTER_KEY",
    index: "movies"

    id: meilisearch-facet-search-flow
        namespace: company.team

    variables:
      index: movies
      facetQuery: fiction
      facetName: genre
      host: http://172.18.0.3:7700/

    tasks:
      - id: facet_search_documents
        type: io.kestra.plugin.meilisearch.FacetSearch
        index: {{ vars.index }}
        facetQuery: {{ vars.facetQuery }}
        facetName: {{ vars.facetName }}
        filters:
            - "rating > 3"
        url: "{{ vars.host }}"
        key: "MASTER_KEY"

      - id: to_json
        type: io.kestra.plugin.serdes.json.IonToJson
        from: "{{ outputs.search_documents.uri }}"

```

# definitions.io.kestra.plugin.meilisearch.Search.properties.index.markdownDescription
Index of the collection you want to perform a search on

# definitions.io.kestra.plugin.meilisearch.Search.properties.query.markdownDescription
Query performed to search on a specific collection

# definitions.io.kestra.plugin.meilisearch.Search.markdownDescription
Perform a basic search query on a Meilisearch database with specific query and return the results in an .ion file##### Examples
> 
```yaml
    id: meilisearch-search-flow
        namespace: company.team

    variables:
      index: movies
      query: "Lord of the Rings"
      host: http://172.18.0.3:7700/

    tasks:
      - id: search_documents
        type: io.kestra.plugin.meilisearch.Search
        index: {{ vars.index }}
        query: {{ vars.query }}
        url: "{{ vars.host }}"
        key: "MASTER_KEY"

      - id: to_json
        type: io.kestra.plugin.serdes.json.IonToJson
        from: "{{ outputs.search_documents.uri }}"

```

# definitions.io.kestra.plugin.minio.Copy.properties.delete.title
Whether to delete the source file after download.

# definitions.io.kestra.plugin.minio.Copy.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.Copy.markdownDescription
##### Examples
> 
```yaml
id: minio_copy
namespace: company.team

tasks:
  - id: copy
    type: io.kestra.plugin.minio.Copy
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    from:
      bucket: "my-bucket"
      key: "path/to/file"
    to:
      bucket: "my-bucket2"
      key: "path/to/file2"

```

> Copy file in an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_copy
namespace: company.team

tasks:
  - id: copy_file
    type: io.kestra.plugin.minio.Copy
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com
    from:
      bucket: "my-bucket"
      key: "path/to/file"
    to:
      bucket: "my-bucket2"
      key: "path/to/file2"

```

# definitions.io.kestra.plugin.minio.CreateBucket.properties.objectLockEnabledForBucket.title
Specifies whether you want Object Lock to be enabled for the new bucket.

# definitions.io.kestra.plugin.minio.CreateBucket.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.CreateBucket.markdownDescription
##### Examples
> Create a new bucket with some options
```yaml
id: minio_create_bucket
namespace: company.team

tasks:
  - id: create_bucket
    type: io.kestra.plugin.minio.CreateBucket
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"

```

> Create a new bucket on an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_bucket
namespace: company.team

tasks:
  - id: create_bucket
    type: io.kestra.plugin.minio.CreateBucket
    accessKeyId: "<access_key>"
    secretKeyId: "<secret_key>"
    endpoint: https://<region>.digitaloceanspaces.com  #example region: nyc3, tor1
    bucket: "kestra-test-bucket"

```

# definitions.io.kestra.plugin.minio.Delete.properties.bypassGovernanceRetention.title
Indicates whether Object Lock should bypass Governance-mode restrictions to process this operation.

# definitions.io.kestra.plugin.minio.Delete.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.Delete.markdownDescription
##### Examples
> 
```yaml
id: minio_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.minio.Delete
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    key: "path/to/file"

```

> Delete file from an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.minio.Delete
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com
    bucket: "kestra-test-bucket"
    key: "path/to/file"

```

# definitions.io.kestra.plugin.minio.DeleteList.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.minio.DeleteList.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.minio.DeleteList.properties.marker.title
Marker is where you want to start listing from.

# definitions.io.kestra.plugin.minio.DeleteList.properties.marker.markdownDescription
Start listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.minio.DeleteList.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.minio.DeleteList.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.minio.DeleteList.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.minio.DeleteList.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.minio.DeleteList.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.DeleteList.markdownDescription
##### Examples
> 
```yaml
id: minio_delete_objects
namespace: company.team

tasks:
  - id: delete_objects
    type: io.kestra.plugin.minio.DeleteList
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"

```

> Delete files from an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_delete_objects
namespace: company.team

tasks:
  - id: delete_objects
    type: io.kestra.plugin.minio.DeleteList
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com
    bucket: "kestra-test-bucket"
    prefix: "sub-dir"

```

# definitions.io.kestra.plugin.minio.Download.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.Download.markdownDescription
##### Examples
> 
```yaml
id: minio_download
namespace: company.team

tasks:
  - id: download_from_storage
    type: io.kestra.plugin.minio.Download
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    key: "path/to/file"

```

> Download file from an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_download
namespace: company.team

tasks:
  - id: download_from_storage
    type: io.kestra.plugin.minio.Download
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com
    bucket: "kestra-test-bucket"
    key: "data/orders.csv"

```

# definitions.io.kestra.plugin.minio.Downloads.properties.action.title
The action to perform on the retrieved files. If using 'NONE' make sure to handle the files inside your flow to avoid infinite triggering.

# definitions.io.kestra.plugin.minio.Downloads.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.minio.Downloads.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.minio.Downloads.properties.marker.title
Marker is where you want to start listing from.

# definitions.io.kestra.plugin.minio.Downloads.properties.marker.markdownDescription
Start listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.minio.Downloads.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.minio.Downloads.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.minio.Downloads.properties.moveTo.allOf[].title
The destination bucket and key for `MOVE` action.

# definitions.io.kestra.plugin.minio.Downloads.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.minio.Downloads.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.minio.Downloads.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.Downloads.markdownDescription
##### Examples
> 
```yaml
id: minio_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.minio.Downloads
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"
    action: "DELETE"

```

> Download files from an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_downloads
namespace: company.team

tasks:
  - id: downloads
    type: io.kestra.plugin.minio.Downloads
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com
    bucket: "kestra-test-bucket"
    prefix: "data/orders"
    action: "DELETE"

```

# definitions.io.kestra.plugin.minio.List.properties.delimiter.title
A delimiter is a character you use to group keys.

# definitions.io.kestra.plugin.minio.List.properties.filter.title
The type of objects to filter: files, directory, or both.

# definitions.io.kestra.plugin.minio.List.properties.includeVersions.title
Indicates whether task should include versions in output.

# definitions.io.kestra.plugin.minio.List.properties.marker.title
Marker is where you want to start listing from.

# definitions.io.kestra.plugin.minio.List.properties.marker.markdownDescription
Start listing after this specified key. Marker can be any key in the bucket.

# definitions.io.kestra.plugin.minio.List.properties.maxKeys.title
Sets the maximum number of keys returned in the response.

# definitions.io.kestra.plugin.minio.List.properties.maxKeys.markdownDescription
By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Default value is : `1000`

# definitions.io.kestra.plugin.minio.List.properties.prefix.title
Limits the response to keys that begin with the specified prefix.

# definitions.io.kestra.plugin.minio.List.properties.recursive.title
Indicates whether it should look into subfolders.

# definitions.io.kestra.plugin.minio.List.properties.regexp.markdownDescription
ex:
`regExp: .*` to match all files
`regExp: .*2020-01-0.\\.csv` to match files between 01 and 09 of january ending with `.csv`

# definitions.io.kestra.plugin.minio.List.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.List.properties.startAfter.title
Limits the response to keys that ends with the specified string.

# definitions.io.kestra.plugin.minio.List.markdownDescription
##### Examples
> 
```yaml
id: minio_list
namespace: company.team

tasks:
  - id: list_objects
    type: io.kestra.plugin.minio.List
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"

```

> List files from an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_list
namespace: company.team

tasks:
  - id: list_objects
    type: io.kestra.plugin.minio.List
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com
    bucket: "kestra-test-bucket"

```

# definitions.io.kestra.plugin.minio.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.minio.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.minio.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.minio.Trigger.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.minio.Trigger.markdownDescription
This trigger will list every `interval` a bucket. You can search for all files in a bucket or directory in `from` or you can filter the files with a `regExp`. The detection is atomic, internally we do a list and interact only with files listed.
Once a file is detected, we download the file on internal storage and processed with declared `action` in order to move or delete the files from the bucket (to avoid double detection on new poll).##### Examples
> Wait for a list of files on a bucket and iterate through the files.
```yaml
id: minio_listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
    value: "{{ trigger.objects | jq('.[].uri') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.minio.Trigger
    interval: "PT5M"
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"
    action: MOVE
    moveTo: 
      key: archive
```

> Wait for a list of files on a bucket and iterate through the files. Delete files manually after processing to prevent infinite triggering.
```yaml
id: minio_listen
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
      - id: delete
        type: io.kestra.plugin.minio.Delete
        accessKeyId: "<access-key>"
        secretKeyId: "<secret-key>"
        region: "eu-central-1"
        bucket: "my-bucket"
        key: "{{ taskrun.value }}"
    value: "{{ trigger.objects | jq('.[].key') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.minio.Trigger
    interval: "PT5M"
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    bucket: "my-bucket"
    prefix: "sub-dir"
    action: NONE
```

> Wait for a list of files on a bucket on an S3-compatible storage — here, Spaces Object Storage from Digital Ocean. Iterate through those files, and move it to another folder.
```yaml
id: trigger_on_s3_compatible_storage
namespace: company.team
tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ taskrun.value }}"
    value: "{{ trigger.objects | jq('.[].uri') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.minio.Trigger
    interval: "PT5M"
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>>.digitaloceanspaces.com
    bucket: "kestra-test-bucket"
    prefix: "sub-dir"
    action: MOVE
    moveTo:
      key: archive

```

# definitions.io.kestra.plugin.minio.Upload.properties.contentType.title
A standard MIME type describing the format of the contents.

# definitions.io.kestra.plugin.minio.Upload.properties.from.markdownDescription
Can be a single file, a list of files or json array.

# definitions.io.kestra.plugin.minio.Upload.properties.key.markdownDescription
a full key (with filename) or the directory path if from is multiple files.

# definitions.io.kestra.plugin.minio.Upload.properties.metadata.title
A map of metadata to store with the object.

# definitions.io.kestra.plugin.minio.Upload.properties.region.title
MinIO region with which the SDK should communicate.

# definitions.io.kestra.plugin.minio.Upload.markdownDescription
##### Examples
> 
```yaml
id: minio_upload
namespace: company.team

inputs:
  id: file
  type: FILE

tasks:
  - id: upload_to_storage
    type: io.kestra.plugin.minio.Upload
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    from: "{{ inputs.file }}"
    bucket: "my-bucket"
    key: "path/to/file"

```

> Upload file to an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.
```yaml
id: s3_compatible_upload
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv
  - id: upload_to_storage
    type: io.kestra.plugin.minio.Upload
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com  #example regions: nyc3, tor1
    bucket: "kestra-test-bucket"
    from: "{{ outputs.http_download.uri }}"
    key: "data/orders.csv"

```

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.beforeCommands.title
The commands to execute before the main list of commands

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/modal`

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.modal.cli.ModalCLI.title
Execute Modal commands from the Command Line Interface

# definitions.io.kestra.plugin.modal.cli.ModalCLI.markdownDescription
##### Examples
> Execute a Python script on a GPU-powered instance in the cloud using [Modal](https://modal.com/). Make sure to add [the script](https://github.com/kestra-io/scripts/blob/main/modal/gpu.py) that you want to orchestrate as a Namespace File in the Editor and point to it in the `commands` section.
```yaml
id: modal
namespace: company.team

tasks:
  - id: modal_cli
    type: io.kestra.plugin.modal.cli.ModalCLI
    namespaceFiles:
      enabled: true
    commands:
      - modal run scripts/gpu.py
    env:
      MODAL_TOKEN_ID: "{{ secret('MODAL_TOKEN_ID') }}"
      MODAL_TOKEN_SECRET: "{{ secret('MODAL_TOKEN_SECRET') }}"

```

> Execute a Python script from Git on a cloud VM using [Modal](https://modal.com/).
```yaml
id: modal_git
namespace: company.team

tasks:
  - id: repository
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone
        type: io.kestra.plugin.git.Clone
        branch: main
        url: https://github.com/kestra-io/scripts

      - id: modal_cli
        type: io.kestra.plugin.modal.cli.ModalCLI
        commands:
          - modal run modal/getting_started.py
        env:
          MODAL_TOKEN_ID: "{{ secret('MODAL_TOKEN_ID') }}"
          MODAL_TOKEN_SECRET: "{{ secret('MODAL_TOKEN_SECRET') }}"

```

# definitions.io.kestra.plugin.mongodb.Bulk.markdownDescription
Here are the sample file contents that can be provided as input to Bulk task:
```
{ "insertOne" : {"firstName": "John", "lastName": "Doe", "city": "Paris"}}
{ "insertOne" : {"firstName": "Ravi", "lastName": "Singh", "city": "Mumbai"}}
{ "deleteMany": {"filter": {"city": "Bengaluru"}}}
```
##### Examples
> 
```yaml
id: mongodb_bulk
namespace: company.team

inputs:
  - id: myfile
    type: FILE

tasks:
  - id: bulk
    type: io.kestra.plugin.mongodb.Bulk
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    from: "{{ inputs.myfile }}"

```

# definitions.io.kestra.plugin.mongodb.Delete.title
Delete one or many documents from a MongoDB collection.

# definitions.io.kestra.plugin.mongodb.Delete.markdownDescription
##### Examples
> 
```yaml
id: mongodb_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.mongodb.Delete
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    operation: "DELETE_ONE"
    filter:
      _id:
        $oid: 60930c39a982931c20ef6cd6

```

# definitions.io.kestra.plugin.mongodb.Find.properties.store.title
Whether to store the data from the query result into an ion serialized data file.

# definitions.io.kestra.plugin.mongodb.Find.title
Find documents from a MongoDB collection.

# definitions.io.kestra.plugin.mongodb.Find.markdownDescription
##### Examples
> 
```yaml
id: mongodb_find
namespace: company.team

tasks:
  - id: find
    type: io.kestra.plugin.mongodb.Find
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    filter:
      _id:
        $oid: 60930c39a982931c20ef6cd6

```

# definitions.io.kestra.plugin.mongodb.InsertOne.title
Insert a document into a MongoDB collection.

# definitions.io.kestra.plugin.mongodb.InsertOne.markdownDescription
##### Examples
> Insert a document with a map.
```yaml
id: mongodb_insertone
namespace: company.team

tasks:
  - id: insertone
    type: io.kestra.plugin.mongodb.InsertOne
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    document:
      _id:
        $oid: 60930c39a982931c20ef6cd6
      name: "John Doe"
      city: "Paris"

```

> Insert a document from a JSON string.
```yaml
id: mongodb_insertone
namespace: company.team

tasks:
  - id: insertone
    type: io.kestra.plugin.mongodb.InsertOne
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    document: "{{ outputs.task_id.data | json }}"

```

# definitions.io.kestra.plugin.mongodb.Load.properties.removeIdKey.title
Whether to remove idKey from the final document.

# definitions.io.kestra.plugin.mongodb.Load.title
Bulk load documents in MongoDB using Kestra internal storage file.

# definitions.io.kestra.plugin.mongodb.Load.markdownDescription
##### Examples
> 
```yaml
id: mongodb_load
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: load
    type: io.kestra.plugin.mongodb.Load
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    from: "{{ inputs.file }}"

```

# definitions.io.kestra.plugin.mongodb.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.mongodb.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.mongodb.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.mongodb.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.mongodb.Trigger.markdownDescription
##### Examples
> Wait for a MongoDB query to return results, and then iterate through rows.
```yaml
id: mongodb_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.mongodb.Trigger
    interval: "PT5M"
    connection:
      uri: mongodb://root:example@localhost:27017/?authSource=admin
    database: samples
    collection: books
    filter:
      pageCount:
        $gte: 50
    sort:
      pageCount: -1
    projection:
      title: 1
      publishedDate: 1
      pageCount: 1

```

# definitions.io.kestra.plugin.mongodb.Update.title
Update or Replace one or many documents in a MongoDB collection.

# definitions.io.kestra.plugin.mongodb.Update.markdownDescription
##### Examples
> Replace a document.
```yaml
id: mongodb_update
namespace: company.team

tasks:
  - id: update
    type: io.kestra.plugin.mongodb.Update
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    operation: "REPLACE_ONE"
    document:
      _id:
        $oid: 60930c39a982931c20ef6cd6
      name: "John Doe"
      city: "Paris"
    filter:
      _id:
        $oid: 60930c39a982931c20ef6cd6

```

> Update a document.
```yaml
id: mongodb_update
namespace: company.team

tasks:
  - id: update
    type: io.kestra.plugin.mongodb.Update
    connection:
      uri: "mongodb://root:example@localhost:27017/?authSource=admin"
    database: "my_database"
    collection: "my_collection"
    filter:
      _id:
        $oid: 60930c39a982931c20ef6cd6
    document: "{"$set": { "tags": ["blue", "green", "red"]}}"

```

# definitions.io.kestra.plugin.mqtt.Publish.properties.authMethod.markdownDescription
Only available if `version` = `V5`
If set, this value contains the name of the authentication method to be used for extended authentication. If null, extended authentication is not performed.

# definitions.io.kestra.plugin.mqtt.Publish.properties.clientId.title
A client identifier that is unique on the server being connected to

# definitions.io.kestra.plugin.mqtt.Publish.properties.clientId.markdownDescription
A client identifier clientId must be specified and be less that 65535 characters. It must be unique across all clients connecting to the same server. The clientId is used by the server to store data related to the client, hence it is important that the clientId remain the same when connecting to a server if durable subscriptions or reliable messaging are required.
As the client identifier is used by the server to identify a client when it reconnects, the client must use the same identifier between connections if durable subscriptions or reliable delivery of messages is required.

# definitions.io.kestra.plugin.mqtt.Publish.properties.connectionTimeout.markdownDescription
This value defines the maximum time interval the client will wait for the network connection to the MQTT server to be established. The default timeout is 30 seconds. A value of 0 disables timeout processing meaning the client will wait until the network connection is made successfully or fails.

# definitions.io.kestra.plugin.mqtt.Publish.properties.from.markdownDescription
Can be an internal storage uri, a map or a list.

# definitions.io.kestra.plugin.mqtt.Publish.properties.httpsHostnameVerificationEnabled.markdownDescription
This value will allow all ca certificate.

# definitions.io.kestra.plugin.mqtt.Publish.properties.qos.title
Sets the quality of service for this message.

# definitions.io.kestra.plugin.mqtt.Publish.properties.qos.markdownDescription
* **Quality of Service 0**: indicates that a message should be delivered at most once (zero or one times). The message will not be persisted to disk, and will not be acknowledged across the network. This QoS is the fastest, but should only be used for messages which are not valuable - note that if the server cannot process the message (for example, there is an authorization problem). Also known as "fire and forget".
* **Quality of Service 1**: indicates that a message should be delivered at least once (one or more times). The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure. The message will be acknowledged across the network.
* **Quality of Service 2**: indicates that a message should be delivered once. The message will be persisted to disk, and will be subject to a two-phase acknowledgement across the network. The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure.
If persistence is not configured, QoS 1 and 2 messages will still be delivered in the event of a network or server problem as the client will hold state in memory. If the MQTT client is shutdown or fails and persistence is not configured then delivery of QoS 1 and 2 messages can not be maintained as client-side state will be lost.

Default value is : `1`

# definitions.io.kestra.plugin.mqtt.Publish.properties.retain.title
Whether or not the publish message should be retained by the messaging engine. 

# definitions.io.kestra.plugin.mqtt.Publish.properties.retain.markdownDescription
Sending a message with retained set to true and with an empty byte array as the payload e.g. `null` will clear the retained message from the server.

Default value is : `false`

# definitions.io.kestra.plugin.mqtt.Publish.properties.serdeType.title
Serializer / Deserializer used for the payload

# definitions.io.kestra.plugin.mqtt.Publish.properties.server.title
The address of the server to connect to, specified as a URI

# definitions.io.kestra.plugin.mqtt.Publish.properties.server.markdownDescription
The serverURI parameter is typically used with the the clientId parameter to form a key. The key is used to store and reference messages while they are being delivered.
The address of the server to connect to is specified as a URI. Two types of connection are supported `tcp://` for a TCP connection and `ssl://` for a TCP connection secured by SSL/TLS. For example:
* `tcp://localhost:1883`
* `ssl://localhost:8883`
If the port is not specified, it will default to 1883 for `tcp://`" URIs, and 8883 for `ssl://` URIs.

# definitions.io.kestra.plugin.mqtt.Publish.properties.username.title
The user name to use for the connection.

# definitions.io.kestra.plugin.mqtt.Publish.markdownDescription
##### Examples
> 
```yaml
id: mqtt_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.mqtt.Publish
    server: tcp://localhost:1883
    clientId: kestraProducer
    topic: kestra/sensors/cpu
    serdeType: JSON
    retain: true
    from:
      type: "sensors"
      value: 1.23

```

> 
```yaml
    id: mqtt_publish
    namespace: company.team

    tasks:
      - id: publish
        type: io.kestra.plugin.mqtt.Publish
        server: ssl://localhost:8883
        clientId: kestraProducer
        topic: kestra/sensors/cpu
        crt: /home/path/to/ca.crt
        serdeType: JSON
        retain: true
        from:
          type: "sensors"
          value: 1.23

```

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.qos.title
Sets the quality of service for this message.

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.qos.markdownDescription
* **Quality of Service 0**: indicates that a message should be delivered at most once (zero or one times). The message will not be persisted to disk, and will not be acknowledged across the network. This QoS is the fastest, but should only be used for messages which are not valuable - note that if the server cannot process the message (for example, there is an authorization problem). Also known as "fire and forget".
* **Quality of Service 1**: indicates that a message should be delivered at least once (one or more times). The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure. The message will be acknowledged across the network.
* **Quality of Service 2**: indicates that a message should be delivered once. The message will be persisted to disk, and will be subject to a two-phase acknowledgement across the network. The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure.
If persistence is not configured, QoS 1 and 2 messages will still be delivered in the event of a network or server problem as the client will hold state in memory. If the MQTT client is shutdown or fails and persistence is not configured then delivery of QoS 1 and 2 messages can not be maintained as client-side state will be lost.

Default value is : `1`

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.serdeType.title
Serializer / Deserializer used for the payload

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.properties.topic.markdownDescription
Can be a string or a List of string to consume from multiple topic

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.title
Consume a message in real-time from MQTT topics and create one execution per message.

# definitions.io.kestra.plugin.mqtt.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.mqtt.Trigger](https://kestra.io/plugins/plugin-mqtt/triggers/io.kestra.plugin.mqtt.trigger) instead.##### Examples
> Consume a message from MQTT topics in real-time.
```yaml
id: mqtt_realtime_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.payload }}"

triggers:
  - id: realtime_trigger
    type: io.kestra.plugin.mqtt.RealtimeTrigger
    server: tcp://localhost:1883
    clientId: kestraProducer
    topic:
      - kestra/sensors/cpu
      - kestra/sensors/mem
    serdeType: JSON
```

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.authMethod.markdownDescription
Only available if `version` = `V5`
If set, this value contains the name of the authentication method to be used for extended authentication. If null, extended authentication is not performed.

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.clientId.title
A client identifier that is unique on the server being connected to

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.clientId.markdownDescription
A client identifier clientId must be specified and be less that 65535 characters. It must be unique across all clients connecting to the same server. The clientId is used by the server to store data related to the client, hence it is important that the clientId remain the same when connecting to a server if durable subscriptions or reliable messaging are required.
As the client identifier is used by the server to identify a client when it reconnects, the client must use the same identifier between connections if durable subscriptions or reliable delivery of messages is required.

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.connectionTimeout.markdownDescription
This value defines the maximum time interval the client will wait for the network connection to the MQTT server to be established. The default timeout is 30 seconds. A value of 0 disables timeout processing meaning the client will wait until the network connection is made successfully or fails.

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.httpsHostnameVerificationEnabled.markdownDescription
This value will allow all ca certificate.

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.maxRecords.title
The max number of rows to fetch before stopping

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.qos.title
Sets the quality of service for this message.

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.qos.markdownDescription
* **Quality of Service 0**: indicates that a message should be delivered at most once (zero or one times). The message will not be persisted to disk, and will not be acknowledged across the network. This QoS is the fastest, but should only be used for messages which are not valuable - note that if the server cannot process the message (for example, there is an authorization problem). Also known as "fire and forget".
* **Quality of Service 1**: indicates that a message should be delivered at least once (one or more times). The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure. The message will be acknowledged across the network.
* **Quality of Service 2**: indicates that a message should be delivered once. The message will be persisted to disk, and will be subject to a two-phase acknowledgement across the network. The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure.
If persistence is not configured, QoS 1 and 2 messages will still be delivered in the event of a network or server problem as the client will hold state in memory. If the MQTT client is shutdown or fails and persistence is not configured then delivery of QoS 1 and 2 messages can not be maintained as client-side state will be lost.

Default value is : `1`

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.serdeType.title
Serializer / Deserializer used for the payload

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.server.title
The address of the server to connect to, specified as a URI

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.server.markdownDescription
The serverURI parameter is typically used with the the clientId parameter to form a key. The key is used to store and reference messages while they are being delivered.
The address of the server to connect to is specified as a URI. Two types of connection are supported `tcp://` for a TCP connection and `ssl://` for a TCP connection secured by SSL/TLS. For example:
* `tcp://localhost:1883`
* `ssl://localhost:8883`
If the port is not specified, it will default to 1883 for `tcp://`" URIs, and 8883 for `ssl://` URIs.

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.topic.markdownDescription
Can be a string or a List of string to consume from multiple topic

# definitions.io.kestra.plugin.mqtt.Subscribe.properties.username.title
The user name to use for the connection.

# definitions.io.kestra.plugin.mqtt.Subscribe.markdownDescription
##### Examples
> 
```yaml
id: mqtt_subscribe
namespace: company.team

tasks:
  - id: subscribe
    type: io.kestra.plugin.mqtt.Subscribe
    server: tcp://localhost:1883
    clientId: kestraProducer
    topic:
      - kestra/sensors/cpu
      - kestra/sensors/mem
    serdeType: JSON
    maxRecords: 10

```

> 
```yaml
id: mqtt_subscribe
namespace: company.team

tasks:
  - id: subscribe
    type: io.kestra.plugin.mqtt.Subscribe
    server: ssl://localhost:8883
    clientId: kestraProducer
    topic:
      - kestra/sensors/cpu
      - kestra/sensors/mem
    crt: /home/path/to/ca.crt
    serdeType: JSON
    maxRecords: 10

```

# definitions.io.kestra.plugin.mqtt.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.mqtt.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.mqtt.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.mqtt.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second

# definitions.io.kestra.plugin.mqtt.Trigger.properties.maxRecords.title
The max number of rows to fetch before stopping

# definitions.io.kestra.plugin.mqtt.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second

# definitions.io.kestra.plugin.mqtt.Trigger.properties.qos.title
Sets the quality of service for this message.

# definitions.io.kestra.plugin.mqtt.Trigger.properties.qos.markdownDescription
* **Quality of Service 0**: indicates that a message should be delivered at most once (zero or one times). The message will not be persisted to disk, and will not be acknowledged across the network. This QoS is the fastest, but should only be used for messages which are not valuable - note that if the server cannot process the message (for example, there is an authorization problem). Also known as "fire and forget".
* **Quality of Service 1**: indicates that a message should be delivered at least once (one or more times). The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure. The message will be acknowledged across the network.
* **Quality of Service 2**: indicates that a message should be delivered once. The message will be persisted to disk, and will be subject to a two-phase acknowledgement across the network. The message can only be delivered safely if it can be persisted, so the application must supply a means of persistence using MqttConnectOptions. If a persistence mechanism is not specified, the message will not be delivered in the event of a client failure.
If persistence is not configured, QoS 1 and 2 messages will still be delivered in the event of a network or server problem as the client will hold state in memory. If the MQTT client is shutdown or fails and persistence is not configured then delivery of QoS 1 and 2 messages can not be maintained as client-side state will be lost.

Default value is : `1`

# definitions.io.kestra.plugin.mqtt.Trigger.properties.serdeType.title
Serializer / Deserializer used for the payload

# definitions.io.kestra.plugin.mqtt.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.mqtt.Trigger.properties.topic.markdownDescription
Can be a string or a List of string to consume from multiple topic

# definitions.io.kestra.plugin.mqtt.Trigger.title
Consume messages periodically from MQTT topics and create one execution per batch.

# definitions.io.kestra.plugin.mqtt.Trigger.markdownDescription
Note that you don't need an extra task to consume the message from the event trigger. The trigger will automatically consume messages and you can retrieve their content in your flow using the `{{ trigger.uri }}` variable. If you would like to consume each message from MQTT topics in real-time and create one execution per message, you can use the [io.kestra.plugin.mqtt.RealtimeTrigger](https://kestra.io/plugins/plugin-mqtt/triggers/io.kestra.plugin.mqtt.realtimetrigger) instead.##### Examples
> 
```yaml
    id: mqtt_trigger
    namespace: company.team

    tasks:
      - id: log
        type: io.kestra.plugin.core.log.Log
        message: "{{ trigger.payload }}"

    triggers:
      - id: trigger
        type: io.kestra.plugin.mqtt.Trigger
        server: tcp://localhost:1883
        clientId: kestraProducer
        topic:
          - kestra/sensors/cpu
          - kestra/sensors/mem
        serdeType: JSON
        maxRecords: 10

```

# definitions.io.kestra.plugin.nats.Consume.properties.batchSize.title
Messages are fetched by batch of given size.

# definitions.io.kestra.plugin.nats.Consume.properties.deliverPolicy.title
The point in the stream to receive messages from.

# definitions.io.kestra.plugin.nats.Consume.properties.deliverPolicy.markdownDescription
Possible settings are:
- `All`: The default policy. The consumer will start receiving from the earliest available message.
- `Last`: When first consuming messages, the consumer will start receiving messages with the last message added to the stream, or the last message in the stream that matches the consumer's filter subject if defined.
- `New`: When first consuming messages, the consumer will only start receiving messages that were created after the consumer was created.
- `ByStartSequence`: When first consuming messages, start at the first message having the sequence number or the next one available.
- `ByStartTime`: When first consuming messages, start with messages on or after this time. The consumer is required to specify `since` which defines this start time.
- `LastPerSubject`: When first consuming messages, start with the latest one for each filtered subject currently in the stream.


Default value is : `All`

# definitions.io.kestra.plugin.nats.Consume.properties.durableId.title
ID used to attach the subscription to a durable one, allowing the subscription to start back from a previous position

# definitions.io.kestra.plugin.nats.Consume.properties.maxDuration.title
The max duration before stopping the message polling

# definitions.io.kestra.plugin.nats.Consume.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second

# definitions.io.kestra.plugin.nats.Consume.properties.maxRecords.title
The max number of rows to fetch before stopping

# definitions.io.kestra.plugin.nats.Consume.properties.pollDuration.title
Polling duration before processing message

# definitions.io.kestra.plugin.nats.Consume.properties.pollDuration.markdownDescription
If no messages are available, define the max duration to wait for new messages

Default value is : `2.000000000`

# definitions.io.kestra.plugin.nats.Consume.properties.since.title
Minimum message timestamp to start consumption from.

# definitions.io.kestra.plugin.nats.Consume.properties.since.markdownDescription
By default, we consume all messages from the subjects starting from beginning of logs or depending on the current durable id position. You can also provide an arbitrary start time to get all messages since this date for a new durable id. Note that if you don't provide a durable id, you will retrieve all messages starting from this date even after subsequent usage of this task.Must be a valid iso 8601 date.

# definitions.io.kestra.plugin.nats.Consume.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.Consume.title
Consume messages from a NATS subject on a JetStream-enabled NATS server.

# definitions.io.kestra.plugin.nats.Consume.markdownDescription
Please note that the server you run it against must have JetStream enabled for it to work.
It should also have a stream configured to match the given subject.##### Examples
> Consume messages from any topic subject matching the kestra.> wildcard, using user password authentication.
```yaml
id: nats_consume_messages
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.nats.Consume
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.>
    durableId: someDurableId
    pollDuration: PT5S

```

# definitions.io.kestra.plugin.nats.Produce.properties.from.markdownDescription
Can be an internal storage uri, a map or a list.with the following format: headers, data

# definitions.io.kestra.plugin.nats.Produce.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.Produce.title
Produce messages to a NATS subject on a NATS server.

# definitions.io.kestra.plugin.nats.Produce.markdownDescription
##### Examples
> Produce a single message to kestra.publish subject, using user password authentication.
```yaml
id: nats_produce_single_message
namespace: company.team

tasks:
  - id: produce
    type: io.kestra.plugin.nats.Produce
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.publish
    from:
      headers:
        someHeaderKey: someHeaderValue
      data: Some message

```

> Produce 2 messages to kestra.publish subject, using user password authentication.
```yaml
id: nats_produce_two_messages
namespace: company.team

tasks:
  - id: produce
    type: io.kestra.plugin.nats.Produce
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.publish
    from:
      - headers:
          someHeaderKey: someHeaderValue
        data: Some message
      - data: Another message

```

> Produce messages (1 / row) from an internal storage file to kestra.publish subject, using user password authentication.
```yaml
id: nats_produce_messages_from_file
namespace: company.team

tasks:
  - id: produce
    type: io.kestra.plugin.nats.Produce
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.publish
    from: "{{ outputs.some_task_with_output_file.uri }}"

```

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.batchSize.title
Messages are fetched by batch of given size.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.deliverPolicy.title
The point in the stream to receive messages from.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.deliverPolicy.markdownDescription
Possible settings are:
- `All`: The default policy. The consumer will start receiving from the earliest available message.
- `Last`: When first consuming messages, the consumer will start receiving messages with the last message added to the stream, or the last message in the stream that matches the consumer's filter subject if defined.
- `New`: When first consuming messages, the consumer will only start receiving messages that were created after the consumer was created.
- `ByStartSequence`: When first consuming messages, start at the first message having the sequence number or the next one available.
- `ByStartTime`: When first consuming messages, start with messages on or after this time. The consumer is required to specify `since` which defines this start time.
- `LastPerSubject`: When first consuming messages, start with the latest one for each filtered subject currently in the stream.


Default value is : `All`

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.durableId.title
ID used to attach the subscription to a durable one, allowing the subscription to start back from a previous position

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.since.title
Minimum message timestamp to start consumption from.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.since.markdownDescription
By default, we consume all messages from the subjects starting from beginning of logs or depending on the current durable id position. You can also provide an arbitrary start time to get all messages since this date for a new durable id. Note that if you don't provide a durable id, you will retrieve all messages starting from this date even after subsequent usage of this task.Must be a valid iso 8601 date.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.nats.RealtimeTrigger.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.RealtimeTrigger.title
Consume a message in real-time from a NATS subject on a JetStream-enabled NATS server and create one execution per message.

# definitions.io.kestra.plugin.nats.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.nats.Trigger](https://kestra.io/plugins/plugin-nats/triggers/io.kestra.plugin.nats.trigger) instead.##### Examples
> Subscribe to a NATS subject, getting every message from the beginning of the subject on first trigger execution.
```yaml
id: nats
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: watch
    type: io.kestra.plugin.nats.RealtimeTrigger
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.trigger
    durableId: natsTrigger
    deliverPolicy: All

```

# definitions.io.kestra.plugin.nats.Trigger.properties.batchSize.title
Messages are fetched by batch of given size.

# definitions.io.kestra.plugin.nats.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.nats.Trigger.properties.deliverPolicy.title
The point in the stream to receive messages from.

# definitions.io.kestra.plugin.nats.Trigger.properties.deliverPolicy.markdownDescription
Possible settings are:
- `All`: The default policy. The consumer will start receiving from the earliest available message.
- `Last`: When first consuming messages, the consumer will start receiving messages with the last message added to the stream, or the last message in the stream that matches the consumer's filter subject if defined.
- `New`: When first consuming messages, the consumer will only start receiving messages that were created after the consumer was created.
- `ByStartSequence`: When first consuming messages, start at the first message having the sequence number or the next one available.
- `ByStartTime`: When first consuming messages, start with messages on or after this time. The consumer is required to specify `since` which defines this start time.
- `LastPerSubject`: When first consuming messages, start with the latest one for each filtered subject currently in the stream.


Default value is : `All`

# definitions.io.kestra.plugin.nats.Trigger.properties.durableId.title
ID used to attach the subscription to a durable one, allowing the subscription to start back from a previous position

# definitions.io.kestra.plugin.nats.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.nats.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.nats.Trigger.properties.maxDuration.title
The max duration before stopping the message polling

# definitions.io.kestra.plugin.nats.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second

# definitions.io.kestra.plugin.nats.Trigger.properties.maxRecords.title
The max number of rows to fetch before stopping

# definitions.io.kestra.plugin.nats.Trigger.properties.pollDuration.title
Polling duration before processing message

# definitions.io.kestra.plugin.nats.Trigger.properties.pollDuration.markdownDescription
If no messages are available, define the max duration to wait for new messages

Default value is : `2.000000000`

# definitions.io.kestra.plugin.nats.Trigger.properties.since.title
Minimum message timestamp to start consumption from.

# definitions.io.kestra.plugin.nats.Trigger.properties.since.markdownDescription
By default, we consume all messages from the subjects starting from beginning of logs or depending on the current durable id position. You can also provide an arbitrary start time to get all messages since this date for a new durable id. Note that if you don't provide a durable id, you will retrieve all messages starting from this date even after subsequent usage of this task.Must be a valid iso 8601 date.

# definitions.io.kestra.plugin.nats.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.nats.Trigger.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.Trigger.title
Consume messages periodically from a NATS subject on a JetStream-enabled NATS server and create one execution per batch.

# definitions.io.kestra.plugin.nats.Trigger.markdownDescription
If you would like to consume each message from a NATS subject in real-time and create one execution per message, you can use the [io.kestra.plugin.nats.RealtimeTrigger](https://kestra.io/plugins/plugin-nats/triggers/io.kestra.plugin.nats.realtimetrigger) instead.##### Examples
> Subscribe to a NATS subject, getting every message from the beginning of the subject on first trigger execution.
```yaml
id: nats
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.data }}"

triggers:
  - id: watch
    type: io.kestra.plugin.nats.Trigger
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.trigger
    durableId: natsTrigger
    deliverPolicy: All
    maxRecords: 1

```

# definitions.io.kestra.plugin.nats.kv.CreateBucket.properties.bucketSize.title
The maximum size in bytes for this bucket.

# definitions.io.kestra.plugin.nats.kv.CreateBucket.properties.description.title
The description of the key value bucket.

# definitions.io.kestra.plugin.nats.kv.CreateBucket.properties.historyPerKey.title
The maximum number of history for a key.

# definitions.io.kestra.plugin.nats.kv.CreateBucket.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.kv.CreateBucket.properties.valueSize.title
The maximum size in bytes for an individual value in the bucket.

# definitions.io.kestra.plugin.nats.kv.CreateBucket.markdownDescription
##### Examples
> Creates a new Key/Value bucket, with all required properties.
```yaml
id: nats_kv_create_bucket
namespace: company.team

tasks:
  - id: create_bucket
    type: io.kestra.plugin.nats.kv.CreateBucket
    url: nats://localhost:4222
    username: nats_user
    password: nats_passwd
    name: my_bucket

```

> Creates a new Key/Value bucket.
```yaml
id: nats_kv_create_bucket
namespace: company.team

tasks:
  - id: create_bucket
    type: io.kestra.plugin.nats.kv.CreateBucket
    url: nats://localhost:4222
    username: nats_user
    password: nats_passwd
    name: my_bucket
    description: my bucket for special purposes
    historyPerKey: 2
    bucketSize: 1024
    valueSize: 1024
    metadata: {"key1":"value1","key2":"value2"}

```

# definitions.io.kestra.plugin.nats.kv.Delete.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.kv.Delete.title
Deletes a pair from a NATS Key/Value bucket.

# definitions.io.kestra.plugin.nats.kv.Delete.markdownDescription
##### Examples
> 
```yaml
id: nats_kv_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.nats.kv.Delete
    url: nats://localhost:4222
    username: nats_user
    password: nats_passwd
    bucketName: my_bucket
     keys:
      - key1
      - key2

```

# definitions.io.kestra.plugin.nats.kv.Get.properties.keyRevisions.title
The keys with revision of Key/Value pairs.

# definitions.io.kestra.plugin.nats.kv.Get.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.kv.Get.title
Gets a value from a NATS Key/Value bucket.

# definitions.io.kestra.plugin.nats.kv.Get.markdownDescription
##### Examples
> Gets a value from a NATS Key/Value bucket by keys.
```yaml
id: nats_kv_get
namespace: company.team

tasks:
  - id: get
    type: io.kestra.plugin.nats.kv.Get
    url: nats://localhost:4222
    username: nats_user
    password: nats_passwd
    bucketName: my_bucket
    keys:
      - key1
      - key2

```

> Gets a value from a NATS Key/Value bucket by keys with revisions.
```yaml
   id: nats_kv_get
            namespace: company.team

            tasks:
              - id: get
                type: io.kestra.plugin.nats.kv.Get
    url: nats://localhost:4222
                username: nats_user
                password: nats_passwd
                bucketName: my_bucket
                keyRevisions:
                  - key1: 1
                  - key2: 3

```

# definitions.io.kestra.plugin.nats.kv.Put.properties.url.markdownDescription
The format is (nats://)server_url:port. You can also provide a connection token like so: nats://token@server_url:port

# definitions.io.kestra.plugin.nats.kv.Put.title
Puts a Key/Value pair into a NATS Key/Value bucket.

# definitions.io.kestra.plugin.nats.kv.Put.markdownDescription
##### Examples
> 
```yaml
id: nats_kv_put
namespace: company.team

tasks:
  - id: put
    type: io.kestra.plugin.nats.kv.Put
    url: nats://localhost:4222
    username: nats_user
    password: nats_passwd
    bucketName: my_bucket
    values:
      - key1: value1
      - key2: value2
      - key3:
        - subKey1: some other value

```

# definitions.io.kestra.plugin.neo4j.Batch.properties.chunk.title
The size of chunk for every bulk request

# definitions.io.kestra.plugin.neo4j.Batch.properties.query.markdownDescription
The query must have the row :
"UNWIND $props AS X" with $props the variable where
 we input the source data for the batch.

# definitions.io.kestra.plugin.neo4j.Batch.properties.url.markdownDescription
The URL can either be in HTTP or Bolt format

# definitions.io.kestra.plugin.neo4j.Batch.title
Execute a batch query to a Neo4j database.

# definitions.io.kestra.plugin.neo4j.Batch.markdownDescription
##### Examples
> 
```yaml
id: neo4j_batch
namespace: company.team

tasks:
  - id: batch
    type: io.kestra.plugin.neo4j.Batch
    url: "{{ url }}"
    username: "{{ username }}"
    password: "{{ password }}"
    query: |
       UNWIND $props AS properties
       MERGE (y:Year {year: properties.year})
       MERGE (y)<-[:IN]-(e:Event {id: properties.id})

       RETURN e.id AS x ORDER BY x

    from: "{{ outputs.previous_task_id.uri }}"
    chunk: 1000

```

# definitions.io.kestra.plugin.neo4j.Query.properties.storeType.markdownDescription
FETCHONE output the first rowFETCH output all the rowSTORE store all row in a fileNONE do nothing

Default value is : `NONE`

# definitions.io.kestra.plugin.neo4j.Query.properties.url.markdownDescription
The URL can either be in HTTP or Bolt format

# definitions.io.kestra.plugin.neo4j.Query.markdownDescription
##### Examples
> 
```yaml
    id: neo4j_query
    namespace: company.team

    tasks:
      - id: query
        type: io.kestra.plugin.neo4j.Query
        url: "{{ url }}"
        username: "{{ username }}"
        password: "{{ password }}"
        query: |
            MATCH (p:Person)
            RETURN p
        storeType: FETCH

```

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.properties.embedList.title
Adds an embed to the discord notification body

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.properties.url.title
Webhook URL which should be taken from discord integrations tab

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.title
Send a Discord message with the execution information

# definitions.io.kestra.plugin.notifications.discord.DiscordExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [DiscordIncomingWebhook](https://kestra.io/plugins/plugin-notifications/tasks/discord/io.kestra.plugin.notifications.discord.discordincomingwebhook) task.##### Examples
> Send a Discord notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.discord.DiscordExecution
    url: "{{ secret('DISCORD_WEBHOOK') }}" # format: https://hooks.discord.com/services/xzy/xyz/xyz
    username: "MyUsername"
    embedList:
        - title: "Discord Notification"
          color:
              - 255
              - 255
              - 255
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.discord.DiscordIncomingWebhook.properties.url.title
Webhook URL which should be taken from discord integrations tab

# definitions.io.kestra.plugin.notifications.discord.DiscordIncomingWebhook.title
Send a Discord message using an Incoming Webhook

# definitions.io.kestra.plugin.notifications.discord.DiscordIncomingWebhook.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the <a href="https://discord.com/developers/docs/resources/webhook">Discord documentation</a> for more details..##### Examples
> Send a Discord notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: alert_on_failure
    type: io.kestra.plugin.notifications.discord.DiscordIncomingWebhook
    url: "{{ secret('DISCORD_WEBHOOK') }}" # https://discord.com/api/webhooks/000000/xxxxxxxxxxx
    payload: |
      {
        "username": "MyUsername",
        "content": "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"
        "embedList": [{
                "title": "Discord Notification"
            }]
      }

```

> Send a Discord message via incoming webhook
```yaml
id: discord_incoming_webhook
namespace: company.team

tasks:
  - id: send_discord_message
    type: io.kestra.plugin.notifications.discord.DiscordIncomingWebhook
    url: "{{ secret('DISCORD_WEBHOOK') }}"
    payload: |
      {
        "username": "MyUsername",
        "tts": false,
        "content": "Hello from the workflow {{ flow.id }}",
        "embeds": [
            {
                "title": "Discord Hello",
                "color": 16777215
                "description": "Namespace: dev
Flow ID: discord
Execution ID: 1p0JVFz24ZVLSK8iJN6hfs
Execution Status: SUCCESS

[Link to the Execution page](http://localhost:8080/ui/executions/dev/discord/1p0JVFz24ZVLSK8iJN6hfs)",
                "footer": {
                    "text": "Succeeded after 00:00:00.385"
                }
            }
        ]
      }

```

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.properties.url.markdownDescription
Check the Create an Incoming Webhook documentation for more details..

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.title
Send a Google Chat message with the execution information

# definitions.io.kestra.plugin.notifications.google.GoogleChatExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [GoogleChatIncomingWebhook](https://kestra.io/plugins/plugin-notifications/tasks/google-chat/io.kestra.plugin.notifications.google.googlechatincomingwebhook) task.##### Examples
> Send a Google Chat notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.google.GoogleChatExecution
    url: "{{ secret('GOOGLE_WEBHOOK') }}" # format: https://chat.googleapis.com/v1/spaces/xzy/messages
    text: "Google Chat Notification"
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.google.GoogleChatIncomingWebhook.properties.url.markdownDescription
Check the Create an Incoming Webhook documentation for more details..

# definitions.io.kestra.plugin.notifications.google.GoogleChatIncomingWebhook.title
Send a Google Chat message using an Incoming Webhook

# definitions.io.kestra.plugin.notifications.google.GoogleChatIncomingWebhook.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the Google documentation for more details..##### Examples
> Send a Google Chat notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.google.GoogleChatIncomingWebhook
url: "{{ secret('GOOGLE_WEBHOOK') }}" # https://chat.googleapis.com/v1/spaces/xzy/messages?threadKey=errorThread
payload: |
{
"text": "Google Chat Alert"
}

```

> Send a Google Chat message via incoming webhook
```yaml
id: google_incoming_webhook
namespace: company.team

tasks:
- id: send_google_chat_message
type: io.kestra.plugin.notifications.google.GoogleChatIncomingWebhook
url: "{{ secret('GOOGLE_WEBHOOK') }}"
payload: |
{
"text": "Google Chat Hello"
}

```

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.attachments.markdownDescription
The attachment will be shown in the email client as separate files available for download, or displayed inline if the client supports it (for example, most browsers display PDF's in a popup window)

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.cc.title
One or more 'Cc' (carbon copy) optional recipient email address. Use semicolon as delimiter to provide several addresses

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.cc.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.embeddedImages.title
Adds image data to this email that can be referred to from the email HTML body

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.embeddedImages.markdownDescription
The provided images are assumed to be of MIME type png, jpg or whatever the email client supports as valid image that can be embedded in HTML content

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.htmlTextContent.title
The optional email message body in HTML text

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.htmlTextContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.plainTextContent.title
The optional email message body in plain text

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.plainTextContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.sessionTimeout.title
Integer value in milliseconds. Default is 10000 milliseconds, i.e. 10 seconds

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.sessionTimeout.markdownDescription
It controls the maximum timeout value when sending emails

Default value is : `10000`

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.to.title
Email address(es) of the recipient(s). Use semicolon as delimiter to provide several email addresses

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.to.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.mail.MailExecution.properties.transportStrategy.markdownDescription
Will default to SMTPS if left empty

Default value is : `SMTPS`

# definitions.io.kestra.plugin.notifications.mail.MailExecution.title
Send an email with the execution information

# definitions.io.kestra.plugin.notifications.mail.MailExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting), as shown in this example. Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [MailSend](https://kestra.io/plugins/plugin-notifications/tasks/mail/io.kestra.plugin.notifications.mail.mailsend) task.##### Examples
> Send an email notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.mail.MailExecution
    to: hello@kestra.io
    from: hello@kestra.io
    subject: "The workflow execution {{trigger.executionId}} failed for the flow {{trigger.flowId}} in the namespace {{trigger.namespace}}"
    host: mail.privateemail.com
    port: 465
    username: "{{ secret('EMAIL_USERNAME') }}"
    password: "{{ secret('EMAIL_PASSWORD') }}"
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.attachments.markdownDescription
The attachment will be shown in the email client as separate files available for download, or displayed inline if the client supports it (for example, most browsers display PDF's in a popup window)

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.cc.title
One or more 'Cc' (carbon copy) optional recipient email address. Use semicolon as delimiter to provide several addresses

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.cc.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.embeddedImages.title
Adds image data to this email that can be referred to from the email HTML body

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.embeddedImages.markdownDescription
The provided images are assumed to be of MIME type png, jpg or whatever the email client supports as valid image that can be embedded in HTML content

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.htmlTextContent.title
The optional email message body in HTML text

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.htmlTextContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.plainTextContent.title
The optional email message body in plain text

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.plainTextContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.sessionTimeout.title
Integer value in milliseconds. Default is 10000 milliseconds, i.e. 10 seconds

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.sessionTimeout.markdownDescription
It controls the maximum timeout value when sending emails

Default value is : `10000`

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.to.title
Email address(es) of the recipient(s). Use semicolon as delimiter to provide several email addresses

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.to.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.mail.MailSend.properties.transportStrategy.markdownDescription
Will default to SMTPS if left empty

Default value is : `SMTPS`

# definitions.io.kestra.plugin.notifications.mail.MailSend.markdownDescription
##### Examples
> Send an email on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: send_email
    type: io.kestra.plugin.notifications.mail.MailSend
    from: hello@kestra.io
    to: hello@kestra.io
    username: "{{ secret('EMAIL_USERNAME') }}"
    password: "{{ secret('EMAIL_PASSWORD') }}"
    host: mail.privateemail.com
    port: 465 # or 587
    subject: "Kestra workflow failed for the flow {{flow.id}} in the namespace {{flow.namespace}}"
    htmlTextContent: "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"

```

# definitions.io.kestra.plugin.notifications.mail.MailSend-Attachment.properties.contentType.title
One or more 'Cc' (carbon copy) optional recipient email address(es). Use semicolon as a delimiter to provide several addresses

# definitions.io.kestra.plugin.notifications.mail.MailSend-Attachment.properties.contentType.markdownDescription
Note that each email address must be compliant with the RFC2822 format

Default value is : `application/octet-stream`

# definitions.io.kestra.plugin.notifications.mail.MailSend-Attachment.properties.name.title
The name of the attachment (eg. 'filename.txt')

# definitions.io.kestra.plugin.notifications.mail.MailSend-Attachment.properties.uri.title
An attachment URI from Kestra internal storage

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieAlert.properties.authorizationToken.title
GenieKey. Authorization token from Opsgenie

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieAlert.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the Opsgenie documentation for more details..##### Examples
> Send a failed flow alert to Opsgenie
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.opsgenie.OpsgenieAlert
url: "{{ secret('OPSGENIE_REQUEST') }}" # https://api.opsgenie.com/v2/alerts/requests/xxx000xxxxx
payload: |
{
"message":"Kestra Opsgenie alert",
"alias":"ExecutionError",
"responders":[
{"id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c","type":"team"},
{"id":"bb4d9938-c3c2-455d-aaab-727aa701c0d8","type":"user"},
{"id":"aee8a0de-c80f-4515-a232-501c0bc9d715","type":"escalation"},
{"id":"80564037-1984-4f38-b98e-8a1f662df552","type":"schedule"}
],
"visibleTo":[
{"id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c","type":"team"},
{"id":"bb4d9938-c3c2-455d-aaab-727aa701c0d8","type":"user"}
],
"tags":["ExecutionFail","Error","Execution"],
"priority":"P1"
}
authorizationToken: sampleAuthorizationToken

```

> Send a Opsgenie alert
```yaml
id: opsgenie_incoming_webhook
namespace: company.team

tasks:
- id: send_opsgenie_message
type: io.kestra.plugin.notifications.opsgenie.OpsgenieAlert
url: "{{ secret('OPSGENIE_REQUEST') }}"
payload: |
{
"message":"Kestra Opsgenie alert",
"alias":"Some Execution",
"responders":[
{"id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c","type":"team"},
{"id":"bb4d9938-c3c2-455d-aaab-727aa701c0d8","type":"user"}
],
"visibleTo":[
{"id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c","type":"team"},
{"id":"bb4d9938-c3c2-455d-aaab-727aa701c0d8","type":"user"}
],
"tags":["Execution"],
"priority":"P2"
}
authorizationToken: sampleAuthorizationToken

```

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.alias.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.authorizationToken.title
GenieKey. Authorization token from Opsgenie

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.message.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.priority.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.responders.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.tags.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.properties.visibleTo.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.title
Send a notification with the execution information via Opsgenie

# definitions.io.kestra.plugin.notifications.opsgenie.OpsgenieExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [OpsgenieAlert](https://kestra.io/plugins/plugin-notifications/tasks/opsgenie/io.kestra.plugin.notifications.opsgenie.opsgeniealert) task.##### Examples
> Send notification on a failed flow execution via Opsgenie
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.opsgenie.OpsgenieExecution
    url: "{{ secret('OPSGENIE_REQUEST') }}" # format: 'https://api.opsgenie.com/v2/alerts/requests/xxxxxxyx-yyyx-xyxx-yyxx-yyxyyyyyxxxx'
    message: "Kestra Opsgenie alert"
    alias: ExecutionError
    responders:
      4513b7ea-3b91-438f-b7e4-e3e54af9147c: team
      bb4d9938-c3c2-455d-aaab-727aa701c0d8: user
      aee8a0de-c80f-4515-a232-501c0bc9d715: escalation
      80564037-1984-4f38-b98e-8a1f662df552: schedule
    visibleTo:
      4513b7ea-3b91-438f-b7e4-e3e54af9147c: team
      bb4d9938-c3c2-455d-aaab-727aa701c0d8: user
    priority: P1
    tags:
      - ExecutionError
      - Error
      - Fail
      - Execution
    authorizationToken: sampleAuthorizationToken
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyAlert.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the PagerDuty documentation for more details..##### Examples
> Send a PagerDuty alert on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.pagerduty.PagerDutyAlert
url: "{{ secret('PAGERDUTY_EVENT') }}" # https://events.pagerduty.com/v2/enqueue
payload: |
{
"dedup_key": "samplekey",
"routing_key": "samplekey",
"event_action": "trigger",
"payload" : {
"summary": "PagerDuty alert",
}
}

```

> Send a Discord message via incoming webhook
```yaml
id: discord_incoming_webhook
namespace: company.team

tasks:
- id: send_pagerduty_alert
type: io.kestra.plugin.notifications.pagerduty.PagerDutyAlert
url: "{{ secret('PAGERDUTY_EVENT') }}"
payload: |
{
"dedup_key": "samplekey",
"routing_key": "samplekey",
"event_action": "acknowledge"
}

```

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.deduplicationKey.title
Deduplication key for correlating triggers and resolves

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.eventAction.title
The type of event. Can be trigger, acknowledge or resolve.

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.payloadSummary.title
Brief text summary of the event, used to generate the summaries/titles of any associated alerts

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.routingKey.title
Integration Key for an integration on a PagerDuty service

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.title
Send a PagerDuty message with the execution information

# definitions.io.kestra.plugin.notifications.pagerduty.PagerDutyExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [PagerDutyAlert](https://kestra.io/plugins/plugin-notifications/tasks/pagerduty/io.kestra.plugin.notifications.pagerduty.pagerdutyalert) task.##### Examples
> Send a PagerDuty notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.pagerduty.PagerDutyExecution
    url: "{{ secret('PAGERDUTY_EVENT') }}" # format: https://events.pagerduty.com/v2/enqueue
    payloadSummary: "PagerDuty Alert"
    deduplicationKey: "dedupkey"
    routingKey: "routingkey"
    eventAction: "acknowledge"
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.attachments.markdownDescription
The attachment will be shown in the email client as separate files available for download, or displayed inline if the client supports it (for example, most browsers display PDF's in a popup window)

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.cc.title
One or more 'Cc' (carbon copy) optional recipient(s) email address(es)

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.cc.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.embeddedImages.title
Adds image data to this email that can be referred to from the email HTML body

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.embeddedImages.markdownDescription
The provided images are assumed to be of MIME type png, jpg or whatever the email client supports as valid image that can be embedded in HTML content

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.htmlContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.textContent.title
The optional email message body in plain text

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.textContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.properties.to.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.title
Send an SendGrid email with the execution information

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting), as shown in this example. Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [SendGridMailSend](https://kestra.io/plugins/plugin-notifications/tasks/mail/io.kestra.plugin.notifications.gendgrid.sendgridmailsend) task.##### Examples
> Send an SendGrid email notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.sendgrid.SendGridMailExecution
    to:
      - hello@kestra.io
    from: hello@kestra.io
    subject: "The workflow execution {{trigger.executionId}} failed for the flow {{trigger.flowId}} in the namespace {{trigger.namespace}}"
    sendgridApiKey: "{{ secret('SENDGRID_API_KEY') }}"
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.attachments.markdownDescription
The attachment will be shown in the email client as separate files available for download, or displayed inline if the client supports it (for example, most browsers display PDF's in a popup window)

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.cc.title
One or more 'Cc' (carbon copy) optional recipient(s) email address(es)

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.cc.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.embeddedImages.title
Adds image data to this email that can be referred to from the email HTML body

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.embeddedImages.markdownDescription
The provided images are assumed to be of MIME type png, jpg or whatever the email client supports as valid image that can be embedded in HTML content

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.htmlContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.textContent.title
The optional email message body in plain text

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.textContent.markdownDescription
Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.properties.to.markdownDescription
Note that each email address must be compliant with the RFC2822 format

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.title
Send an automated SendGrid email from a workflow

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend.markdownDescription
##### Examples
> Send an email on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: send_email
    type: io.kestra.plugin.notifications.sendgrid.SendGridMailSend
    from: hello@kestra.io
    to:
      - hello@kestra.io
    sendgridApiKey: "{{ secret('SENDGRID_API_KEY') }}"
    subject: "Kestra workflow failed for the flow {{flow.id}} in the namespace {{flow.namespace}}"
    htmlTextContent: "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"

```

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend-Attachm.properties.contentType.title
One or more 'Cc' (carbon copy) optional recipient email address(es). Use semicolon as a delimiter to provide several addresses

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend-Attachm.properties.contentType.markdownDescription
Note that each email address must be compliant with the RFC2822 format

Default value is : `application/octet-stream`

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend-Attachm.properties.name.title
The name of the attachment (eg. 'filename.txt')

# definitions.io.kestra.plugin.notifications.sendgrid.SendGridMailSend-Attachm.properties.uri.title
An attachment URI from Kestra internal storage

# definitions.io.kestra.plugin.notifications.sentry.SentryAlert.title
Send a Sentry alert when a specific flow or task fails

# definitions.io.kestra.plugin.notifications.sentry.SentryAlert.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. 

 The only required input is a DSN string value, which you can find when you go to your Sentry project settings and go to the section `Client Keys (DSN)`. You can find more detailed description of how to find your DSN in the [following Sentry documentation](https://docs.sentry.io/product/sentry-basics/concepts/dsn-explainer/#where-to-find-your-dsn). 

 You can customize the alert `payload`, which is a JSON object, or you can skip it and use the default payload created by kestra. For more information about the payload, check the [Sentry Event Payloads documentation](https://develop.sentry.dev/sdk/event-payloads/). 

 The `event_id` is an optional payload attribute that you can use to override the default event ID. If you don't specify it (recommended), kestra will generate a random UUID. You can use this attribute to group events together, but note that this must be a UUID type. For more information, check the [Sentry documentation](https://docs.sentry.io/product/issues/grouping-and-fingerprints/).##### Examples
> Send a Sentry alert on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: alert_on_failure
    type: io.kestra.plugin.notifications.sentry.SentryAlert
    dsn: "{{ secret('SENTRY_DSN') }}" # format: https://xxx@xxx.ingest.sentry.io/xxx
    endpointType: ENVELOPE
```

> Send a custom Sentry alert
```yaml
id: sentry_alert
namespace: company.team

tasks:
  - id: send_sentry_message
    type: io.kestra.plugin.notifications.sentry.SentryAlert
    dsn: "{{ secret('SENTRY_DSN') }}"
    endpointType: "ENVELOPE"
    payload: |
      {
          "timestamp": "{{ execution.startDate }}",
          "platform": "java",
          "level": "error",
          "transaction": "/execution/id/{{ execution.id }}",
          "server_name": "localhost:8080",
          "message": {
            "message": "Execution {{ execution.id }} failed"
          },
          "extra": {
            "Namespace": "{{ flow.namespace }}",
            "Flow ID": "{{ flow.id }}",
            "Execution ID": "{{ execution.id }}",
            "Link": "http://localhost:8080/ui/executions/{{flow.namespace}}/{{flow.id}}/{{execution.id}}"
          }
      }
```

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.errors.title
An arbitrary mapping of additional metadata to store with the event

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.eventId.title
Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. It has to be lowercase.

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.eventId.markdownDescription
Default value is : `a generated unique identifier`

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.extra.title
An arbitrary mapping of additional metadata to store with the event

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.level.markdownDescription
Acceptable values are: `fatal`, `error`, `warning`, `info`, `debug`.

Default value is : `ERROR`

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.platform.title
A string representing the platform the SDK is submitting from. This will be used by the Sentry interface to customize various components.

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.serverName.title
Identifies the host from which the event was recorded

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.transaction.title
The name of the transaction which caused this alert

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.properties.transaction.markdownDescription
For example, in a web app, this might be the route name

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.title
Send a Sentry alert with the execution information

# definitions.io.kestra.plugin.notifications.sentry.SentryExecution.markdownDescription
The alert message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

 Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [SentryAlert](https://kestra.io/plugins/plugin-notifications/tasks/sentry/io.kestra.plugin.notifications.sentry.sentryalert) task. 

 The only required input is a DSN string value, which you can find when you go to your Sentry project settings and go to the section `Client Keys (DSN)`. For more detailed description of how to find your DSN, visit the [following Sentry documentation](https://docs.sentry.io/product/sentry-basics/concepts/dsn-explainer/#where-to-find-your-dsn).

 You can customize the alert `payload`, which is a JSON object. For more information about the payload, check the [Sentry Event Payloads documentation](https://develop.sentry.dev/sdk/event-payloads/). 

 The `level` parameter is the severity of the issue. The task documentation lists all available options including `DEBUG`, `INFO`, `WARNING`, `ERROR`, `FATAL`. The default value is `ERROR`.##### Examples
> This monitoring flow is triggered anytime a flow fails in the `prod` namespace. It then sends a Sentry alert with the execution information. You can fully customize the [trigger conditions](https://kestra.io/plugins/core#conditions).
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.sentry.SentryExecution
    transaction: "/execution/id/{{ trigger.executionId }}"
    dsn: "{{ secret('SENTRY_DSN') }}"
    level: ERROR
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true
```

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.properties.url.markdownDescription
Check the Create an Incoming Webhook documentation for more details..

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.title
Send a Slack message with the execution information

# definitions.io.kestra.plugin.notifications.slack.SlackExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [SlackIncomingWebhook](https://kestra.io/plugins/plugin-notifications/tasks/slack/io.kestra.plugin.notifications.slack.slackincomingwebhook) task.##### Examples
> Send a Slack notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.slack.SlackExecution
    url: "{{ secret('SLACK_WEBHOOK') }}" # format: https://hooks.slack.com/services/xzy/xyz/xyz
    channel: "#general"
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

> Send a [Rocket.Chat](https://www.rocket.chat/) notification on a failed flow execution
```yaml
id: failure_alert
namespace: debug

tasks:
  - id: send_alert_to_rocket_chat
    type: io.kestra.plugin.notifications.slack.SlackExecution
    url: "{{ secret('ROCKET_CHAT_WEBHOOK') }}"
    channel: "#errors"
    executionId: "{{ trigger.executionId }}"
    username: "Kestra TEST"
    iconUrl: "https://avatars.githubusercontent.com/u/59033362?s=48"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: debug
        prefix: true

```

# definitions.io.kestra.plugin.notifications.slack.SlackIncomingWebhook.properties.url.markdownDescription
Check the Create an Incoming Webhook documentation for more details..

# definitions.io.kestra.plugin.notifications.slack.SlackIncomingWebhook.title
Send a Slack message using an Incoming Webhook

# definitions.io.kestra.plugin.notifications.slack.SlackIncomingWebhook.markdownDescription
Add this task to send direct Slack notifications. Check the <a href="https://api.slack.com/messaging/webhooks">Slack documentation</a> for more details..##### Examples
> Send a Slack notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: alert_on_failure
    type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
    url: "{{ secret('SLACK_WEBHOOK') }}" # https://hooks.slack.com/services/xzy/xyz/xyz
    payload: |
      {
        "text": "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"
      }

```

> Send a Slack message via incoming webhook with a text argument
```yaml
id: slack_incoming_webhook
namespace: company.team

tasks:
  - id: send_slack_message
    type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
    url: "{{ secret('SLACK_WEBHOOK') }}"
    payload: |
      {
        "text": "Hello from the workflow {{ flow.id }}"
      }

```

> Send a Slack message via incoming webhook with a blocks argument, read more on blocks <a href="https://api.slack.com/reference/block-kit/blocks">here</a>
```yaml
id: slack_incoming_webhook
namespace: company.team

tasks:
  - id: send_slack_message
    type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
    url: "{{ secret('SLACK_WEBHOOK') }}"
    payload: |
      {
        "blocks": [
    		{
    			"type": "section",
    			"text": {
    				"type": "mrkdwn",
    				"text": "Hello from the workflow *{{ flow.id }}*"
    			}
    		}
    	]
      }

```

> Send a [Rocket.Chat](https://www.rocket.chat/) message via [incoming webhook](https://docs.rocket.chat/docs/integrations#incoming-webhook-script)
```yaml
id: rocket_chat_notification
namespace: company.team
tasks:
  - id: send_rocket_chat_message
    type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
    url: "{{ secret('ROCKET_CHAT_WEBHOOK') }}"
    payload: |
      {
        "alias": "Kestra TEST",
        "avatar": "https://avatars.githubusercontent.com/u/59033362?s=48",
        "emoji": ":smirk:",
        "roomId": "#my-channel",
        "text": "Sample",
        "tmshow": true,
        "attachments": [
          {
            "collapsed": false,
            "color": "#ff0000",
            "text": "Yay!",
            "title": "Attachment Example",
            "title_link": "https://rocket.chat",
            "title_link_download": false,
            "fields": [
              {
                "short": false,
                "title": "Test title",
                "value": "Test value"
              },
              {
                "short": true,
                "title": "Test title",
                "value": "Test value"
              }
            ]
          }
        ]
      }

```

# definitions.io.kestra.plugin.notifications.teams.TeamsExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.teams.TeamsExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.teams.TeamsExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.teams.TeamsExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.teams.TeamsExecution.title
Send a Microsoft Teams message with the execution information

# definitions.io.kestra.plugin.notifications.teams.TeamsExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [TeamsIncomingWebhook](https://kestra.io/plugins/plugin-notifications/tasks/teams/io.kestra.plugin.notifications.teams.teamsincomingwebhook) task.##### Examples
> Send a Microsoft Teams notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.teams.TeamsExecution
    url: "{{ secret('TEAMS_WEBHOOK') }}" # format: https://microsoft.webhook.office.com/webhook/xyz
    activityTitle: "Kestra Teams notification"
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.teams.TeamsIncomingWebhook.title
Send a Microsoft Teams message using an incoming webhook.

# definitions.io.kestra.plugin.notifications.teams.TeamsIncomingWebhook.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure noticiations. Check the Microsoft Teams documentation for more details.##### Examples
> Send a Microsoft Teams notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.teams.TeamsIncomingWebhook
url: "{{ secret('TEAMS_WEBHOOK') }}" # format: https://microsoft.webhook.office.com/webhook/xyz
payload: |
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"themeColor": "0076D7",
"summary": "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}",
"sections": [{
"activityTitle": "Kestra Workflow Notification",
"activitySubtitle": "Workflow Execution Finished With Errors",
"markdown": true
}],
"potentialAction": [
{
"@type": "OpenUri",
"name": "Kestra Workflow",
"targets": [
{
"os": "default",
"uri": "{{ vars.systemUrl }}"
}
]
}
]
}

```

> Send a Microsoft Teams notification message
```yaml
url: "https://microsoft.webhook.office.com/webhookb2/XXXXXXXXXX"
payload: |
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"themeColor": "0076D7",
"summary": "Notification message",
"sections": [{
"activityTitle": "Rolling Workflow started",
"activitySubtitle": "Workflow Notification",
"markdown": true
}],
"potentialAction": [
{
"@type": "OpenUri",
"name": "Rolling Workflow",
"targets": [
{
"os": "default",
"uri": "{{ vars.systemUrl }}"
}
]
}
]
}
```

# definitions.io.kestra.plugin.notifications.telegram.TelegramExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.telegram.TelegramExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.telegram.TelegramExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.telegram.TelegramExecution.properties.templateRenderMap.title
Map of variables to use for the message template (Unused in the default template)

# definitions.io.kestra.plugin.notifications.telegram.TelegramExecution.title
Send a Telegram message with the execution information

# definitions.io.kestra.plugin.notifications.telegram.TelegramExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [TelegramSend](https://kestra.io/plugins/plugin-notifications/tasks/telegram/io.kestra.plugin.notifications.telegram.telegramsend) task.##### Examples
> Send a Telegram notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.telegram.TelegramExecution
    token: "{{ secret('TELEGRAM_TOKEN') }}" # format: 6090305634:xyz
    channel: "2072728690"
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.twilio.TwilioAlert.title
Send a Twilio message using an notification API

# definitions.io.kestra.plugin.notifications.twilio.TwilioAlert.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the Twilio documentation for more details..##### Examples
> Send a Twilio notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.twilio.TwilioAlert
url: "{{ secret('TWILIO_ALERT') }}" # https://notify.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Notifications
payload: |
{
"identity": "0000001"
}

```

> Send a Twilio message via incoming notification API
```yaml
id: twilio_alert
namespace: company.team

tasks:
- id: send_twilio_message
type: io.kestra.plugin.notifications.twilio.TwilioAlert
url: "{{ secret('TWILIO_ALERT') }}"
payload: |
{
"identity": "0000001"
}

```

# definitions.io.kestra.plugin.notifications.twilio.TwilioExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.twilio.TwilioExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.twilio.TwilioExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.twilio.TwilioExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.twilio.TwilioExecution.title
Send a Twilio message with the execution information

# definitions.io.kestra.plugin.notifications.twilio.TwilioExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [TwilioAlert](https://kestra.io/plugins/plugin-notifications/tasks/twilio/io.kestra.plugin.notifications.twilio.twilioalert) task.##### Examples
> Send a Twilio notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.twilio.TwilioExecution
    url: "{{ secret('TWILIO_ALERT') }}" # format: https://notify.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Notifications
    identity: 0000001
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.properties.from.title
WhatsApp ID of the sender (Phone number)

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.properties.url.title
Webhook URL which should be taken from whatsapp integrations tab

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.title
Send a WhatsApp message with the execution information

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [WhatsAppIncomingWebhook](https://kestra.io/plugins/plugin-notifications/tasks/discord/io.kestra.plugin.notifications.whatsapp.whatsappincomingwebhook) task.##### Examples
> Send a WhatsApp notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.discord.WhatsAppExecution
    url: "{{ secret('WHATSAPP_WEBHOOK') }}" # format: https://hooks.discord.com/services/xzy/xyz/xyz
    profileName: "MyProfile"
    from: 380999999999
    whatsAppIds:
        - "some waId"
        - "waId No2"
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppIncomingWebhook.properties.url.title
Webhook URL which should be taken from whatsapp integrations tab

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppIncomingWebhook.title
Send a WhatsApp message using an Incoming Webhook

# definitions.io.kestra.plugin.notifications.whatsapp.WhatsAppIncomingWebhook.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the WhatsApp documentation for more details..##### Examples
> Send a WhatsApp notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.whatsapp.WhatsAppIncomingWebhook
url: "{{ secret('WHATSAPP_WEBHOOK') }}" # https://webhook.your-domain
payload: |
{
"profileName": "MyName",
"whatsAppIds": ["IdNo1, IdNo2"],
"from": 380999999999
}

```

> Send a WhatsApp message via incoming webhook
```yaml
id: whatsapp_incoming_webhook
namespace: company.team

tasks:
- id: send_whatsapp_message
type: io.kestra.plugin.notifications.whatsapp.WhatsAppIncomingWebhook
url: "{{ secret('WHATSAPP_WEBHOOK') }}"
payload: |
{
"profileName": "MyName",
"whatsAppIds": ["IdNo1, IdNo2"],
"from": 380999999999,
"messageId": "wamIdNo1"
}

```

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyAlert.markdownDescription
Add this task to a list of `errors` tasks to implement custom flow-level failure notifications. Check the [Zenduty integration documentation](https://docs.zenduty.com/docs/api) and the [Zenduty Events API specification](https://apidocs.zenduty.com/#tag/Events/paths/~1api~1events~1%7Bintegration_key%7D~1/post) for more details.##### Examples
> Send a Zenduty alert on a failed flow execution. Make sure that the payload follows the [Zenduty Events API specification](https://apidocs.zenduty.com/#tag/Events/paths/~1api~1events~1%7Bintegration_key%7D~1/post), including the `message` and `alert_type` payload properties, which are required.
```yaml
id: unreliable_flow
namespace: company.team

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    commands:
      - exit 1

errors:
  - id: alert_on_failure
    type: io.kestra.plugin.notifications.zenduty.ZendutyAlert
    url: "https://www.zenduty.com/api/events/{{ secret('ZENDUTY_INTEGRATION_KEY') }}/"
    payload: |
      {
        "alert_type": "info",
        "message": "This is info alert",
        "summary": "This is the incident summary",
        "suppressed": false,
        "entity_id": 12345,
        "payload": {
            "status": "ACME Payments are failing",
            "severity": "1",
            "project": "kubeprod"
          },
        "urls": [
          {
            "link_url": "https://www.example.com/alerts/12345/",
            "link_text": "Alert URL"
          }
        ]
      }

```

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.properties.entityId.title
A unique id for the alert. If not provided, the Zenduty API will create one

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.title
Send a Zenduty message with the execution information

# definitions.io.kestra.plugin.notifications.zenduty.ZendutyExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [ZendutyAlert](https://kestra.io/plugins/plugin-notifications/tasks/zenduty/io.kestra.plugin.notifications.zenduty.zendutyalert) task.##### Examples
> Send a Zenduty notification on a failed flow execution
```yaml
id: zenduty_failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.zenduty.ZendutyExecution
    url: "https://www.zenduty.com/api/events/{{ secret('ZENDUTY_INTEGRATION_KEY') }}/"
    executionId: "{{ trigger.executionId }}"
    message: Kestra workflow execution {{ trigger.executionId }} of a flow {{ trigger.flowId }} in the namespace {{ trigger.namespace }} changed status to {{ trigger.state }}

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.properties.customFields.title
Custom fields to be added on notification

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.properties.customMessage.title
Custom message to be added on notification

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.properties.executionId.markdownDescription
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Default value is : `"{{ execution.id }}"`

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.properties.templateRenderMap.title
Map of variables to use for the message template

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.properties.url.markdownDescription
Check the Incoming Webhook Integrations documentation for more details..

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.title
Send a Zulip message with the execution information

# definitions.io.kestra.plugin.notifications.zulip.ZulipExecution.markdownDescription
The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a [Flow trigger](https://kestra.io/docs/administrator-guide/monitoring#alerting). Don't use this notification task in `errors` tasks. Instead, for `errors` tasks, use the [ZulipIncomingWebhook](https://kestra.io/plugins/plugin-notifications/tasks/slack/io.kestra.plugin.notifications.slack.slackincomingwebhook) task.##### Examples
> Send a Zulip notification on a failed flow execution
```yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.zulip.ZulipExecution
    url: "{{ secret('ZULIP_WEBHOOK') }}" # format: https://yourZulipDomain.zulipchat.com/api/v1/external/INTEGRATION_NAME?api_key=API_KEY
    channel: "#general"
    executionId: "{{trigger.executionId}}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

```

# definitions.io.kestra.plugin.notifications.zulip.ZulipIncomingWebhook.properties.url.markdownDescription
Check the Incoming Webhook Integrations documentation for more details..

# definitions.io.kestra.plugin.notifications.zulip.ZulipIncomingWebhook.title
Send a Zulip message using an Incoming Webhook

# definitions.io.kestra.plugin.notifications.zulip.ZulipIncomingWebhook.markdownDescription
Add this task to send direct Zulip notifications. Check the Zulip documentation for more details..##### Examples
> Send a Zulip notification on a failed flow execution
```yaml
id: unreliable_flow
namespace: company.team

tasks:
- id: fail
type: io.kestra.plugin.scripts.shell.Commands
runner: PROCESS
commands:
- exit 1

errors:
- id: alert_on_failure
type: io.kestra.plugin.notifications.zulip.ZulipIncomingWebhook
url: "{{ secret('ZULIP_WEBHOOK') }}" # https://yourZulipDomain.zulipchat.com/api/v1/external/INTEGRATION_NAME?api_key=API_KEY
payload: |
{
"text": "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"
}

```

> Send a Zulip message via incoming webhook with a text argument
```yaml
id: zulip_incoming_webhook
namespace: company.team

tasks:
- id: send_zulip_message
type: io.kestra.plugin.notifications.zulip.ZulipIncomingWebhook
url: "{{ secret('ZULIP_WEBHOOK') }}" # https://yourZulipDomain.zulipchat.com/api/v1/external/INTEGRATION_NAME?api_key=API_KEY
payload: |
{
"text": "Hello from the workflow {{ flow.id }}"
}

```

> Send a Zulip message via incoming webhook with a blocks argument, read more on blocks here
```yaml
id: zulip_incoming_webhook
namespace: company.team

tasks:
- id: send_zulip_message
type: io.kestra.plugin.notifications.zulip.ZulipIncomingWebhook
url: "{{ secret('ZULIP_WEBHOOK') }}" # format: https://yourZulipDomain.zulipchat.com/api/v1/external/INTEGRATION_NAME?api_key=API_KEY
payload: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Hello from the workflow *{{ flow.id }}*"
}
}
]
}

```

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.clientTimeout.title
The maximum number of seconds to wait for a response.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.frequencyPenalty.title
Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far. Defaults to 0.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.functionCall.title
The name of the function OpenAI should generate a call for.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.functionCall.markdownDescription
Enter a specific function name, or 'auto' to let the model decide. The default is auto.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.functions.title
The function call(s) the API can use when generating completions.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.logitBias.title
Modify the likelihood of specified tokens appearing in the completion. Defaults to null.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.maxTokens.title
The maximum number of tokens to generate in the chat completion. No limits are set by default.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.messages.title
A list of messages comprising the conversation so far.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.n.title
How many chat completion choices to generate for each input message. Defaults to 1.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.presencePenalty.title
Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far. Defaults to 0.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.prompt.title
The prompt(s) to generate completions for. By default, this prompt will be sent as a `user` role.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.prompt.markdownDescription
If not provided, make sure to set the `messages` property.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.stop.title
Up to 4 sequences where the API will stop generating further tokens. Defaults to null.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.temperature.title
What sampling temperature to use, between 0 and 2. Defaults to 1.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.topP.title
An alternative to sampling with temperature, where the model considers the results of the tokens with top_p probability mass. Defaults to 1.

# definitions.io.kestra.plugin.openai.ChatCompletion.properties.user.title
A unique identifier representing your end-user.

# definitions.io.kestra.plugin.openai.ChatCompletion.title
Given a prompt, get a response from an LLM using the [OpenAI’s Chat Completions API](https://platform.openai.com/docs/api-reference/chat/create).

# definitions.io.kestra.plugin.openai.ChatCompletion.markdownDescription
For more information, refer to the [Chat Completions API docs](https://platform.openai.com/docs/guides/gpt/chat-completions-api).##### Examples
> Based on a prompt input, generate a completion response and pass it to a downstream task.
```yaml
id: openai
namespace: company.team

inputs:
  - id: prompt
    type: STRING
    defaults: What is data orchestration?

tasks:
  - id: completion
    type: io.kestra.plugin.openai.ChatCompletion
    apiKey: "yourOpenAIapiKey"
    model: gpt-4o
    prompt: "{{ inputs.prompt }}"

  - id: response
    type: io.kestra.plugin.core.debug.Return
    format: {{ outputs.completion.choices[0].message.content }}"

```

> Based on a prompt input, ask OpenAI to call a function that determines whether you need to respond to a customer's review immediately or wait until later, and then comes up with a suggested response.
```yaml
id: openai
namespace: company.team

inputs:
  - id: prompt
    type: STRING
    defaults: I love your product and would purchase it again!

tasks:
  - id: prioritize_response
    type: io.kestra.plugin.openai.ChatCompletion
    apiKey: "yourOpenAIapiKey"
    model: gpt-4o
    messages:
      - role: user
        content: "{{ inputs.prompt }}"
    functions:
      - name: respond_to_review
        description: Given the customer product review provided as input, determines how urgently a reply is required and then provides suggested response text.
        parameters:
          - name: response_urgency
            type: string
            description: How urgently this customer review needs a reply. Bad reviews
                         must be addressed immediately before anyone sees them. Good reviews can
                         wait until later.
            required: true
            enumValues:
              - reply_immediately
              - reply_later
          - name: response_text
            type: string
            description: The text to post online in response to this review.
            required: true

  - id: response_urgency
    type: io.kestra.plugin.core.debug.Return
    format: "{{ outputs.prioritize_response.choices[0].message.function_call.arguments.response_urgency }}"

  - id: response_text
    type: io.kestra.plugin.core.debug.Return
    format: "{{ outputs.prioritize_response.choices[0].message.function_call.arguments.response_text }}"

```

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunction.properties.description.title
A description of what the function does.

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.description.title
A description of the function parameter.

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.description.markdownDescription
Provide as many details as possible to ensure the model returns an accurate parameter.

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.enumValues.title
A list of values that the model *must* choose from when setting this parameter.

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.enumValues.markdownDescription
Optional, but useful when for classification problems.

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.required.title
Whether or not the model is required to provide this parameter.

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.required.markdownDescription
Defaults to false.

Default value is : `false`

# definitions.io.kestra.plugin.openai.ChatCompletion-PluginChatFunctionParamet.properties.type.markdownDescription
Valid types are string, number, integer, boolean, array, object

# definitions.io.kestra.plugin.openai.CreateImage.properties.clientTimeout.title
The maximum number of seconds to wait for a response.

# definitions.io.kestra.plugin.openai.CreateImage.properties.download.markdownDescription
If enable, the generated image will be downloaded inside Kestra's internal storage. Else, the URL of the generated image will be available as task output.

Default value is : `false`

# definitions.io.kestra.plugin.openai.CreateImage.properties.n.title
The number of images to generate. Must be between 1 and 10.

# definitions.io.kestra.plugin.openai.CreateImage.properties.user.title
A unique identifier representing your end-user.

# definitions.io.kestra.plugin.openai.CreateImage.markdownDescription
For more information, refer to the [OpenAI Image Generation API docs](https://platform.openai.com/docs/api-reference/images/create).##### Examples
> 
```yaml
id: openai
namespace: company.team

tasks:
  - id: create_image
    type: io.kestra.plugin.openai.CreateImage
    prompt: A funny cat in a black suit
    apiKey: <your-api-key>
    download: true
    n: 5

```

# definitions.io.kestra.plugin.powerbi.RefreshGroupDataset.properties.waitDuration.title
The maximum duration to wait until the refresh completes.

# definitions.io.kestra.plugin.powerbi.RefreshGroupDataset.title
Triggers a refresh for the specified dataset from the specified workspace.

# definitions.io.kestra.plugin.pulsar.Consume.properties.authenticationToken.markdownDescription
Authentication token that can be required by some providers such as Clever Cloud.

# definitions.io.kestra.plugin.pulsar.Consume.properties.consumerProperties.title
Add all the properties in the provided map to the consumer.

# definitions.io.kestra.plugin.pulsar.Consume.properties.deserializer.allOf[].title
Serializer / Deserializer used for the value.

# definitions.io.kestra.plugin.pulsar.Consume.properties.encryptionKey.title
Add a public encryption key to the producer/consumer.

# definitions.io.kestra.plugin.pulsar.Consume.properties.initialPosition.title
The position of a subscription to the topic.

# definitions.io.kestra.plugin.pulsar.Consume.properties.maxDuration.title
The maximum duration waiting for new record.

# definitions.io.kestra.plugin.pulsar.Consume.properties.maxDuration.markdownDescription
It's not a hard limit and is evaluated every second.

# definitions.io.kestra.plugin.pulsar.Consume.properties.maxRecords.title
The maximum number of records to fetch before stopping.

# definitions.io.kestra.plugin.pulsar.Consume.properties.maxRecords.markdownDescription
It's not a hard limit and is evaluated every second.

# definitions.io.kestra.plugin.pulsar.Consume.properties.pollDuration.title
Duration waiting for record to be polled.

# definitions.io.kestra.plugin.pulsar.Consume.properties.pollDuration.markdownDescription
If no records are available, the maximum wait to wait for a new record. 

Default value is : `2.000000000`

# definitions.io.kestra.plugin.pulsar.Consume.properties.schemaString.markdownDescription
Required for connecting with topics with a defined schema and strict schema checking

# definitions.io.kestra.plugin.pulsar.Consume.properties.schemaType.markdownDescription
Can be one of NONE, AVRO or JSON. None means there will be no schema enforced.

Default value is : `NONE`

# definitions.io.kestra.plugin.pulsar.Consume.properties.subscriptionName.markdownDescription
Using subscription name, we will fetch only records that haven't been consumed yet.

# definitions.io.kestra.plugin.pulsar.Consume.properties.tlsOptions.allOf[].markdownDescription
You need to use "pulsar+ssl://" in serviceUrl to enable TLS support.

# definitions.io.kestra.plugin.pulsar.Consume.properties.topic.title
Pulsar topic(s) where to consume messages from.

# definitions.io.kestra.plugin.pulsar.Consume.properties.topic.markdownDescription
Can be a string or a list of strings to consume from multiple topics.

# definitions.io.kestra.plugin.pulsar.Consume.properties.uri.markdownDescription
You need to specify a Pulsar protocol URL.
- Example of localhost: `pulsar://localhost:6650`
- If you have multiple brokers: `pulsar://localhost:6650,localhost:6651,localhost:6652`
- If you use TLS authentication: `pulsar+ssl://pulsar.us-west.example.com:6651`

# definitions.io.kestra.plugin.pulsar.Consume.markdownDescription
##### Examples
> 
```yaml
id: pulsar_consume
namespace: company.team

tasks:
  - id: consume
    type: io.kestra.plugin.pulsar.Consume
    uri: pulsar://localhost:26650
    topic: test_kestra
    deserializer: JSON
    subscriptionName: kestra_flow

```

# definitions.io.kestra.plugin.pulsar.Produce.properties.accessMode.title
Configure the type of access mode that the producer requires on the topic.

# definitions.io.kestra.plugin.pulsar.Produce.properties.accessMode.markdownDescription
Possible values are:
* `Shared`: By default, multiple producers can publish to a topic.
* `Exclusive`: Require exclusive access for producer. Fail immediately if there's already a producer connected.
* `WaitForExclusive`: Producer creation is pending until it can acquire exclusive access.

# definitions.io.kestra.plugin.pulsar.Produce.properties.authenticationToken.markdownDescription
Authentication token that can be required by some providers such as Clever Cloud.

# definitions.io.kestra.plugin.pulsar.Produce.properties.compressionType.title
Set the compression type for the producer.

# definitions.io.kestra.plugin.pulsar.Produce.properties.compressionType.markdownDescription
By default, message payloads are not compressed. Supported compression types are:
* `NONE`: No compression (Default).
* `LZ4`: Compress with LZ4 algorithm. Faster but lower compression than ZLib.
* `ZLIB`: Standard ZLib compression.
* `ZSTD` Compress with Zstandard codec. Since Pulsar 2.3.
* `SNAPPY` Compress with Snappy codec. Since Pulsar 2.4.

# definitions.io.kestra.plugin.pulsar.Produce.properties.encryptionKey.title
Add public encryption key, used by producer to encrypt the data key.

# definitions.io.kestra.plugin.pulsar.Produce.properties.from.markdownDescription
Can be a Kestra internal storage URI, a map or a list in the following format: `key`, `value`, `eventTime`, `properties`, `deliverAt`, `deliverAfter` and `sequenceId`.

# definitions.io.kestra.plugin.pulsar.Produce.properties.producerProperties.title
Add all the properties in the provided map to the producer.

# definitions.io.kestra.plugin.pulsar.Produce.properties.schemaString.markdownDescription
Required for connecting with topics with a defined schema and strict schema checking

# definitions.io.kestra.plugin.pulsar.Produce.properties.schemaType.markdownDescription
Can be one of NONE, AVRO or JSON. None means there will be no schema enforced.

Default value is : `NONE`

# definitions.io.kestra.plugin.pulsar.Produce.properties.serializer.allOf[].title
Serializer / Deserializer used for the value.

# definitions.io.kestra.plugin.pulsar.Produce.properties.tlsOptions.allOf[].markdownDescription
You need to use "pulsar+ssl://" in serviceUrl to enable TLS support.

# definitions.io.kestra.plugin.pulsar.Produce.properties.uri.markdownDescription
You need to specify a Pulsar protocol URL.
- Example of localhost: `pulsar://localhost:6650`
- If you have multiple brokers: `pulsar://localhost:6650,localhost:6651,localhost:6652`
- If you use TLS authentication: `pulsar+ssl://pulsar.us-west.example.com:6651`

# definitions.io.kestra.plugin.pulsar.Produce.markdownDescription
##### Examples
> Read a CSV file, transform it to the right format, and publish it to Pulsar topic.
```yaml
    id: produce
    namespace: company.team

    inputs:
      - type: FILE
        id: file

    tasks:
      - id: csv_reader
        type: io.kestra.plugin.serdes.csv.CsvToIon
        from: "{{ inputs.file }}"

      - id: file_transform
        type: io.kestra.plugin.scripts.nashorn.FileTransform
        from: {{ outputs.csv_reader.uri }}"
        script: |
          var result = {
            "key": row.id,
            "value": {
              "username": row.username,
              "tweet": row.tweet
            },
            "eventTime": row.timestamp,
            "properties": {
              "key": "value"
            }
          };
          row = result

      - id: produce
        type: io.kestra.plugin.pulsar.Produce
        from: "{{ outputs.file_transform.uri }}"
        uri: pulsar://localhost:26650
        serializer: JSON
        topic: test_kestra

```

# definitions.io.kestra.plugin.pulsar.Reader.properties.authenticationToken.markdownDescription
Authentication token that can be required by some providers such as Clever Cloud.

# definitions.io.kestra.plugin.pulsar.Reader.properties.deserializer.allOf[].title
Serializer / Deserializer used for the value.

# definitions.io.kestra.plugin.pulsar.Reader.properties.maxDuration.title
The maximum duration waiting for new record.

# definitions.io.kestra.plugin.pulsar.Reader.properties.maxDuration.markdownDescription
It's not a hard limit and is evaluated every second.

# definitions.io.kestra.plugin.pulsar.Reader.properties.maxRecords.title
The maximum number of records to fetch before stopping.

# definitions.io.kestra.plugin.pulsar.Reader.properties.maxRecords.markdownDescription
It's not a hard limit and is evaluated every second.

# definitions.io.kestra.plugin.pulsar.Reader.properties.messageId.title
Position the reader on a particular message.

# definitions.io.kestra.plugin.pulsar.Reader.properties.messageId.markdownDescription
The first message read will be the one immediately *after* the specified message.
If no `since` or `messageId` are provided, we start at the beginning of the topic.

# definitions.io.kestra.plugin.pulsar.Reader.properties.pollDuration.title
Duration waiting for record to be polled.

# definitions.io.kestra.plugin.pulsar.Reader.properties.pollDuration.markdownDescription
If no records are available, the maximum wait to wait for a new record. 

Default value is : `2.000000000`

# definitions.io.kestra.plugin.pulsar.Reader.properties.schemaString.markdownDescription
Required for connecting with topics with a defined schema and strict schema checking

# definitions.io.kestra.plugin.pulsar.Reader.properties.schemaType.markdownDescription
Can be one of NONE, AVRO or JSON. None means there will be no schema enforced.

Default value is : `NONE`

# definitions.io.kestra.plugin.pulsar.Reader.properties.since.title
The initial reader positioning can be set at specific timestamp by providing total rollback duration.

# definitions.io.kestra.plugin.pulsar.Reader.properties.since.markdownDescription
So, broker can find a latest message that was published before given duration. eg: `since` set to 5 minutes (`PT5M`) indicates that broker should find message published 5 minutes in the past, and set the initial position to that messageId.

# definitions.io.kestra.plugin.pulsar.Reader.properties.tlsOptions.allOf[].markdownDescription
You need to use "pulsar+ssl://" in serviceUrl to enable TLS support.

# definitions.io.kestra.plugin.pulsar.Reader.properties.topic.title
Pulsar topic(s) where to consume messages from.

# definitions.io.kestra.plugin.pulsar.Reader.properties.topic.markdownDescription
Can be a string or a list of strings to consume from multiple topics.

# definitions.io.kestra.plugin.pulsar.Reader.properties.uri.markdownDescription
You need to specify a Pulsar protocol URL.
- Example of localhost: `pulsar://localhost:6650`
- If you have multiple brokers: `pulsar://localhost:6650,localhost:6651,localhost:6652`
- If you use TLS authentication: `pulsar+ssl://pulsar.us-west.example.com:6651`

# definitions.io.kestra.plugin.pulsar.Reader.title
Read messages from Pulsar topic(s) without subscription.

# definitions.io.kestra.plugin.pulsar.Reader.markdownDescription
##### Examples
> 
```yaml
id: pulsar_reader
namespace: company.team

tasks:
  - id: reader
    type: io.kestra.plugin.pulsar.Reader
    uri: pulsar://localhost:26650
    topic: test_kestra
    deserializer: JSON

```

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.authenticationToken.markdownDescription
Authentication token that can be required by some providers such as Clever Cloud.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.consumerProperties.title
Add all the properties in the provided map to the consumer.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.deserializer.allOf[].title
Serializer / Deserializer used for the value.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.encryptionKey.title
Add a public encryption key to the producer/consumer.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.initialPosition.title
The position of a subscription to the topic.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.schemaString.markdownDescription
Required for connecting with topics with a defined schema and strict schema checking

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.schemaType.markdownDescription
Can be one of NONE, AVRO or JSON. None means there will be no schema enforced.

Default value is : `NONE`

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.subscriptionName.markdownDescription
Using subscription name, we will fetch only records that haven't been consumed yet.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.tlsOptions.allOf[].markdownDescription
You need to use "pulsar+ssl://" in serviceUrl to enable TLS support.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.topic.title
Pulsar topic(s) where to consume messages from.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.topic.markdownDescription
Can be a string or a list of strings to consume from multiple topics.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.properties.uri.markdownDescription
You need to specify a Pulsar protocol URL.
- Example of localhost: `pulsar://localhost:6650`
- If you have multiple brokers: `pulsar://localhost:6650,localhost:6651,localhost:6652`
- If you use TLS authentication: `pulsar+ssl://pulsar.us-west.example.com:6651`

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.title
Consume a message in real-time from Pulsar topics and create one execution per message.

# definitions.io.kestra.plugin.pulsar.RealtimeTrigger.markdownDescription
If you would like to consume multiple messages processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.pulsar.Trigger](https://kestra.io/plugins/plugin-pulsar/triggers/io.kestra.plugin.pulsar.trigger) instead.##### Examples
> Consume a message from a Pulsar topic in real-time.
```yaml
id: pulsar
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.value }}"

triggers:
  - id: realtime_trigger
    type: io.kestra.plugin.pulsar.RealtimeTrigger
    topic: kestra_trigger
    uri: pulsar://localhost:26650
    deserializer: JSON
    subscriptionName: kestra_trigger_sub

```

# definitions.io.kestra.plugin.pulsar.Trigger.properties.authenticationToken.markdownDescription
Authentication token that can be required by some providers such as Clever Cloud.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.consumerProperties.title
Add all the properties in the provided map to the consumer.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.deserializer.allOf[].title
Serializer / Deserializer used for the value.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.encryptionKey.title
Add a public encryption key to the producer/consumer.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.initialPosition.title
The position of a subscription to the topic.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.pulsar.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.maxDuration.title
The maximum duration waiting for new record.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.maxDuration.markdownDescription
It's not a hard limit and is evaluated every second.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.maxRecords.title
The maximum number of records to fetch before stopping.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.maxRecords.markdownDescription
It's not a hard limit and is evaluated every second.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.pollDuration.title
Duration waiting for record to be polled.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.pollDuration.markdownDescription
If no records are available, the maximum wait to wait for a new record. 

Default value is : `2.000000000`

# definitions.io.kestra.plugin.pulsar.Trigger.properties.schemaString.markdownDescription
Required for connecting with topics with a defined schema and strict schema checking

# definitions.io.kestra.plugin.pulsar.Trigger.properties.schemaType.markdownDescription
Can be one of NONE, AVRO or JSON. None means there will be no schema enforced.

Default value is : `NONE`

# definitions.io.kestra.plugin.pulsar.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.pulsar.Trigger.properties.subscriptionName.markdownDescription
Using subscription name, we will fetch only records that haven't been consumed yet.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.tlsOptions.allOf[].markdownDescription
You need to use "pulsar+ssl://" in serviceUrl to enable TLS support.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.topic.title
Pulsar topic(s) where to consume messages from.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.topic.markdownDescription
Can be a string or a list of strings to consume from multiple topics.

# definitions.io.kestra.plugin.pulsar.Trigger.properties.uri.markdownDescription
You need to specify a Pulsar protocol URL.
- Example of localhost: `pulsar://localhost:6650`
- If you have multiple brokers: `pulsar://localhost:6650,localhost:6651,localhost:6652`
- If you use TLS authentication: `pulsar+ssl://pulsar.us-west.example.com:6651`

# definitions.io.kestra.plugin.pulsar.Trigger.title
Consume messages periodically from Pulsar topics and create one execution per batch.

# definitions.io.kestra.plugin.pulsar.Trigger.markdownDescription
Note that you don't need an extra task to consume the message from the event trigger. The trigger will automatically consume messages and you can retrieve their content in your flow using the `{{ trigger.uri }}` variable. If you would like to consume each message from a Pulsar topic in real-time and create one execution per message, you can use the [io.kestra.plugin.pulsar.RealtimeTrigger](https://kestra.io/plugins/plugin-pulsar/triggers/io.kestra.plugin.pulsar.realtimetrigger) instead.##### Examples
> 
```yaml
id: pulsar_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.value }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.pulsar.Trigger
    interval: PT30S
    topic: kestra_trigger
    uri: pulsar://localhost:26650
    deserializer: JSON
    subscriptionName: kestra_trigger_sub

```

# definitions.io.kestra.plugin.redis.list.ListPop.properties.count.title
Number of elements that should be pop at once

# definitions.io.kestra.plugin.redis.list.ListPop.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.redis.list.ListPop.properties.maxRecords.title
The max number of rows to fetch before stopping.

# definitions.io.kestra.plugin.redis.list.ListPop.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.redis.list.ListPop.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.list.ListPop.title
Removes and returns an element from the head of a list.

# definitions.io.kestra.plugin.redis.list.ListPop.markdownDescription
##### Examples
> 
```yaml
id: redis_list_pop
namespace: company.team

tasks:
  - id: list_pop
    type: io.kestra.plugin.redis.list.ListPop
    url: redis://:redis@localhost:6379/0
    key: mypopkeyjson
    serdeType: JSON
    maxRecords: 1

```

# definitions.io.kestra.plugin.redis.list.ListPush.properties.from.title
The list of values to push at the head of the list.

# definitions.io.kestra.plugin.redis.list.ListPush.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.list.ListPush.title
Adds a new element to the head of a list.

# definitions.io.kestra.plugin.redis.list.ListPush.markdownDescription
##### Examples
> 
```yaml
id: redis_list_push
namespace: company.team

tasks:
  - id: list_push
    type: io.kestra.plugin.redis.list.ListPush
    url: redis://:redis@localhost:6379/0
    key: mykey
    from:
      - value1
      - value2

```

# definitions.io.kestra.plugin.redis.list.RealtimeTrigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.redis.list.RealtimeTrigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.redis.list.RealtimeTrigger.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.list.RealtimeTrigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.redis.list.RealtimeTrigger.title
Removes and returns an element from the head of a list in real-time and create one execution per element.

# definitions.io.kestra.plugin.redis.list.RealtimeTrigger.markdownDescription
If you would like to consume multiple elements processed within a given time frame and process them in batch, you can use the [io.kestra.plugin.redis.list.Trigger](https://kestra.io/plugins/plugin-redis/triggers/io.kestra.plugin.redis.list.trigger) instead.##### Examples
> Consume an element from the head of a list in real-time.
```yaml
id: list_listen
namespace: company.team

tasks:
  - id: echo
    type: io.kestra.plugin.core.log.Log
    message: "Received '{{ trigger.value }}'"

triggers:
  - id: watch
    type: io.kestra.plugin.redis.RealtimeTrigger
    url: redis://localhost:6379/0
    key: mytriggerkey

```

# definitions.io.kestra.plugin.redis.list.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.redis.list.Trigger.properties.count.title
Number of elements that should be pop at once

# definitions.io.kestra.plugin.redis.list.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.redis.list.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.redis.list.Trigger.properties.maxDuration.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.redis.list.Trigger.properties.maxRecords.title
The max number of rows to fetch before stopping.

# definitions.io.kestra.plugin.redis.list.Trigger.properties.maxRecords.markdownDescription
It's not an hard limit and is evaluated every second.

# definitions.io.kestra.plugin.redis.list.Trigger.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.list.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.redis.list.Trigger.title
Removes and returns an element from the head of a list periodically and create one execution per batch.

# definitions.io.kestra.plugin.redis.list.Trigger.markdownDescription
If you would like to consume each message from a list in real-time and create one execution per message, you can use the [io.kestra.plugin.redis.list.RealtimeTrigger](https://kestra.io/plugins/plugin-redis/triggers/io.kestra.plugin.redis.list.realtimetrigger) instead.##### Examples
> 
```yaml
id: list_listen
namespace: company.team

tasks:
  - id: echo
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.uri }} containing {{ trigger.count }} lines"

triggers:
  - id: watch
    type: io.kestra.plugin.redis.list.Trigger
    url: redis://localhost:6379/0
    key: mytriggerkey
    maxRecords: 2

```

# definitions.io.kestra.plugin.redis.pubsub.Publish.properties.from.title
The list of value to publish to the channel.

# definitions.io.kestra.plugin.redis.pubsub.Publish.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.pubsub.Publish.title
Publish one or multiple values to a channel.

# definitions.io.kestra.plugin.redis.pubsub.Publish.markdownDescription
##### Examples
> 
```yaml
id: redis_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.redis.pubsub.Publish
    url: redis://:redis@localhost:6379/0
    channel: mych
    from:
      - value1
      - value2

```

# definitions.io.kestra.plugin.redis.string.Delete.properties.failedOnMissing.title
If some keys are not deleted, failed the task.

# definitions.io.kestra.plugin.redis.string.Delete.properties.keys.title
The list of redis keys you want to delete.

# definitions.io.kestra.plugin.redis.string.Delete.markdownDescription
##### Examples
> 
```yaml
id: redis_delete
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.redis.string.Delete
    url: redis://:redis@localhost:6379/0
    keys:
      - keyDelete1
      - keyDelete2

```

# definitions.io.kestra.plugin.redis.string.Get.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.string.Get.markdownDescription
##### Examples
> 
```yaml
id: redis_get
namespace: company.team

tasks:
  - id: get
    type: io.kestra.plugin.redis.string.Get
    url: redis://:redis@localhost:6379/0
    key: mykey

```

# definitions.io.kestra.plugin.redis.string.Set.properties.get.title
Define if you get the older value in response, does not work with Redis 5.X.

# definitions.io.kestra.plugin.redis.string.Set.properties.options.allOf[].title
Options available when setting a key in Redis.

# definitions.io.kestra.plugin.redis.string.Set.properties.options.allOf[].markdownDescription
See [redis documentation](https://redis.io/commands/set/).

Default value is : `{}`

# definitions.io.kestra.plugin.redis.string.Set.properties.serdeType.allOf[].title
Serializer / Deserializer use for the value

# definitions.io.kestra.plugin.redis.string.Set.markdownDescription
##### Examples
> 
```yaml
id: redis_set
namespace: company.team

tasks:
  - id: set
    type: io.kestra.plugin.redis.string.Set
    url: redis://:redis@localhost:6379/0
    key: mykey
    value: myvalue
    serdeType: STRING

```

# definitions.io.kestra.plugin.redis.string.Set-Options.properties.keepTtl.title
Retain the time to live associated with the key.

# definitions.io.kestra.plugin.redis.string.Set-Options.properties.mustNotExist.title
Only set the key if it does not already exist.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.config.markdownDescription
Docker configuration file that can set access credentials to private container registries. Usually located in `~/.docker/config.json`.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.cpu.allOf[].title
Limits the CPU usage to a given maximum threshold value.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.cpu.allOf[].markdownDescription
By default, each container’s access to the host machine’s CPU cycles is unlimited. You can set various constraints to limit a given container’s access to the host machine’s CPU cycles.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.credentials.allOf[].title
Credentials for a private container registry.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.deviceRequests.title
A list of device requests to be sent to device drivers.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.extraHosts.title
Extra hostname mappings to the container network interface configuration.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.memory.allOf[].title
Limits memory usage to a given maximum threshold value.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.memory.allOf[].markdownDescription
Docker can enforce hard memory limits, which allow the container to use no more than a given amount of user or system memory, or soft limits, which allow the container to use as much memory as it needs unless certain conditions are met, such as when the kernel detects low memory or contention on the host machine. Some of these options have different effects when used alone or when more than one option is set.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.networkMode.title
Docker network mode to use e.g. `host`, `none`, etc.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.pullPolicy.title
The image pull policy for a container image and the tag of the image, which affect when Docker attempts to pull (download) the specified image.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.shmSize.markdownDescription
The size must be greater than 0. If omitted, the system uses 64MB.

# definitions.io.kestra.plugin.scripts.exec.scripts.models.DockerOptions.properties.volumes.markdownDescription
Must be a valid mount expression as string, example : `/home/user:/app`.

Volumes mount are disabled by default for security reasons; you must enable them on server configuration by setting `kestra.tasks.scripts.docker.volume-enabled` to `true`.

# definitions.io.kestra.plugin.scripts.groovy.Eval.properties.outputs.title
A list of output variables that will be usable in outputs.

# definitions.io.kestra.plugin.scripts.groovy.Eval.markdownDescription
##### Examples
> Make an API call and pass request body to a Groovy script.
```yaml
id: api_request_to_groovy
namespace: company.team

tasks:
  - id: request
    type: io.kestra.plugin.core.http.Request
    uri: "https://dummyjson.com/products/1"

  - id: groovy
    type: io.kestra.plugin.scripts.groovy.Eval
    script: |
      logger.info('{{ outputs.request.body }}')

  - id: download
    type: io.kestra.plugin.core.http.Download
    uri: "https://dummyjson.com/products/1"

  - id: run_context_groovy
    type: io.kestra.plugin.scripts.groovy.Eval
    script: |
      // logger.info('Vars: {}', runContext.getVariables())
      URI uri = new URI(runContext.variables.outputs.download.uri)
      InputStream istream = runContext.storage().getFile(uri)
      logger.info('Content: {}', istream.text)

```

> 
```yaml
id: groovy_eval
namespace: company.team

tasks:
  - id: eval
    type: io.kestra.plugin.scripts.groovy.Eval
    outputs:
      - out
      - map
    script: |
      import io.kestra.core.models.executions.metrics.Counter

      logger.info('executionId: {}', runContext.render('{{ execution.id }}'))
      runContext.metric(Counter.of('total', 666, 'name', 'bla'))

      map = Map.of('test', 'here')
      File tempFile = runContext.workingDir().createTempFile().toFile()
      var output = new FileOutputStream(tempFile)
      output.write('555\n666\n'.getBytes())

      out = runContext.storage().putFile(tempFile

```

# definitions.io.kestra.plugin.scripts.groovy.FileTransform.properties.concurrent.title
Number of concurrent parallel transformations to execute.

# definitions.io.kestra.plugin.scripts.groovy.FileTransform.properties.concurrent.markdownDescription
Take care that the order is **not respected** if you use parallelism.

# definitions.io.kestra.plugin.scripts.groovy.FileTransform.properties.from.title
Source file containing rows to transform.

# definitions.io.kestra.plugin.scripts.groovy.FileTransform.properties.from.markdownDescription
Can be Kestra's internal storage URI, a map or a list.

# definitions.io.kestra.plugin.scripts.groovy.FileTransform.title
Transform ion format file from Kestra with a groovy script.

# definitions.io.kestra.plugin.scripts.groovy.FileTransform.markdownDescription
This allows you to transform the data, previously loaded by Kestra, as you need.

Take a ion format file from Kestra and iterate row per row.
Each row will populate a `row` global variable. You need to alter this variable that will be saved on output file.
If you set the `row` to `null`, the row will be skipped.
You can create a variable `rows` to return multiple rows for a single `row`.
##### Examples
> Convert row by row of a file from Kestra's internal storage.
```yaml
id: groovy_file_transform
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.groovy.FileTransform
    from: "{{ inputs.file }}"
    script: |
      logger.info('row: {}', row)

      if (row.get('name') == 'richard') {
        row = null
      } else {
        row.put('email', row.get('name') + '@kestra.io')
      }

```

> Create multiple rows from one row.
```yaml
id: groovy_file_transform
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.groovy.FileTransform
    from: "{{ inputs.file }}"
    script: |
      logger.info('row: {}', row)
      rows = [["action", "insert"], row]

```

> Transform a JSON string to a file.
```yaml
id: groovy_file_transform
namespace: company.team

inputs:
  - id: json
    type: JSON
    defaults: [{"name":"jane"}, {"name":"richard"}]

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.groovy.FileTransform
    from: "{{ inputs.json }}"
    script: |
      logger.info('row: {}', row)

      if (row.get('name') == 'richard') {
        row = null
      } else {
        row.put('email', row.get('name') + '@kestra.io')
      }

```

> JSON transformations using jackson library
```yaml
id: json_transform_using_jackson
namespace: company.team

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.groovy.FileTransform
    from: "[{"name":"John Doe", "age":99, "embedded":{"foo":"bar"}}]"
    script: |
      import com.fasterxml.jackson.*

      def mapper = new databind.ObjectMapper();
      def jsonStr = mapper.writeValueAsString(row);
      logger.info('input in json str: {}', jsonStr)

      def typeRef = new core.type.TypeReference<HashMap<String,Object>>() {};

      data = mapper.readValue(jsonStr, typeRef);

      logger.info('json object: {}', data);
      logger.info('embedded field: {}', data.embedded.foo)

```

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.containerImage.markdownDescription
Default value is : `jbangdev/jbang-action`

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.jbang.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.jbang.Commands.markdownDescription
##### Examples
> Execute JBang command to execute a JAR file.
```yaml
id: jbang_commands
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.jbang.Commands
    commands:
      - jbang --quiet --main picocli.codegen.aot.graalvm.ReflectionConfigGenerator info.picocli:picocli-codegen:4.6.3

```

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.containerImage.markdownDescription
Default value is : `jbangdev/jbang-action`

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.extension.markdownDescription
JBang support more than Java scripts, you can use it with JShell (.jsh), Kotlin (.kt), Groovy (.groovy) or even Markdowns (.md).

Default value is : `.java`

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.quiet.markdownDescription
By default, JBang logs in stderr so quiet is configured to true by default so no JBang logs are shown except errors.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `jbang hello.java` or an executable JAR, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.jbang.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.jbang.Script.title
Execute a script written in Java, JShell, Kotlin, Groovy or Markdown with JBang.

# definitions.io.kestra.plugin.scripts.jbang.Script.markdownDescription
##### Examples
> Execute a script written in Java
```yaml
id: jbang_script
namespace: company.team

tasks:
  - id: script
    type: io.kestra.plugin.scripts.jbang.Script
    script: |
      class helloworld {
          public static void main(String[] args) {
              if(args.length==0) {
                  System.out.println("Hello World!");
              } else {
                  System.out.println("Hello " + args[0]);
              }
          }
      }

```

> Execute a script written in Java with dependencies
```yaml
id: jbang_script
namespace: company.team

tasks:
  - id: script_with_dependency
    type: io.kestra.plugin.scripts.jbang.Script
    script: |
      //DEPS ch.qos.reload4j:reload4j:1.2.19

      import org.apache.log4j.Logger;
      import org.apache.log4j.BasicConfigurator;

      class classpath_example {

        static final Logger logger = Logger.getLogger(classpath_example.class);

        public static void main(String[] args) {
          BasicConfigurator.configure(); 
          logger.info("Hello World");
        }
      }

```

> Execute a script written in Kotlin.
```yaml
id: jbang_script
namespace: company.team

tasks:
  - id: script_kotlin
    type: io.kestra.plugin.scripts.jbang.Script
    extension: .kt
    script: |
      public fun main() {
          println("Hello World");
      }

```

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.julia.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.julia.Commands.title
Execute Julia scripts from the Command Line Interface.

# definitions.io.kestra.plugin.scripts.julia.Commands.markdownDescription
##### Examples
> Create a Julia script, install required packages and execute it. Note that instead of defining the script inline, you could create the Julia script in the embedded VS Code editor and point to its location by path. If you do so, make sure to enable namespace files by setting the `enabled` flag of the `namespaceFiles` property to `true`.
```yaml
id: julia_commands
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.julia.Commands
    warningOnStdErr: false
    inputFiles:
      main.jl: |
        using DataFrames, CSV
        df = DataFrame(Name = ["Alice", "Bob", "Charlie"], Age = [25, 30, 35])
        CSV.write("output.csv", df)
    outputFiles:
      - output.csv
    beforeCommands:
      - julia -e 'using Pkg; Pkg.add("DataFrames"); Pkg.add("CSV")'
    commands:
      - julia main.jl

```

# definitions.io.kestra.plugin.scripts.julia.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.julia.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.julia.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.julia.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.julia.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.julia.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command such as `julia myscript.jl`, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.julia.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.julia.Script.markdownDescription
##### Examples
> Create a Julia script, install required packages and execute it. Note that instead of defining the script inline, you could create the Julia script in the embedded VS Code editor and read its content using the `{{ read('your_script.jl') }}` function.
```yaml
id: julia_script
namespace: company.team

tasks:
  - id: script
    type: io.kestra.plugin.scripts.julia.Script
    warningOnStdErr: false
    script: |
      using DataFrames, CSV
      df = DataFrame(Name = ["Alice", "Bob", "Charlie"], Age = [25, 30, 35])
      CSV.write("output.csv", df)
    outputFiles:
      - output.csv
    beforeCommands:
      - julia -e 'using Pkg; Pkg.add("DataFrames"); Pkg.add("CSV")'

```

# definitions.io.kestra.plugin.scripts.jython.Eval.properties.outputs.title
A list of output variables that will be usable in outputs.

# definitions.io.kestra.plugin.scripts.jython.Eval.markdownDescription
##### Examples
> 
```yaml
id: jython_eval
namespace: company.team

tasks:
  - id: eval
    type: io.kestra.plugin.scripts.jython.Eval
    outputs:
      - out
      - map
    script: |
      from io.kestra.core.models.executions.metrics import Counter
      import tempfile
      from java.io import File

      logger.info('executionId: {}', runContext.render('{{ execution.id }}'))
      runContext.metric(Counter.of('total', 666, 'name', 'bla'))

      map = {'test': 'here'}
      tempFile = tempfile.NamedTemporaryFile()
      tempFile.write('555\n666\n')

      out = runContext.storage().putFile(File(tempFile.name)

```

# definitions.io.kestra.plugin.scripts.jython.FileTransform.properties.concurrent.title
Number of concurrent parallel transformations to execute.

# definitions.io.kestra.plugin.scripts.jython.FileTransform.properties.concurrent.markdownDescription
Take care that the order is **not respected** if you use parallelism.

# definitions.io.kestra.plugin.scripts.jython.FileTransform.properties.from.title
Source file containing rows to transform.

# definitions.io.kestra.plugin.scripts.jython.FileTransform.properties.from.markdownDescription
Can be Kestra's internal storage URI, a map or a list.

# definitions.io.kestra.plugin.scripts.jython.FileTransform.title
Transform ion format file from Kestra with a groovy script.

# definitions.io.kestra.plugin.scripts.jython.FileTransform.markdownDescription
This allows you to transform the data, previously loaded by Kestra, as you need.

Take a ion format file from Kestra and iterate row per row.
Each row will populate a `row` global variable. You need to alter this variable that will be saved on output file.
If you set the `row` to `null`, the row will be skipped.
You can create a variable `rows` to return multiple rows for a single `row`.
##### Examples
> Extract data from an API, add a column, and store it as a downloadable CSV file.
```yaml
id: etl_api_to_csv
namespace: company.team

tasks:
  - id: download
    type: io.kestra.plugin.fs.http.Download
    uri: https://gorest.co.in/public/v2/users

  - id: ion_to_json
    type: io.kestra.plugin.serdes.json.JsonToIon
    from: "{{ outputs.download.uri }}"
    newLine: false

  - id: write_json
    type: io.kestra.plugin.serdes.json.IonToJson
    from: "{{ outputs.ion_to_json.uri }}"

  - id: add_column
    type: io.kestra.plugin.scripts.jython.FileTransform
    from: "{{ outputs.write_json.uri }}"
    script: |
      from datetime import datetime
      logger.info('row: {}', row)
      row['inserted_at'] = datetime.utcnow()

  - id: csv
    type: io.kestra.plugin.serdes.csv.IonToCsv
    from: "{{ outputs.add_column.uri }}"

```

> Transform with file from internal storage.
```yaml
id: jython_file_transform
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.jython.FileTransform
    from: "{{ inputs.file }}"
    script: |
      logger.info('row: {}', row)

      if row['name'] == 'richard':
        row = None
      else:
        row['email'] = row['name'] + '@kestra.io'

```

> Transform with file from JSON string.
```yaml
id: jython_file_transform
namespace: company.team

inputs:
  - id: json
    type: JSON
    defaults: {"name": "john"}

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.jython.FileTransform
    from: "{{ inputs.json }}"
    script: |
      logger.info('row: {}', row)

      if row['name'] == 'richard':
        row = None
      else:
        row['email'] = row['name'] + '@kestra.io'

```

# definitions.io.kestra.plugin.scripts.nashorn.Eval.properties.outputs.title
A list of output variables that will be usable in outputs.

# definitions.io.kestra.plugin.scripts.nashorn.Eval.markdownDescription
##### Examples
> 
```yaml
id: nashorn_eval
namespace: company.team

tasks:
  - id: eval
    type: io.kestra.plugin.scripts.nashorn.Eval
    outputs:
      - out
      - map
    script: |
      var Counter = Java.type('io.kestra.core.models.executions.metrics.Counter');
      var File = Java.type('java.io.File');
      var FileOutputStream = Java.type('java.io.FileOutputStream');

      logger.info('executionId: {}', runContext.render('{{ execution.id }}'));
      runContext.metric(Counter.of('total', 666, 'name', 'bla'));

      map = {'test': 'here'}
      var tempFile = runContext.workingDir().createTempFile().toFile()
      var output = new FileOutputStream(tempFile)
      output.write('555\n666\n'.getBytes())

      out = runContext.storage().putFile(tempFile)"

```

# definitions.io.kestra.plugin.scripts.nashorn.FileTransform.properties.concurrent.title
Number of concurrent parallel transformations to execute.

# definitions.io.kestra.plugin.scripts.nashorn.FileTransform.properties.concurrent.markdownDescription
Take care that the order is **not respected** if you use parallelism.

# definitions.io.kestra.plugin.scripts.nashorn.FileTransform.properties.from.title
Source file containing rows to transform.

# definitions.io.kestra.plugin.scripts.nashorn.FileTransform.properties.from.markdownDescription
Can be Kestra's internal storage URI, a map or a list.

# definitions.io.kestra.plugin.scripts.nashorn.FileTransform.title
Transform ion format file from Kestra's internal storage with a Nashorn (JavaScript) script.

# definitions.io.kestra.plugin.scripts.nashorn.FileTransform.markdownDescription
##### Examples
> Transform with file from internal storage
```yaml
id: nashorn_file_transform
namespace: company.team

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.nashorn.FileTransform
    from: "{{ outputs['avro-to-gcs'] }}"
    script: |
      logger.info('row: {}', row)

      if (row['name'] === 'richard') {
        row = null
      } else {
        row['email'] = row['name'] + '@kestra.io'
      }

```

> Transform JSON string input with a Nashorn script.
```yaml
id: nashorn_file_transform
namespace: company.team

tasks:
  - id: file_transform
    type: io.kestra.plugin.scripts.nashorn.FileTransform
    from: "[{"name":"jane"}, {"name":"richard"}]"
    script: |
      logger.info('row: {}', row)

      if (row['name'] === 'richard') {
        row = null
      } else {
        row['email'] = row['name'] + '@kestra.io'
      }

```

# definitions.io.kestra.plugin.scripts.node.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.node.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.node.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.node.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.node.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.node.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.node.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.node.Commands.title
Execute one or more Node.js commands from the Command Line Interface. Note that instead of adding the script using the `inputFiles` property, you could also add the script from the embedded VS Code editor and point to its location by path. If you do so, make sure to enable Namespace Files by setting the `enabled` flag of the `namespaceFiles` property to `true`.

# definitions.io.kestra.plugin.scripts.node.Commands.markdownDescription
##### Examples
> Install required npm packages, create a Node.js script and execute it.
```yaml
id: nodejs_commands
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.node.Commands
    inputFiles:
      main.js: |
        const colors = require("colors");
        console.log(colors.red("Hello"));
    beforeCommands:
      - npm install colors
    commands:
      - node main.js
    warningOnStdErr: false

```

# definitions.io.kestra.plugin.scripts.node.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.node.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.node.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.node.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.node.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.node.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.node.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.node.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.node.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.node.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.node.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.node.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.node.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.node.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.node.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.node.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.node.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `bash myscript.sh` or `python myscript.py`, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.node.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.node.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.node.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.node.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.node.Script.markdownDescription
##### Examples
> Install package, create a Node.js script and execute it.
```yaml
id: nodejs_script
namespace: company.team

tasks:
  - id: script
    type: io.kestra.plugin.scripts.node.Script
    beforeCommands:
      - npm install colors
    script: |
      const colors = require("colors");
      console.log(colors.red("Hello"));
    warningOnStdErr: false"

```

> If you want to generate files in your script to make them available for download and use in downstream tasks, you can leverage the `{{ outputDir }}` variable. Files stored in that directory will be persisted in Kestra's internal storage. To access this output in downstream tasks, use the syntax `{{ outputs.yourTaskId.outputFiles['yourFileName.fileExtension'] }}`.

Alternatively, instead of the `{{ outputDir }}` variable, you could use the `outputFiles` property to output files from your script. You can access those files in downstream tasks using the same syntax `{{ outputs.yourTaskId.outputFiles['yourFileName.fileExtension'] }}`, and you can download the files from the UI's Output tab.

```yaml
id: nodejs_script
namespace: company.team

tasks:
  - id: node
    type: io.kestra.plugin.scripts.node.Script
    warningOnStdErr: false
    beforeCommands:
        - npm install json2csv > /dev/null 2>&1
    script: |
        const fs = require('fs');
        const { Parser } = require('json2csv');

        // Product prices in our simulation
        const productPrices = {
            'T-shirt': 20,
            'Jeans': 75,
            'Shoes': 80,
            'Socks': 5,
            'Hat': 25
        }

        const generateOrder = () => {
            const products = ['T-shirt', 'Jeans', 'Shoes', 'Socks', 'Hat'];
            const statuses = ['pending', 'shipped', 'delivered', 'cancelled'];

            const randomProduct = products[Math.floor(Math.random() * products.length)];
            const randomStatus = statuses[Math.floor(Math.random() * statuses.length)];
            const randomQuantity = Math.floor(Math.random() * 10) + 1;

            const order = {
                product: randomProduct,
                status: randomStatus,
                quantity: randomQuantity,
                total: randomQuantity * productPrices[randomProduct]
            };

            return order;
        }

        let totalSales = 0;
        let orders = [];

        for (let i = 0; i < 100; i++) {
            const order = generateOrder();
            orders.push(order);
            totalSales += order.total;
        }

        console.log(`Total sales: $${totalSales}`);

        const fields = ['product', 'status', 'quantity', 'total'];
        const json2csvParser = new Parser({ fields });
        const csvData = json2csvParser.parse(orders);

        fs.writeFileSync('{{ outputDir }}/orders.csv', csvData);

        console.log('Orders saved to orders.csv');

```

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.interpreter.markdownDescription
Default value is : `- pwsh
- -NoProfile
- -NonInteractive
- -Command`

Default value is : `- pwsh
- -NoProfile
- -NonInteractive
- -Command`

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.powershell.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.powershell.Commands.title
Execute one or more PowerShell commands. Note that instead of adding the script using the `inputFiles` property, you could also add the script from the embedded VS Code editor and point to its location by path. If you do so, make sure to enable namespace files by setting the `enabled` flag of the `namespaceFiles` property to `true`.

# definitions.io.kestra.plugin.scripts.powershell.Commands.markdownDescription
##### Examples
> Execute PowerShell commands.
```yaml
id: execute_powershell_commands
namespace: company.team

tasks:
  - id: powershell
    type: io.kestra.plugin.scripts.powershell.Commands
    inputFiles:
      main.ps1: |
        'Hello, World!' | Write-Output
    commands:
      - ./main.ps1

```

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.interpreter.markdownDescription
Default value is : `- pwsh
- -NoProfile
- -NonInteractive
- -Command`

Default value is : `- pwsh
- -NoProfile
- -NonInteractive
- -Command`

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `bash myscript.sh` or `python myscript.py`, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.powershell.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.powershell.Script.markdownDescription
##### Examples
> Execute a PowerShell script.
```yaml
id: execute_powershell_script
namespace: company.team

tasks:
  - id: powershell
    type: io.kestra.plugin.scripts.powershell.Script
    script: |
      'Hello, World!' | Write-Output

```

> If you want to generate files in your script to make them available for download and use in downstream tasks, you can leverage the `{{ outputDir }}` variable. Files stored in that directory will be persisted in Kestra's internal storage. To access this output in downstream tasks, use the syntax `{{ outputs.yourTaskId.outputFiles['yourFileName.fileExtension'] }}`.

```yaml
id: powershell_generate_files
namespace: company.team

tasks:
  - id: powershell
    type: io.kestra.plugin.scripts.powershell.Script
    script: |
      Set-Content -Path {{ outputDir }}\hello.txt -Value "Hello World"

```

# definitions.io.kestra.plugin.scripts.python.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.python.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.python.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.python.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.python.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.python.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.python.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.python.Commands.title
Execute one or more Python scripts from a Command Line Interface.

# definitions.io.kestra.plugin.scripts.python.Commands.markdownDescription
##### Examples
> Execute a Python script in a Conda virtual environment. First, add the following script in the embedded Code Editor and name it `etl_script.py`:

```python
import argparse

parser = argparse.ArgumentParser()

parser.add_argument("--num", type=int, default=42, help="Enter an integer")

args = parser.parse_args()
result = args.num * 2
print(result)
```

Then, make sure to set the `enabled` flag of the `namespaceFiles` property to `true` to enable [namespace files](https://kestra.io/docs/developer-guide/namespace-files). We `include` only the `etl_script.py` file as that is the only file we require from namespace files.

This flow uses a `io.kestra.plugin.core.runner.Process` Task Runner and Conda virtual environment for process isolation and dependency management. However, note that, by default, Kestra runs tasks in a Docker container (i.e. a Docker task runner), and you can use the `taskRunner` property to customize many options, as well as `containerImage` to choose the Docker image to use.

```yaml
id: python_venv
namespace: company.team

tasks:
  - id: python
    type: io.kestra.plugin.scripts.python.Commands
    namespaceFiles:
      enabled: true
      include:
        - etl_script.py
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    beforeCommands:
      - conda activate myCondaEnv
    commands:
      - python etl_script.py

```

> Execute a Python script from Git in a Docker container and output a file
```yaml
id: python_commands_example
namespace: company.team

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/examples
        branch: main

      - id: git_python_scripts
        type: io.kestra.plugin.scripts.python.Commands
        warningOnStdErr: false
        containerImage: ghcr.io/kestra-io/pydata:latest
        beforeCommands:
          - pip install faker > /dev/null
        commands:
          - python examples/scripts/etl_script.py
          - python examples/scripts/generate_orders.py
        outputFiles:
          - orders.csv

  - id: load_csv_to_s3
    type: io.kestra.plugin.aws.s3.Upload
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
    region: eu-central-1
    bucket: kestraio
    key: stage/orders.csv
    from: "{{ outputs.gitPythonScripts.outputFiles['orders.csv'] }}"

```

> Execute a Python script on a remote worker with a GPU
```yaml
id: gpu_task
namespace: company.team

tasks:
  - id: python
    type: io.kestra.plugin.scripts.python.Commands
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    commands:
      - python ml_on_gpu.py
    workerGroup:
      key: gpu

```

> Pass detected S3 objects from the event trigger to a Python script
```yaml
id: s3_trigger_commands
namespace: company.team
description: process CSV file from S3 trigger

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/examples
        branch: main

      - id: python
        type: io.kestra.plugin.scripts.python.Commands
        inputFiles:
          data.csv: "{{ trigger.objects | jq('.[].uri') | first }}"
        description: this script reads a file `data.csv` from S3 trigger
        containerImage: ghcr.io/kestra-io/pydata:latest
        warningOnStdErr: false
        commands:
          - python examples/scripts/clean_messy_dataset.py
        outputFiles:
          - "*.csv"
          - "*.parquet"

triggers:
  - id: wait_for_s3_object
    type: io.kestra.plugin.aws.s3.Trigger
    bucket: declarative-orchestration
    maxKeys: 1
    interval: PT1S
    filter: FILES
    action: MOVE
    prefix: raw/
    moveTo:
      key: archive/raw/
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
    region: "{{ secret('AWS_DEFAULT_REGION') }}"

```

> Execute a Python script from Git using a private Docker container image
```yaml
id: python_in_container
namespace: company.team

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/examples
        branch: main

      - id: git_python_scripts
        type: io.kestra.plugin.scripts.python.Commands
        warningOnStdErr: false
        commands:
          - python examples/scripts/etl_script.py
        outputFiles:
          - "*.csv"
          - "*.parquet"
        containerImage: annageller/kestra:latest
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
          config: |
            {
              "auths": {
                  "https://index.docker.io/v1/": {
                      "username": "annageller",
                      "password": "{{ secret('DOCKER_PAT') }}"
                  }
              }
            }

```

> Create a python script and execute it in a virtual environment
```yaml
id: script_in_venv
namespace: company.team
tasks:
  - id: python
    type: io.kestra.plugin.scripts.python.Commands
    inputFiles:
      main.py: |
        import requests
        from kestra import Kestra

        response = requests.get('https://google.com')
        print(response.status_code)
        Kestra.outputs({'status': response.status_code, 'text': response.text})
    beforeCommands:
      - python -m venv venv
      - . venv/bin/activate
      - pip install requests kestra > /dev/null
    commands:
      - python main.py

```

# definitions.io.kestra.plugin.scripts.python.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.python.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.python.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.python.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.python.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.python.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.python.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.python.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.python.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.python.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.python.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.python.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.python.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.python.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.python.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.python.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.python.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `bash myscript.sh` or `python myscript.py`, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.python.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.python.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.python.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.python.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.python.Script.markdownDescription
##### Examples
> Execute a Python script and generate an output.
```yaml
id: python_use_input_file
namespace: company.team

tasks:
  - id: python
    task: io.kestra.plugin.scripts.python.Script
    script: |
      from kestra import Kestra
      import requests

      response = requests.get('https://kestra.io')
      print(response.status_code)

      Kestra.outputs({'status': response.status_code, 'text': response.text})
    beforeCommands:
      - pip install requests kestra

```

> Log messages at different log levels using Kestra logger.
```yaml
id: python_logs
namespace: company.team

tasks:
  - id: python_logger
    type: io.kestra.plugin.scripts.python.Script
    allowFailure: true
    warningOnStdErr: false
    script: |
      import time
      from kestra import Kestra

      logger = Kestra.logger()

      logger.debug("DEBUG is used for diagnostic info.")
      time.sleep(0.5)

      logger.info("INFO confirms normal operation.")
      time.sleep(0.5)

      logger.warning("WARNING signals something unexpected.")
      time.sleep(0.5)

      logger.error("ERROR indicates a serious issue.")
      time.sleep(0.5)

      logger.critical("CRITICAL means a severe failure.")

```

> Execute a Python script with an input file from Kestra's local storage created by a previous task.
```yaml
id: python_use_input_file
namespace: company.team

tasks:
  - id: python
    task: io.kestra.plugin.scripts.python.Script
    script: |
      with open('{{ outputs.previousTaskId.uri }}', 'r') as f:
        print(f.read())

```

> Execute a Python script that outputs a file.
```yaml
id: python_output_file
namespace: company.team

tasks:
  - id: python
    type: io.kestra.plugin.scripts.python.Script
    script: |
       f = open("{{ outputDir }}/myfile.txt", "a")
       f.write("Hello from a Kestra task!")
       f.close()

```

> If you want to generate files in your script to make them available for download and use in downstream tasks, you can leverage the `{{outputDir}}` expression. Files stored in that directory will be persisted in Kestra's internal storage. The first task in this example creates a file `'myfile.txt'` and the next task can access it by leveraging the syntax `{{outputs.yourTaskId.outputFiles['yourFileName.fileExtension']}}`.

```yaml
id: python_outputs
namespace: company.team

tasks:
  - id: clean_dataset
    type: io.kestra.plugin.scripts.python.Script
    containerImage: ghcr.io/kestra-io/pydata:latest
    script: |
      import pandas as pd
      df = pd.read_csv("https://huggingface.co/datasets/kestra/datasets/raw/main/csv/messy_dataset.csv")

      # Replace non-numeric age values with NaN
      df["Age"] = pd.to_numeric(df["Age"], errors="coerce")

      # mean imputation: fill NaN values with the mean age
      mean_age = int(df["Age"].mean())
      print(f"Filling NULL values with mean: {mean_age}")
      df["Age"] = df["Age"].fillna(mean_age)
      df.to_csv("{{ outputDir }}/clean_dataset.csv", index=False)

  - id: readFileFromPython
    type: io.kestra.plugin.scripts.shell.Commands
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    commands:
      - head -n 10 {{ outputs.clean_dataset.outputFiles['clean_dataset.csv'] }}

```

# definitions.io.kestra.plugin.scripts.r.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.r.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.r.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.r.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.r.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.r.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.r.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.r.Commands.title
Execute R scripts from the Command Line Interface.

# definitions.io.kestra.plugin.scripts.r.Commands.markdownDescription
##### Examples
> Create an R script, install required packages and execute it. Note that instead of defining the script inline, you could create the script as a dedicated R script in the embedded VS Code editor and point to its location by path. If you do so, make sure to enable namespace files by setting the `enabled` flag of the `namespaceFiles` property to `true`.
```yaml
id: r_commands
namespace: company.team

tasks:
  - id: r
    type: io.kestra.plugin.scripts.r.Commands
    inputFiles:
      main.R: |
        library(lubridate)
        ymd("20100604");
        mdy("06-04-2011");
        dmy("04/06/2012")
    beforeCommands:
      - Rscript -e 'install.packages("lubridate")'
    commands:
      - Rscript main.R

```

# definitions.io.kestra.plugin.scripts.r.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.r.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.r.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.r.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.r.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.r.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.r.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.r.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.r.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.r.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.r.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.r.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.r.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.r.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.r.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.r.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.r.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `Rscript main.R` or `python main.py`, use the corresponding `Commands` task for a given language instead.

# definitions.io.kestra.plugin.scripts.r.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.r.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.r.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.r.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.r.Script.markdownDescription
##### Examples
> Install a package and execute an R script
```yaml
script: |
  library(lubridate)
  ymd("20100604");
  mdy("06-04-2011");
  dmy("04/06/2012")
beforeCommands:
  - Rscript -e 'install.packages("lubridate")'
```

> Add an R script in the embedded VS Code editor, install required packages and execute it.

Here is an example R script that you can add in the embedded VS Code editor. You can name the script file `main.R`:

```r
library(dplyr)
library(arrow)

data(mtcars) # load mtcars data
print(head(mtcars))

final <- mtcars %>%
    summarise(
    avg_mpg = mean(mpg),
    avg_disp = mean(disp),
    avg_hp = mean(hp),
    avg_drat = mean(drat),
    avg_wt = mean(wt),
    avg_qsec = mean(qsec),
    avg_vs = mean(vs),
    avg_am = mean(am),
    avg_gear = mean(gear),
    avg_carb = mean(carb)
    )
final %>% print()
write.csv(final, "final.csv")

mtcars_clean <- na.omit(mtcars) # this line removes rows with NA values
write_parquet(mtcars_clean, "mtcars_clean.parquet")
```

Note that tasks in Kestra are stateless. Therefore, the files generated by a task, such as the CSV and Parquet files in the example above, are not persisted in Kestra's internal storage, unless you explicitly tell Kestra to do so. Make sure to add the `outputFiles` property to your task as shown below to persist the generated Parquet file (or any other file) in Kestra's internal storage and make them visible in the **Outputs** tab.

To access this output in downstream tasks, use the syntax `{{outputs.yourTaskId.outputFiles['yourFileName.fileExtension']}}`. Alternatively, you can wrap your tasks that need to pass data between each other in a `WorkingDirectory` task — this way, those tasks will share the same working directory and will be able to access the same files.

Note how we use the `read` function to read the content of the R script stored as a [Namespace File](https://kestra.io/docs/developer-guide/namespace-files).

Finally, note that the `docker` property is optional. If you don't specify it, Kestra will use the default R image. If you want to use a different image, you can specify it in the `docker` property as shown below.

```yaml
id: r_cars
namespace: company.team

tasks:
  - id: r
    type: io.kestra.plugin.scripts.r.Script
    warningOnStdErr: false
    containerImage: ghcr.io/kestra-io/rdata:latest
    script: "{{ read('main.R') }}"
    outputFiles:
      - "*.csv"
      - "*.parquet"

```

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.ruby.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.ruby.Commands.title
Execute a Ruby script from the Command Line Interface.

# definitions.io.kestra.plugin.scripts.ruby.Commands.markdownDescription
##### Examples
> Create a Ruby script and execute it. The easiest way to create a Ruby script is to use the embedded VS Code editor. Create a file named `main.rb` and paste the following code:

```ruby
require 'csv'
require 'json'

file = File.read('data.json')
data_hash = JSON.parse(file)

# Extract headers
headers = data_hash.first.keys

# Convert hashes to arrays
data = data_hash.map(&:values)

# Prepend headers to data
data.unshift(headers)

# Create and write data to CSV file
CSV.open('output.csv', 'wb') do |csv|
data.each { |row| csv << row }
end
```

In order to read that script from the [Namespace File](https://kestra.io/docs/developer-guide/namespace-files) called `main.rb`, you need to enable the `namespaceFiles` property. We include only `main.rb` as that is the only file we want from the `namespaceFiles`.

Also, note how we use the `inputFiles` option to read additional files into the script's working directory. In this case, we read the `data.json` file, which contains the data that we want to convert to CSV.

Finally, we use the `outputFiles` option to specify that we want to output the `output.csv` file that is generated by the script. This allows us to access the file in the UI's Output tab and download it, or pass it to other tasks.

```yaml
id: generate_csv
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.plugin.scripts.ruby.Commands
    namespaceFiles:
      enabled: true
      include:
        - main.rb
    inputFiles:
      data.json: |
        [
            {"Name": "Alice", "Age": 30, "City": "New York"},
            {"Name": "Bob", "Age": 22, "City": "Los Angeles"},
            {"Name": "Charlie", "Age": 35, "City": "Chicago"}
        ]
    beforeCommands:
      - ruby -v
    commands:
      - ruby main.rb
    outputFiles:
      - "*.csv"

```

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `bash myscript.sh` or `python myscript.py`, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.ruby.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.ruby.Script.markdownDescription
##### Examples
> Create a Ruby script and execute it. The easiest way to create a Ruby script is to use the embedded VS Code editor. Create a file named `main.rb` and paste the following code:

```ruby
require 'csv'
require 'json'

file = File.read('data.json')
data_hash = JSON.parse(file)

# Extract headers
headers = data_hash.first.keys

# Convert hashes to arrays
data = data_hash.map(&:values)

# Prepend headers to data
data.unshift(headers)

# Create and write data to CSV file
CSV.open('output.csv', 'wb') do |csv|
data.each { |row| csv << row }
end
```

In order to read that script from the [Namespace File](https://kestra.io/docs/developer-guide/namespace-files) called `main.rb`, you can leverage the `{{ read('main.rb') }}` function.

Also, note how we use the `inputFiles` option to read additional files into the script's working directory. In this case, we read the `data.json` file, which contains the data that we want to convert to CSV.

Finally, we use the `outputFiles` option to specify that we want to output the `output.csv` file that is generated by the script. This allows us to access the file in the UI's Output tab and download it, or pass it to other tasks.

```yaml
id: generate_csv
namespace: company.team

tasks:
  - id: bash
    type: io.kestra.plugin.scripts.ruby.Script
    inputFiles:
      data.json: |
        [
            {"Name": "Alice", "Age": 30, "City": "New York"},
            {"Name": "Bob", "Age": 22, "City": "Los Angeles"},
            {"Name": "Charlie", "Age": 35, "City": "Chicago"}
        ]
    beforeCommands:
      - ruby -v
    script: "{{ read('main.rb') }}"
    outputFiles:
      - "*.csv"

```

# definitions.io.kestra.plugin.scripts.runner.docker.Cpu.properties.cpus.title
The maximum amount of CPU resources a container can use.

# definitions.io.kestra.plugin.scripts.runner.docker.Cpu.properties.cpus.markdownDescription
Make sure to set that to a numeric value e.g. `cpus: "1.5"` or `cpus: "4"` or For instance, if the host machine has two CPUs and you set `cpus: "1.5"`, the container is guaranteed **at most** one and a half of the CPUs.

# definitions.io.kestra.plugin.scripts.runner.docker.Credentials.properties.auth.markdownDescription
The `auth` field is a base64-encoded authentication string of `username:password` or a token.

# definitions.io.kestra.plugin.scripts.runner.docker.Credentials.properties.registry.markdownDescription
If not defined, the registry will be extracted from the image name.

# definitions.io.kestra.plugin.scripts.runner.docker.Credentials.title
Credentials for a private container registry.

# definitions.io.kestra.plugin.scripts.runner.docker.DeviceRequest.properties.capabilities.title
A list of capabilities; an OR list of AND lists of capabilities.

# definitions.io.kestra.plugin.scripts.runner.docker.DeviceRequest.properties.options.title
Driver-specific options, specified as key/value pairs.

# definitions.io.kestra.plugin.scripts.runner.docker.DeviceRequest.properties.options.markdownDescription
These options are passed directly to the driver.

# definitions.io.kestra.plugin.scripts.runner.docker.DeviceRequest.title
A request for devices to be sent to device drivers.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.config.markdownDescription
Docker configuration file that can set access credentials to private container registries. Usually located in `~/.docker/config.json`.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.cpu.allOf[].title
Limits the CPU usage to a given maximum threshold value.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.cpu.allOf[].markdownDescription
By default, each container’s access to the host machine’s CPU cycles is unlimited. You can set various constraints to limit a given container’s access to the host machine’s CPU cycles.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.credentials.allOf[].title
Credentials for a private container registry.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.delete.title
Whether the container should be deleted upon completion.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.deviceRequests.title
A list of device requests to be sent to device drivers.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.entryPoint.markdownDescription
Default value is : `- ""`

Default value is : `- ""`

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.extraHosts.title
Extra hostname mappings to the container network interface configuration.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.fileHandlingStrategy.markdownDescription
How to handle local files (input files, output files, namespace files, ...).
By default, we create a volume and copy the file into the volume bind path.
Configuring it to `MOUNT` will mount the working directory instead.

Default value is : `VOLUME`

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.memory.allOf[].title
Limits memory usage to a given maximum threshold value.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.memory.allOf[].markdownDescription
Docker can enforce hard memory limits, which allow the container to use no more than a given amount of user or system memory, or soft limits, which allow the container to use as much memory as it needs unless certain conditions are met, such as when the kernel detects low memory or contention on the host machine. Some of these options have different effects when used alone or when more than one option is set.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.networkMode.title
Docker network mode to use e.g. `host`, `none`, etc.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.pullPolicy.allOf[].title
The image pull policy for a container image and the tag of the image, which affect when Docker attempts to pull (download) the specified image.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.pullPolicy.allOf[].markdownDescription
Use the `IF_NOT_PRESENT` pull policy to avoid pulling already existing images.
Use the `ALWAYS` pull policy to pull the latest version of an image
even if an image with the same tag already exists.

Default value is : `ALWAYS`

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.shmSize.markdownDescription
The size must be greater than 0. If omitted, the system uses 64MB.

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.properties.volumes.markdownDescription
Make sure to provide a map of a local path to a container path in the format: `/home/local/path:/app/container/path`.
Volume mounts are disabled by default for security reasons — if you are sure you want to use them,
enable that feature in the [plugin configuration](https://kestra.io/docs/configuration-guide/plugins)
by setting `volume-enabled` to `true`.

Here is how you can add that setting to your kestra configuration:
```yaml
kestra:
  plugins:
    configurations:
      - type: io.kestra.plugin.scripts.runner.docker.Docker
        values:
          volume-enabled: true
```

# definitions.io.kestra.plugin.scripts.runner.docker.Docker.markdownDescription
This task runner executes tasks in a container-based Docker-compatible engine.
Use the `containerImage` property to configure the image for the task.

To access the task's working directory, use the `{{workingDir}}` Pebble expression
or the `WORKING_DIR` environment variable.
Input files and namespace files added to the task will be accessible from that directory.

To generate output files, we recommend using the `outputFiles` task's property.
This allows you to explicitly define which files from the task's working directory
should be saved as output files.

Alternatively, when writing files in your task, you can leverage
the `{{outputDir}}` Pebble expression or the `OUTPUT_DIR` environment variable.
All files written to that directory will be saved as output files automatically.##### Examples
> Execute a Shell command.
```yaml
id: simple_shell_example
namespace: company.team

tasks:
  - id: shell
    type: io.kestra.plugin.scripts.shell.Commands
    taskRunner:
      type: io.kestra.plugin.scripts.runner.docker.Docker
    commands:
    - echo "Hello World"
```

> Pass input files to the task, execute a Shell command, then retrieve output files.
```yaml
id: shell_example_with_files
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: shell
    type: io.kestra.plugin.scripts.shell.Commands
    inputFiles:
      data.txt: "{{ inputs.file }}"
    outputFiles:
      - "*.txt"
    containerImage: centos
    taskRunner:
      type: io.kestra.plugin.scripts.runner.docker.Docker
    commands:
    - cp {{ workingDir }}/data.txt {{ workingDir }}/out.txt
```

> Run a Python script in Docker and allocate a specific amount of memory.
```yaml
id: allocate_memory_to_python_script
namespace: company.team

tasks:
  - id: script
    type: io.kestra.plugin.scripts.python.Script
    taskRunner:
      type: io.kestra.plugin.scripts.runner.docker.Docker
      pullPolicy: IF_NOT_PRESENT
      cpu:
        cpus: 1
      memory: 
        memory: "512Mb"
    containerImage: ghcr.io/kestra-io/kestrapy:latest
    script: |
      from kestra import Kestra
      
      data = dict(message="Hello from Kestra!")
      Kestra.outputs(data)
```

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.kernelMemory.title
The maximum amount of kernel memory the container can use.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.kernelMemory.markdownDescription
The minimum allowed value is `4MB`. Because kernel memory cannot be swapped out, a container which is starved of kernel memory may block host machine resources, which can have side effects on the host machine and on other containers. See the [kernel-memory docs](https://docs.docker.com/config/containers/resource_constraints/#--kernel-memory-details) for more details.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memory.title
The maximum amount of memory resources the container can use.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memory.markdownDescription
Make sure to use the format `number` + `unit` (regardless of the case) without any spaces.
The unit can be KB (kilobytes), MB (megabytes), GB (gigabytes), etc.

Given that it's case-insensitive, the following values are equivalent:
- `"512MB"`
- `"512Mb"`
- `"512mb"`
- `"512000KB"`
- `"0.5GB"`

It is recommended that you allocate at least `6MB`.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memoryReservation.title
Allows you to specify a soft limit smaller than `memory` which is activated when Docker detects contention or low memory on the host machine.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memoryReservation.markdownDescription
If you use `memoryReservation`, it must be set lower than `memory` for it to take precedence. Because it is a soft limit, it does not guarantee that the container doesn’t exceed the limit.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memorySwap.title
The total amount of `memory` and `swap` that can be used by a container.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memorySwap.markdownDescription
If `memory` and `memorySwap` are set to the same value, this prevents containers from using any swap. This is because `memorySwap` includes both the physical memory and swap space, while `memory` is only the amount of physical memory that can be used.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memorySwappiness.title
A setting which controls the likelihood of the kernel to swap memory pages.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.memorySwappiness.markdownDescription
By default, the host kernel can swap out a percentage of anonymous pages used by a container. You can set `memorySwappiness` to a value between 0 and 100 to tune this percentage.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.oomKillDisable.title
By default, if an out-of-memory (OOM) error occurs, the kernel kills processes in a container.

# definitions.io.kestra.plugin.scripts.runner.docker.Memory.properties.oomKillDisable.markdownDescription
To change this behavior, use the `oomKillDisable` option. Only disable the OOM killer on containers where you have also set the `memory` option. If the `memory` flag is not set, the host can run out of memory, and the kernel may need to kill the host system’s processes to free the memory.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.shell.Commands.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.shell.Commands.markdownDescription
##### Examples
> Execute ETL in Rust in a Docker container and output CSV files generated as a result of the script.
```yaml
id: rust_flow
namespace: company.team

tasks:
  - id: rust
    type: io.kestra.plugin.scripts.shell.Commands
    commands:
      - etl
    containerImage: ghcr.io/kestra-io/rust:latest
    outputFiles:
      - "*.csv"

```

> Execute a single Shell command.
```yaml
id: shell_single_command
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.scripts.shell.Commands
    commands:
      - 'echo "The current execution is: {{ execution.id }}"'

```

> Include only specific namespace files.
```yaml
id: include_files
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.scripts.shell.Commands
    description: "Only the included `namespaceFiles` get listed"
    namespaceFiles:
      enabled: true
      include:
        - test1.txt
        - test2.yaml
    commands:
      - ls

```

> Exclude specific namespace files.
```yaml
id: exclude_files
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.scripts.shell.Commands
    description: "All `namespaceFiles` except those that are excluded will be injected into the task's working directory"
    namespaceFiles:
      enabled: true
      exclude:
        - test1.txt
        - test2.yaml
    commands:
      - ls

```

> Execute Shell commands that generate files accessible by other tasks and available for download in the UI's Output tab.
```yaml
id: shell_generate_files
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.shell.Commands
    outputFiles:
      - first.txt
      - second.txt
    commands:
      - echo "1" >> first.txt
      - echo "2" >> second.txt

```

> Execute a Shell command using an input file generated in a previous task.
```yaml
id: use_input_file
namespace: company.team

tasks:
  - id: http_download
   type: io.kestra.plugin.core.http.Download
   uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/products.csv

 - id: commands
   type: io.kestra.plugin.scripts.shell.Commands
   commands:
     - cat {{ outputs.http_download.uri }}

```

> Run a PHP Docker container and execute a command.
```yaml
id: run_php_code
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.shell.Commands
    taskRunner:
      type: io.kestra.plugin.scripts.runner.docker.Docker
    containerImage: php
    commands:
      - php -r 'print(phpversion());'

```

> Create output variables from a standard output.
```yaml
id: create_output_variables
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.shell.Commands
    commands:
      - echo '::{"outputs":{"test":"value","int":2,"bool":true,"float":3.65}}::'

```

> Send a counter metric from a standard output.
```yaml
id: create_counter_metric
namespace: company.team

tasks:
  - id: commands
    type: io.kestra.plugin.scripts.shell.Commands
    commands:
      - echo '::{"metrics":[{"name":"count","type":"counter","value":1,"tags":{"tag1":"i","tag2":"win"}}]}::'

```

# definitions.io.kestra.plugin.scripts.shell.Script.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.shell.Script.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.scripts.shell.Script.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.scripts.shell.Script.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.scripts.shell.Script.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.scripts.shell.Script.properties.script.title
The inline script content. This property is intended for the script file's content as a (multiline) string, not a path to a file. To run a command from a file such as `bash myscript.sh` or `python myscript.py`, use the `Commands` task instead.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.scripts.shell.Script.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.scripts.shell.Script.markdownDescription
##### Examples
> Create an inline Shell script and execute it.
```yaml
id: shell_script_example
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv

  - id: shell_script_task
    type: io.kestra.plugin.scripts.shell.Script
    outputFiles:
      - first.txt
    script: |
      echo "The current execution is : {{ execution.id }}"
      echo "1" >> first.txt
      cat {{ outputs.http_download.uri }}
```

> If you want to generate files in your script to make them available for download and use in downstream tasks, you can leverage the `{{ outputDir }}` variable. Files stored in that directory will be persisted in Kestra's internal storage. To access this output in downstream tasks, use the syntax `{{ outputs.yourTaskId.outputFiles['yourFileName.fileExtension'] }}`.

```yaml
id: shell_script_example
namespace: company.team

tasks:
  - id: hello
    type: io.kestra.plugin.scripts.shell.Script
    taskRunner:
      type: io.kestra.plugin.core.runner.Process
    outputFiles:
      - hello.txt
    script: |
      echo "Hello world!" > hello.txt
```

# definitions.io.kestra.plugin.serdes.avro.AvroToIon.title
Read a provided avro file and convert it to ion serialized data file.

# definitions.io.kestra.plugin.serdes.avro.AvroToIon.markdownDescription
##### Examples
> Convert an Avro file to the Amazon Ion format.
```yaml
id: avro_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/avro/products.avro

  - id: to_ion
    type: io.kestra.plugin.serdes.avro.AvroToIon
    from: "{{ outputs.http_download.uri }}"

```

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.decimalSeparator.title
Character to recognize as decimal point (e.g. use ‘,’ for European data).

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.decimalSeparator.markdownDescription
Default value is '.'

Default value is : `.`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.falseValues.markdownDescription
Default value is : `- f
- "false"
- disabled
- 0
- "off"
- "no"
- ""`

Default value is : `- f
- "false"
- disabled
- 0
- "off"
- "no"
- ""`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.inferAllFields.markdownDescription
If true, we try to infer all fields with `trueValues`, `trueValues` & `nullValues`.If false, we will infer bool & null only on field declared on schema as `null` and `bool`.

Default value is : `false`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.strictSchema.title
Whether to consider a field present in the data but not declared in the schema as an error

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.strictSchema.markdownDescription
Default value is false

Default value is : `false`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.timeFormat.markdownDescription
Default value is : `"HH:mm[:ss][.SSSSSS][XXX]"`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.timeZoneId.title
Timezone to use when no timezone can be parsed on the source.

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.timeZoneId.markdownDescription
If null, the timezone will be `UTC` Default value is system timezone

Default value is : `Etc/UTC`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.properties.trueValues.markdownDescription
Default value is : `- t
- "true"
- enabled
- 1
- "on"
- "yes"`

Default value is : `- t
- "true"
- enabled
- 1
- "on"
- "yes"`

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.title
Read a provided file containing ion serialized data and convert it to avro.

# definitions.io.kestra.plugin.serdes.avro.IonToAvro.markdownDescription
##### Examples
> Convert a CSV file to the Avro format.
```yaml
id: divvy_tripdata
namespace: company.team

variables:
  file_id: "{{ execution.startDate | dateAdd(-3, 'MONTHS') | date('yyyyMM') }}"

tasks:
  - id: get_zipfile
    type: io.kestra.plugin.core.http.Download
    uri: "https://divvy-tripdata.s3.amazonaws.com/{{ render(vars.file_id) }}-divvy-tripdata.zip"

  - id: unzip
    type: io.kestra.plugin.compress.ArchiveDecompress
    algorithm: ZIP
    from: "{{ outputs.get_zipfile.uri }}"

  - id: convert
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.unzip.files[render(vars.file_id) ~ '-divvy-tripdata.csv'] }}"

  - id: to_avro
    type: io.kestra.plugin.serdes.avro.IonToAvro
    from: "{{ outputs.convert.uri }}"
    datetimeFormat: "yyyy-MM-dd' 'HH:mm:ss"
    schema: |
      {
        "type": "record",
        "name": "Ride",
        "namespace": "com.example.bikeshare",
        "fields": [
          {"name": "ride_id", "type": "string"},
          {"name": "rideable_type", "type": "string"},
          {"name": "started_at", "type": {"type": "long", "logicalType": "timestamp-millis"}},
          {"name": "ended_at", "type": {"type": "long", "logicalType": "timestamp-millis"}},
          {"name": "start_station_name", "type": "string"},
          {"name": "start_station_id", "type": "string"},
          {"name": "end_station_name", "type": "string"},
          {"name": "end_station_id", "type": "string"},
          {"name": "start_lat", "type": "double"},
          {"name": "start_lng", "type": "double"},
          {
            "name": "end_lat",
            "type": ["null", "double"],
            "default": null
          },
          {
            "name": "end_lng",
            "type": ["null", "double"],
            "default": null
          },
          {"name": "member_casual", "type": "string"}
        ]
      }
```

# definitions.io.kestra.plugin.serdes.csv.CsvToIon.properties.errorOnDifferentFieldCount.title
Specifies if an exception should be thrown, if CSV data contains different field count

# definitions.io.kestra.plugin.serdes.csv.CsvToIon.properties.header.title
Specifies if the first line should be the header

# definitions.io.kestra.plugin.serdes.csv.CsvToIon.properties.skipEmptyRows.title
Specifies if empty rows should be skipped

# definitions.io.kestra.plugin.serdes.csv.CsvToIon.properties.skipRows.title
Number of lines to skip at the start of the file

# definitions.io.kestra.plugin.serdes.csv.CsvToIon.title
Read a csv file and write it to an ion serialized data file.

# definitions.io.kestra.plugin.serdes.csv.CsvToIon.markdownDescription
##### Examples
> Convert a CSV file to the Amazon Ion format.
```yaml
id: csv_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/products.csv

  - id: to_ion
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.http_download.uri }}"

```

# definitions.io.kestra.plugin.serdes.csv.IonToCsv.properties.alwaysDelimitText.title
Whether fields should always be delimited using the textDelimiter option.

# definitions.io.kestra.plugin.serdes.csv.IonToCsv.properties.header.title
Specifies if the first line should be the header

# definitions.io.kestra.plugin.serdes.csv.IonToCsv.properties.timeZoneId.title
Timezone to use when no timezone can be parsed on the source.

# definitions.io.kestra.plugin.serdes.csv.IonToCsv.title
Read an ion serialized data file and write it to a csv file.

# definitions.io.kestra.plugin.serdes.csv.IonToCsv.markdownDescription
##### Examples
> Download a CSV file, transform it in SQL and store the transformed data as a CSV file.
```yaml
id: ion_to_csv
namespace: company.team

tasks:
  - id: download_csv
    type: io.kestra.plugin.core.http.Download
    description: salaries of data professionals from 2020 to 2023 (source ai-jobs.net)
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/salaries.csv

  - id: avg_salary_by_job_title
    type: io.kestra.plugin.jdbc.duckdb.Query
    inputFiles:
      data.csv: "{{ outputs.download_csv.uri }}"
    sql: |
      SELECT
        job_title,
        ROUND(AVG(salary),2) AS avg_salary
      FROM read_csv_auto('{{ workingDir }}/data.csv', header=True)
      GROUP BY job_title
      HAVING COUNT(job_title) > 10
      ORDER BY avg_salary DESC;
    store: true

  - id: result
    type: io.kestra.plugin.serdes.csv.IonToCsv
    from: "{{ outputs.avg_salary_by_job_title.uri }}"

```

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.dateTimeRender.title
How dates, times, and durations should be represented in the output

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.dateTimeRender.markdownDescription
Possible values: SERIAL_NUMBER, FORMATTED_STRING

Default value is : `UNFORMATTED_VALUE`

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.header.title
Whether the first row should be treated as the header

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.skipEmptyRows.title
Specifies if empty rows should be skipped

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.skipRows.title
Number of lines to skip at the start of the file. Useful if a table has a title and explanation in the first few rows

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.valueRender.title
Determines how values should be rendered in the output

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.properties.valueRender.markdownDescription
Possible values: FORMATTED_VALUE, UNFORMATTED_VALUE, FORMULA

Default value is : `UNFORMATTED_VALUE`

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.title
Read data from Excel into a row-wise ION-serialized format

# definitions.io.kestra.plugin.serdes.excel.ExcelToIon.markdownDescription
##### Examples
> Convert an Excel file to the Ion format.
```yaml
id: excel_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/excel/Products.xlsx

  - id: to_ion
    type: io.kestra.plugin.serdes.excel.ExcelToIon
    from: "{{ outputs.http_download.uri }}"

```

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.properties.header.title
Whether header should be written as the first line

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.properties.sheetsTitle.title
The sheet title to be used when writing data to an Excel spreadsheet

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.properties.styles.title
Whether styles should be applied to format values

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.properties.styles.markdownDescription
Excel is limited to 64000 styles per document, and styles are applied on every date, removed this options when you have a lots of values.

Default value is : `true`

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.properties.timeZoneId.title
Timezone to use when no timezone can be parsed on the source.

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.title
Read an ION-serialized file and transform it to an Excel file

# definitions.io.kestra.plugin.serdes.excel.IonToExcel.markdownDescription
##### Examples
> Download a CSV file and convert it to the Excel file format.
```yaml
id: ion_to_excel
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/products.csv

  - id: convert
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.http_download.uri }}"

  - id: to_excel
    type: io.kestra.plugin.serdes.excel.IonToExcel
    from: "{{ outputs.convert.uri }}"

```

> Download CSV files and convert them into an Excel file with dedicated sheets.
```yaml
id: excel
namespace: company.team

tasks:
  - id: dataset1
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/products.csv

  - id: dataset2
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/fruit.csv

  - id: convert1
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.dataset1.uri }}"

  - id: convert2
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.dataset2.uri }}"

  - id: write
    type: io.kestra.plugin.serdes.excel.IonToExcel
    from:
      Sheet_1: "{{ outputs.convert1.uri }}"
      Sheet_2: "{{ outputs.convert2.uri }}"

```

# definitions.io.kestra.plugin.serdes.json.IonToJson.properties.charset.markdownDescription
Default value is UTF-8.

Default value is : `UTF-8`

# definitions.io.kestra.plugin.serdes.json.IonToJson.properties.newLine.title
Is the file is a json new line (JSON-NL)

# definitions.io.kestra.plugin.serdes.json.IonToJson.properties.newLine.markdownDescription
Is the file is a json with new line separator
Warning, if not, the whole file will loaded in memory and can lead to out of memory!

Default value is : `true`

# definitions.io.kestra.plugin.serdes.json.IonToJson.properties.timeZoneId.title
Timezone to use when no timezone can be parsed on the source.

# definitions.io.kestra.plugin.serdes.json.IonToJson.title
Read an ion serialized data file and write it to a new line delimited json file.

# definitions.io.kestra.plugin.serdes.json.IonToJson.markdownDescription
##### Examples
> Download a CSV file and convert it to a JSON format.
```yaml
id: ion_to_json
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/products.csv

  - id: convert
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ outputs.http_download.uri }}"

  - id: to_json
    type: io.kestra.plugin.serdes.json.IonToJson
    from: "{{ outputs.convert.uri }}"

```

# definitions.io.kestra.plugin.serdes.json.JsonToIon.properties.charset.markdownDescription
Default value is UTF-8.

Default value is : `UTF-8`

# definitions.io.kestra.plugin.serdes.json.JsonToIon.properties.newLine.title
Is the file is a json new line (JSON-NL)

# definitions.io.kestra.plugin.serdes.json.JsonToIon.properties.newLine.markdownDescription
Is the file is a json with new line separator
Warning, if not, the whole file will loaded in memory and can lead to out of memory!

Default value is : `true`

# definitions.io.kestra.plugin.serdes.json.JsonToIon.title
Read a JSON file and write it to an ION serialized data file.

# definitions.io.kestra.plugin.serdes.json.JsonToIon.markdownDescription
Please note that we support JSONL format only, i.e. one JSON dictionary/map per line.

Here is how a sample JSON file content might look like:
```
{"product_id":"1","product_name":"streamline turn-key systems","product_category":"Electronics","brand":"gomez"},
{"product_id":"2","product_name":"morph viral applications","product_category":"Household","brand":"wolfe"},
{"product_id":"3","product_name":"expedite front-end schemas","product_category":"Household","brand":"davis-martinez"}
```

We do NOT support an array of JSON objects. A JSON file in the following array format is not supported:
```
[
    {"product_id":"1","product_name":"streamline turn-key systems","product_category":"Electronics","brand":"gomez"},
    {"product_id":"2","product_name":"morph viral applications","product_category":"Household","brand":"wolfe"},
    {"product_id":"3","product_name":"expedite front-end schemas","product_category":"Household","brand":"davis-martinez"}
]
```
##### Examples
> Convert a JSON file to the Amazon Ion format.
```yaml
id: json_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/json/products.json

  - id: to_ion
    type: io.kestra.plugin.serdes.json.JsonToIon
    from: "{{ outputs.http_download.uri }}"

```

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.decimalSeparator.title
Character to recognize as decimal point (e.g. use ‘,’ for European data).

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.decimalSeparator.markdownDescription
Default value is '.'

Default value is : `.`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.falseValues.markdownDescription
Default value is : `- f
- "false"
- disabled
- 0
- "off"
- "no"
- ""`

Default value is : `- f
- "false"
- disabled
- 0
- "off"
- "no"
- ""`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.inferAllFields.markdownDescription
If true, we try to infer all fields with `trueValues`, `trueValues` & `nullValues`.If false, we will infer bool & null only on field declared on schema as `null` and `bool`.

Default value is : `false`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.strictSchema.title
Whether to consider a field present in the data but not declared in the schema as an error

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.strictSchema.markdownDescription
Default value is false

Default value is : `false`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.timeFormat.markdownDescription
Default value is : `"HH:mm[:ss][.SSSSSS][XXX]"`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.timeZoneId.title
Timezone to use when no timezone can be parsed on the source.

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.timeZoneId.markdownDescription
If null, the timezone will be `UTC` Default value is system timezone

Default value is : `Etc/UTC`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.properties.trueValues.markdownDescription
Default value is : `- t
- "true"
- enabled
- 1
- "on"
- "yes"`

Default value is : `- t
- "true"
- enabled
- 1
- "on"
- "yes"`

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.title
Read a provided file containing ion serialized data and convert it to parquet.

# definitions.io.kestra.plugin.serdes.parquet.IonToParquet.markdownDescription
##### Examples
> Read a CSV file, transform it and store the transformed data as a parquet file.
```yaml
id: ion_to_parquet
namespace: company.team

tasks:
  - id: download_csv
    type: io.kestra.plugin.core.http.Download
    description: salaries of data professionals from 2020 to 2023 (source ai-jobs.net)
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/salaries.csv

  - id: avg_salary_by_job_title
    type: io.kestra.plugin.jdbc.duckdb.Query
    inputFiles:
      data.csv: "{{ outputs.download_csv.uri }}"
    sql: |
      SELECT
        job_title,
        ROUND(AVG(salary),2) AS avg_salary
      FROM read_csv_auto('{{ workingDir }}/data.csv', header=True)
      GROUP BY job_title
      HAVING COUNT(job_title) > 10
      ORDER BY avg_salary DESC;
    store: true

  - id: result
    type: io.kestra.plugin.serdes.parquet.IonToParquet
    from: "{{ outputs.avg_salary_by_job_title.uri }}"
    schema: |
      {
        "type": "record",
        "name": "Salary",
        "namespace": "com.example.salary",
        "fields": [
          {"name": "job_title", "type": "string"},
          {"name": "avg_salary", "type": "double"}
        ]
      }

```

# definitions.io.kestra.plugin.serdes.parquet.ParquetToIon.title
Read a provided parquet file and convert it to ion serialized data file.

# definitions.io.kestra.plugin.serdes.parquet.ParquetToIon.markdownDescription
##### Examples
> Convert a parquet file to the Amazon Ion format.
```yaml
id: parquet_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/parquet/products.parquet

  - id: to_ion
    type: io.kestra.plugin.serdes.parquet.ParquetToIon
    from: "{{ outputs.http_download.uri }}"

```

# definitions.io.kestra.plugin.serdes.xml.IonToXml.properties.charset.markdownDescription
Default value is UTF-8.

Default value is : `UTF-8`

# definitions.io.kestra.plugin.serdes.xml.IonToXml.properties.timeZoneId.title
Timezone to use when no timezone can be parsed on the source.

# definitions.io.kestra.plugin.serdes.xml.IonToXml.title
Read an ion serialized data file and write it to a XML file.

# definitions.io.kestra.plugin.serdes.xml.IonToXml.markdownDescription
##### Examples
> Read a CSV file, transform it and store the transformed data as an XML file.
```yaml
id: ion_to_xml
namespace: company.team

tasks:
  - id: download_csv
    type: io.kestra.plugin.core.http.Download
    description: salaries of data professionals from 2020 to 2023 (source ai-jobs.net)
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/salaries.csv

  - id: avg_salary_by_job_title
    type: io.kestra.plugin.jdbc.duckdb.Query
    inputFiles:
      data.csv: "{{ outputs.download_csv.uri }}"
    sql: |
      SELECT
        job_title,
        ROUND(AVG(salary),2) AS avg_salary
      FROM read_csv_auto('{{ workingDir }}/data.csv', header=True)
      GROUP BY job_title
      HAVING COUNT(job_title) > 10
      ORDER BY avg_salary DESC;
    store: true

  - id: result
    type: io.kestra.plugin.serdes.xml.IonToXml
    from: "{{ outputs.avg_salary_by_job_title.uri }}"

```

# definitions.io.kestra.plugin.serdes.xml.XmlToIon.properties.charset.markdownDescription
Default value is UTF-8.

Default value is : `UTF-8`

# definitions.io.kestra.plugin.serdes.xml.XmlToIon.title
Read a XML file and write it to an ion serialized data file.

# definitions.io.kestra.plugin.serdes.xml.XmlToIon.markdownDescription
##### Examples
> Convert an XML file to the Amazon Ion format.
```yaml
id: xml_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/xml/products.xml

  - id: to_ion
    type: io.kestra.plugin.serdes.xml.XmlToIon
    from: "{{ outputs.http_download.uri }}"

```

# definitions.io.kestra.plugin.serdes.xml.XmlToIon-ParserConfiguration.properties.forceList.title
List of XML tags that must be parsed as lists.

# definitions.io.kestra.plugin.servicenow.Post.properties.domain.markdownDescription
Will be used to generate the url: `https://[[DOMAIN]].service-now.com/`

# definitions.io.kestra.plugin.servicenow.Post.markdownDescription
##### Examples
> Create an incident.
```yaml
id: servicenow_post
namespace: company.team

tasks:
  - id: post
    type: io.kestra.plugin.servicenow.Post
    domain: "snow_domain"
    username: "snow_username"
    password: "snow_password"
    clientId: "snow_client_id"
    clientSecret: "snow_client_secret"
    table: incident
    data:
      short_description: "API Create Incident..."
      requester_id: f8266e2adb16fb00fa638a3a489619d2
      requester_for_id: a7ec77cbdefac300d322d182689619dc
      product_id: 01a2e3c1db15f340d329d18c689ed922

```

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.endDateTime.title
Date up to when historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.limit.title
Limits the number of records returned in each stream, applied as a limit in the query.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.startAlwaysInclusive.title
When replicating incrementally, disable to only select records whose `datetime_key` is greater than the maximum value replicated in the last run, by excluding records whose timestamps match exactly.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.startAlwaysInclusive.markdownDescription
This could cause records to be missed that were created after the last run finished, but during the same second and with the same timestamp.

Default value is : `true`

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.startDateTime.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.startDateTime.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.streams.title
Array holding objects describing streams (tables) to extract, with `name`, `table`, `columns`, `datetime_key`, and `filters` keys.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.BigQuery.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.BigQuery.title
A Singer tap to fetch data from a BigQuery.

# definitions.io.kestra.plugin.singer.taps.BigQuery-Stream.properties.filters.markdownDescription
filters are optional but we strongly recommend using this over a large partitioned table to control the cost.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.developerToken.title
Your developer token for Bing Ads application.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.refreshToken.title
The Refresh Token generated through the OAuth flow run using your OAuth Client and your Developer Token.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.BingAds.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.BingAds.title
A Singer tap to fetch data from Bing Ads.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.ChargeBee.title
A Singer tap to fetch data from a ChargeBee account.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.base.title
The exchange rates currency used for conversion.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.endDate.title
Date up to when historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.ExchangeRateHost.title
A Singer tap to fetch data from a exchangerate.host API.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.accessToken.title
User Token generated by Facebook OAuth handshake.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.endDate.title
Date up to when historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.insightsBufferDays.title
How many Days before the Start Date to fetch Ads Insights for.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.FacebookAds.title
A Singer tap to fetch data from a Facebook Ads.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Fastly.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Fastly.title
A Singer tap to fetch data from a Fastly account.

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.configs.markdownDescription
Will be save on config.json and used as arguments

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.features.title
The list of feature the connector supports.

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.features.markdownDescription
Default value is : `- PROPERTIES
- DISCOVER
- STATE`

Default value is : `- PROPERTIES
- DISCOVER
- STATE`

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GenericTap.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.accessToken.markdownDescription
Login to your GitHub account, go to the [Personal Access Tokens](https://github.com/settings/tokens) settings page, and generate a new token with at least the `repo` scope.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.repositories.markdownDescription
The repo path is relative to https://github.com/. 
For example the path for [this repository](https://github.com/kestra-io/kestra) is `kestra-io/kestra`.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GitHub.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GitHub.title
A Singer tap to fetch data from a GitHub API.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.apiUrl.markdownDescription
When an API path is omitted, `/api/v4/` is assumed.

Default value is : `https://gitlab.com`

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.fetchMergeRequestCommits.title
For each Merge Request, also fetch the MR's commits and create the join table `merge_request_commits` with the Merge Request and related Commit IDs.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.fetchMergeRequestCommits.markdownDescription
This can slow down extraction considerably because of the many API calls required.

Default value is : `false`

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.fetchPipelinesExtended.title
For every Pipeline, also fetch extended details of each of these pipelines.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.fetchPipelinesExtended.markdownDescription
This can slow down extraction considerably because of the many API calls required.

Default value is : `false`

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.groups.markdownDescription
Leave empty and provide a project name if you'd like to pull data from a project in a personal user namespace.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.private_token.title
GitLab personal access token or other API token.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.projects.title
`namespace/project` paths of projects to extract data from.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.projects.markdownDescription
Leave empty and provide a group name to extract data from all group projects.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Gitlab.properties.ultimateLicense.title
Enable to pull in extra data (like Epics, Epic Issues and other entities) only available to GitLab Ultimate and GitLab.com Gold accounts.

# definitions.io.kestra.plugin.singer.taps.Gitlab.title
A Singer tap to fetch data from a GitLab account.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.conversionWindowDays.title
How many Days before the Start Date to fetch data for Performance Reports.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.customerIds.title
A list of Ad Account IDs to replicate data from.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.developerToken.title
Your developer token for Google AdWord application.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.endDate.title
Date up to when historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.primaryKeys.title
Primary Keys for the selected Entities (Streams).

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.refreshToken.title
The Refresh Token generated through the OAuth flow run using your OAuth Client and your developer token.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.properties.userAgent.markdownDescription
Default value is : `tap-adwords via Kestra`

# definitions.io.kestra.plugin.singer.taps.GoogleAdwords.title
A Singer tap to fetch data from Google Adwords.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.endDate.title
Date up to when historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GoogleAnalytics.title
A Singer tap to fetch data from from the Google Analytics Reporting API.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.refreshToken.title
The Refresh Token generated through the OAuth flow run using your OAuth Client and your developer token.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.siteUrls.markdownDescription
Do not include the domain-level property in the list.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.properties.userAgent.markdownDescription
Default value is : `tap-google-search-console via Kestra`

# definitions.io.kestra.plugin.singer.taps.GoogleSearchConsole.title
A Singer tap to fetch data from the Google Search console.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.flatteningEnabled.title
To enable schema flattening and automatically expand nested properties.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.streamMapConfig.title
User-defined config values to be used within map expressions.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.streamMaps.title
List Config object for stream maps capability.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.HubSpot.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.HubSpot.title
A Singer tap to fetch data from a HubSpot API.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.endpoint.markdownDescription
The base URL contains the account id (a.k.a. Munchkin id) and is therefore unique for each Marketo subscription. Your base URL is found by logging into Marketo and navigating to the Admin > Integration > Web Services menu. It is labeled as “Endpoint:” underneath the “REST API” section as shown in the following screenshots.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Marketo.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Marketo.title
A Singer tap to fetch data from a Marketo account.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.accountId.markdownDescription
This can be found under Setup -> Company -> Company Information. Look for Account Id. Note `_SB` is for Sandbox account.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.consumerKey.title
Your consumer key for token based authentication consumer key for SOAP connection.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.consumerSecret.title
Your consumer secret for token based authentication consumer key for SOAP connection.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.isSandbox.markdownDescription
This should always be set to `true` if you are connecting Production account of NetSuite. Set it to `false` if you want to connect to SandBox account.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.selectFieldsByDefault.title
Behaviour when new fields are discovered.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.selectFieldsByDefault.markdownDescription
When new fields are discovered in NetSuite objects, the select_fields_by_default key describes whether or not the tap will select those fields by default.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.tokenKey.title
Your token key for token based authentication consumer key for SOAP connection.

# definitions.io.kestra.plugin.singer.taps.Netsuite.properties.tokenSecret.title
our token secret for token based authentication consumer key for SOAP connection.

# definitions.io.kestra.plugin.singer.taps.Netsuite.title
A Singer tap to fetch data from a Netsuite account.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.awaitTimeMs.title
The maximum amount of time in milliseconds waits for new data changes before exiting.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.awaitTimeMs.markdownDescription
For LOG_BASED only.

Default value is : `1000`

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.includeSchemaInStream.title
Forces the stream names to take the form `<database_name>_<collection_name>` instead of `<collection_name>`.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.updateBufferSize.title
The size of the buffer that holds detected update operations in memory.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.properties.updateBufferSize.markdownDescription
For LOG_BASED only, the buffer is flushed once the size is reached.

Default value is : `1`

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMongoDb.title
A Singer tap to fetch data from a MongoDB database.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.exportBatchRows.title
Number of rows to export from MySQL in one batch.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.filterDbs.title
The list of schemas to extract tables only from particular schemas and to improve data extraction performance.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.sessionSqls.title
List of SQL commands to run when a connection made. This allows to set session variables dynamically, like timeouts or charsets.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.sessionSqls.markdownDescription
Default value is : `- SET @@session.time_zone="+0:00"
- SET @@session.wait_timeout=28800
- SET @@session.net_read_timeout=3600
- SET @@session.innodb_lock_wait_timeout=3600`

Default value is : `- SET @@session.time_zone="+0:00"
- SET @@session.wait_timeout=28800
- SET @@session.net_read_timeout=3600
- SET @@session.innodb_lock_wait_timeout=3600`

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.title
A Singer tap to fetch data from a MySQL database.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseMysql.markdownDescription
Full documentation can be found [here](https://transferwise.github.io/pipelinewise/connectors/taps/mysql.html)##### Examples
> 
```yaml
host: 127.0.0.1
username: root
password: mysql_passwd
port: 63306
streamsConfigurations:
  - stream: Category
    replicationMethod: INCREMENTAL
    replicationKeys: categoryId
    selected: true
  - propertiesPattern:
      - description
    selected: false
```

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.title
A Singer tap to fetch data from a Oracle database.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseOracle.markdownDescription
Full documentation can be found [here](https://github.com/transferwise/pipelinewise-tap-oracle)##### Examples
> 
```yaml
host: 127.0.0.1
username: oracle
password: oracle_passwd
port: 63306
sid: ORCL
streamsConfigurations:
  - stream: Category
    replicationMethod: INCREMENTAL
    replicationKeys: categoryId
    selected: true
  - propertiesPattern:
      - description
    selected: false
```

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.breakAtEndLsn.title
Stop running the tap if the newly received lsn is after the max lsn that was detected when the tap started.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.debugLsn.title
If set to "true" then add _sdc_lsn property to the singer messages to debug postgres LSN position in the WAL stream.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.filterSchemas.title
The list of schemas to extract tables only from particular schemas and to improve data extraction performance

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.logicalPollSeconds.title
Stop running the tap when no data received from wal after certain number of seconds.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.maxRunSeconds.title
Stop running the tap after certain number of seconds.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewisePostgres.title
A Singer tap to fetch data from a Postgres database.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.characterSet.title
The characterset for the database / source system. The default is utf8, however older databases might use a charactersets like cp1252 for the encoding.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.cursorArraySize.title
A numeric setting adjusting the internal buffersize for the tap (default 10000).

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.cursorArraySize.markdownDescription
The common query tuning scenario is for SELECT statements that return a large number of rows over a slow network. Increasing arraysize can improve performance by reducing the number of round-trips to the database. However increasing this value increases the amount of memory required.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.filterDbs.title
The list of schemas to extract tables only from particular schemas and to improve data extraction performance.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.tdsVersion.title
TDS version to use when communicating with SQL Server (default is 7.3).

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.useDateDatatype.title
Emit Date datatypes as-is without converting them to datetime.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.useSingerDecimal.title
Emit all numeric values as strings and treat floats as string data types for the target (default false).

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.properties.useSingerDecimal.markdownDescription
When true, the resulting SCHEMA message will contain an attribute in additionalProperties containing the scale and precision of the discovered property.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.title
A Singer tap to fetch data from a Microsoft SQL Server database.

# definitions.io.kestra.plugin.singer.taps.PipelinewiseSqlServer.markdownDescription
Full documentation can be found [here](https://github.com/BuzzCutNorman/tap-mssql/blob/main/README.md)##### Examples
> 
```yaml
host: 127.0.0.1
username: SA
password: sqlserver_passwd
port: 57037
filterDbs: dbo
streamsConfigurations:
  - stream: Categories
    replicationMethod: INCREMENTAL
    replicationKeys: CategoryID
    selected: true
  - propertiesPattern:
      - Description
    selected: false
```

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.isSandbox.title
Select by default any new fields discovered in Quickbooks objects.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.selectFieldsByDefault.title
Select by default any new fields discovered in Quickbooks objects.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.stateMessageThreshold.title
Generate a STATE message every N records.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Quickbooks.title
A Singer tap to fetch data from a Quickbooks account.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Recharge.properties.userAgent.markdownDescription
User agent to send to ReCharge along with API requests. Typically includes name of integration and an email address you can be reached at.

# definitions.io.kestra.plugin.singer.taps.Recharge.title
A Singer tap to fetch data from a Recharge account.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.SageIntacct.title
A Singer tap to fetch data from a Sage Intacct account.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.apiType.title
This is used to switch the behavior of the tap between using Salesforce's `REST` and `BULK` APIs.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.isSandbox.title
Select by default any new fields discovered in Salesforce objects.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.selectFieldsByDefault.title
Select by default any new fields discovered in Salesforce objects.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.stateMessageThreshold.title
Generate a STATE message every N records.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Salesforce.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Salesforce.title
A Singer tap to fetch data from a Salesforce account.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Shopify.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Shopify.title
A Singer tap to fetch data from a Shopify account.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.apiToken.markdownDescription
More details on Slack Access Tokens can be found [here](https://slack.dev/python-slack-sdk/installation/).

# definitions.io.kestra.plugin.singer.taps.Slack.properties.archivedChannels.markdownDescription
Specifies whether the tap will sync archived channels or not. Note that a bot cannot join an archived channel, so unless the bot was added to the channel prior to it being archived it will not be able to sync the data from that channel.

Default value is : `false`

# definitions.io.kestra.plugin.singer.taps.Slack.properties.channels.markdownDescription
By default the tap will sync all channels it has been invited to, but this can be overridden to limit it to specific channels. Note this needs to be channel ID, not the name, as recommended by the Slack API. To get the ID for a channel, either use the Slack API or find it in the URL.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.dateWindowSize.markdownDescription
Due to the potentially high volume of data when syncing certain streams (messages, files, threads) this tap implements date windowing based on a configuration parameter.5 means the tap to sync 5 days of data per request, for applicable streams.

Default value is : `7`

# definitions.io.kestra.plugin.singer.taps.Slack.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.privateChannels.markdownDescription
Specifies whether to sync private channels or not.

Default value is : `true`

# definitions.io.kestra.plugin.singer.taps.Slack.properties.publicChannels.markdownDescription
Specifies whether to have the tap auto-join all public channels in your ogranziation.

Default value is : `false`

# definitions.io.kestra.plugin.singer.taps.Slack.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Slack.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Stripe.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Stripe.title
A Singer tap to fetch data from a Stripe account.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.startDate.title
Determines how much historical data will be extracted.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.startDate.markdownDescription
Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Zendesk.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Zendesk.title
A Singer tap to fetch data from a Zendesk account.

# definitions.io.kestra.plugin.singer.taps.Zoom.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.taps.Zoom.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.taps.Zoom.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.taps.Zoom.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Zoom.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.taps.Zoom.title
A Singer tap to fetch data from a Zoom account.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.addMetadataColumns.markdownDescription
Add `_time_extracted` and `_time_loaded` metadata columns.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.mergeStateMessages.markdownDescription
default: merges multiple state messages from the tap into the state file, if true : uses the last state message as the state file.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.replicationMethod.title
The replication method, `append` or `truncate`.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.validateRecords.title
Validate every single record message to the corresponding JSON schema.

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.properties.validateRecords.markdownDescription
This option is disabled by default and invalid RECORD messages will fail only at load time by Postgres. Enabling this option will detect invalid records earlier but could cause performance degradation..

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.AdswerveBigQuery.title
A Singer target loads data into a BigQuery.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.delimiter.title
A one-character string used to separate fields.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.quoteCharacters.title
A one-character string used to quote fields containing special characters, such as the delimiter or quotechar, or which contain new-line characters.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Csv.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Csv.title
A Singer target loads data into a CSV Files.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.addUpsertIndexes.title
Whether the Target should create column indexes on the important columns used during data loading.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.addUpsertIndexes.markdownDescription
These indexes will make data loading slightly slower but the deduplication phase much faster. Defaults to on for better baseline performance.

Default value is : `true`

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.afterRunSql.title
Raw SQL statement(s) to before closing the connection to Postgres.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.batchDetectionThreshold.title
How often, in rows received, to count the buffered rows and bytes to check if a flush is necessary.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.batchDetectionThreshold.markdownDescription
There's a slight performance penalty to checking the buffered records count or bytesize, so this controls how often this is polled in order to mitigate the penalty. This value is usually not necessary to set as the default is dynamically adjusted to check reasonably often. 

Default is 5000, or 1/40th `maxBatchRows`

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.beforeRunSql.title
Raw SQL statement(s) to execute as soon as the connection to Postgres is opened by the target.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.beforeRunSql.markdownDescription
Useful for setup like SET ROLE or other connection state that is important.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.invalidRecordsThreshold.title
Include a positive value n in your config to allow to encounter at most n invalid records per stream before giving up.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.loggingLevel.markdownDescription
Set to DEBUG to get things like queries executed, timing of those queries, etc. See Python's Logger Levels for information about valid values.

Default value is : `INFO`

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.maxBatchRows.title
The maximum number of rows to buffer in memory before writing to the destination table in Postgres.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.maxBufferSize.title
The maximum number of bytes to buffer in memory before writing to the destination table in Postgres.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.persistEmptyTables.title
Whether the Target should create tables which have no records present in Remote.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.DatamillCoPostgres.title
A Singer target loads data into a Postgres database.

# definitions.io.kestra.plugin.singer.targets.GenericTarget.properties.configs.markdownDescription
Will be save on config.json and used as arguments

# definitions.io.kestra.plugin.singer.targets.GenericTarget.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.GenericTarget.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.GenericTarget.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.GenericTarget.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Json.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.Json.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.Json.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.Json.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Json.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Json.title
A Singer target loads data into JSON files.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.defaultTargetSchema.title
The default target database schema name to use for all streams.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.flatteningEnabled.title
'True' to enable schema flattening and automatically expand nested properties.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.MeltanoSnowflake.title
A Singer target loads data into a Snowflake database.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.flatteningEnabled.title
Enable schema flattening and automatically expand nested properties.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.preferFloatOverNumeric.title
Use float data type for numbers (otherwise number type is used).

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.streamMapConfig.title
User-defined config values to be used within map expressions.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.streamMaps.title
Config object for stream maps capability.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Oracle.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.Oracle.title
A Singer target that loads data into an Oracle database.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.addMetadataColumns.markdownDescription
Metadata columns add extra row level information about data ingestions, (i.e. when was the row read in source, when was inserted or deleted in postgres etc.) Metadata columns are creating automatically by adding extra columns to the tables with a column prefix `_SDC_`. The column names are following the [stitch naming conventions](https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns). Enabling metadata columns will flag the deleted rows by setting the `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns` option the deleted rows from singer taps will not be recognisable in Postgres.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.batchSizeRows.markdownDescription
At the end of each batch, the rows in the batch are loaded into Postgres.

Default value is : `100000`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.dataFlatteningMaxLevel.title
Object type RECORD items from taps can be transformed to flattened columns by creating columns automatically.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.dataFlatteningMaxLevel.markdownDescription
When value is 0 (default) then flattening functionality is turned off.

Default value is : `0`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.defaultTargetSchema.title
Name of the schema where the tables will be created.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.defaultTargetSchema.markdownDescription
If `schemaMapping` is not defined then every stream sent by the tap is loaded into this schema.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.defaultTargetSchemaSelectPermission.title
Grant USAGE privilege on newly created schemas and grant SELECT privilege on newly created.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.flushAllStreams.title
Flush and load every stream into Postgres when one batch is full.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.flushAllStreams.markdownDescription
Warning: This may trigger the COPY command to use files with low number of records..

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.hardDelete.markdownDescription
When hard_delete option is true then DELETE SQL commands will be performed in Postgres to delete rows in tables. It's achieved by continuously checking the `_SDC_DELETED_AT` metadata column sent by the singer tap. Due to deleting rows requires metadata columns, hard_delete option automatically enables the add_metadata_columns option as well.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.maxParallelism.title
Max number of parallel threads to use when flushing tables.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.parallelism.title
The number of threads used to flush tables.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.parallelism.markdownDescription
0 will create a thread for each stream, up to parallelism_max. -1 will create a thread for each CPU core. Any other positive number will create that number of threads, up to parallelism_max.

Default value is : `0`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.primaryKeyRequired.title
Log based and Incremental replications on tables with no Primary Key cause duplicates when merging UPDATE events.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.primaryKeyRequired.markdownDescription
When set to true, stop loading data if no Primary Key is defined.

Default value is : `true`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.validateRecords.title
Validate every single record message to the corresponding JSON schema.

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.properties.validateRecords.markdownDescription
This option is disabled by default and invalid RECORD messages will fail only at load time by Postgres. Enabling this option will detect invalid records earlier but could cause performance degradation..

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewisePostgres.title
A Singer target loads data into a Postgres database.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.accessKeyId.markdownDescription
Used for S3 and Redshift copy operations.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.addMetadataColumns.markdownDescription
Metadata columns add extra row level information about data ingestions, (i.e. when was the row read in source, when was inserted or deleted in redshift etc.) Metadata columns are creating automatically by adding extra columns to the tables with a column prefix _SDC_. The metadata columns are documented at [here](https://transferwise.github.io/pipelinewise/index.html). Enabling metadata columns will flag the deleted rows by setting the _SDC_DELETED_AT metadata column. Without the `addMetadataColumns` option the deleted rows from singer taps will not be recongisable in Redshift.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.batchSizeRows.markdownDescription
At the end of each batch, the rows in the batch are loaded into Redshift.

Default value is : `100000`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.compression.title
The compression method to use when writing files to S3 and running Redshift COPY.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.copyOptions.markdownDescription
Parameters to use in the COPY command when loading data to Redshift. Some basic file formatting parameters are fixed values and not recommended overriding them by custom values. They are like: `CSV GZIP DELIMITER ',' REMOVEQUOTES ESCAPE`.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.dataFlatteningMaxLevel.title
Object type RECORD items from taps can be transformed to flattened columns by creating columns automatically.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.dataFlatteningMaxLevel.markdownDescription
When `hardDelete` option is true then DELETE SQL commands will be performed in Redshift to delete rows in tables. It's achieved by continuously checking the _SDC_DELETED_AT metadata column sent by the singer tap. Due to deleting rows requires metadata columns, `hardDelete` option automatically enables the `addMetadataColumns` option as well..

Default value is : `0`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.defaultTargetSchema.title
Name of the schema where the tables will be created.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.defaultTargetSchema.markdownDescription
If schema_mapping is not defined then every stream sent by the tap is loaded into this schema.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.defaultTargetSchemaSelectPermissions.title
Grant USAGE privilege on newly created schemas and grant SELECT privilege on newly created tables to a specific list of users or groups.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.defaultTargetSchemaSelectPermissions.markdownDescription
If `schemaMapping` is not defined then every stream sent by the tap is granted accordingly.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.disableTableCache.markdownDescription
By default the connector caches the available table structures in Redshift at startup. In this way it doesn't need to run additional queries when ingesting data to check if altering the target tables is required. With disable_table_cache option you can turn off this caching. You will always see the most recent table structures but will cause an extra query runtime.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.flushAllStreams.title
Flush and load every stream into Redshift when one batch is full.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.flushAllStreams.markdownDescription
Warning: This may trigger the COPY command to use files with low number of records..

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.hardDelete.markdownDescription
When `hardDelete` option is true then DELETE SQL commands will be performed in Redshift to delete rows in tables. It's achieved by continuously checking the _SDC_DELETED_AT metadata column sent by the singer tap. Due to deleting rows requires metadata columns, `hardDelete` option automatically enables the `addMetadataColumns` option as well.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.maxParallelism.title
Max number of parallel threads to use when flushing tables.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.parallelism.title
The number of threads used to flush tables.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.parallelism.markdownDescription
0 will create a thread for each stream, up to parallelism_max. -1 will create a thread for each CPU core. Any other positive number will create that number of threads, up to parallelism_max.

Default value is : `0`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.primaryKeyRequired.title
Log based and Incremental replications on tables with no Primary Key cause duplicates when merging UPDATE events.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.primaryKeyRequired.markdownDescription
When set to true, stop loading data if no Primary Key is defined..

Default value is : `true`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.redshiftCopyRoleArn.markdownDescription
AWS Role ARN to be used for the Redshift COPY operation. Used instead of the given AWS keys for the COPY operation if provided - the keys are still used for other S3 operations.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.s3KeyPrefix.markdownDescription
A static prefix before the generated S3 key names. Using prefixes you can upload files into specific directories in the S3 bucket. Default(None).

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.schema_mapping.markdownDescription
Useful if you want to load multiple streams from one tap to multiple Redshift schemas. If the tap sends the stream_id in <schema_name>-<table_name> format then this option overwrites the `default_target_schema` value. Note, that using schema_mapping you can overwrite the `default_target_schema_select_permissions` value to grant SELECT permissions to different groups per schemas or optionally you can create indices automatically for the replicated tables.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.secretAccessKey.markdownDescription
Used for S3 and Redshift copy operations.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.sessionToken.markdownDescription
S3 AWS STS token for temporary credentials.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.skipUpdates.title
Do not update existing records when Primary Key is defined. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.skipUpdates.markdownDescription
Useful to improve performance when records are immutable, e.g. events.

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.slices.title
number of slices to split files into prior to running COPY on Redshift.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.slices.markdownDescription
This should be set to the number of Redshift slices. The number of slices per node depends on the node size of the cluster - run SELECT COUNT(DISTINCT slice) slices FROM stv_slices to calculate this.

Default value is : `1`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.validateRecords.title
Validate every single record message to the corresponding JSON schema.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.properties.validateRecords.markdownDescription
This option is disabled by default and invalid RECORD messages will fail only at load time by Redshift. Enabling this option will detect invalid records earlier but could cause performance degradation..

Default value is : `false`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseRedshift.title
A Singer target loads data into a Redshift database.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.addMetadataColumns.title
Metadata columns add extra row level information about data ingestions, (i.e. when was the row read in source, when was inserted or deleted in snowflake etc.) Metadata columns are creating automatically by adding extra columns to the tables with a column prefix `_SDC_`. The column names are following the stitch naming conventions documented at https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns. Enabling metadata columns will flag the deleted rows by setting the `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns` option the deleted rows from singer taps will not be recongisable in Snowflake. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.archiveLoadFiles.title
When enabled, the files loaded to Snowflake will also be stored in `archive_load_files_s3_bucket` under the key `/{archive_load_files_s3_prefix}/{schema_name}/{table_name}/`. All archived files will have `tap`, `schema`, `table` and `archived-by` as S3 metadata keys. When incremental replication is used, the archived files will also have the following S3 metadata keys: `incremental-key`, `incremental-key-min` and `incremental-key-max`

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.archiveLoadFilesS3Bucket.title
(Default: Value of `s3_bucket`) When `archive_load_files` is enabled, the archived files will be placed in this bucket.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.archiveLoadFilesS3Prefix.title
(Default: `archive`) When `archive_load_files` is enabled, the archived files will be placed in the archive S3 bucket under this prefix.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.awsAccessKeyId.title
S3 Access Key ID. If not provided, `AWS_ACCESS_KEY_ID` environment variable or IAM role will be used.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.awsProfile.title
AWS profile name for profile based authentication. If not provided, `AWS_PROFILE` environment variable will be used.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.awsSecretAccessKey.title
S3 Secret Access Key. If not provided, `AWS_SECRET_ACCESS_KEY` environment variable or IAM role will be used.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.awsSessionToken.title
AWS Session token. If not provided, `AWS_SESSION_TOKEN` environment variable will be used.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.batchSizeRows.title
Maximum number of rows in each batch. At the end of each batch, the rows in the batch are loaded into Snowflake. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.batchWaitLimit.title
Maximum time to wait for batch to reach `batch_size_rows`. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.clientSideEncryptionMasterKey.title
When this is defined, Client-Side Encryption is enabled. The data in S3 will be encrypted. No third parties, including Amazon AWS and any ISPs, can see data in the clear. Snowflake COPY command will decrypt the data once it is in Snowflake. The master key must be 256-bit length and must be encoded as base64 string.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.dataFlatteningMaxLevel.title
(Default: 0) Object type RECORD items from taps can be loaded into VARIANT columns as JSON (default) or we can flatten the schema by creating columns automatically.

When value is 0 (default) then flattening functionality is turned off.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.defaultTargetSchema.title
Name of the schema where the tables will be created, **without** database prefix. If `schema_mapping` is not defined then every stream sent by the tap is loaded into this schema.    

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.defaultTargetSchemaSelectPermission.title
Grant USAGE privilege on newly created schemas and grant SELECT privilege on newly created tables to a specific role or a list of roles. If `schema_mapping` is not defined then every stream sent by the tap is granted accordingly.   

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.disableTableCache.title
By default the connector caches the available table structures in Snowflake at startup. In this way it doesn't need to run additional queries when ingesting data to check if altering the target tables is required. With `disable_table_cache` option you can turn off this caching. You will always see the most recent table structures but will cause an extra query runtime.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.fileFormat.title
Named file format name created at pre-requirements section. Has to be a fully qualified name including the schema name. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.flushAllStreams.title
Flush and load every stream into Snowflake when one batch is full. Warning: This may trigger the COPY command to use files with low number of records, and may cause performance problems. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.hardDelete.title
When `hardDelete` option is true, then DELETE SQL commands will be performed in Snowflake to delete rows in tables. It is achieved by continuously checking the  `_SDC_DELETED_AT` metadata column sent by the singer tap. Due to deleting rows requiring metadata columns, `hard_delete` option automatically enables the `add_metadata_columns` option as well.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.noCompression.title
Generate uncompressed files when loading to Snowflake. Normally, by default GZIP compressed files are generated. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.parallelism.title
The number of threads used to flush tables. 0 will create a thread for each stream, up to parallelism_max. -1 will create a thread for each CPU core. Any other positive number will create that number of threads, up to parallelism_max. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.parallelismMax.title
Max number of parallel threads to use when flushing tables. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.primaryKeyRequired.title
Log based and Incremental replications on tables with no Primary Key cause duplicates when merging UPDATE events. When set to true, stop loading data if no Primary Key is defined.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.queryTag.title
Optional string to tag executed queries in Snowflake. Replaces tokens `{{database}}`, `{{schema}}` and `{{table}}` with the appropriate values. The tags are displayed in the output of the Snowflake `QUERY_HISTORY`, `QUERY_HISTORY_BY_*` functions. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.role.title
Snowflake role to use. If not defined then the user's default role will be used.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.s3Acl.title
S3 ACL name to set on the uploaded files.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.s3Bucket.title
S3 Bucket name. Required if to use S3 External stage. When this is defined then `stage` has to be defined as well.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.s3EndpointUrl.title
The complete URL to use for the constructed client. This is allowing to use non-native s3 account. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.s3KeyPrefix.title
A static prefix before the generated S3 key names. Using prefixes you can upload files into specific directories in the S3 bucket.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.s3RegionName.title
Default region when creating new connections.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.schemaMapping.title
Useful if you want to load multiple streams from one tap to multiple Snowflake schemas.

If the tap sends the `stream_id` in `-` format then this option overwrites the `default_target_schema` value. Note, that using `schema_mapping` you can overwrite the `default_target_schema_select_permission` value to grant SELECT permissions to different groups per schemas or optionally you can create indices automatically for the replicated tables.

**Note**: This is an experimental feature and recommended to use via PipelineWise YAML files that will generate the object mapping in the right JSON format. For further info check a PipelineWise YAML Example

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.stage.title
Named external stage name created at pre-requirements section. Has to be a fully qualified name including the schema name. If not specified, table internal stage are used. When this is defined then `s3_bucket` has to be defined as well. 

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.properties.validateRecords.title
Validate every single record message to the corresponding JSON schema. This option is disabled by default and invalid RECORD messages will fail only at load time by Snowflake. Enabling this option will detect invalid records earlier but could cause performance degradation.

# definitions.io.kestra.plugin.singer.targets.PipelinewiseSnowflake.title
A Singer target loads data into a Snowflake database.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.flatteningEnabled.title
Enable schema flattening and automatically expand nested properties

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.pipPackages.title
Override default pip packages to use a specific version.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.preferFloatOverNumeric.title
Use float data type for numbers (otherwise number type is used).

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.stateName.title
The name of Singer state file stored in KV Store.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.streamMapConfig.title
User-defined config values to be used within map expressions.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.streamMaps.title
Config object for stream maps capability.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.tablePrefix.title
Prefix to add to table name. Useful if retrieving data from multiple taps for easier filtering.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.SqlServer.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.singer.targets.SqlServer.title
A Singer target that loads data into a Microsoft SQL Server database.

# definitions.io.kestra.plugin.soda.Scan.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.soda.Scan.properties.dockerOptions.allOf[].title
Deprecated, use the `docker` property instead

# definitions.io.kestra.plugin.soda.Scan.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.soda.Scan.properties.inputFiles.title
Input files are extra files that will be available in the dbt working directory.

# definitions.io.kestra.plugin.soda.Scan.properties.inputFiles.markdownDescription
You can define the files as map or a JSON string. Each file can be defined inlined or can reference a file from Kestra's internal storage.

# definitions.io.kestra.plugin.soda.Scan.properties.requirements.title
List of python dependencies to add to the python execution process

# definitions.io.kestra.plugin.soda.Scan.properties.requirements.markdownDescription
Python dependencies list to setup in the virtualenv, in the same format than requirements.txt. It must at least provides dbt.

# definitions.io.kestra.plugin.soda.Scan.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.soda.Scan.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.soda.Scan.markdownDescription
##### Examples
> Run a scan on BigQuery.
```yaml
id: soda_scan
namespacae: company.team

tasks:
  - id: scan
    type: io.kestra.plugin.soda.Scan
    configuration:
      data_source kestra:
        type: bigquery
        connection:
          project_id: kestra-unit-test
          dataset: demo
          account_info_json: |
            {{ secret('GCP_CREDS') }}
    checks:
      checks for orderDetail:
        - row_count > 0
        - max(unitPrice):
            warn: when between 1 and 250
            fail: when > 250
      checks for territory:
        - row_count > 0
        - failed rows:
            name: Failed rows query test
            fail condition: regionId = 4
    requirements:
      - soda-core-bigquery

```

# definitions.io.kestra.plugin.solace.Consume.properties.maxDuration.title
The maximum time to wait for receiving a number of messages up to `maxMessages`.

# definitions.io.kestra.plugin.solace.Consume.properties.maxMessages.title
The maximum number of messages to be received per poll.

# definitions.io.kestra.plugin.solace.Consume.properties.messageDeserializer.title
The Deserializer to be used for deserializing messages.

# definitions.io.kestra.plugin.solace.Consume.properties.messageDeserializerProperties.title
The config properties to be passed to the Deserializer.

# definitions.io.kestra.plugin.solace.Consume.properties.messageDeserializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.solace.Consume.properties.messageSelector.title
The message selector to be used for receiving messages.

# definitions.io.kestra.plugin.solace.Consume.properties.messageSelector.markdownDescription
Enables support for message selection based on message header parameter and message properties values.

# definitions.io.kestra.plugin.solace.Consume.properties.properties.title
The Solace properties to be used for connecting to the broker.

# definitions.io.kestra.plugin.solace.Consume.properties.queueName.title
The name of the solace queue to consume from.

# definitions.io.kestra.plugin.solace.Consume.markdownDescription
##### Examples
> Consume messages from a Solace queue.
```yaml
id: consume_message_from_solace_queue
namespace: company.team

tasks:
  - id: consume_from_solace
    type: io.kestra.plugin.solace.Consume
    host: localhost:55555
    username: admin
    password: admin
    vpn: default
    messageDeserializer: JSON
    queueName: test_queue
    queueType: DURABLE_EXCLUSIVE

```

# definitions.io.kestra.plugin.solace.Produce.properties.awaitAcknowledgementTimeout.title
The maximum time to wait for the message acknowledgement (in milliseconds) when configuring `deliveryMode` to `PERSISTENT`.

# definitions.io.kestra.plugin.solace.Produce.properties.deliveryMode.title
The delivery mode to be used for publishing messages messages.

# definitions.io.kestra.plugin.solace.Produce.properties.from.title
The content of the message to be published to Solace

# definitions.io.kestra.plugin.solace.Produce.properties.from.markdownDescription
Can be an internal storage URI, a map (i.e. a list of key-value pairs) or a list of maps. The following keys are supported: `payload`, `properties`.

# definitions.io.kestra.plugin.solace.Produce.properties.messageProperties.title
Additional properties to customize all messages to be published.

# definitions.io.kestra.plugin.solace.Produce.properties.messageProperties.markdownDescription
Additional properties must be provided with Key of type String and Value of type String.
Each key can be customer provided, or it can be a Solace message properties.


Default value is : `{}`

# definitions.io.kestra.plugin.solace.Produce.properties.messageSerializer.title
The Serializer to be used for serializing messages.

# definitions.io.kestra.plugin.solace.Produce.properties.messageSerializerProperties.title
The config properties to be passed to the Serializer.

# definitions.io.kestra.plugin.solace.Produce.properties.messageSerializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.solace.Produce.properties.properties.title
The Solace properties to be used for connecting to the broker.

# definitions.io.kestra.plugin.solace.Produce.properties.topicDestination.title
The topic destination to publish messages.

# definitions.io.kestra.plugin.solace.Produce.markdownDescription
##### Examples
> Publish a file as messages into a Solace Broker.
```yaml
id: send_messages_to_solace_queue
namespace: company.team

inputs:
  - id: file
    type: FILE
    description: a CSV file with columns id, username, tweet, and timestamp

tasks:
  - id: read_csv_file
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ inputs.file }}"

  - id: transform_row_to_json
    type: io.kestra.plugin.scripts.nashorn.FileTransform
    from: "{{ outputs.read_csv_file.uri }}"
    script: |
      var result = {
        "payload": {
          "username": row.username,
          "tweet": row.tweet
        },
        "properties": {
            "correlationId": "42"
        }
      };
      row = result

  - id: send_message_to_solace
    type: io.kestra.plugin.solace.Produce
    from: "{{ outputs.transform_row_to_json.uri }}"
    topicDestination: test/tweets
    host: localhost:55555
    username: admin
    password: admin
    vpn: default
    messageSerializer: "JSON"

```

# definitions.io.kestra.plugin.solace.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.solace.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.solace.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.solace.Trigger.properties.maxDuration.title
The maximum time to wait for receiving a number of messages up to `maxMessages`.

# definitions.io.kestra.plugin.solace.Trigger.properties.maxMessages.title
The maximum number of messages to be received per poll.

# definitions.io.kestra.plugin.solace.Trigger.properties.messageDeserializer.title
The Deserializer to be used for deserializing messages.

# definitions.io.kestra.plugin.solace.Trigger.properties.messageDeserializerProperties.title
The config properties to be passed to the Deserializer.

# definitions.io.kestra.plugin.solace.Trigger.properties.messageDeserializerProperties.markdownDescription
Configs in key/value pairs.

Default value is : `{}`

# definitions.io.kestra.plugin.solace.Trigger.properties.messageSelector.title
The message selector to be used for receiving messages.

# definitions.io.kestra.plugin.solace.Trigger.properties.messageSelector.markdownDescription
Enables support for message selection based on message header parameter and message properties values.

# definitions.io.kestra.plugin.solace.Trigger.properties.properties.title
The Solace properties to be used for connecting to the broker.

# definitions.io.kestra.plugin.solace.Trigger.properties.queueName.title
The name of the solace queue to consume from.

# definitions.io.kestra.plugin.solace.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.solace.Trigger.title
Trigger flow based on messages received from a Solace broker.

# definitions.io.kestra.plugin.solace.Trigger.markdownDescription
##### Examples
> Trigger flow based on messages received from a Solace broker.
```yaml
id: trigger_from_solace_queue
namespace: company.team

tasks:
  - id: hello
    type: io.kestra.plugin.core.log.Log
    message: Hello there! I received {{ trigger.messagesCount }} from Solace!

triggers:
  - id: read_from_solace
    type: io.kestra.plugin.solace.Trigger
    interval: PT30S
    host: localhost:55555
    username: admin
    password: admin
    vpn: default
    messageDeserializer: JSON
    queueName: test_queue
    queueType: DURABLE_EXCLUSIVE

```

# definitions.io.kestra.plugin.spark.JarSubmit.properties.appFiles.title
Adds a file to be submitted with the application.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.args.title
Command line arguments for the application.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.configurations.title
Configuration properties for the application.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.jars.title
Additional JAR files to be submitted with the application.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.mainClass.title
The application class name for Java/Scala applications.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.mainResource.markdownDescription
This should be the location of a JAR file for Scala/Java applications, or a Python script for PySpark applications.
Must be an internal storage URI.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.master.title
Spark master hostname for the application.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.JarSubmit.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.JarSubmit.title
Submit a Spark job to a remote cluster using a JAR file.

# definitions.io.kestra.plugin.spark.JarSubmit.markdownDescription
##### Examples
> 
```yaml
id: spark_jar_submit
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: jar_submit
    type: io.kestra.plugin.spark.JarSubmit
    runner: DOCKER
    master: spark://localhost:7077
    mainResource: {{ inputs.file }}
    mainClass: spark.samples.App

```

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.appFiles.title
Adds a file to be submitted with the application.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.args.title
Command line arguments for the application.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.configurations.title
Configuration properties for the application.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.master.title
Spark master hostname for the application.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.pythonFiles.title
Adds a Python file/zip/egg package to be submitted with the application.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.PythonSubmit.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.PythonSubmit.title
Submit a PySpark job to a remote cluster.

# definitions.io.kestra.plugin.spark.PythonSubmit.markdownDescription
##### Examples
> 
```yaml
id: spark_python_submit
namespace: company.team

tasks:
  - id: python_submit
    type: io.kestra.plugin.spark.PythonSubmit
    runner: DOCKER
    docker:
      networkMode: host
      user: root
    master: spark://localhost:7077
    args:
      - "10"
    mainScript: |
      import sys
      from random import random
      from operator import add
      from pyspark.sql import SparkSession


      if __name__ == "__main__":
          spark = SparkSession               .builder               .appName("PythonPi")               .getOrCreate()

          partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
          n = 100000 * partitions

          def f(_: int) -> float:
              x = random() * 2 - 1
              y = random() * 2 - 1
              return 1 if x ** 2 + y ** 2 <= 1 else 0

          count = spark.sparkContext.parallelize(range(1, n + 1), partitions).map(f).reduce(add)
          print("Pi is roughly %f" % (4.0 * count / n))

          spark.stop()

```

# definitions.io.kestra.plugin.spark.RSubmit.properties.appFiles.title
Adds a file to be submitted with the application.

# definitions.io.kestra.plugin.spark.RSubmit.properties.args.title
Command line arguments for the application.

# definitions.io.kestra.plugin.spark.RSubmit.properties.configurations.title
Configuration properties for the application.

# definitions.io.kestra.plugin.spark.RSubmit.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.spark.RSubmit.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.spark.RSubmit.properties.master.title
Spark master hostname for the application.

# definitions.io.kestra.plugin.spark.RSubmit.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.RSubmit.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.RSubmit.markdownDescription
##### Examples
> 
```yaml
id: spark_r_submit
namespace: company.team

tasks:
  - id: r_submit
    type: io.kestra.plugin.spark.RSubmit
    runner: DOCKER
    docker:
      networkMode: host
      user: root
    master: spark://localhost:7077
    mainScript: |
      library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
      sparkR.session()

      print("The SparkR session has initialized successfully.")

      sparkR.stop()

```

# definitions.io.kestra.plugin.spark.SparkCLI.properties.beforeCommands.title
A list of commands that will run before the `commands`, allowing to set up the environment e.g. `pip install -r requirements.txt`.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.docker.allOf[].title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.docker.allOf[].markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.spark.SparkCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.failFast.title
Fail the task on the first command with a non-zero status.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.failFast.markdownDescription
If set to `false` all commands will be executed one after the other. The final state of task execution is determined by the last command. Note that this property maybe be ignored if a non compatible interpreter is specified.
You can also disable it if your interpreter does not support the `set -e`option.

Default value is : `true`

# definitions.io.kestra.plugin.spark.SparkCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.interpreter.markdownDescription
Default value is : `- /bin/sh
- -c`

Default value is : `- /bin/sh
- -c`

# definitions.io.kestra.plugin.spark.SparkCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.outputDirectory.title
Whether to setup the output directory mechanism.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.outputDirectory.markdownDescription
Required to use the {{ outputDir }} expression. Note that it could increase the starting time. Deprecated, use the `outputFiles` property instead.

Default value is : `"false"`

# definitions.io.kestra.plugin.spark.SparkCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.runner.title
Deprecated - use the 'taskRunner' property instead.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.runner.markdownDescription
Only used if the `taskRunner` property is not set

# definitions.io.kestra.plugin.spark.SparkCLI.properties.targetOS.title
The target operating system where the script will run.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.spark.SparkCLI.properties.warningOnStdErr.title
Whether to set the task state to `WARNING` if any `stdErr` is emitted.

# definitions.io.kestra.plugin.spark.SparkCLI.markdownDescription
##### Examples
> Submit a PySpark job to a master node.
```yaml
id: spark_cli
namespace: company.team

tasks:
  - id: hello
    type: io.kestra.plugin.spark.SparkCLI
    inputFiles:
      pi.py: |
        import sys
        from random import random
        from operator import add
        from pyspark.sql import SparkSession

        if __name__ == "__main__":
            spark = SparkSession                 .builder                 .appName("PythonPi")                 .getOrCreate()

            partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
            n = 100000 * partitions

            def f(_: int) -> float:
                x = random() * 2 - 1
                y = random() * 2 - 1
                return 1 if x ** 2 + y ** 2 <= 1 else 0

            count = spark.sparkContext.parallelize(range(1, n + 1), partitions).map(f).reduce(add)
            print("Pi is roughly %f" % (4.0 * count / n))

            spark.stop()
    docker:
      image: bitnami/spark
      networkMode: host
    commands:
      - spark-submit --name Pi --master spark://localhost:7077 pi.py
```

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.beforeCommands.title
The commands to execute before the main list of commands, e.g. to initialize or prepare the environment

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.containerImage.markdownDescription
Default value is : `ghcr.io/kestra-io/sqlmesh`

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.env.title
Additional environment variables for the current process.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.title
Orchestrate a SQLMesh project from the Command Line Interface

# definitions.io.kestra.plugin.sqlmesh.cli.SQLMeshCLI.markdownDescription
##### Examples
> Orchestrate a SQLMesh project by automatically applying the plan
```yaml
id: sqlmesh_transform
namespace: company.team

tasks:
  - id: transform
    type: io.kestra.plugin.sqlmesh.cli.SQLMeshCLI
    beforeCommands:
      - sqlmesh init duckdb
    commands:
      - sqlmesh plan --auto-apply
```

# definitions.io.kestra.plugin.surrealdb.Query.properties.connectionTimeout.title
Connection timeout. Default is `60` seconds.

# definitions.io.kestra.plugin.surrealdb.Query.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.surrealdb.Query.properties.parameters.title
Query parameters, can be named parameters.

# definitions.io.kestra.plugin.surrealdb.Query.properties.parameters.markdownDescription
See SurrealDB documentation about SurrealQL Prepared Statements for query syntax.This should be supplied with a parameter map using named parameters.

Default value is : `{}`

# definitions.io.kestra.plugin.surrealdb.Query.properties.port.title
Connection port. Default value is `8000`.

# definitions.io.kestra.plugin.surrealdb.Query.properties.useTls.title
Specify whether to use TLS for connection. Default is `false`.

# definitions.io.kestra.plugin.surrealdb.Query.title
Query a SurrealDB database with SurrealQL.

# definitions.io.kestra.plugin.surrealdb.Query.markdownDescription
##### Examples
> Send a SurrealQL query to a SurrealDB database.
```yaml
id: surrealdb_query
namespace: company.team

tasks:
  - id: select
    type: io.kestra.plugin.surrealdb.Query
    useTls: true
    host: localhost
    port: 8000
    username: surreal_user
    password: surreal_passwd
    database: surreal_db
    namespace: surreal_namespace
    query: SELECT * FROM SURREAL_TABLE
    fetchType: STORE

```

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.conditions.title
List of conditions in order to limit the flow trigger.

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.connectionTimeout.title
Connection timeout. Default is `60` seconds.

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.fetchType.markdownDescription
FETCH_ONE - output the first row.
FETCH - output all rows as output variable.
STORE - store all rows to a file.
NONE - do nothing.

Default value is : `STORE`

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.interval.markdownDescription
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S.
See [ISO_8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information of available interval values.

Default value is : `60.000000000`

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.labels.title
The labels to pass to the execution created.

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.parameters.title
Query parameters, can be named parameters.

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.parameters.markdownDescription
See SurrealDB documentation about SurrealQL Prepared Statements for query syntax.This should be supplied with a parameter map using named parameters.

Default value is : `{}`

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.port.title
Connection port. Default value is `8000`.

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.stopAfter.title
List of execution states after which a trigger should be stopped (a.k.a. disabled).

# definitions.io.kestra.plugin.surrealdb.Trigger.properties.useTls.title
Specify whether to use TLS for connection. Default is `false`.

# definitions.io.kestra.plugin.surrealdb.Trigger.title
Query a SurrealDB database on a regular interval to trigger flow on results.

# definitions.io.kestra.plugin.surrealdb.Trigger.markdownDescription
##### Examples
> Wait for SurrealQL query to return results, and then iterate through rows.
```yaml
id: surrealdb_trigger
namespace: company.team

tasks:
  - id: each
    type: io.kestra.plugin.core.flow.EachSequential
    tasks:
      - id: return
        type: io.kestra.plugin.core.debug.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.surrealdb.Trigger
    interval: "PT5M"
    host: localhost
    port: 8000
    username: surreal_user
    password: surreal_passwd
    namespace: surreal_namespace
    database: surreal_db
    fetchType: FETCH
    query: SELECT * FROM SURREAL_TABLE
```

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.beforeCommands.title
The setup commands to initialize the environment before executing the main list of commands such as `terraform init`.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.commands.title
The commands to run such as `terraform apply -auto-approve`.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.containerImage.title
The task runner container image, only used if the task runner is container-based.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.containerImage.markdownDescription
Default value is : `hashicorp/terraform`

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.env.title
Additional environment variables such as credentials and configuration for the Terraform provider.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.inputFiles.title
The files to create on the local filesystem. It can be a map or a JSON object.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.namespaceFiles.allOf[].markdownDescription
Inject namespace files to this task. When enabled, it will, by default, load all namespace files into the working directory. However, you can use the `include` or `exclude` properties to limit which namespace files will be injected.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.outputFiles.title
The files from the local filesystem to send to Kestra's internal storage.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.outputFiles.markdownDescription
Must be a list of [glob](https://en.wikipedia.org/wiki/Glob_(programming)) expressions relative to the current working directory, some examples: `my-dir/**`, `my-dir/*/**` or `my-dir/my-file.txt`.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.properties.taskRunner.oneOf[].allOf[].markdownDescription
Task runners are provided by plugins, each have their own properties.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.title
Orchestrate Infrastructure as Code by executing Terraform CLI commands in a Docker container. This task assumes that you use a remote backend for storing Terraform state files, such as AWS S3, GCS, or Terraform Cloud.

# definitions.io.kestra.plugin.terraform.cli.TerraformCLI.markdownDescription
##### Examples
> Initialize Terraform, then create and apply the Terraform plan
```yaml
id: git_terraform
namespace: company.team

tasks:
  - id: git
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/anna-geller/kestra-ci-cd
        branch: main

      - id: terraform
        type: io.kestra.plugin.terraform.cli.TerraformCLI
        beforeCommands:
          - terraform init
        inputFiles:
          terraform.tfvars: |
            username            = "cicd"
            password            = "{{ secret('CI_CD_PASSWORD') }}"
            hostname            = "https://demo.kestra.io"
        outputFiles:
          - "*.txt"
        commands:
          - terraform plan 2>&1 | tee plan_output.txt
          - terraform apply -auto-approve 2>&1 | tee apply_output.txt
        env:
          AWS_ACCESS_KEY_ID: "{{ secret('AWS_ACCESS_KEY_ID') }}"
          AWS_SECRET_ACCESS_KEY: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
          AWS_DEFAULT_REGION: "{{ secret('AWS_DEFAULT_REGION') }}"

```

# definitions.io.kestra.plugin.tika.Parse.properties.extractEmbedded.title
Whether to extract the embedded document.

# definitions.io.kestra.plugin.tika.Parse.properties.ocrOptions.allOf[].markdownDescription
You need to install [Tesseract](https://cwiki.apache.org/confluence/display/TIKA/TikaOCR) to enable OCR processing.

Default value is : `strategy: NO_OCR`

# definitions.io.kestra.plugin.tika.Parse.properties.store.title
Whether to store the data from the query result into an ion serialized data file in Kestra internal storage.

# definitions.io.kestra.plugin.tika.Parse.title
Parse a document and extract its content and metadata.

# definitions.io.kestra.plugin.tika.Parse.markdownDescription
##### Examples
> Extract text from a file.
```yaml
id: tika_parse
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: parse
    type: io.kestra.plugin.tika.Parse
    from: '{{ inputs.file }}'
    extractEmbedded: true
    store: false

```

> Extract text from an image using OCR.
```yaml
id: tika_parse
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: parse
    type: io.kestra.plugin.tika.Parse
    from: '{{ inputs.file }}'
    ocrOptions:
      strategy: OCR_AND_TEXT_EXTRACTION
    store: true

```

# definitions.io.kestra.plugin.tika.Parse-OcrOptions.properties.enableImagePreprocessing.markdownDescription
Apache Tika will run preprocessing of images (rotation detection and image normalizing with ImageMagick) before sending the image to Tesseract if the user has included dependencies (listed below) and if the user opts to include these preprocessing steps.

# definitions.io.kestra.plugin.tika.Parse-OcrOptions.properties.strategy.markdownDescription
You need to install [Tesseract](https://cwiki.apache.org/confluence/display/TIKA/TikaOCR) to enable OCR processing, along with Tesseract language pack.

Default value is : `NO_OCR`

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.breakOnFirstMatch.markdownDescription
The first successful match by grok will result in the task being finished. Set to `false` if you want the task to try all configured patterns.

Default value is : `true`

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.from.markdownDescription
Must be a `kestra://` internal storage URI.

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.keepEmptyCaptures.markdownDescription
When an optional field cannot be captured, the empty field is retained in the output. Set `false` if you want empty optional fields to be filtered out.

Default value is : `false`

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.namedCapturesOnly.title
If `true`, only store named captures from grok.

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.patternDefinitions.markdownDescription
A map of pattern-name and pattern pairs defining custom patterns to be used by the current tasks. Patterns matching existing names will override the pre-existing definition. 

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.patternsDir.title
List of user-defined pattern directories.

# definitions.io.kestra.plugin.transform.grok.TransformItems.properties.patternsDir.markdownDescription
Directories must be paths relative to the working directory.

# definitions.io.kestra.plugin.transform.grok.TransformItems.title
Parse arbitrary text and structure it using Grok expressions.

# definitions.io.kestra.plugin.transform.grok.TransformItems.markdownDescription
The `TransformItems` task is similar to the famous Logstash Grok filter from the ELK stack.
It is particularly useful for transforming unstructured data such as logs into a structured, indexable, and queryable data structure.

The `TransformItems` ships with all the default patterns as defined You can find them here: https://github.com/kestra-io/plugin-transform/tree/main/plugin-transform-grok/src/main/resources/patterns.
##### Examples
> Consume, parse, and structure logs events from Kafka topic.
```yaml
id: grok_transform_items
namespace: company.team

tasks:
  - id: transform_items
    type: io.kestra.plugin.transform.grok.TransformItems
    pattern: "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}"
    from: "{{ trigger.uri }}"

triggers:
  - id: trigger
    type: io.kestra.plugin.kafka.Trigger
    topic: test_kestra
    properties:
      bootstrap.servers: localhost:9092
    serdeProperties:
      schema.registry.url: http://localhost:8085
      keyDeserializer: STRING
      valueDeserializer: STRING
    groupId: kafkaConsumerGroupId
    interval: PT30S
    maxRecords: 5

```

# definitions.io.kestra.plugin.transform.grok.TransformValue.properties.breakOnFirstMatch.markdownDescription
The first successful match by grok will result in the task being finished. Set to `false` if you want the task to try all configured patterns.

Default value is : `true`

# definitions.io.kestra.plugin.transform.grok.TransformValue.properties.keepEmptyCaptures.markdownDescription
When an optional field cannot be captured, the empty field is retained in the output. Set `false` if you want empty optional fields to be filtered out.

Default value is : `false`

# definitions.io.kestra.plugin.transform.grok.TransformValue.properties.namedCapturesOnly.title
If `true`, only store named captures from grok.

# definitions.io.kestra.plugin.transform.grok.TransformValue.properties.patternDefinitions.markdownDescription
A map of pattern-name and pattern pairs defining custom patterns to be used by the current tasks. Patterns matching existing names will override the pre-existing definition. 

# definitions.io.kestra.plugin.transform.grok.TransformValue.properties.patternsDir.title
List of user-defined pattern directories.

# definitions.io.kestra.plugin.transform.grok.TransformValue.properties.patternsDir.markdownDescription
Directories must be paths relative to the working directory.

# definitions.io.kestra.plugin.transform.grok.TransformValue.title
Parse arbitrary text and structure it using Grok expressions.

# definitions.io.kestra.plugin.transform.grok.TransformValue.markdownDescription
The `TransformValue` task is similar to the famous Logstash Grok filter from the ELK stack.
It is particularly useful for transforming unstructured data such as logs into a structured, indexable, and queryable data structure.

The `TransformValue` ships with all the default patterns as defined You can find them here: https://github.com/kestra-io/plugin-transform/tree/main/plugin-transform-grok/src/main/resources/patterns.
##### Examples
> Consume, parse, and structure logs events from Kafka topic.
```yaml
id: grok_transform_value
namespace: company.team

tasks:
  - id: transform_value
    type: io.kestra.plugin.transform.grok.TransformValue
    pattern: "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}"
    from: "{{ trigger.value }}"

  - id: log_on_warn
    type: io.kestra.plugin.core.flow.If
    condition: "{{ grok.value['LOGLEVEL'] == 'ERROR' }}"
    then:
      - id: when_true
        type: io.kestra.plugin.core.log.Log
        message: "{{ outputs.transform_value.value }}"

triggers:
  - id: realtime_trigger
    type: io.kestra.plugin.kafka.RealtimeTrigger
    topic: test_kestra
    properties:
      bootstrap.servers: localhost:9092
    serdeProperties:
      schema.registry.url: http://localhost:8085
      keyDeserializer: STRING
      valueDeserializer: STRING
    groupId: kafkaConsumerGroupId

```

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.properties.explodeArray.title
Specifies whether to explode arrays into separate records.

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.properties.explodeArray.markdownDescription
If the JSONata expression results in a JSON array and this property is set to `true`, then a record will be written for each element. Otherwise, the JSON array is kept as a single record.

Default value is : `true`

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.properties.expression.title
The JSONata expression to apply on the JSON object.

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.properties.from.markdownDescription
Must be a `kestra://` internal storage URI.

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.properties.maxDepth.title
The maximum number of recursive calls allowed for the JSONata transformation.

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.title
Transform or query a JSON data using JSONata language.

# definitions.io.kestra.plugin.transform.jsonata.TransformItems.markdownDescription
[JSONata](https://jsonata.org/) is a sophisticated query and transformation language for JSON data.##### Examples
> Transform JSON payload using JSONata expression.
```yaml
id: jsonata_example
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://dummyjson.com/products

  - id: get_product_and_brand_name
    description: "String Transformation"
    type: io.kestra.plugin.transform.jsonata.TransformItems
    from: "{{ outputs.http_download.uri }}"
    expression: products.(title & ' by ' & brand)

  - id: get_total_price
    description: "Number Transformation"
    type: io.kestra.plugin.transform.jsonata.TransformItems
    from: "{{ outputs.http_download.uri }}"
    expression: $sum(products.price)

  - id: get_discounted_price
    type: io.kestra.plugin.transform.jsonata.TransformItems
    from: "{{ outputs.http_download.uri }}"
    expression: $sum(products.(price-(price*discountPercentage/100)))

  - id: sum_up
    description: "Writing out results in the form of JSON"
    type: io.kestra.plugin.transform.jsonata.TransformItems
    from: "{{ outputs.http_download.uri }}"
    expression: |
      {
        "total_products": $count(products),
        "total_price": $sum(products.price),
        "total_discounted_price": $sum(products.(price-(price*discountPercentage/100)))
      }

```

# definitions.io.kestra.plugin.transform.jsonata.TransformValue.properties.expression.title
The JSONata expression to apply on the JSON object.

# definitions.io.kestra.plugin.transform.jsonata.TransformValue.properties.maxDepth.title
The maximum number of recursive calls allowed for the JSONata transformation.

# definitions.io.kestra.plugin.transform.jsonata.TransformValue.title
Transform or query a JSON data using JSONata language.

# definitions.io.kestra.plugin.transform.jsonata.TransformValue.markdownDescription
[JSONata](https://jsonata.org/) is a sophisticated query and transformation language for JSON data.##### Examples
> Transform JSON data using JSONata expression
```yaml
id: jsonata_transform_value
namespace: company.team

tasks:
  - id: transform_json
    type: io.kestra.plugin.transform.jsonata.TransformValue
    from: |
      {
        "order_id": "ABC123",
        "first_name": "John",
        "last_name": "Doe",
        "address": {
          "city": "Paris",
          "country": "France"
        },
        "items": [
          {
            "product_id": "001",
            "name": "Apple",
            "quantity": 5,
            "price_per_unit": 0.5
          },
          {
            "product_id": "002",
            "name": "Banana",
            "quantity": 3,
            "price_per_unit": 0.3
          },
          {
            "product_id": "003",
            "name": "Orange",
            "quantity": 2,
            "price_per_unit": 0.4
          }
        ]
      }
    expression: |
      {
        "order_id": order_id,
        "customer_name": first_name & ' ' & last_name,
        "address": address.city & ', ' & address.country,
        "total_price": $sum(items.(quantity * price_per_unit))
      }

```

# definitions.io.kestra.plugin.weaviate.BatchCreate.properties.apiKey.title
API key to authenticate with a managed Weaviate cluster

# definitions.io.kestra.plugin.weaviate.BatchCreate.properties.apiKey.markdownDescription
If not provided, the anonymous authentication scheme will be used.

# definitions.io.kestra.plugin.weaviate.BatchCreate.properties.className.title
Class name where you want to insert data

# definitions.io.kestra.plugin.weaviate.BatchCreate.properties.headers.title
Additional headers to add to the request e.g. to authenticate with OpenAI API

# definitions.io.kestra.plugin.weaviate.BatchCreate.properties.objects.markdownDescription
ION File URI or the list of objects to insert

# definitions.io.kestra.plugin.weaviate.BatchCreate.title
Batch-insert data to a Weaviate database.

# definitions.io.kestra.plugin.weaviate.BatchCreate.markdownDescription
Data can be either in an ION-serialized file format or as a list of key-value pairs. If the schema doesn't exist yet, it will be created automatically.##### Examples
> Send batch object creation request to a Weaviate database.
```yaml
id: weaviate_batch_load
namespace: company.team

tasks:
  - id: batch_load
    type: io.kestra.plugin.weaviate.BatchCreate
    url: "https://demo-cluster-id.weaviate.network"
    apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
    className: WeaviateDemo
    objects:
      - textField: "some text"
        numField: 24
      - textField: "another text"
        numField: 42

```

> Send batch object creation request to a Weaviate database using an ION input file e.g. passed from output of another task.
```yaml
id: weaviate_batch_insert
namespace: company.team

tasks:
  - id: extract
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/ion/ingest.ion

  - id: batch_insert
    type: io.kestra.plugin.weaviate.BatchCreate
    url: "https://demo-cluster-id.weaviate.network"
    apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
    className: Titles
    objects: "{{ outputs.extract.uri }}"

```

# definitions.io.kestra.plugin.weaviate.Delete.properties.apiKey.title
API key to authenticate with a managed Weaviate cluster

# definitions.io.kestra.plugin.weaviate.Delete.properties.apiKey.markdownDescription
If not provided, the anonymous authentication scheme will be used.

# definitions.io.kestra.plugin.weaviate.Delete.properties.className.title
Class name for which you want to delete data

# definitions.io.kestra.plugin.weaviate.Delete.properties.headers.title
Additional headers to add to the request e.g. to authenticate with OpenAI API

# definitions.io.kestra.plugin.weaviate.Delete.title
Delete specific objects in a Weaviate database.

# definitions.io.kestra.plugin.weaviate.Delete.markdownDescription
##### Examples
> Send delete request to a Weaviate database. Use object ID or other properties.
```yaml
id: weaviate_delete_flow
namespace: company.team

tasks:
  - id: delete
    type: io.kestra.plugin.weaviate.Delete
    url: https://demo-cluster-id.weaviate.network
    className: WeaviateObject
    filter:
      fieldName: field value to be deleted by

```

# definitions.io.kestra.plugin.weaviate.Query.properties.apiKey.title
API key to authenticate with a managed Weaviate cluster

# definitions.io.kestra.plugin.weaviate.Query.properties.apiKey.markdownDescription
If not provided, the anonymous authentication scheme will be used.

# definitions.io.kestra.plugin.weaviate.Query.properties.fetchType.markdownDescription
FETCH_ONE outputs only the first row
FETCH outputs all rows
STORE stores all rows in a file
NONE doesn't store any data. It's particularly useful when you execute DDL statements or run queries that insert data into another table e.g. using `SELECT ... INSERT INTO` statements.

Default value is : `STORE`

# definitions.io.kestra.plugin.weaviate.Query.properties.headers.title
Additional headers to add to the request e.g. to authenticate with OpenAI API

# definitions.io.kestra.plugin.weaviate.Query.markdownDescription
##### Examples
> Execute a GraphQL query to fetch data from a Weaviate database.
```yaml
id: weaviate_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.weaviate.Query
    url: https://demo-cluster-id.weaviate.network
    apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
    query: |
      {
        Get {
          Question(limit: 5) {
            question
            answer
            category
          }
        }
      }


```

> Query data from a Weaviate database using Generative Search with OpenAI
```yaml
id: weaviate_generative_search
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.weaviate.Query
    url: https://demo-cluster-id.weaviate.network
    apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
    headers:
      X-OpenAI-Api-Key: "{{ secret('OPENAI_API_KEY') }}"
    query: |
      {
        Get {
          Question(limit: 5, nearText: {concepts: ["biology"]}) {
            question
            answer
            category
          }
        }
      }

```

# definitions.io.kestra.plugin.weaviate.SchemaCreate.properties.apiKey.title
API key to authenticate with a managed Weaviate cluster

# definitions.io.kestra.plugin.weaviate.SchemaCreate.properties.apiKey.markdownDescription
If not provided, the anonymous authentication scheme will be used.

# definitions.io.kestra.plugin.weaviate.SchemaCreate.properties.className.title
Class name where your data will be stored

# definitions.io.kestra.plugin.weaviate.SchemaCreate.properties.fields.markdownDescription
Requires specified field name and a list of data types that will be stored in this field

# definitions.io.kestra.plugin.weaviate.SchemaCreate.properties.headers.title
Additional headers to add to the request e.g. to authenticate with OpenAI API

# definitions.io.kestra.plugin.weaviate.SchemaCreate.title
Create a class schema in a Weaviate database.

# definitions.io.kestra.plugin.weaviate.SchemaCreate.markdownDescription
##### Examples
> Send schema creation request to a Weaviate database.
```yaml
id: create_weaviate_schema
namespace: company.team

tasks:
  - id: schema
    type: io.kestra.plugin.weaviate.SchemaCreate
    url: "https://demo-cluster-id.weaviate.network"
    apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
    className: Movies
    fields:
      name:
        - string
      description:
        - string
      category:
        - string
```

# definitions.io.kestra.plugin.zendesk.tickets.Create.properties.oauthToken.title
Zendesk oauth token, if api token and username is not provided

# definitions.io.kestra.plugin.zendesk.tickets.Create.properties.priority.markdownDescription
Available values:
 - URGENT
 - HIGH
 - NORMAL
 - LOW

# definitions.io.kestra.plugin.zendesk.tickets.Create.properties.ticketType.markdownDescription
Available values:
 - PROBLEM
 - INCIDENT
 - QUESTION
 - TASK

# definitions.io.kestra.plugin.zendesk.tickets.Create.markdownDescription
##### Examples
> Create Zendesk ticket using username and token.
```yaml
id: zendesk_flow
namespace: company.team

tasks:
  - id: create_ticket
    type: io.kestra.plugin.zendesk.tickets.Create
    domain: mycompany.zendesk.com
    username: my_email@example.com
    token: zendesk_api_token
    subject: "Increased 5xx in Demo Service"
    description: |
      "The number of 5xx has increased beyond the threshold for Demo service."
    priority: NORMAL
    ticketType: INCIDENT
    assigneeId: 1
    tags:
      - bug
      - workflow

```

> Create Zendesk ticket using OAuth token.
```yaml
id: zendesk_flow
namespace: company.team

tasks:
  - id: create_ticket
    type: io.kestra.plugin.zendesk.tickets.Create
    domain: mycompany.zendesk.com
    oauthToken: zendesk_oauth_token
    subject: "Increased 5xx in Demo Service"
    description: |
      "The number of 5xx has increased beyond the threshold for Demo service."
    priority: NORMAL
    ticketType: INCIDENT
    assigneeId: 1
    tags:
      - bug
      - workflow

```

> Create a ticket when a Kestra workflow in any namespace with `company` as prefix fails.
```yaml
id: create_ticket_on_failure
namespace: company.team

tasks:
  - id: create_ticket
    type: io.kestra.plugin.zendesk.tickets.Create
    domain: mycompany.zendesk.com
    oauthToken: zendesk_oauth_token
    subject: Workflow failed
    description: |
      "{{ execution.id }} has failed on {{ taskrun.startDate }}.
      See the link below for more details."
    priority: NORMAL
    ticketType: INCIDENT
    assigneeId: 1
    tags:
      - bug
      - workflow
triggers:
  - id: on_failure
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
        namespace: company
        comparison: PREFIX

```