opensearch-client 0.3.1

Strongly typed OpenSearch Client
Documentation
/*
 * opensearch-client
 *
 * Rust Client for OpenSearch
 *
 * The version of the OpenAPI document: 3.1.0
 * Contact: alberto.paro@gmail.com
 * Generated by Paro OpenAPI Generator
 */

use crate::common;
use crate::cluster;
use serde::{Deserialize, Serialize};




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NodeAllocationExplanation {
    #[serde(rename = "weight_ranking", default, skip_serializing_if = "Option::is_none")]
    pub weight_ranking: Option<u32>,
    #[serde(rename = "deciders")]
    pub deciders: Vec<cluster::allocation_explain::AllocationDecision>,
    #[serde(rename = "node_attributes")]
    pub node_attributes: serde_json::Value,
    #[serde(rename = "node_decision")]
    pub node_decision: String,
    #[serde(rename = "store", default, skip_serializing_if = "Option::is_none")]
    pub store: Option<cluster::allocation_explain::AllocationStore>,
    #[serde(rename = "node_id")]
    pub node_id: String,
    #[serde(rename = "transport_address")]
    pub transport_address: String,
    #[serde(rename = "node_name")]
    pub node_name: String,
}

impl NodeAllocationExplanation {
    
    pub fn new(deciders: Vec<cluster::allocation_explain::AllocationDecision>, node_attributes: serde_json::Value, node_decision: String, node_id: String, transport_address: String, node_name: String) -> NodeAllocationExplanation {
        NodeAllocationExplanation {
            weight_ranking: None,
            deciders,
            node_attributes,
            node_decision,
            store: None,
            node_id,
            transport_address,
            node_name,
        }
    }
}