config/sync: add SyncJobStatus Struct/Schema
contains the config + status Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						
						Dietmar Maurer
					
				
			
			
				
	
			
			
			
						parent
						
							c67b1fa72f
						
					
				
				
					commit
					997d7e19fc
				
			@ -66,6 +66,79 @@ pub struct SyncJobConfig {
 | 
			
		||||
    pub schedule: Option<String>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FIXME: generate duplicate schemas/structs from one listing?
 | 
			
		||||
#[api(
 | 
			
		||||
    properties: {
 | 
			
		||||
        id: {
 | 
			
		||||
            schema: JOB_ID_SCHEMA,
 | 
			
		||||
        },
 | 
			
		||||
        store: {
 | 
			
		||||
           schema: DATASTORE_SCHEMA,
 | 
			
		||||
        },
 | 
			
		||||
        remote: {
 | 
			
		||||
            schema: REMOTE_ID_SCHEMA,
 | 
			
		||||
        },
 | 
			
		||||
        "remote-store": {
 | 
			
		||||
            schema: DATASTORE_SCHEMA,
 | 
			
		||||
        },
 | 
			
		||||
        "remove-vanished": {
 | 
			
		||||
            schema: REMOVE_VANISHED_BACKUPS_SCHEMA,
 | 
			
		||||
            optional: true,
 | 
			
		||||
        },
 | 
			
		||||
        comment: {
 | 
			
		||||
            optional: true,
 | 
			
		||||
            schema: SINGLE_LINE_COMMENT_SCHEMA,
 | 
			
		||||
        },
 | 
			
		||||
        schedule: {
 | 
			
		||||
            optional: true,
 | 
			
		||||
            schema: SYNC_SCHEDULE_SCHEMA,
 | 
			
		||||
        },
 | 
			
		||||
        "next-run": {
 | 
			
		||||
            description: "Estimated time of the next run (UNIX epoch).",
 | 
			
		||||
            optional: true,
 | 
			
		||||
            type: Integer,
 | 
			
		||||
        },
 | 
			
		||||
        "last-run-state": {
 | 
			
		||||
            description: "Result of the last run.",
 | 
			
		||||
            optional: true,
 | 
			
		||||
            type: String,
 | 
			
		||||
        },
 | 
			
		||||
        "last-run-upid": {
 | 
			
		||||
            description: "Task UPID of the last run.",
 | 
			
		||||
            optional: true,
 | 
			
		||||
            type: String,
 | 
			
		||||
        },
 | 
			
		||||
        "last-run-endtime": {
 | 
			
		||||
            description: "Endtime of the last run.",
 | 
			
		||||
            optional: true,
 | 
			
		||||
            type: Integer,
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
)]
 | 
			
		||||
#[serde(rename_all="kebab-case")]
 | 
			
		||||
#[derive(Serialize,Deserialize)]
 | 
			
		||||
/// Status of Sync Job
 | 
			
		||||
pub struct SyncJobStatus {
 | 
			
		||||
    pub id: String,
 | 
			
		||||
    pub store: String,
 | 
			
		||||
    pub remote: String,
 | 
			
		||||
    pub remote_store: String,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub remove_vanished: Option<bool>,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub comment: Option<String>,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub schedule: Option<String>,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub next_run: Option<i64>,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub last_run_state: Option<String>,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub last_run_upid: Option<String>,
 | 
			
		||||
    #[serde(skip_serializing_if="Option::is_none")]
 | 
			
		||||
    pub last_run_endtime: Option<i64>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn init() -> SectionConfig {
 | 
			
		||||
    let obj_schema = match SyncJobConfig::API_SCHEMA {
 | 
			
		||||
        Schema::Object(ref obj_schema) => obj_schema,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user