opensearch_client/common/
node_shard.rs1use crate::common;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NodeShard {
16 #[serde(
17 rename = "unassigned_info",
18 default,
19 skip_serializing_if = "Option::is_none"
20 )]
21 pub unassigned_info: Option<common::cluster::UnassignedInformation>,
22 #[serde(rename = "shard")]
23 pub shard: u32,
24 #[serde(rename = "state")]
25 pub state: String,
26 #[serde(rename = "index")]
27 pub index: String,
28 #[serde(
29 rename = "recovery_source",
30 default,
31 skip_serializing_if = "Option::is_none"
32 )]
33 pub recovery_source: Option<serde_json::Value>,
34 #[serde(
35 rename = "allocation_id",
36 default,
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub allocation_id: Option<serde_json::Value>,
40 #[serde(rename = "node", default, skip_serializing_if = "Option::is_none")]
41 pub node: Option<String>,
42 #[serde(rename = "primary")]
43 pub primary: bool,
44}
45
46impl NodeShard {
47 pub fn new(shard: u32, state: String, index: String, primary: bool) -> NodeShard {
48 NodeShard {
49 unassigned_info: None,
50 shard,
51 state,
52 index,
53 recovery_source: None,
54 allocation_id: None,
55 node: None,
56 primary,
57 }
58 }
59}