opensearch_client/common/
base_node.rs1use crate::common;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct BaseNode {
16 #[serde(rename = "name")]
17 pub name: String,
18 #[serde(
19 rename = "attributes",
20 default,
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub attributes: Option<serde_json::Value>,
24 #[serde(
25 rename = "transport_address",
26 default,
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub transport_address: Option<String>,
30 #[serde(rename = "ip", default, skip_serializing_if = "Option::is_none")]
31 pub ip: Option<String>,
32 #[serde(rename = "host", default, skip_serializing_if = "Option::is_none")]
33 pub host: Option<String>,
34 #[serde(rename = "roles", default, skip_serializing_if = "Option::is_none")]
36 pub roles: Option<Vec<common::NodeRole>>,
37}
38
39impl BaseNode {
40 pub fn new(name: String) -> BaseNode {
41 BaseNode {
42 name,
43 attributes: None,
44 transport_address: None,
45 ip: None,
46 host: None,
47 roles: None,
48 }
49 }
50}