use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureServiceAccountKeyInfo {
#[serde(rename = "tenantID")]
pub tenant_id: String,
#[serde(rename = "keyURL")]
pub key_url: String,
#[serde(rename = "clientID")]
pub client_id: String,
#[serde(rename = "clientSecret")]
pub client_secret: String,
#[serde(rename = "providerName", skip_serializing_if = "Option::is_none")]
pub provider_name: Option<ProviderName>,
}
impl AzureServiceAccountKeyInfo {
pub fn new(tenant_id: String, key_url: String, client_id: String, client_secret: String) -> AzureServiceAccountKeyInfo {
AzureServiceAccountKeyInfo {
tenant_id,
key_url,
client_id,
client_secret,
provider_name: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderName {
#[serde(rename = "azure_sa")]
AzureSa,
}
impl Default for ProviderName {
fn default() -> ProviderName {
Self::AzureSa
}
}