selectel_mks/node/schemas.rs
1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4/// Node represents a deserialized node body from an API response.
5#[derive(Debug, Deserialize, Serialize)]
6pub struct Node {
7 // Node identifier.
8 pub id: String,
9
10 // Timestamp in UTC timezone of when the node has been created.
11 pub created_at: DateTime<Utc>,
12
13 // Timestamp in UTC timezone of when the node has been updated.
14 pub updated_at: Option<DateTime<Utc>>,
15
16 // Node hostname.
17 pub hostname: String,
18
19 // IP address of the node.
20 pub ip: String,
21
22 // Nodegroup identifier.
23 pub nodegroup_id: String,
24}
25
26/// NodeRoot represents a root of a deserialized node.
27#[derive(Debug, Deserialize, Serialize)]
28pub struct NodeRoot {
29 pub node: Node,
30}