use serde::{Deserialize, Serialize}; /*
                                      * Compute Engine API
                                      *
                                      * Creates and runs virtual machines on Google Cloud Platform.
                                      *
                                      * The version of the OpenAPI document: v1
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

use crate::google_rest_apis::compute_v1::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InstanceConsumptionInfo {
    /// The number of virtual CPUs that are available to the instance.
    #[serde(rename = "guestCpus", skip_serializing_if = "Option::is_none")]
    pub guest_cpus: Option<i32>,
    /// The amount of local SSD storage available to the instance, defined in GiB.
    #[serde(rename = "localSsdGb", skip_serializing_if = "Option::is_none")]
    pub local_ssd_gb: Option<i32>,
    /// The amount of physical memory available to the instance, defined in MiB.
    #[serde(rename = "memoryMb", skip_serializing_if = "Option::is_none")]
    pub memory_mb: Option<i32>,
    /// The minimal guaranteed number of virtual CPUs that are reserved.
    #[serde(rename = "minNodeCpus", skip_serializing_if = "Option::is_none")]
    pub min_node_cpus: Option<i32>,
}

impl InstanceConsumptionInfo {
    pub fn new() -> InstanceConsumptionInfo {
        InstanceConsumptionInfo {
            guest_cpus: None,
            local_ssd_gb: None,
            memory_mb: None,
            min_node_cpus: None,
        }
    }
}
