[pbs-devel] [PATCH proxmox-backup v3 05/10] cli: add CLI to manage openid realms.

Wolfgang Bumiller w.bumiller at proxmox.com
Fri Jun 25 13:41:13 CEST 2021


just a minor cleanup:

On Fri, Jun 25, 2021 at 11:20:45AM +0200, Dietmar Maurer wrote:
> diff --git a/src/bin/proxmox_backup_manager/openid.rs b/src/bin/proxmox_backup_manager/openid.rs
> new file mode 100644
> index 00000000..13915339
> --- /dev/null
> +++ b/src/bin/proxmox_backup_manager/openid.rs
> @@ -0,0 +1,99 @@
> +use anyhow::Error;
> +use serde_json::Value;
> +
> +use proxmox::api::{api, cli::*, RpcEnvironment, ApiHandler};
> +
> +use proxmox_backup::{config, api2, api2::types::REALM_ID_SCHEMA};
> +
> +
> +#[api(
> +    input: {
> +        properties: {
> +            "output-format": {
> +                schema: OUTPUT_FORMAT,
> +                optional: true,
> +            },
> +        }
> +    }
> +)]
> +/// List configured OpenId realms
> +fn list_openid_realms(param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result<Value, Error> {
> +
> +    let output_format = get_output_format(&param);
> +
> +    let info = &api2::config::access::openid::API_METHOD_LIST_OPENID_REALMS;
> +    let mut data = match info.handler {
> +        ApiHandler::Sync(handler) => (handler)(param, info, rpcenv)?,
> +        _ => unreachable!(),
> +    };
> +
> +    let options = default_table_format_options()
> +        .column(ColumnConfig::new("realm"))
> +        .column(ColumnConfig::new("issuer-url"))
> +        .column(ColumnConfig::new("comment"));
> +
> +    format_and_print_result_full(&mut data, &info.returns, &output_format, &options);
> +
> +    Ok(Value::Null)
> +}
> +#[api(
> +    input: {
> +        properties: {
> +            realm: {
> +                schema: REALM_ID_SCHEMA,
> +            },
> +            "output-format": {
> +                schema: OUTPUT_FORMAT,
> +                optional: true,
> +            },
> +        }
> +    }
> +)]
> +
> +/// Show OpenID realm configuration
> +fn show_openid_realm(param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result<Value, Error> {
> +
> +    let output_format = get_output_format(&param);
> +
> +    let info = &api2::config::access::openid::API_METHOD_READ_OPENID_REALM;
> +    let mut data = match info.handler {
> +        ApiHandler::Sync(handler) => (handler)(param, info, rpcenv)?,
> +        _ => unreachable!(),
> +    };
> +
> +    let options = default_table_format_options();
> +    format_and_print_result_full(&mut data, &info.returns, &output_format, &options);
> +
> +    Ok(Value::Null)
> +}
> +
> +pub fn openid_commands() -> CommandLineInterface {
> +
> +    let cmd_def = CliCommandMap::new()
> +        .insert("list", CliCommand::new(&&API_METHOD_LIST_OPENID_REALMS))
> +        .insert("show", CliCommand::new(&&API_METHOD_SHOW_OPENID_REALM)
> +                .arg_param(&["realm"])
> +                .completion_cb("realm", config::domains::complete_openid_realm_name)
> +        )
> +        .insert("create",
> +                CliCommand::new(&api2::config::access::openid::API_METHOD_CREATE_OPENID_REALM)
> +                .arg_param(&["realm"])
> +                .arg_param(&["realm"])

^ this line is duplicated

> +                .completion_cb("realm", config::domains::complete_openid_realm_name)
> +        )
> +        .insert("update",
> +                CliCommand::new(&api2::config::access::openid::API_METHOD_UPDATE_OPENID_REALM)
> +                .arg_param(&["realm"])
> +                .arg_param(&["realm"])

^ this line is duplicated

> +                .completion_cb("realm", config::domains::complete_openid_realm_name)
> +        )
> +        .insert("delete",
> +                CliCommand::new(&api2::config::access::openid::API_METHOD_DELETE_OPENID_REALM)
> +                .arg_param(&["realm"])
> +                .arg_param(&["realm"])

^ this line is duplicated

> +                .completion_cb("realm", config::domains::complete_openid_realm_name)
> +        )
> +        ;
> +
> +       cmd_def.into()
> +}





More information about the pbs-devel mailing list