/*
 * Hetzner Cloud API
 *
 * Copied from the official API documentation for the Public Hetzner Cloud.
 *
 * The version of the OpenAPI document: 4b3f595
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// StorageBoxStats : Statistics of the Storage Box.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct StorageBoxStats {
    /// Current disk usage in bytes.
    #[serde(rename = "size")]
    pub size: i64,
    /// Current disk usage for data in bytes.
    #[serde(rename = "size_data")]
    pub size_data: i64,
    /// Current disk usage for snapshots in bytes.
    #[serde(rename = "size_snapshots")]
    pub size_snapshots: i64,
}

impl StorageBoxStats {
    /// Statistics of the Storage Box.
    pub fn new(size: i64, size_data: i64, size_snapshots: i64) -> StorageBoxStats {
        StorageBoxStats {
            size,
            size_data,
            size_snapshots,
        }
    }
}
