openstack_cli_block_storage/v3/
backup.rs1use clap::{Parser, Subcommand};
19
20use openstack_cli_core::{cli::CliArgs, error::OpenStackCliError};
21use openstack_sdk::AsyncOpenStack;
22
23pub mod create_30;
24pub mod create_343;
25pub mod create_351;
26pub mod delete;
27pub mod export_record {
29 pub mod get;
30}
31pub mod list;
32pub mod import_record {
34 pub mod create;
35}
36pub mod os_force_delete;
37pub mod os_reset_status;
38pub mod set_343;
39pub mod set_39;
40pub mod show;
41
42#[derive(Parser)]
49pub struct BackupCommand {
50 #[command(subcommand)]
52 command: BackupCommands,
53}
54
55#[allow(missing_docs)]
57#[derive(Subcommand)]
58pub enum BackupCommands {
59 #[command(visible_alias = "create")]
60 Create351(Box<create_351::BackupCommand>),
61 Create343(Box<create_343::BackupCommand>),
62 Create30(Box<create_30::BackupCommand>),
63 Delete(Box<delete::BackupCommand>),
64 Export(Box<export_record::get::ExportRecordCommand>),
65 ForceDelete(Box<os_force_delete::BackupCommand>),
66 Import(Box<import_record::create::ImportRecordCommand>),
67 List(Box<list::BackupsCommand>),
68 ResetStatus(Box<os_reset_status::BackupCommand>),
69 #[command(visible_alias = "set")]
70 Set343(Box<set_343::BackupCommand>),
71 Set39(Box<set_39::BackupCommand>),
72 Show(Box<show::BackupCommand>),
73}
74
75impl BackupCommand {
76 pub async fn take_action<C: CliArgs>(
78 &self,
79 parsed_args: &C,
80 session: &mut AsyncOpenStack,
81 ) -> Result<(), OpenStackCliError> {
82 match &self.command {
83 BackupCommands::Create351(cmd) => cmd.take_action(parsed_args, session).await,
84 BackupCommands::Create343(cmd) => cmd.take_action(parsed_args, session).await,
85 BackupCommands::Create30(cmd) => cmd.take_action(parsed_args, session).await,
86 BackupCommands::Delete(cmd) => cmd.take_action(parsed_args, session).await,
87 BackupCommands::Export(cmd) => cmd.take_action(parsed_args, session).await,
88 BackupCommands::ForceDelete(cmd) => cmd.take_action(parsed_args, session).await,
89 BackupCommands::Import(cmd) => cmd.take_action(parsed_args, session).await,
90 BackupCommands::List(cmd) => cmd.take_action(parsed_args, session).await,
91 BackupCommands::ResetStatus(cmd) => cmd.take_action(parsed_args, session).await,
92 BackupCommands::Set343(cmd) => cmd.take_action(parsed_args, session).await,
93 BackupCommands::Set39(cmd) => cmd.take_action(parsed_args, session).await,
94 BackupCommands::Show(cmd) => cmd.take_action(parsed_args, session).await,
95 }
96 }
97}