1. Packages
  2. Elasticstack Provider
  3. API Docs
  4. getElasticsearchIngestProcessorCsv
elasticstack 0.11.15 published on Wednesday, Apr 23, 2025 by elastic

elasticstack.getElasticsearchIngestProcessorCsv

Explore with Pulumi AI

elasticstack logo
elasticstack 0.11.15 published on Wednesday, Apr 23, 2025 by elastic

    Helper data source to which can be used to extract fields from CSV line out of a single text field within a document. Any empty field in CSV will be skipped.

    See: https://www.elastic.co/guide/en/elasticsearch/reference/current/csv-processor.html

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as elasticstack from "@pulumi/elasticstack";
    
    const csv = elasticstack.getElasticsearchIngestProcessorCsv({
        field: "my_field",
        targetFields: [
            "field1",
            "field2",
        ],
    });
    const myIngestPipeline = new elasticstack.ElasticsearchIngestPipeline("myIngestPipeline", {processors: [csv.then(csv => csv.json)]});
    
    import pulumi
    import pulumi_elasticstack as elasticstack
    
    csv = elasticstack.get_elasticsearch_ingest_processor_csv(field="my_field",
        target_fields=[
            "field1",
            "field2",
        ])
    my_ingest_pipeline = elasticstack.ElasticsearchIngestPipeline("myIngestPipeline", processors=[csv.json])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/elasticstack/elasticstack"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		csv, err := elasticstack.GetElasticsearchIngestProcessorCsv(ctx, &elasticstack.GetElasticsearchIngestProcessorCsvArgs{
    			Field: "my_field",
    			TargetFields: []string{
    				"field1",
    				"field2",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = elasticstack.NewElasticsearchIngestPipeline(ctx, "myIngestPipeline", &elasticstack.ElasticsearchIngestPipelineArgs{
    			Processors: pulumi.StringArray{
    				pulumi.String(csv.Json),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Elasticstack = Pulumi.Elasticstack;
    
    return await Deployment.RunAsync(() => 
    {
        var csv = Elasticstack.GetElasticsearchIngestProcessorCsv.Invoke(new()
        {
            Field = "my_field",
            TargetFields = new[]
            {
                "field1",
                "field2",
            },
        });
    
        var myIngestPipeline = new Elasticstack.ElasticsearchIngestPipeline("myIngestPipeline", new()
        {
            Processors = new[]
            {
                csv.Apply(getElasticsearchIngestProcessorCsvResult => getElasticsearchIngestProcessorCsvResult.Json),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.elasticstack.ElasticstackFunctions;
    import com.pulumi.elasticstack.inputs.GetElasticsearchIngestProcessorCsvArgs;
    import com.pulumi.elasticstack.ElasticsearchIngestPipeline;
    import com.pulumi.elasticstack.ElasticsearchIngestPipelineArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var csv = ElasticstackFunctions.getElasticsearchIngestProcessorCsv(GetElasticsearchIngestProcessorCsvArgs.builder()
                .field("my_field")
                .targetFields(            
                    "field1",
                    "field2")
                .build());
    
            var myIngestPipeline = new ElasticsearchIngestPipeline("myIngestPipeline", ElasticsearchIngestPipelineArgs.builder()
                .processors(csv.applyValue(getElasticsearchIngestProcessorCsvResult -> getElasticsearchIngestProcessorCsvResult.json()))
                .build());
    
        }
    }
    
    resources:
      myIngestPipeline:
        type: elasticstack:ElasticsearchIngestPipeline
        properties:
          processors:
            - ${csv.json}
    variables:
      csv:
        fn::invoke:
          function: elasticstack:getElasticsearchIngestProcessorCsv
          arguments:
            field: my_field
            targetFields:
              - field1
              - field2
    

    If the trim option is enabled then any whitespace in the beginning and in the end of each unquoted field will be trimmed. For example with configuration above, a value of A, B will result in field field2 having value {nbsp}B (with space at the beginning). If trim is enabled A, B will result in field field2 having value B (no whitespace). Quoted fields will be left untouched.

    Using getElasticsearchIngestProcessorCsv

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getElasticsearchIngestProcessorCsv(args: GetElasticsearchIngestProcessorCsvArgs, opts?: InvokeOptions): Promise<GetElasticsearchIngestProcessorCsvResult>
    function getElasticsearchIngestProcessorCsvOutput(args: GetElasticsearchIngestProcessorCsvOutputArgs, opts?: InvokeOptions): Output<GetElasticsearchIngestProcessorCsvResult>
    def get_elasticsearch_ingest_processor_csv(description: Optional[str] = None,
                                               empty_value: Optional[str] = None,
                                               field: Optional[str] = None,
                                               if_: Optional[str] = None,
                                               ignore_failure: Optional[bool] = None,
                                               ignore_missing: Optional[bool] = None,
                                               on_failures: Optional[Sequence[str]] = None,
                                               quote: Optional[str] = None,
                                               separator: Optional[str] = None,
                                               tag: Optional[str] = None,
                                               target_fields: Optional[Sequence[str]] = None,
                                               trim: Optional[bool] = None,
                                               opts: Optional[InvokeOptions] = None) -> GetElasticsearchIngestProcessorCsvResult
    def get_elasticsearch_ingest_processor_csv_output(description: Optional[pulumi.Input[str]] = None,
                                               empty_value: Optional[pulumi.Input[str]] = None,
                                               field: Optional[pulumi.Input[str]] = None,
                                               if_: Optional[pulumi.Input[str]] = None,
                                               ignore_failure: Optional[pulumi.Input[bool]] = None,
                                               ignore_missing: Optional[pulumi.Input[bool]] = None,
                                               on_failures: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                                               quote: Optional[pulumi.Input[str]] = None,
                                               separator: Optional[pulumi.Input[str]] = None,
                                               tag: Optional[pulumi.Input[str]] = None,
                                               target_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                                               trim: Optional[pulumi.Input[bool]] = None,
                                               opts: Optional[InvokeOptions] = None) -> Output[GetElasticsearchIngestProcessorCsvResult]
    func GetElasticsearchIngestProcessorCsv(ctx *Context, args *GetElasticsearchIngestProcessorCsvArgs, opts ...InvokeOption) (*GetElasticsearchIngestProcessorCsvResult, error)
    func GetElasticsearchIngestProcessorCsvOutput(ctx *Context, args *GetElasticsearchIngestProcessorCsvOutputArgs, opts ...InvokeOption) GetElasticsearchIngestProcessorCsvResultOutput

    > Note: This function is named GetElasticsearchIngestProcessorCsv in the Go SDK.

    public static class GetElasticsearchIngestProcessorCsv 
    {
        public static Task<GetElasticsearchIngestProcessorCsvResult> InvokeAsync(GetElasticsearchIngestProcessorCsvArgs args, InvokeOptions? opts = null)
        public static Output<GetElasticsearchIngestProcessorCsvResult> Invoke(GetElasticsearchIngestProcessorCsvInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetElasticsearchIngestProcessorCsvResult> getElasticsearchIngestProcessorCsv(GetElasticsearchIngestProcessorCsvArgs args, InvokeOptions options)
    public static Output<GetElasticsearchIngestProcessorCsvResult> getElasticsearchIngestProcessorCsv(GetElasticsearchIngestProcessorCsvArgs args, InvokeOptions options)
    
    fn::invoke:
      function: elasticstack:index/getElasticsearchIngestProcessorCsv:getElasticsearchIngestProcessorCsv
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Field string
    The field to extract data from.
    TargetFields List<string>
    The array of fields to assign extracted values to.
    Description string
    Description of the processor.
    EmptyValue string
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    If string
    Conditionally execute the processor
    IgnoreFailure bool
    Ignore failures for the processor.
    IgnoreMissing bool
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    OnFailures List<string>
    Handle failures for the processor.
    Quote string
    Quote used in CSV, has to be single character string
    Separator string
    Separator used in CSV, has to be single character string.
    Tag string
    Identifier for the processor.
    Trim bool
    Trim whitespaces in unquoted fields.
    Field string
    The field to extract data from.
    TargetFields []string
    The array of fields to assign extracted values to.
    Description string
    Description of the processor.
    EmptyValue string
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    If string
    Conditionally execute the processor
    IgnoreFailure bool
    Ignore failures for the processor.
    IgnoreMissing bool
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    OnFailures []string
    Handle failures for the processor.
    Quote string
    Quote used in CSV, has to be single character string
    Separator string
    Separator used in CSV, has to be single character string.
    Tag string
    Identifier for the processor.
    Trim bool
    Trim whitespaces in unquoted fields.
    field String
    The field to extract data from.
    targetFields List<String>
    The array of fields to assign extracted values to.
    description String
    Description of the processor.
    emptyValue String
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if_ String
    Conditionally execute the processor
    ignoreFailure Boolean
    Ignore failures for the processor.
    ignoreMissing Boolean
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    onFailures List<String>
    Handle failures for the processor.
    quote String
    Quote used in CSV, has to be single character string
    separator String
    Separator used in CSV, has to be single character string.
    tag String
    Identifier for the processor.
    trim Boolean
    Trim whitespaces in unquoted fields.
    field string
    The field to extract data from.
    targetFields string[]
    The array of fields to assign extracted values to.
    description string
    Description of the processor.
    emptyValue string
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if string
    Conditionally execute the processor
    ignoreFailure boolean
    Ignore failures for the processor.
    ignoreMissing boolean
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    onFailures string[]
    Handle failures for the processor.
    quote string
    Quote used in CSV, has to be single character string
    separator string
    Separator used in CSV, has to be single character string.
    tag string
    Identifier for the processor.
    trim boolean
    Trim whitespaces in unquoted fields.
    field str
    The field to extract data from.
    target_fields Sequence[str]
    The array of fields to assign extracted values to.
    description str
    Description of the processor.
    empty_value str
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if_ str
    Conditionally execute the processor
    ignore_failure bool
    Ignore failures for the processor.
    ignore_missing bool
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    on_failures Sequence[str]
    Handle failures for the processor.
    quote str
    Quote used in CSV, has to be single character string
    separator str
    Separator used in CSV, has to be single character string.
    tag str
    Identifier for the processor.
    trim bool
    Trim whitespaces in unquoted fields.
    field String
    The field to extract data from.
    targetFields List<String>
    The array of fields to assign extracted values to.
    description String
    Description of the processor.
    emptyValue String
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if String
    Conditionally execute the processor
    ignoreFailure Boolean
    Ignore failures for the processor.
    ignoreMissing Boolean
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    onFailures List<String>
    Handle failures for the processor.
    quote String
    Quote used in CSV, has to be single character string
    separator String
    Separator used in CSV, has to be single character string.
    tag String
    Identifier for the processor.
    trim Boolean
    Trim whitespaces in unquoted fields.

    getElasticsearchIngestProcessorCsv Result

    The following output properties are available:

    Field string
    The field to extract data from.
    Id string
    Internal identifier of the resource
    Json string
    JSON representation of this data source.
    TargetFields List<string>
    The array of fields to assign extracted values to.
    Description string
    Description of the processor.
    EmptyValue string
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    If string
    Conditionally execute the processor
    IgnoreFailure bool
    Ignore failures for the processor.
    IgnoreMissing bool
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    OnFailures List<string>
    Handle failures for the processor.
    Quote string
    Quote used in CSV, has to be single character string
    Separator string
    Separator used in CSV, has to be single character string.
    Tag string
    Identifier for the processor.
    Trim bool
    Trim whitespaces in unquoted fields.
    Field string
    The field to extract data from.
    Id string
    Internal identifier of the resource
    Json string
    JSON representation of this data source.
    TargetFields []string
    The array of fields to assign extracted values to.
    Description string
    Description of the processor.
    EmptyValue string
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    If string
    Conditionally execute the processor
    IgnoreFailure bool
    Ignore failures for the processor.
    IgnoreMissing bool
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    OnFailures []string
    Handle failures for the processor.
    Quote string
    Quote used in CSV, has to be single character string
    Separator string
    Separator used in CSV, has to be single character string.
    Tag string
    Identifier for the processor.
    Trim bool
    Trim whitespaces in unquoted fields.
    field String
    The field to extract data from.
    id String
    Internal identifier of the resource
    json String
    JSON representation of this data source.
    targetFields List<String>
    The array of fields to assign extracted values to.
    description String
    Description of the processor.
    emptyValue String
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if_ String
    Conditionally execute the processor
    ignoreFailure Boolean
    Ignore failures for the processor.
    ignoreMissing Boolean
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    onFailures List<String>
    Handle failures for the processor.
    quote String
    Quote used in CSV, has to be single character string
    separator String
    Separator used in CSV, has to be single character string.
    tag String
    Identifier for the processor.
    trim Boolean
    Trim whitespaces in unquoted fields.
    field string
    The field to extract data from.
    id string
    Internal identifier of the resource
    json string
    JSON representation of this data source.
    targetFields string[]
    The array of fields to assign extracted values to.
    description string
    Description of the processor.
    emptyValue string
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if string
    Conditionally execute the processor
    ignoreFailure boolean
    Ignore failures for the processor.
    ignoreMissing boolean
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    onFailures string[]
    Handle failures for the processor.
    quote string
    Quote used in CSV, has to be single character string
    separator string
    Separator used in CSV, has to be single character string.
    tag string
    Identifier for the processor.
    trim boolean
    Trim whitespaces in unquoted fields.
    field str
    The field to extract data from.
    id str
    Internal identifier of the resource
    json str
    JSON representation of this data source.
    target_fields Sequence[str]
    The array of fields to assign extracted values to.
    description str
    Description of the processor.
    empty_value str
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if_ str
    Conditionally execute the processor
    ignore_failure bool
    Ignore failures for the processor.
    ignore_missing bool
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    on_failures Sequence[str]
    Handle failures for the processor.
    quote str
    Quote used in CSV, has to be single character string
    separator str
    Separator used in CSV, has to be single character string.
    tag str
    Identifier for the processor.
    trim bool
    Trim whitespaces in unquoted fields.
    field String
    The field to extract data from.
    id String
    Internal identifier of the resource
    json String
    JSON representation of this data source.
    targetFields List<String>
    The array of fields to assign extracted values to.
    description String
    Description of the processor.
    emptyValue String
    Value used to fill empty fields, empty fields will be skipped if this is not provided.
    if String
    Conditionally execute the processor
    ignoreFailure Boolean
    Ignore failures for the processor.
    ignoreMissing Boolean
    If true and field does not exist or is null, the processor quietly exits without modifying the document.
    onFailures List<String>
    Handle failures for the processor.
    quote String
    Quote used in CSV, has to be single character string
    separator String
    Separator used in CSV, has to be single character string.
    tag String
    Identifier for the processor.
    trim Boolean
    Trim whitespaces in unquoted fields.

    Package Details

    Repository
    elasticstack elastic/terraform-provider-elasticstack
    License
    Notes
    This Pulumi package is based on the elasticstack Terraform Provider.
    elasticstack logo
    elasticstack 0.11.15 published on Wednesday, Apr 23, 2025 by elastic