/*
 * Orvanta API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.6
 * Contact: contact@orvanta.cloud
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetPremiumInfo200Response {
    #[serde(rename = "premium")]
    pub premium: bool,
    #[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
    pub usage: Option<f64>,
    #[serde(rename = "owner")]
    pub owner: String,
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    #[serde(rename = "is_past_due")]
    pub is_past_due: bool,
    #[serde(rename = "max_tolerated_executions", skip_serializing_if = "Option::is_none")]
    pub max_tolerated_executions: Option<f64>,
}

impl GetPremiumInfo200Response {
    pub fn new(premium: bool, owner: String, is_past_due: bool) -> GetPremiumInfo200Response {
        GetPremiumInfo200Response {
            premium,
            usage: None,
            owner,
            status: None,
            is_past_due,
            max_tolerated_executions: None,
        }
    }
}

