use serde::{Deserialize, Serialize}; /*
                                      * Google Cloud Managed Lustre API
                                      *
                                      * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
                                      *
                                      * The version of the OpenAPI document: v1
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

use crate::google_rest_apis::lustre_v1::models;

/// ExportDataRequest : Message for exporting data from Lustre.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ExportDataRequest {
    #[serde(rename = "gcsPath", skip_serializing_if = "Option::is_none")]
    pub gcs_path: Option<Box<models::GcsPath>>,
    #[serde(rename = "lustrePath", skip_serializing_if = "Option::is_none")]
    pub lustre_path: Option<Box<models::LustrePath>>,
    /// Optional. UUID to identify requests.
    #[serde(rename = "requestId", skip_serializing_if = "Option::is_none")]
    pub request_id: Option<String>,
    /// Optional. User-specified service account used to perform the transfer. If unspecified, the Managed Lustre service agent is used.
    #[serde(rename = "serviceAccount", skip_serializing_if = "Option::is_none")]
    pub service_account: Option<String>,
}

impl ExportDataRequest {
    /// Message for exporting data from Lustre.
    pub fn new() -> ExportDataRequest {
        ExportDataRequest {
            gcs_path: None,
            lustre_path: None,
            request_id: None,
            service_account: None,
        }
    }
}
