/*
 * Cloud Hypervisor API
 *
 * Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine.
 *
 * The version of the OpenAPI document: 0.3.0
 *
 * Generated by: https://openapi-generator.tech
 */

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

/// PayloadConfig : Payloads to boot in guest
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PayloadConfig {
    #[serde(rename = "firmware", skip_serializing_if = "Option::is_none")]
    pub firmware: Option<String>,
    #[serde(rename = "kernel", skip_serializing_if = "Option::is_none")]
    pub kernel: Option<String>,
    #[serde(rename = "cmdline", skip_serializing_if = "Option::is_none")]
    pub cmdline: Option<String>,
    #[serde(rename = "initramfs", skip_serializing_if = "Option::is_none")]
    pub initramfs: Option<String>,
    #[serde(rename = "igvm", skip_serializing_if = "Option::is_none")]
    pub igvm: Option<String>,
    #[serde(rename = "host_data", skip_serializing_if = "Option::is_none")]
    pub host_data: Option<String>,
}

impl PayloadConfig {
    /// Payloads to boot in guest
    pub fn new() -> PayloadConfig {
        PayloadConfig {
            firmware: None,
            kernel: None,
            cmdline: None,
            initramfs: None,
            igvm: None,
            host_data: None,
        }
    }
}
