#[cfg(feature = "serde")]
use ::serde::{Deserialize, Serialize};
use crate::control::{
Architectures, CommaDelimitedStrings, DateTime2822, FileDigestMd5, FileDigestSha1,
FileDigestSha256, FileDigestSha512, SpaceDelimitedStrings,
};
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "PascalCase"))]
pub struct Release {
pub description: Option<String>,
pub origin: Option<String>,
pub label: Option<String>,
pub version: Option<String>,
pub suite: Option<String>,
pub codename: Option<String>,
pub components: Option<SpaceDelimitedStrings>,
pub architectures: Option<Architectures>,
pub date: Option<DateTime2822>,
pub valid_until: Option<DateTime2822>,
#[cfg_attr(feature = "serde", serde(rename = "MD5Sum"))]
pub md5sums: Option<Vec<FileDigestMd5>>,
#[cfg_attr(feature = "serde", serde(rename = "SHA1"))]
pub sha1: Option<Vec<FileDigestSha1>>,
#[cfg_attr(feature = "serde", serde(rename = "SHA256"))]
pub sha256: Option<Vec<FileDigestSha256>>,
#[cfg_attr(feature = "serde", serde(rename = "SHA512"))]
pub sha512: Option<Vec<FileDigestSha512>>,
pub not_automatic: Option<bool>,
pub but_automatic_upgrades: Option<bool>,
#[cfg_attr(feature = "serde", serde(rename = "Acquire-By-Hash"))]
pub acquire_by_hash: Option<bool>,
#[cfg_attr(feature = "serde", serde(rename = "Signed-By"))]
pub signed_by: Option<CommaDelimitedStrings>,
#[cfg_attr(feature = "serde", serde(rename = "Packages-Require-Authorization"))]
pub packages_require_authorization: Option<bool>,
pub changelogs: Option<String>,
pub snapshots: Option<String>,
}