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