// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= image:kamelets/ftps-source.svg[] FTPS Source

*Provided by: "Apache Software Foundation"*

Receive data from an FTPS Server.

== Configuration Options

The following table summarizes the configuration options available for the `ftps-source` Kamelet:
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
|===
| Property| Name| Description| Type| Default| Example
| *directoryName {empty}* *| Directory Name| The starting directory| string| | 
| *host {empty}* *| Host| Hostname of the FTPS server| string| | 
| *password {empty}* *| Password| The password to access the FTPS server| string| | 
| *port {empty}* *| Port| Port of the FTPS server| string| `21`| 
| *username {empty}* *| Username| The username to access the FTPS server| string| | 
| idempotent| Idempotency| Skip already processed files.| boolean| `true`| 
| passiveMode| Passive Mode| Sets passive mode connection| boolean| `false`| 
| recursive| Recursive| If a directory, will look for files in all the sub-directories as well.| boolean| `false`| 
|===

NOTE: Fields marked with ({empty}*) are mandatory.

== Usage

This section summarizes how the `ftps-source` can be used in various contexts.

=== Knative Source

The `ftps-source` Kamelet can be used as Knative source by binding it to a Knative object.

.ftps-source-binding.yaml
[source,yaml]
----
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ftps-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ftps-source
    properties:
      directoryName: "The Directory Name"
      host: "The Host"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: InMemoryChannel
      apiVersion: messaging.knative.dev/v1
      name: mychannel

----

Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.

Save the `ftps-source-binding.yaml` file into your hard drive, then configure it according to your needs.

You can run the source using the following command:

[source,shell]
----
kubectl apply -f ftps-source-binding.yaml
----
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
