manager: acme plugin: auto-complete available DNS challenge types

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2021-05-10 15:55:49 +02:00
parent e857f1fae8
commit ea1458923e
2 changed files with 12 additions and 0 deletions
src
bin/proxmox_backup_manager
config/acme

View File

@ -343,6 +343,7 @@ pub fn plugin_cli() -> CommandLineInterface {
"add",
CliCommand::new(&API_METHOD_ADD_PLUGIN)
.arg_param(&["type", "id"])
.completion_cb("api", crate::config::acme::complete_acme_api_challenge_type)
.completion_cb("type", crate::config::acme::complete_acme_plugin_type),
)
.insert(

View File

@ -161,3 +161,14 @@ pub fn complete_acme_plugin_type(_arg: &str, _param: &HashMap<String, String>) -
//"http".to_string(), // makes currently not realyl sense to create or the like
]
}
pub fn complete_acme_api_challenge_type(_arg: &str, param: &HashMap<String, String>) -> Vec<String> {
if param.get("type") == Some(&"dns".to_string()) {
match load_dns_challenge_schema() {
Ok(schema) => schema.into_iter().map(|s| s.id).collect(),
Err(_) => Vec::new(),
}
} else {
Vec::new()
}
}