]> git.proxmox.com Git - proxmox-backup.git/commitdiff
config/remote: add 'name' to Remote struct
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 22 May 2020 12:51:40 +0000 (14:51 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 26 May 2020 06:48:05 +0000 (08:48 +0200)
and use it as section id, like with User

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/api2/config/remote.rs
src/config/remote.rs

index b0bdb26fbcf80abcab9c6e8137eec37f8ae64d2c..7fc45c41432fdeec14a2b527426b8b8f0fe16e32 100644 (file)
@@ -88,7 +88,7 @@ pub fn list_remotes(
     },
 )]
 /// Create new remote.
-pub fn create_remote(name: String, param: Value) -> Result<(), Error> {
+pub fn create_remote(param: Value) -> Result<(), Error> {
 
     let _lock = crate::tools::open_file_locked(remote::REMOTE_CFG_LOCKFILE, std::time::Duration::new(10, 0))?;
 
@@ -96,11 +96,11 @@ pub fn create_remote(name: String, param: Value) -> Result<(), Error> {
 
     let (mut config, _digest) = remote::config()?;
 
-    if let Some(_) = config.sections.get(&name) {
-        bail!("remote '{}' already exists.", name);
+    if let Some(_) = config.sections.get(&remote.name) {
+        bail!("remote '{}' already exists.", remote.name);
     }
 
-    config.set_data(&name, "remote", &remote)?;
+    config.set_data(&remote.name, "remote", &remote)?;
 
     remote::save_config(&config)?;
 
index 65fd162af66d47da4add6952407777261d728a52..50c59c6fec51b1f0625801874eeb7966abb48a29 100644 (file)
@@ -29,6 +29,9 @@ pub const REMOTE_PASSWORD_SCHEMA: Schema = StringSchema::new("Password or auth t
 
 #[api(
     properties: {
+        name: {
+            schema: REMOTE_ID_SCHEMA,
+        },
         comment: {
             optional: true,
             schema: SINGLE_LINE_COMMENT_SCHEMA,
@@ -51,6 +54,7 @@ pub const REMOTE_PASSWORD_SCHEMA: Schema = StringSchema::new("Password or auth t
 #[derive(Serialize,Deserialize)]
 /// Remote properties.
 pub struct Remote {
+    pub name: String,
     #[serde(skip_serializing_if="Option::is_none")]
     pub comment: Option<String>,
     pub host: String,
@@ -66,7 +70,7 @@ fn init() -> SectionConfig {
         _ => unreachable!(),
     };
 
-    let plugin = SectionConfigPlugin::new("remote".to_string(), None, obj_schema);
+    let plugin = SectionConfigPlugin::new("remote".to_string(), Some("name".to_string()), obj_schema);
     let mut config = SectionConfig::new(&REMOTE_ID_SCHEMA);
     config.register_plugin(plugin);