use crate::models;
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
#[serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ByokKeyInfo {
#[serde_as(as = "serde_with::base64::Base64")]
#[serde(rename = "key")]
pub key: Vec<u8>,
#[serde(rename = "providerName", skip_serializing_if = "Option::is_none")]
pub provider_name: Option<ProviderName>,
}
impl ByokKeyInfo {
pub fn new(key: Vec<u8>) -> ByokKeyInfo {
ByokKeyInfo {
key,
provider_name: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderName {
#[serde(rename = "byok")]
Byok,
}
impl Default for ProviderName {
fn default() -> ProviderName {
Self::Byok
}
}