asana 0.1.1

asana bindings for rust
Documentation
/*
 * Asana
 *
 * This is the interface for interacting with the [Asana Platform](https://developers.asana.com). Our API reference is generated from our [OpenAPI spec] (https://raw.githubusercontent.com/Asana/developer-docs/master/defs/asana_oas.yaml).
 *
 * The version of the OpenAPI document: 1.0
 *
 * Generated by: https://openapi-generator.tech
 */

/// OrganizationExportCompactAllOf : An *organization_export* object represents a request to export the complete data of an Organization in JSON format.

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OrganizationExportCompactAllOf {
    /// The time at which this resource was created.
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    /// Download this URL to retreive the full export of the organization in JSON format. It will be compressed in a gzip (.gz) container.  *Note: May be null if the export is still in progress or failed.  If present, this URL may only be valid for 1 hour from the time of retrieval. You should avoid persisting this URL somewhere and rather refresh on demand to ensure you do not keep stale URLs.*
    #[serde(rename = "download_url", skip_serializing_if = "Option::is_none")]
    pub download_url: Option<String>,
    /// The current state of the export.
    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
    pub state: Option<State>,
    #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
    pub organization: Option<Box<crate::models::WorkspaceCompact>>,
}

impl OrganizationExportCompactAllOf {
    /// An *organization_export* object represents a request to export the complete data of an Organization in JSON format.
    pub fn new() -> OrganizationExportCompactAllOf {
        OrganizationExportCompactAllOf {
            created_at: None,
            download_url: None,
            state: None,
            organization: None,
        }
    }
}

/// The current state of the export.
#[derive(
    Clone,
    Copy,
    Debug,
    Eq,
    PartialEq,
    Ord,
    PartialOrd,
    Hash,
    Serialize,
    Deserialize
)]
pub enum State {
    #[serde(rename = "pending")]
    Pending,
    #[serde(rename = "started")]
    Started,
    #[serde(rename = "finished")]
    Finished,
    #[serde(rename = "error")]
    Error,
}