use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PatchProductRequest {
#[serde(rename = "addons", skip_serializing_if = "Option::is_none")]
pub addons: Option<Vec<String>>,
#[serde(rename = "brand_id", skip_serializing_if = "Option::is_none")]
pub brand_id: Option<String>,
#[serde(rename = "credit_entitlements", skip_serializing_if = "Option::is_none")]
pub credit_entitlements: Option<Vec<models::AttachCreditEntitlementRequest>>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "digital_product_delivery", skip_serializing_if = "Option::is_none")]
pub digital_product_delivery: Option<Box<models::PatchDigitalProductDeliveryRequest>>,
#[serde(rename = "image_id", skip_serializing_if = "Option::is_none")]
pub image_id: Option<uuid::Uuid>,
#[serde(rename = "license_key_activation_message", skip_serializing_if = "Option::is_none")]
pub license_key_activation_message: Option<String>,
#[serde(rename = "license_key_activations_limit", skip_serializing_if = "Option::is_none")]
pub license_key_activations_limit: Option<i32>,
#[serde(rename = "license_key_duration", skip_serializing_if = "Option::is_none")]
pub license_key_duration: Option<Box<models::LicenseKeyDuration>>,
#[serde(rename = "license_key_enabled", skip_serializing_if = "Option::is_none")]
pub license_key_enabled: Option<bool>,
#[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
pub metadata: Option<std::collections::HashMap<String, String>>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "price", skip_serializing_if = "Option::is_none")]
pub price: Option<Box<models::Price>>,
#[serde(rename = "tax_category", skip_serializing_if = "Option::is_none")]
pub tax_category: Option<models::TaxCategory>,
}
impl PatchProductRequest {
pub fn new() -> PatchProductRequest {
PatchProductRequest {
addons: None,
brand_id: None,
credit_entitlements: None,
description: None,
digital_product_delivery: None,
image_id: None,
license_key_activation_message: None,
license_key_activations_limit: None,
license_key_duration: None,
license_key_enabled: None,
metadata: None,
name: None,
price: None,
tax_category: None,
}
}
}