Trigger Trigger

type: "io.kestra.plugin.fs.ftp.Trigger"

Wait for files on a FTP server

# Examples

Wait for a list of file on a FTP server and iterate through the files

id: gcs-listen
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: "{{taskrun.value}}"
    value: "{{ trigger.files | jq('.path') }}"

triggers:
  - id: watch
    type: io.kestra.plugin.fs.ftp.Trigger
    host: localhost
    port: 21
    username: foo
    password: pass
    from: "/in/"
    interval: PT10S
    action: MOVE
    moveDirectory: "/archive/"

# Properties

# action

  • Type: string

  • Dynamic: ✔️

  • Required: ✔️

  • Possible Values:

    • MOVE
    • DELETE

The action to do on find files

# from

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️

The directory to list

# host

  • Type: string
  • Dynamic: ✔️
  • Required:

Hostname of the remote server

# interval

  • Type: string
  • Dynamic:
  • Required:
  • Default: 60.000000000
  • Format: duration

The interval between test of triggers

# moveDirectory

  • Type: string
  • Dynamic: ✔️
  • Required:

The destination directory in case off MOVE

# passiveMode

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: true

Enter into passive mode.

# password

  • Type: string
  • Dynamic: ✔️
  • Required:

Password on the remote server

# port

  • Type: string
  • Dynamic: ✔️
  • Required:
  • Default: 21

Port of the remote server

# proxyHost

  • Type: string
  • Dynamic: ✔️
  • Required:

FTP proxy host

# proxyPort

  • Type: string
  • Dynamic: ✔️
  • Required:

FTP proxy port

# proxyType

  • Type: string

  • Dynamic: ✔️

  • Required:

  • Possible Values:

    • DIRECT
    • HTTP
    • SOCKS

FTP proxy type

# regExp

  • Type: string
  • Dynamic: ✔️
  • Required:

A regexp to filter on full path

# remoteIpVerification

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: true

Control that the server ip that emit the request is the same than send response.

# rootDir

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: true

Is path is relative to root dir

# username

  • Type: string
  • Dynamic: ✔️
  • Required:

Username on the remote server

# Outputs

# files

  • Type: array
  • SubType: File
  • SubType: ====

The bucket of the downloaded file

# Definitions

# File

# accessDate

  • Type: string
  • Dynamic:
  • Required:

# fileType

  • Type: string

  • Dynamic:

  • Required:

  • Possible Values:

    • FOLDER
    • FILE
    • FILE_OR_FOLDER
    • IMAGINARY

# flags

  • Type: integer
  • Dynamic:
  • Required:

# groupId

  • Type: integer
  • Dynamic:
  • Required:

# name

  • Type: string
  • Dynamic:
  • Required:

# path

  • Type: string
  • Dynamic:
  • Required:

# permissions

  • Type: integer
  • Dynamic:
  • Required:

# size

  • Type: integer
  • Dynamic:
  • Required:
  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

# updatedDate

  • Type: string
  • Dynamic:
  • Required:

# userId

  • Type: integer
  • Dynamic:
  • Required: