use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ControlPlaneConfig {
pub current_context: String,
pub clusters: Vec<NamedCluster>,
pub users: Vec<NamedUser>,
pub contexts: Vec<NamedContext>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NamedCluster {
pub name: String,
pub cluster: ClusterRef,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClusterRef {
pub server: String,
pub certificate_authority: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NamedUser {
pub name: String,
pub user: UserRef,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserRef {
pub client_certificate: String,
pub client_key: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NamedContext {
pub name: String,
pub context: ContextRef,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ContextRef {
pub cluster: String,
pub user: String,
}