1717require 'time'
1818
1919module DatadogAPIClient ::V2
20- # The `elasticsearch` destination writes logs to an Elasticsearch cluster.
20+ # The `elasticsearch` destination writes logs or metrics to an Elasticsearch cluster.
2121 #
22- # **Supported pipeline types:** logs
22+ # **Supported pipeline types:** logs, metrics
2323 class ObservabilityPipelineElasticsearchDestination
2424 include BaseGenericModel
2525
@@ -33,9 +33,12 @@ class ObservabilityPipelineElasticsearchDestination
3333 # Configuration for buffer settings on destination components.
3434 attr_accessor :buffer
3535
36- # The index to write logs to in Elasticsearch.
36+ # The name of the index to write events to in Elasticsearch.
3737 attr_accessor :bulk_index
3838
39+ # Compression configuration for the Elasticsearch destination.
40+ attr_accessor :compression
41+
3942 # Configuration options for writing to Elasticsearch Data Streams instead of a fixed index.
4043 attr_accessor :data_stream
4144
@@ -45,9 +48,21 @@ class ObservabilityPipelineElasticsearchDestination
4548 # The unique identifier for this component.
4649 attr_reader :id
4750
51+ # The name of the field used as the document ID in Elasticsearch.
52+ attr_accessor :id_key
53+
4854 # A list of component IDs whose output is used as the `input` for this component.
4955 attr_reader :inputs
5056
57+ # The name of an Elasticsearch ingest pipeline to apply to events before indexing.
58+ attr_accessor :pipeline
59+
60+ # When `true`, retries failed partial bulk requests when some events in a batch fail while others succeed.
61+ attr_accessor :request_retry_partial
62+
63+ # Configuration for enabling TLS encryption between the pipeline component and external services.
64+ attr_accessor :tls
65+
5166 # The destination type. The value should always be `elasticsearch`.
5267 attr_reader :type
5368
@@ -61,10 +76,15 @@ def self.attribute_map
6176 :'auth' => :'auth' ,
6277 :'buffer' => :'buffer' ,
6378 :'bulk_index' => :'bulk_index' ,
79+ :'compression' => :'compression' ,
6480 :'data_stream' => :'data_stream' ,
6581 :'endpoint_url_key' => :'endpoint_url_key' ,
6682 :'id' => :'id' ,
83+ :'id_key' => :'id_key' ,
6784 :'inputs' => :'inputs' ,
85+ :'pipeline' => :'pipeline' ,
86+ :'request_retry_partial' => :'request_retry_partial' ,
87+ :'tls' => :'tls' ,
6888 :'type' => :'type'
6989 }
7090 end
@@ -77,10 +97,15 @@ def self.openapi_types
7797 :'auth' => :'ObservabilityPipelineElasticsearchDestinationAuth' ,
7898 :'buffer' => :'ObservabilityPipelineBufferOptions' ,
7999 :'bulk_index' => :'String' ,
100+ :'compression' => :'ObservabilityPipelineElasticsearchDestinationCompression' ,
80101 :'data_stream' => :'ObservabilityPipelineElasticsearchDestinationDataStream' ,
81102 :'endpoint_url_key' => :'String' ,
82103 :'id' => :'String' ,
104+ :'id_key' => :'String' ,
83105 :'inputs' => :'Array<String>' ,
106+ :'pipeline' => :'String' ,
107+ :'request_retry_partial' => :'Boolean' ,
108+ :'tls' => :'ObservabilityPipelineTls' ,
84109 :'type' => :'ObservabilityPipelineElasticsearchDestinationType'
85110 }
86111 end
@@ -119,6 +144,10 @@ def initialize(attributes = {})
119144 self . bulk_index = attributes [ :'bulk_index' ]
120145 end
121146
147+ if attributes . key? ( :'compression' )
148+ self . compression = attributes [ :'compression' ]
149+ end
150+
122151 if attributes . key? ( :'data_stream' )
123152 self . data_stream = attributes [ :'data_stream' ]
124153 end
@@ -131,12 +160,28 @@ def initialize(attributes = {})
131160 self . id = attributes [ :'id' ]
132161 end
133162
163+ if attributes . key? ( :'id_key' )
164+ self . id_key = attributes [ :'id_key' ]
165+ end
166+
134167 if attributes . key? ( :'inputs' )
135168 if ( value = attributes [ :'inputs' ] ) . is_a? ( Array )
136169 self . inputs = value
137170 end
138171 end
139172
173+ if attributes . key? ( :'pipeline' )
174+ self . pipeline = attributes [ :'pipeline' ]
175+ end
176+
177+ if attributes . key? ( :'request_retry_partial' )
178+ self . request_retry_partial = attributes [ :'request_retry_partial' ]
179+ end
180+
181+ if attributes . key? ( :'tls' )
182+ self . tls = attributes [ :'tls' ]
183+ end
184+
140185 if attributes . key? ( :'type' )
141186 self . type = attributes [ :'type' ]
142187 end
@@ -212,10 +257,15 @@ def ==(o)
212257 auth == o . auth &&
213258 buffer == o . buffer &&
214259 bulk_index == o . bulk_index &&
260+ compression == o . compression &&
215261 data_stream == o . data_stream &&
216262 endpoint_url_key == o . endpoint_url_key &&
217263 id == o . id &&
264+ id_key == o . id_key &&
218265 inputs == o . inputs &&
266+ pipeline == o . pipeline &&
267+ request_retry_partial == o . request_retry_partial &&
268+ tls == o . tls &&
219269 type == o . type &&
220270 additional_properties == o . additional_properties
221271 end
@@ -224,7 +274,7 @@ def ==(o)
224274 # @return [Integer] Hash code
225275 # @!visibility private
226276 def hash
227- [ api_version , auth , buffer , bulk_index , data_stream , endpoint_url_key , id , inputs , type , additional_properties ] . hash
277+ [ api_version , auth , buffer , bulk_index , compression , data_stream , endpoint_url_key , id , id_key , inputs , pipeline , request_retry_partial , tls , type , additional_properties ] . hash
228278 end
229279 end
230280end
0 commit comments