         sshkeypathandidentityfile = try values.decodeIfPresent(String.self, forKey: .sshkeypathandidentityfile)
         sshport = try values.decodeIfPresent(Int.self, forKey: .sshport)
         task = try values.decodeIfPresent(String.self, forKey: .task)
+        snapdayoffweek = try values.decodeIfPresent(String.self, forKey: .snapdayoffweek)
+        snaplast = try values.decodeIfPresent(Int.self, forKey: .snaplast)
+        executepretask = try values.decodeIfPresent(Int.self, forKey: .executepretask)
+        pretask = try values.decodeIfPresent(String.self, forKey: .pretask)
+        executeposttask = try values.decodeIfPresent(Int.self, forKey: .executeposttask)
+        posttask = try values.decodeIfPresent(String.self, forKey: .posttask)
+        snapshotnum = try values.decodeIfPresent(Int.self, forKey: .snapshotnum)
     }
 }

        case sshkeypathandidentityfile
        case sshport
        case task
    }

    init(from decoder: Decoder) throws {

    let sshkeypathandidentityfile: String?
    let sshport: Int?
    let task: String?
    let snapdayoffweek: String?
    let snaplast: Int?
    let executepretask: Int?
    let pretask: String?
    let executeposttask: Int?
    let posttask: String?
    let snapshotnum: Int?

    enum CodingKeys: String, CodingKey {
        case backupID
