use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use wami_core::arn::WamiArn;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerCertificateMetadata {
#[serde(rename = "Path")]
pub path: String,
#[serde(rename = "ServerCertificateName")]
pub server_certificate_name: String,
#[serde(rename = "Arn")]
pub arn: String,
#[serde(rename = "ServerCertificateId")]
pub server_certificate_id: String,
#[serde(rename = "UploadDate")]
pub upload_date: DateTime<Utc>,
#[serde(rename = "Expiration", skip_serializing_if = "Option::is_none")]
pub expiration: Option<DateTime<Utc>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerCertificate {
#[serde(rename = "ServerCertificateMetadata")]
pub server_certificate_metadata: ServerCertificateMetadata,
#[serde(rename = "CertificateBody")]
pub certificate_body: String,
#[serde(rename = "CertificateChain", skip_serializing_if = "Option::is_none")]
pub certificate_chain: Option<String>,
#[serde(rename = "Tags", skip_serializing_if = "Vec::is_empty", default)]
pub tags: Vec<wami_core::types::Tag>,
pub wami_arn: WamiArn,
pub providers: Vec<crate::provider::ProviderConfig>,
}