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::indices;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IndexErrorCause {
    #[serde(
        rename = "resource.id",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub resource_id: Option<String>,
    /// The type of error
    #[serde(rename = "type")]
    pub r#type: String,
    #[serde(rename = "index", default, skip_serializing_if = "Option::is_none")]
    pub index: Option<String>,
    #[serde(
        rename = "index_uuid",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub index_uuid: Option<String>,
    /// A human-readable explanation of the error, in english
    #[serde(rename = "reason", default, skip_serializing_if = "Option::is_none")]
    pub reason: Option<String>,
    #[serde(
        rename = "resource.type",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub resource_type: Option<String>,
    #[serde(
        rename = "root_cause",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub root_cause: Option<Vec<indices::IndexErrorCause>>,
}

impl IndexErrorCause {
    pub fn new(r#type: String) -> IndexErrorCause {
        IndexErrorCause {
            resource_id: None,
            r#type,
            index: None,
            index_uuid: None,
            reason: None,
            resource_type: None,
            root_cause: None,
        }
    }
}