use crate::models;
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "providerName")]
pub enum KeyInfosKeyInformation {
#[serde(rename="gcp_sa")]
GcpSa(Box<models::GcpServiceAccountKeyInfo>),
#[serde(rename="gcp_am")]
GcpAm(Box<models::AntimatterDelegatedGcpKeyInfo>),
#[serde(rename="aws_sa")]
AwsSa(Box<models::AwsServiceAccountKeyInfo>),
#[serde(rename="aws_am")]
AwsAm(Box<models::AntimatterDelegatedAwsKeyInfo>),
#[serde(rename="azure_sa")]
AzureSa(Box<models::AzureServiceAccountKeyInfo>),
#[serde(rename="azure_am")]
AzureAm(Box<models::AntimatterDelegatedAzureKeyInfo>),
#[serde(rename="byok")]
Byok(Box<models::ByokKeyInfo>),
}
impl Default for KeyInfosKeyInformation {
fn default() -> Self {
Self::GcpSa(Default::default())
}
}