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;

/// SerialPortOutput : An instance serial console output.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SerialPortOutput {
    /// [Output Only] The contents of the console output.
    #[serde(rename = "contents", skip_serializing_if = "Option::is_none")]
    pub contents: Option<String>,
    /// [Output Only] Type of the resource. Always compute#serialPortOutput for serial port output.
    #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
    pub kind: Option<String>,
    /// [Output Only] The position of the next byte of content, regardless of whether the content exists, following the output returned in the `contents` property. Use this value in the next request as the start parameter.
    #[serde(rename = "next", skip_serializing_if = "Option::is_none")]
    pub next: Option<String>,
    /// [Output Only] Server-defined URL for this resource.
    #[serde(rename = "selfLink", skip_serializing_if = "Option::is_none")]
    pub self_link: Option<String>,
    /// The starting byte position of the output that was returned. This should match the start parameter sent with the request. If the serial console output exceeds the size of the buffer (1 MB), older output is overwritten by newer content. The output start value will indicate the byte position of the output that was returned, which might be different than the `start` value that was specified in the request.
    #[serde(rename = "start", skip_serializing_if = "Option::is_none")]
    pub start: Option<String>,
}

impl SerialPortOutput {
    /// An instance serial console output.
    pub fn new() -> SerialPortOutput {
        SerialPortOutput {
            contents: None,
            kind: None,
            next: None,
            self_link: None,
            start: None,
        }
    }
}
