use super::*;
#[derive(Clone, Debug, Subcommand)]
pub enum Config {
CurrentContext,
DeleteCluster,
DeleteContext,
DeleteUser,
GetClusters,
GetContexts,
GetUsers,
RenameContext,
Set,
SetCluster,
SetContext,
SetCredentials,
Unset,
UseContext,
View,
}
impl Config {
pub fn exec(self, context: &Context) -> RkResult<()> {
let kubeapi = context.kubeapi();
match self {
Self::CurrentContext => {
if let Some(ctx) = kubeapi.current_context() {
context.print_deprecated(ctx);
}
}
Self::DeleteCluster => Err(RkError::todo())?,
Self::DeleteContext => Err(RkError::todo())?,
Self::DeleteUser => Err(RkError::todo())?,
Self::GetClusters => {
kubeapi
.get_clusters()
.iter()
.for_each(|cluster| context.print_deprecated(&cluster.name));
}
Self::GetContexts => {
kubeapi
.get_contexts()
.iter()
.for_each(|ctx| context.print_deprecated(&ctx.name));
}
Self::GetUsers => {
kubeapi
.get_users()
.iter()
.for_each(|auth| context.print_deprecated(&auth.name));
}
Self::RenameContext => Err(RkError::todo())?,
Self::Set => Err(RkError::todo())?,
Self::SetCluster => Err(RkError::todo())?,
Self::SetContext => Err(RkError::todo())?,
Self::SetCredentials => Err(RkError::todo())?,
Self::Unset => Err(RkError::todo())?,
Self::UseContext => Err(RkError::todo())?,
Self::View => {
if let Ok(text) = kubeapi.view() {
context.print_deprecated(text);
}
}
}
Ok(())
}
}