Skip to main content

opensearch_client/cluster/
allocation_explain_response.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::cluster;
12use serde::{Deserialize, Serialize};
13
14
15
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
18pub struct AllocationExplainResponse {
19    #[serde(rename = "current_state")]
20    pub current_state: String,
21    #[serde(rename = "can_rebalance_cluster_decisions", default, skip_serializing_if = "Option::is_none")]
22    pub can_rebalance_cluster_decisions: Option<Vec<cluster::allocation_explain::AllocationDecision>>,
23    #[serde(rename = "can_allocate", default, skip_serializing_if = "Option::is_none")]
24    pub can_allocate: Option<String>,
25    #[serde(rename = "can_remain_decisions", default, skip_serializing_if = "Option::is_none")]
26    pub can_remain_decisions: Option<Vec<cluster::allocation_explain::AllocationDecision>>,
27    #[serde(rename = "move_explanation", default, skip_serializing_if = "Option::is_none")]
28    pub move_explanation: Option<String>,
29    #[serde(rename = "unassigned_info", default, skip_serializing_if = "Option::is_none")]
30    pub unassigned_info: Option<cluster::allocation_explain::UnassignedInformation>,
31    #[serde(rename = "can_move_to_other_node", default, skip_serializing_if = "Option::is_none")]
32    pub can_move_to_other_node: Option<String>,  /// A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and
33  /// `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.
34    #[serde(rename = "configured_delay", default, skip_serializing_if = "Option::is_none")]
35    pub configured_delay: Option<String>,
36    #[serde(rename = "allocate_explanation", default, skip_serializing_if = "Option::is_none")]
37    pub allocate_explanation: Option<String>,
38    #[serde(rename = "can_remain_on_current_node", default, skip_serializing_if = "Option::is_none")]
39    pub can_remain_on_current_node: Option<String>,
40    #[serde(rename = "can_rebalance_to_other_node", default, skip_serializing_if = "Option::is_none")]
41    pub can_rebalance_to_other_node: Option<String>,
42    #[serde(rename = "cluster_info", default, skip_serializing_if = "Option::is_none")]
43    pub cluster_info: Option<cluster::allocation_explain::ClusterInfo>,
44    #[serde(rename = "node_allocation_decisions", default, skip_serializing_if = "Option::is_none")]
45    pub node_allocation_decisions: Option<Vec<cluster::allocation_explain::NodeAllocationExplanation>>,  /// A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and
46  /// `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.
47    #[serde(rename = "allocation_delay", default, skip_serializing_if = "Option::is_none")]
48    pub allocation_delay: Option<String>,
49    #[serde(rename = "allocation_delay_in_millis", default, skip_serializing_if = "Option::is_none")]
50    pub allocation_delay_in_millis: Option<String>,
51    #[serde(rename = "can_rebalance_cluster", default, skip_serializing_if = "Option::is_none")]
52    pub can_rebalance_cluster: Option<String>,
53    #[serde(rename = "note", default, skip_serializing_if = "Option::is_none")]
54    pub note: Option<String>,
55    #[serde(rename = "index")]
56    pub index: String,  /// A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and
57  /// `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.
58    #[serde(rename = "remaining_delay", default, skip_serializing_if = "Option::is_none")]
59    pub remaining_delay: Option<String>,
60    #[serde(rename = "configured_delay_in_millis", default, skip_serializing_if = "Option::is_none")]
61    pub configured_delay_in_millis: Option<String>,
62    #[serde(rename = "remaining_delay_in_millis", default, skip_serializing_if = "Option::is_none")]
63    pub remaining_delay_in_millis: Option<String>,
64    #[serde(rename = "primary")]
65    pub primary: bool,
66    #[serde(rename = "rebalance_explanation", default, skip_serializing_if = "Option::is_none")]
67    pub rebalance_explanation: Option<String>,
68    #[serde(rename = "current_node", default, skip_serializing_if = "Option::is_none")]
69    pub current_node: Option<cluster::allocation_explain::CurrentNode>,
70    #[serde(rename = "shard")]
71    pub shard: u32,
72}
73
74impl AllocationExplainResponse {
75    
76    pub fn new(current_state: String, index: String, primary: bool, shard: u32) -> AllocationExplainResponse {
77        AllocationExplainResponse {
78            current_state,
79            can_rebalance_cluster_decisions: None,
80            can_allocate: None,
81            can_remain_decisions: None,
82            move_explanation: None,
83            unassigned_info: None,
84            can_move_to_other_node: None,
85            configured_delay: None,
86            allocate_explanation: None,
87            can_remain_on_current_node: None,
88            can_rebalance_to_other_node: None,
89            cluster_info: None,
90            node_allocation_decisions: None,
91            allocation_delay: None,
92            allocation_delay_in_millis: None,
93            can_rebalance_cluster: None,
94            note: None,
95            index,
96            remaining_delay: None,
97            configured_delay_in_millis: None,
98            remaining_delay_in_millis: None,
99            primary,
100            rebalance_explanation: None,
101            current_node: None,
102            shard,
103        }
104    }
105}