#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)]
#[kube(group = "spv.no", version = "v2alpha1", kind = "AzureKeyVaultSecret", plural = "azurekeyvaultsecrets")]
#[kube(namespaced)]
#[kube(status = "AzureKeyVaultSecretStatus")]
#[kube(schema = "disabled")]
#[kube(derive="PartialEq")]
pub struct AzureKeyVaultSecretSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output: Option<AzureKeyVaultSecretOutput>,
pub vault: AzureKeyVaultSecretVault,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AzureKeyVaultSecretOutput {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<AzureKeyVaultSecretOutputConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<AzureKeyVaultSecretOutputSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transform: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AzureKeyVaultSecretOutputConfigMap {
#[serde(rename = "dataKey")]
pub data_key: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AzureKeyVaultSecretOutputSecret {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chainOrder")]
pub chain_order: Option<AzureKeyVaultSecretOutputSecretChainOrder>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataKey")]
pub data_key: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AzureKeyVaultSecretOutputSecretChainOrder {
#[serde(rename = "ensureserverfirst")]
Ensureserverfirst,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct AzureKeyVaultSecretVault {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureIdentity")]
pub azure_identity: Option<AzureKeyVaultSecretVaultAzureIdentity>,
pub name: String,
pub object: AzureKeyVaultSecretVaultObject,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AzureKeyVaultSecretVaultAzureIdentity {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct AzureKeyVaultSecretVaultObject {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentType")]
pub content_type: Option<AzureKeyVaultSecretVaultObjectContentType>,
pub name: String,
#[serde(rename = "type")]
pub r#type: AzureKeyVaultSecretVaultObjectType,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AzureKeyVaultSecretVaultObjectContentType {
#[serde(rename = "application/x-json")]
ApplicationXJson,
#[serde(rename = "application/x-yaml")]
ApplicationXYaml,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum AzureKeyVaultSecretVaultObjectType {
#[serde(rename = "secret")]
Secret,
#[serde(rename = "certificate")]
Certificate,
#[serde(rename = "key")]
Key,
#[serde(rename = "multi-key-value-secret")]
MultiKeyValueSecret,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AzureKeyVaultSecretStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapHash")]
pub config_map_hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapName")]
pub config_map_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastAzureUpdate")]
pub last_azure_update: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretHash")]
pub secret_hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}