internal/models/ingest.go (266 lines of code) (raw):

package models type IngestPipeline struct { Name string `json:"-"` Description *string `json:"description,omitempty"` OnFailure []map[string]interface{} `json:"on_failure,omitempty"` Processors []map[string]interface{} `json:"processors"` Metadata map[string]interface{} `json:"_meta,omitempty"` } type CommonProcessor struct { Description string `json:"description,omitempty"` If string `json:"if,omitempty"` IgnoreFailure bool `json:"ignore_failure"` OnFailure []map[string]interface{} `json:"on_failure,omitempty"` Tag string `json:"tag,omitempty"` } type ProcessortFields struct { Field string `json:"field"` TargetField string `json:"target_field,omitempty"` IgnoreMissing bool `json:"ignore_missing"` } type ProcessorAppend struct { CommonProcessor Field string `json:"field"` Value []string `json:"value"` AllowDuplicates bool `json:"allow_duplicates"` MediaType string `json:"media_type,omitempty"` } type ProcessorBytes struct { CommonProcessor ProcessortFields } type ProcessorCircle struct { CommonProcessor ProcessortFields ErrorDistance float64 `json:"error_distance"` ShapeType string `json:"shape_type"` } type ProcessorCommunityId struct { CommonProcessor SourceIp string `json:"source_ip,omitempty"` SourcePort *int `json:"source_port,omitempty"` DestinationIp string `json:"destination_ip,omitempty"` DestinationPort *int `json:"destination_port,omitempty"` IanaNumber string `json:"iana_number,omitempty"` IcmpType *int `json:"icmp_type,omitempty"` IcmpCode *int `json:"icmp_code,omitempty"` Transport string `json:"transport,omitempty"` TargetField string `json:"target_field,omitempty"` Seed *int `json:"seed"` IgnoreMissing bool `json:"ignore_missing"` } type ProcessorConvert struct { CommonProcessor ProcessortFields Type string `json:"type"` } type ProcessorCSV struct { CommonProcessor Field string `json:"field"` TargetFields []string `json:"target_fields"` IgnoreMissing bool `json:"ignore_missing"` Separator string `json:"separator"` Quote string `json:"quote"` Trim bool `json:"trim"` EmptyValue string `json:"empty_value,omitempty"` } type ProcessorDate struct { CommonProcessor Field string `json:"field"` TargetField string `json:"target_field,omitempty"` Formats []string `json:"formats"` Timezone string `json:"timezone,omitempty"` Locale string `json:"locale,omitempty"` OutputFormat string `json:"output_format,omitempty"` } type ProcessorDateIndexName struct { CommonProcessor Field string `json:"field"` IndexNamePrefix string `json:"index_name_prefix,omitempty"` DateRounding string `json:"date_rounding"` DateFormats []string `json:"date_formats,omitempty"` Timezone string `json:"timezone,omitempty"` Locale string `json:"locale,omitempty"` IndexNameFormat string `json:"index_name_format,omitempty"` } type ProcessorDissect struct { CommonProcessor Field string `json:"field"` Pattern string `json:"pattern"` AppendSeparator string `json:"append_separator"` IgnoreMissing bool `json:"ignore_missing"` } type ProcessorDotExpander struct { CommonProcessor Field string `json:"field"` Path string `json:"path,omitempty"` Override bool `json:"override"` } type ProcessorDrop struct { CommonProcessor } type ProcessorEnrich struct { CommonProcessor ProcessortFields PolicyName string `json:"policy_name"` Override bool `json:"override"` MaxMatches int `json:"max_matches"` ShapeRelation string `json:"shape_relation,omitempty"` } type ProcessorFail struct { CommonProcessor Message string `json:"message"` } type ProcessorFingerprint struct { CommonProcessor Fields []string `json:"fields"` TargetField string `json:"target_field,omitempty"` IgnoreMissing bool `json:"ignore_missing"` Salt string `json:"salt,omitempty"` Method string `json:"method,omitempty"` } type ProcessorForeach struct { CommonProcessor Field string `json:"field"` IgnoreMissing bool `json:"ignore_missing"` Processor map[string]interface{} `json:"processor"` } type ProcessorGeoip struct { ProcessortFields DatabaseFile string `json:"database_file,omitempty"` Properties []string `json:"properties,omitempty"` FirstOnly bool `json:"first_only"` } type ProcessorGrok struct { CommonProcessor Field string `json:"field"` Patterns []string `json:"patterns"` PatternDefinitions map[string]string `json:"pattern_definitions,omitempty"` EcsCompatibility string `json:"ecs_compatibility,omitempty"` TraceMatch bool `json:"trace_match"` IgnoreMissing bool `json:"ignore_missing"` } type ProcessorGsub struct { CommonProcessor ProcessortFields Pattern string `json:"pattern"` Replacement string `json:"replacement"` } type ProcessorHtmlStrip struct { CommonProcessor ProcessortFields } type ProcessorJoin struct { CommonProcessor Field string `json:"field"` Separator string `json:"separator"` TargetField string `json:"target_field,omitempty"` } type ProcessorJson struct { CommonProcessor Field string `json:"field"` TargetField string `json:"target_field,omitempty"` AddToRoot *bool `json:"add_to_root,omitempty"` AddToRootConflictStrategy string `json:"add_to_root_conflict_strategy,omitempty"` AllowDuplicateKeys *bool `json:"allow_duplicate_keys,omitempty"` } type ProcessorKV struct { CommonProcessor ProcessortFields FieldSplit string `json:"field_split"` ValueSplit string `json:"value_split"` IncludeKeys []string `json:"include_keys,omitempty"` ExcludeKeys []string `json:"exclude_keys,omitempty"` Prefix string `json:"prefix,omitempty"` TrimKey string `json:"trim_key,omitempty"` TrimValue string `json:"trim_value,omitempty"` StripBrackets bool `json:"strip_brackets"` } type ProcessorLowercase struct { CommonProcessor ProcessortFields } type ProcessorNetworkDirection struct { CommonProcessor SourceIp string `json:"source_ip,omitempty"` DestinationIp string `json:"destination_ip,omitempty"` TargetField string `json:"target_field,omitempty"` InternalNetworks []string `json:"internal_networks,omitempty"` InternalNetworksField string `json:"internal_networks_field,omitempty"` IgnoreMissing bool `json:"ignore_missing"` } type ProcessorPipeline struct { CommonProcessor Name string `json:"name"` } type ProcessorRegisteredDomain struct { CommonProcessor ProcessortFields } type ProcessorRemove struct { CommonProcessor Field []string `json:"field"` IgnoreMissing bool `json:"ignore_missing"` } type ProcessorRename struct { CommonProcessor ProcessortFields } type ProcessorScript struct { CommonProcessor Lang string `json:"lang,omitempty"` ScriptId string `json:"id,omitempty"` Source string `json:"source,omitempty"` Params map[string]interface{} `json:"params,omitempty"` } type ProcessorSet struct { CommonProcessor Field string `json:"field"` Value string `json:"value,omitempty"` CopyFrom string `json:"copy_from,omitempty"` Override bool `json:"override"` IgnoreEmptyValue bool `json:"ignore_empty_value"` MediaType string `json:"media_type,omitempty"` } type ProcessorSetSecurityUser struct { CommonProcessor Field string `json:"field"` Properties []string `json:"properties,omitempty"` } type ProcessorSort struct { CommonProcessor Field string `json:"field"` Order string `json:"order,omitempty"` TargetField string `json:"target_field,omitempty"` } type ProcessorSplit struct { CommonProcessor ProcessortFields Separator string `json:"separator"` PreserveTrailing bool `json:"preserve_trailing"` } type ProcessorTrim struct { CommonProcessor ProcessortFields } type ProcessorUppercase struct { CommonProcessor ProcessortFields } type ProcessorUrldecode struct { CommonProcessor ProcessortFields } type ProcessorUriParts struct { CommonProcessor Field string `json:"field"` TargetField string `json:"target_field,omitempty"` KeepOriginal bool `json:"keep_original"` RemoveIfSuccessful bool `json:"remove_if_successful"` } type ProcessorUserAgent struct { ProcessortFields RegexFile string `json:"regex_file,omitempty"` Properties []string `json:"properties,omitempty"` ExtractDeviceType *bool `json:"extract_device_type,omitempty"` }