deepr-sso-oidc 0.1.5

deepr SDK for SSO using OIDC
Documentation
use clap::{Command, arg, command};

pub struct Cli {}

impl Cli {
    fn cmd() -> Command {
        command!()
            .version("0.1.0")
            .about("AWS Single Sign-On OIDC CLI")
            .author("Ngakan Gandhi <ngandhi@pmintl.net")
            .bin_name("deepr")
            .subcommand(
                command!("sso")
                    .about("SSO API")
                    .subcommand(
                        command!("configure")
                            .about("Configure SSO")
                            .arg(arg!(-s --"start-url" <VALUE> "SSO Start URL").required(true))
                            .arg(arg!(-r --"region" <VALUE> "AWS Region").required(true)),
                    )
                    .subcommand(
                        command!("update")
                            .about("Update SSO")
                            .arg(arg!(-s --"start-url" <VALUE> "SSO Start URL").required(true))
                            .arg(arg!(-r --"region" <VALUE> "AWS Region").required(true)),
                    ),
            )
    }

    #[allow(clippy::single_match)]
    pub fn run() {
        let matches = Cli::cmd().get_matches();
        match matches.subcommand() {
            Some(("sso", sso_matches)) => match sso_matches.subcommand() {
                Some(("configure", flags)) => {
                    let start_url = flags.get_one::<String>("start-url").unwrap();
                    let region = flags.get_one::<String>("region").unwrap();
                    println!("SSO Start URL: {}\nSSO Region: {}", start_url, region);
                }
                Some(("update", flags)) => {
                    let start_url = flags.get_one::<String>("start-url").unwrap();
                    let region = flags.get_one::<String>("region").unwrap();
                    println!("SSO Start URL: {}\nSSO Region: {}", start_url, region);
                }
                _ => (),
            },
            _ => (),
        }
    }
}