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




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RecoveryRecord {  /// The number of bytes to recover.
    #[serde(rename = "bytes", default, skip_serializing_if = "Option::is_none")]
    pub bytes: Option<String>,  /// The repository name.
    #[serde(rename = "repository", default, skip_serializing_if = "Option::is_none")]
    pub repository: Option<String>,
    #[serde(rename = "files_percent", default, skip_serializing_if = "Option::is_none")]
    pub files_percent: Option<String>,  /// A date and time, either as a string whose format depends on the context (defaulting to ISO_8601) or the
  /// number of milliseconds since the epoch. OpenSearch accepts both as an input but will generally output a string.
  /// representation.
    #[serde(rename = "start_time", default, skip_serializing_if = "Option::is_none")]
    pub start_time: Option<common::DateTime>,  /// The recovery stage.
    #[serde(rename = "stage", default, skip_serializing_if = "Option::is_none")]
    pub stage: Option<String>,  /// The snapshot name.
    #[serde(rename = "snapshot", default, skip_serializing_if = "Option::is_none")]
    pub snapshot: Option<String>,  /// Certain APIs may return values, including numbers such as epoch timestamps, as strings. This setting captures
  /// this behavior while keeping the semantics of the field type.
  /// 
  /// Depending on the target language, code generators can keep the union or remove it and leniently parse
  /// strings to the target type.
    #[serde(rename = "start_time_millis", default, skip_serializing_if = "Option::is_none")]
    pub start_time_millis: Option<common::StringifiedEpochTimeUnitMillis>,  /// A date and time, either as a string whose format depends on the context (defaulting to ISO_8601) or the
  /// number of milliseconds since the epoch. OpenSearch accepts both as an input but will generally output a string.
  /// representation.
    #[serde(rename = "stop_time", default, skip_serializing_if = "Option::is_none")]
    pub stop_time: Option<common::DateTime>,  /// The files recovered.
    #[serde(rename = "files_recovered", default, skip_serializing_if = "Option::is_none")]
    pub files_recovered: Option<String>,  /// The shard name.
    #[serde(rename = "shard", default, skip_serializing_if = "Option::is_none")]
    pub shard: Option<String>,  /// Certain APIs may return values, including numbers such as epoch timestamps, as strings. This setting captures
  /// this behavior while keeping the semantics of the field type.
  /// 
  /// Depending on the target language, code generators can keep the union or remove it and leniently parse
  /// strings to the target type.
    #[serde(rename = "stop_time_millis", default, skip_serializing_if = "Option::is_none")]
    pub stop_time_millis: Option<common::StringifiedEpochTimeUnitMillis>,  /// The target host.
    #[serde(rename = "target_host", default, skip_serializing_if = "Option::is_none")]
    pub target_host: Option<String>,  /// The bytes recovered.
    #[serde(rename = "bytes_recovered", default, skip_serializing_if = "Option::is_none")]
    pub bytes_recovered: Option<String>,  /// The target node name.
    #[serde(rename = "target_node", default, skip_serializing_if = "Option::is_none")]
    pub target_node: Option<String>,  /// The total number of files.
    #[serde(rename = "files_total", default, skip_serializing_if = "Option::is_none")]
    pub files_total: Option<String>,  /// The source node name.
    #[serde(rename = "source_node", default, skip_serializing_if = "Option::is_none")]
    pub source_node: Option<String>,  /// The number of translog operations to recover.
    #[serde(rename = "translog_ops", default, skip_serializing_if = "Option::is_none")]
    pub translog_ops: Option<String>,  /// The number of files to recover.
    #[serde(rename = "files", default, skip_serializing_if = "Option::is_none")]
    pub files: Option<String>,  /// The translog operations recovered.
    #[serde(rename = "translog_ops_recovered", default, skip_serializing_if = "Option::is_none")]
    pub translog_ops_recovered: Option<String>,  /// The total number of bytes.
    #[serde(rename = "bytes_total", default, skip_serializing_if = "Option::is_none")]
    pub bytes_total: Option<String>,  /// The source host.
    #[serde(rename = "source_host", default, skip_serializing_if = "Option::is_none")]
    pub source_host: Option<String>,
    #[serde(rename = "translog_ops_percent", default, skip_serializing_if = "Option::is_none")]
    pub translog_ops_percent: Option<String>,
    #[serde(rename = "bytes_percent", default, skip_serializing_if = "Option::is_none")]
    pub bytes_percent: Option<String>,  /// The recovery type.
    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
    pub r#type: Option<String>,  /// A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and
  /// `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.
    #[serde(rename = "time", default, skip_serializing_if = "Option::is_none")]
    pub time: Option<String>,
    #[serde(rename = "index", default, skip_serializing_if = "Option::is_none")]
    pub index: Option<String>,
}

impl RecoveryRecord {
    
    pub fn new() -> RecoveryRecord {
        RecoveryRecord {
            bytes: None,
            repository: None,
            files_percent: None,
            start_time: None,
            stage: None,
            snapshot: None,
            start_time_millis: None,
            stop_time: None,
            files_recovered: None,
            shard: None,
            stop_time_millis: None,
            target_host: None,
            bytes_recovered: None,
            target_node: None,
            files_total: None,
            source_node: None,
            translog_ops: None,
            files: None,
            translog_ops_recovered: None,
            bytes_total: None,
            source_host: None,
            translog_ops_percent: None,
            bytes_percent: None,
            r#type: None,
            time: None,
            index: None,
        }
    }
}