inject all ssh keys by default is non are provided
This commit is contained in:
@@ -10,6 +10,7 @@ pub enum Request {
|
||||
RebootServer(HetznerClient, i64),
|
||||
ResetServer(HetznerClient, i64),
|
||||
EnableRescueMode(HetznerClient, i64, Vec<i64>),
|
||||
EnableRescueModeWithAllKeys(HetznerClient, i64),
|
||||
DisableRescueMode(HetznerClient, i64),
|
||||
ListSshKeys(HetznerClient),
|
||||
}
|
||||
@@ -58,7 +59,22 @@ pub fn run_worker(
|
||||
Response::ResetServer(result)
|
||||
}
|
||||
Request::EnableRescueMode(client, server_id, ssh_keys) => {
|
||||
let result = rt.block_on(client.enable_rescue_mode_for_server(server_id, ssh_keys)).map_err(|e| e.to_string());
|
||||
let result = rt
|
||||
.block_on(client.enable_rescue_mode_for_server(server_id, ssh_keys))
|
||||
.map_err(|e| e.to_string());
|
||||
Response::EnableRescueMode(result)
|
||||
}
|
||||
Request::EnableRescueModeWithAllKeys(client, server_id) => {
|
||||
let result = rt
|
||||
.block_on(async {
|
||||
let ssh_keys = client.list_ssh_keys().await?;
|
||||
let ssh_key_ids: Vec<i64> = ssh_keys.into_iter().map(|k| k.0.id).collect();
|
||||
println!("Passing in the following ssh key ids: {:#?}", ssh_key_ids);
|
||||
client
|
||||
.enable_rescue_mode_for_server(server_id, ssh_key_ids)
|
||||
.await
|
||||
})
|
||||
.map_err(|e: Box<dyn std::error::Error>| e.to_string());
|
||||
Response::EnableRescueMode(result)
|
||||
}
|
||||
Request::DisableRescueMode(client, server_id) => {
|
||||
|
@@ -120,7 +120,7 @@ pub fn register_hetzner_api(
|
||||
.register_fn("enable_rescue_mode", {
|
||||
let bridge = api_bridge.clone();
|
||||
move |client: &mut HetznerClient, server_id: i64| {
|
||||
bridge.call(Request::EnableRescueMode(client.clone(), server_id, Vec::new()), |response| {
|
||||
bridge.call(Request::EnableRescueModeWithAllKeys(client.clone(), server_id), |response| {
|
||||
match response {
|
||||
Response::EnableRescueMode(result) => result.map_err(|e| e.into()),
|
||||
_ => Err("Unexpected response".into()),
|
||||
|
Reference in New Issue
Block a user