Elasticsearch Put

Elasticsearch Put

Certified

Index a document

Indexes or creates a single document in an Elasticsearch index. Accepts a Map or JSON string for value. Default refresh policy is NONE; routing and opType are optional.

yaml
type: io.kestra.plugin.elasticsearch.Put

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_json
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 }}"
Properties

Elasticsearch connection

Connection settings shared by tasks; hosts are required.

Definitions
hosts*array
SubTypestring
Min items1

Elasticsearch hosts

List of HTTP(S) endpoints including scheme and port, e.g. https://elasticsearch.com: 9200; at least one is required.

basicAuth

Basic authentication

Optional HTTP basic auth credentials rendered at runtime.

passwordstring

Basic auth password

Password for HTTP basic authentication.

usernamestring

Basic auth username

Username for HTTP basic authentication.

connectTimeoutstring

Connection timeout

Maximum time to wait to establish the TCP connection to an Elasticsearch host. When unset, the Elasticsearch client default applies (1 second). A value of PT0S means no timeout.

headersarray
SubTypestring

Custom HTTP headers

Headers sent on every request in Name: Value format, e.g. Authorization: Token XYZ.

pathPrefixstring

Request path prefix

Base path prepended to every Elasticsearch endpoint, e.g. /my/path. Use only when the cluster is served behind a proxy that requires a prefix; leave empty otherwise.

responseTimeoutstring

Response timeout

Maximum time to wait for a response once the request has been sent. When unset, the Elasticsearch client default applies (unbounded), so large bulk requests are not cut off. A value of PT0S means no timeout. Set a bound (e.g. PT60S) to protect against a hung cluster.

strictDeprecationModebooleanstring

Fail on warning headers

When true, any response containing Elasticsearch warning headers is treated as an error.

targetServerVersionintegerstring
Default8

Target Elasticsearch server major version

Major version used for compatibility headers (Accept and Content-Type). Set to 8 for Elasticsearch 8 clusters or 9 for Elasticsearch 9 clusters.

trustAllSslbooleanstring

Trust all SSL certificates

WARNING — SECURITY RISK: When enabled, disables BOTH TLS certificate validation (TrustAllStrategy) AND hostname verification (NoopHostnameVerifier). This makes the connection vulnerable to man-in-the-middle attacks and must never be used in production. Prefer configuring a proper truststore for self-signed certificates instead.

Target index

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
DefaultJSON
Possible Values
CBORJSONSMILEYAML

Value content type

Content type for value. Only JSON is currently applied; this hint is not yet honored. Default JSON.

Document id

Optional _id; if omitted, Elasticsearch auto-generates one.

Possible Values
INDEXCREATEUPDATEDELETE

Operation type

Allowed: INDEX or CREATE.

DefaultNONE
Possible Values
IMMEDIATEWAIT_UNTILNONE

Refresh policy

When to refresh the index after indexing: IMMEDIATE, WAIT_UNTIL, or NONE (default).

Custom shard routing

Optional routing key hashed to pick the shard instead of using the document id.

Document body

Map or JSON string rendered at runtime and sent as the document source.

Document id

Possible Values
CreatedUpdatedDeletedNotFoundNoOp

Indexing result

Document version