Skip to main content

opensearch_client/core/reindex/
source.rs

1/*
2 * opensearch-client
3 *
4 * Rust Client for OpenSearch
5 *
6 * The version of the OpenAPI document: 3.1.0
7 * Contact: alberto.paro@gmail.com
8 * Generated by Paro OpenAPI Generator
9 */
10
11use crate::common;
12use crate::core;
13use serde::{Deserialize, Serialize};
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Source {
17    #[serde(rename = "slice", default, skip_serializing_if = "Option::is_none")]
18    pub slice: Option<common::SlicedScroll>,
19    #[serde(rename = "remote", default, skip_serializing_if = "Option::is_none")]
20    pub remote: Option<core::reindex::RemoteSource>,
21    #[serde(rename = "sort", default, skip_serializing_if = "Option::is_none")]
22    pub sort: Option<common::Sort>,
23    #[serde(rename = "_source", default, skip_serializing_if = "Option::is_none")]
24    pub source: Option<common::Fields>,
25    /// A comma-separated list of data streams, indexes, and aliases used to limit the request.
26    /// Supports wildcards (`*`).
27    /// To target all data streams and indexes, omit this parameter or use `*` or `_all`.
28    #[serde(rename = "index")]
29    pub index: common::Indices,
30    #[serde(rename = "query", default, skip_serializing_if = "Option::is_none")]
31    pub query: Option<crate::dsl::Query>,
32    /// The number of documents to index per batch.
33    /// Use the `size` setting when indexing from a remote cluster. This ensures that batches fit in the on-heap buffer. The buffer defaults to a maximum size of `100MB`.
34    #[serde(rename = "size", default, skip_serializing_if = "Option::is_none")]
35    pub size: Option<u32>,
36}
37
38impl Source {
39    pub fn new(index: common::Indices) -> Source {
40        Source {
41            slice: None,
42            remote: None,
43            sort: None,
44            source: None,
45            index,
46            query: None,
47            size: None,
48        }
49    }
50}