{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "https://creativeprojects.github.io/resticprofile/jsonschema/config-1-restic-0-12.json",
  "$defs": {
    "id-03550d33226c03f7e7c8a6a6fc971333": {
      "title": "snapshot",
      "description": "snapshot id to search in",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "snapshot...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-06bbc4cdada9fbb2f0e5aff8aa18b8a5": {
      "title": "tag",
      "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\". Defaults to true for config version 2 in \"retention\".",
      "anyOf": [
        {
          "title": "tag",
          "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\". Defaults to true for config version 2 in \"retention\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "tag"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "tag...",
          "type": "array",
          "examples": [
            true,
            false,
            "tag"
          ],
          "items": {
            "title": "tag",
            "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\". Defaults to true for config version 2 in \"retention\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "tag"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-07122d0553bd2888fbf7616a676047d5": {
      "title": "tag",
      "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\".",
      "anyOf": [
        {
          "title": "tag",
          "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "tag"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "tag...",
          "type": "array",
          "examples": [
            true,
            false,
            "tag"
          ],
          "items": {
            "title": "tag",
            "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "tag"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-0dd6bafe51f2901fa7f446e31a3b881d": {
      "title": "path",
      "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\".",
      "anyOf": [
        {
          "title": "path",
          "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "path"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "path...",
          "type": "array",
          "examples": [
            true,
            false,
            "path"
          ],
          "items": {
            "title": "path",
            "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "path"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-0ec8ec07c5d04919d4d678a5ae0105b4": {
      "title": "set",
      "description": "tags which will replace the existing tags in the format tag[,tag,...]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "set...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-101e02d74df828a834df2fb1ebb6fec0": {
      "title": "send-timeout",
      "description": "Timeout when sending messages to a webhook - see https://creativeprojects.github.io/resticprofile/configuration/http_hooks/",
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "default": "30s",
          "type": "string",
          "examples": [
            "15s",
            "30s",
            "2m30s"
          ],
          "minLength": 2,
          "pattern": "^(\\d+(h|m|s|ms))+$"
        }
      ]
    },
    "id-16c9eb2748710a28f337f217f2e337da": {
      "title": "send-after-fail",
      "description": "Send HTTP request(s) after failed restic or shell commands",
      "anyOf": [
        {
          "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
        },
        {
          "title": "send-after-fail...",
          "type": "array",
          "items": {
            "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-1b525c9f6a0698293ca268ea3866afa4": {
      "title": "include",
      "description": "include a pattern",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "include...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-1e3e4f194a26f596cf3db367ea81cd15": {
      "title": "path",
      "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\". [restic \u003e= 0.10.0]",
      "anyOf": [
        {
          "title": "path",
          "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\". [restic \u003e= 0.10.0]",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "path"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "path...",
          "type": "array",
          "examples": [
            true,
            false,
            "path"
          ],
          "items": {
            "title": "path",
            "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\". [restic \u003e= 0.10.0]",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "path"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-1f33e5af642ab1e472fcd28edcf102e5": {
      "title": "tag",
      "description": "add tags for the new snapshot in the format tag[,tag,...].\nBoolean true is unsupported in section \"backup\".",
      "anyOf": [
        {
          "title": "tag",
          "description": "add tags for the new snapshot in the format tag[,tag,...].\nBoolean true is unsupported in section \"backup\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                false,
                "tag"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "tag...",
          "type": "array",
          "examples": [
            false,
            "tag"
          ],
          "items": {
            "title": "tag",
            "description": "add tags for the new snapshot in the format tag[,tag,...].\nBoolean true is unsupported in section \"backup\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  false,
                  "tag"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-20cb912e946a794f54e5e7cd6faeb133": {
      "title": "stdin-command",
      "description": "Shell command(s) that generate content to redirect into the stdin of restic. When set, the flag \"stdin\" is always set to \"true\".",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "stdin-command...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-23512646a37d89783d831f3f819a55f4": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "body": {
          "title": "body",
          "description": "Request body, overrides \"body-template\"",
          "type": "string",
          "minLength": 0
        },
        "body-template": {
          "title": "body-template",
          "description": "Path to a file containing the request body (go template). See https://creativeprojects.github.io/resticprofile/configuration/http_hooks/#body-template",
          "type": "string",
          "minLength": 0
        },
        "headers": {
          "title": "headers",
          "description": "Additional HTTP headers to send with the request",
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "title": "name",
                  "description": "Name of the HTTP header",
                  "type": "string",
                  "examples": [
                    "Authorization",
                    "Cache-Control",
                    "Content-Disposition",
                    "Content-Type"
                  ],
                  "minLength": 0
                },
                "value": {
                  "title": "value",
                  "description": "Value of the header",
                  "type": "string",
                  "examples": [
                    "Bearer ...",
                    "Basic ...",
                    "no-cache",
                    "attachment; filename=stats.txt",
                    "application/json",
                    "text/plain",
                    "text/xml"
                  ],
                  "minLength": 0
                }
              }
            },
            {
              "title": "headers...",
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "title": "name",
                    "description": "Name of the HTTP header",
                    "type": "string",
                    "examples": [
                      "Authorization",
                      "Cache-Control",
                      "Content-Disposition",
                      "Content-Type"
                    ],
                    "minLength": 0
                  },
                  "value": {
                    "title": "value",
                    "description": "Value of the header",
                    "type": "string",
                    "examples": [
                      "Bearer ...",
                      "Basic ...",
                      "no-cache",
                      "attachment; filename=stats.txt",
                      "application/json",
                      "text/plain",
                      "text/xml"
                    ],
                    "minLength": 0
                  }
                }
              },
              "minItems": 0,
              "uniqueItems": false
            }
          ]
        },
        "method": {
          "title": "method",
          "default": "GET",
          "description": "HTTP method of the request",
          "type": "string",
          "enum": [
            "GET",
            "DELETE",
            "HEAD",
            "OPTIONS",
            "PATCH",
            "POST",
            "PUT",
            "TRACE"
          ],
          "minLength": 0
        },
        "skip-tls-verification": {
          "title": "skip-tls-verification",
          "description": "Enables insecure TLS (without verification), see also \"global.ca-certificates\"",
          "type": "boolean"
        },
        "url": {
          "title": "url",
          "description": "URL of the target to send to",
          "type": "string",
          "minLength": 0,
          "format": "uri"
        }
      }
    },
    "id-259684dfd75be3116fd75f377c8f9866": {
      "title": "run-before",
      "description": "Run shell command(s) before a restic command",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "run-before...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-2abe3a6ae2ea65720f26903b318892d6": {
      "title": "send-before",
      "description": "Send HTTP request(s) before a restic command",
      "anyOf": [
        {
          "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
        },
        {
          "title": "send-before...",
          "type": "array",
          "items": {
            "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-2ca6a44f0bb5aa131cb5f092c9e98d10": {
      "deprecated": true,
      "type": "string",
      "examples": [
        "hourly",
        "daily",
        "weekly",
        "monthly",
        "10:00,14:00,18:00,22:00",
        "Wed,Fri 17:48",
        "*-*-15 02:45",
        "Mon..Fri 00:30"
      ],
      "minLength": 0
    },
    "id-2cf445a83219358bee3423eaa7242c4d": {
      "title": "run-after-fail",
      "description": "Run shell command(s) after failed restic or shell commands",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "run-after-fail...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-2d60f10a68497fa9d7d4f3312e7454b4": {
      "title": "stream-error",
      "description": "Run shell command(s) when a pattern matches the stderr of restic",
      "anyOf": [
        {
          "$ref": "#/$defs/id-c74ea9cfd0cf38b4f051386e08ea0eab"
        },
        {
          "title": "stream-error...",
          "type": "array",
          "items": {
            "$ref": "#/$defs/id-c74ea9cfd0cf38b4f051386e08ea0eab"
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-31b76762391db3e4e7e8275c1490db64": {
      "title": "iexclude",
      "description": "same as --exclude pattern but ignores the casing of filenames [restic \u003e= 0.10.0]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "iexclude...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-3bbb79a4f5c75f9cf014fa4e5190ae85": {
      "title": "shell",
      "description": "The shell that is used to run commands (default is OS specific)",
      "anyOf": [
        {
          "default": "auto",
          "type": "string",
          "examples": [
            "sh",
            "bash",
            "pwsh",
            "powershell",
            "cmd"
          ],
          "minLength": 0
        },
        {
          "title": "shell...",
          "default": "auto",
          "type": "array",
          "examples": [
            "sh",
            "bash",
            "pwsh",
            "powershell",
            "cmd"
          ],
          "items": {
            "default": "auto",
            "type": "string",
            "examples": [
              "sh",
              "bash",
              "pwsh",
              "powershell",
              "cmd"
            ],
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-3f81f6b02c3d0b0c96a927ba7225df3b": {
      "title": "schedule",
      "description": "Configures the scheduled execution of this profile section. Can be times in systemd timer format or a config structure [deprecated]",
      "anyOf": [
        {
          "description": "Schedule configuration structure. Can be used to define schedules in profiles and groups.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "after-network-online": {
              "title": "after-network-online",
              "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
              "type": "boolean"
            },
            "at": {
              "title": "at",
              "description": "Set the times at which the scheduled command is run (times are specified in systemd timer format)",
              "anyOf": [
                {
                  "$ref": "#/$defs/id-c20492a9908e894b76ed0102f27c38dc"
                },
                {
                  "title": "at...",
                  "type": "array",
                  "examples": [
                    "hourly",
                    "daily",
                    "weekly",
                    "monthly",
                    "10:00,14:00,18:00,22:00",
                    "Wed,Fri 17:48",
                    "*-*-15 02:45",
                    "Mon..Fri 00:30"
                  ],
                  "items": {
                    "$ref": "#/$defs/id-c20492a9908e894b76ed0102f27c38dc"
                  },
                  "minItems": 0,
                  "uniqueItems": false
                }
              ]
            },
            "capture-environment": {
              "title": "capture-environment",
              "description": "Set names (or glob expressions) of environment variables to capture during schedule creation. The captured environment is applied prior to \"profile.env\" when running the schedule. Whether capturing is supported depends on the type of scheduler being used (supported in \"systemd\" and \"launchd\")",
              "anyOf": [
                {
                  "default": "RESTIC_*",
                  "type": "string",
                  "minLength": 0
                },
                {
                  "title": "capture-environment...",
                  "default": "RESTIC_*",
                  "type": "array",
                  "items": {
                    "default": "RESTIC_*",
                    "type": "string",
                    "minLength": 0
                  },
                  "minItems": 0,
                  "uniqueItems": false
                }
              ]
            },
            "command-output": {
              "title": "command-output",
              "default": "auto",
              "description": "Sets the destination for command output (stderr/stdout). \"log\" sends output to the log file (if specified), \"console\" sends it to the console instead. \"auto\" sends it to \"both\" if console is a terminal otherwise to \"log\" only - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
              "type": "string",
              "enum": [
                "auto",
                "log",
                "console",
                "all"
              ],
              "minLength": 0
            },
            "hide-window": {
              "title": "hide-window",
              "description": "Hide schedule window when running in foreground (Windows only)",
              "type": "boolean"
            },
            "ignore-on-battery": {
              "title": "ignore-on-battery",
              "description": "Don't start this schedule when running on battery",
              "type": "boolean"
            },
            "ignore-on-battery-less-than": {
              "title": "ignore-on-battery-less-than",
              "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
              "type": "integer",
              "examples": [
                20,
                33,
                50,
                75
              ]
            },
            "lock-mode": {
              "title": "lock-mode",
              "default": "default",
              "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
              "type": "string",
              "enum": [
                "default",
                "fail",
                "ignore"
              ],
              "minLength": 0
            },
            "lock-wait": {
              "title": "lock-wait",
              "description": "Set the maximum time to wait for acquiring locks when running on schedule",
              "oneOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string",
                  "examples": [
                    "150s",
                    "15m",
                    "30m",
                    "45m",
                    "1h",
                    "2h30m"
                  ],
                  "minLength": 2,
                  "pattern": "^(\\d+(h|m|s|ms))+$"
                }
              ]
            },
            "log": {
              "title": "log",
              "description": "Redirect the output into a log file or to syslog when running on schedule - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
              "type": "string",
              "examples": [
                "/resticprofile.log",
                "syslog-tcp://syslog-server:514",
                "syslog:server",
                "syslog:"
              ],
              "minLength": 0
            },
            "permission": {
              "title": "permission",
              "default": "auto",
              "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
              "type": "string",
              "enum": [
                "auto",
                "system",
                "user",
                "user_logged_on"
              ],
              "minLength": 0
            },
            "priority": {
              "title": "priority",
              "default": "standard",
              "description": "Set the priority at which the schedule is run",
              "type": "string",
              "enum": [
                "background",
                "standard"
              ],
              "minLength": 0
            },
            "run-level": {
              "title": "run-level",
              "default": "auto",
              "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
              "type": "string",
              "enum": [
                "auto",
                "lowest",
                "highest"
              ],
              "minLength": 0
            },
            "start-when-available": {
              "title": "start-when-available",
              "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
              "type": "boolean"
            },
            "systemd-drop-in-files": {
              "title": "systemd-drop-in-files",
              "description": "Files containing systemd drop-in (override) files - see https://creativeprojects.github.io/resticprofile/schedules/systemd/",
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 0
                },
                {
                  "title": "systemd-drop-in-files...",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 0
                  },
                  "minItems": 0,
                  "uniqueItems": false
                }
              ]
            }
          }
        },
        {
          "title": "schedule",
          "description": "Configures the scheduled execution of this profile section. Can be times in systemd timer format or a config structure [deprecated]",
          "anyOf": [
            {
              "$ref": "#/$defs/id-2ca6a44f0bb5aa131cb5f092c9e98d10"
            },
            {
              "title": "schedule...",
              "deprecated": true,
              "type": "array",
              "examples": [
                "hourly",
                "daily",
                "weekly",
                "monthly",
                "10:00,14:00,18:00,22:00",
                "Wed,Fri 17:48",
                "*-*-15 02:45",
                "Mon..Fri 00:30"
              ],
              "items": {
                "$ref": "#/$defs/id-2ca6a44f0bb5aa131cb5f092c9e98d10"
              },
              "minItems": 0,
              "uniqueItems": false
            }
          ]
        }
      ]
    },
    "id-43751bb98b8f27a3043a5cf8114dcc42": {
      "title": "files-from",
      "description": "read the files to backup from file (can be combined with file args)",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "files-from...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-4d5c283f98d0925082ab484d3bdd4d16": {
      "title": "path",
      "description": "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\".",
      "anyOf": [
        {
          "title": "path",
          "description": "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "path"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "path...",
          "type": "array",
          "examples": [
            true,
            false,
            "path"
          ],
          "items": {
            "title": "path",
            "description": "only consider snapshots including this (absolute) path, when snapshot ID \"latest\" is given (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "path"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-523a82de7dda2cf9932a4ec54a0f6b57": {
      "title": "restic-lock-retry-after",
      "description": "Time to wait before trying to get a lock on a restic repository - see https://creativeprojects.github.io/resticprofile/usage/locks/",
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "default": "1m",
          "type": "string",
          "minLength": 2,
          "pattern": "^(\\d+(h|m|s|ms))+$"
        }
      ]
    },
    "id-58bf71d644870ee03285502006c5f9ba": {
      "title": "schedule-capture-environment",
      "description": "Set names (or glob expressions) of environment variables to capture during schedule creation. The captured environment is applied prior to \"profile.env\" when running the schedule. Whether capturing is supported depends on the type of scheduler being used (supported in \"systemd\" and \"launchd\")",
      "anyOf": [
        {
          "default": "RESTIC_*",
          "type": "string",
          "minLength": 0
        },
        {
          "title": "schedule-capture-environment...",
          "default": "RESTIC_*",
          "type": "array",
          "items": {
            "default": "RESTIC_*",
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-5a30ba75410604c90422365278a6a8c2": {
      "title": "iexclude-file",
      "description": "same as --exclude-file but ignores casing of filenames in patterns [restic \u003e= 0.10.0]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "iexclude-file...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-5a6e7b23808067f4ea3cd8627e7434be": {
      "title": "tag",
      "description": "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given.\nBoolean true is replaced with the tags from section \"backup\".",
      "anyOf": [
        {
          "title": "tag",
          "description": "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given.\nBoolean true is replaced with the tags from section \"backup\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "tag"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "tag...",
          "type": "array",
          "examples": [
            true,
            false,
            "tag"
          ],
          "items": {
            "title": "tag",
            "description": "only consider snapshots including tag[,tag,...], when snapshot ID \"latest\" is given.\nBoolean true is replaced with the tags from section \"backup\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "tag"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-5ad549b9f26107194acb0d599b5435a0": {
      "title": "send-after",
      "description": "Send HTTP request(s) after a successful restic command",
      "anyOf": [
        {
          "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
        },
        {
          "title": "send-after...",
          "type": "array",
          "items": {
            "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-605c17d0744610ff6c68e580f7141b4b": {
      "title": "host",
      "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname that applies in section \"backup\". Defaults to true for config version 2 in \"retention\".",
      "anyOf": [
        {
          "title": "host",
          "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname that applies in section \"backup\". Defaults to true for config version 2 in \"retention\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "host"
              ],
              "minLength": 0,
              "format": "hostname"
            }
          ]
        },
        {
          "title": "host...",
          "type": "array",
          "examples": [
            true,
            false,
            "host"
          ],
          "items": {
            "title": "host",
            "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname that applies in section \"backup\". Defaults to true for config version 2 in \"retention\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "host"
                ],
                "minLength": 0,
                "format": "hostname"
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-65f906f27a87d15f551fa4dc5250b520": {
      "title": "path",
      "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\". Defaults to true in \"retention\".",
      "anyOf": [
        {
          "title": "path",
          "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\". Defaults to true in \"retention\".",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "path"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "path...",
          "type": "array",
          "examples": [
            true,
            false,
            "path"
          ],
          "items": {
            "title": "path",
            "description": "only consider snapshots including this (absolute) path (can be specified multiple times, snapshots must include all specified paths).\nBoolean true is replaced with the paths from section \"backup\". Defaults to true in \"retention\".",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "path"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-6b767374afe44ab7caa0ae97e251c4ed": {
      "title": "verbose",
      "description": "be verbose (true for level 1 or a number for increased verbosity, max level is 2)",
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "integer"
        }
      ]
    },
    "id-71d4c72a873617fc9b373bf506f9606d": {
      "title": "env-file",
      "description": "Additional dotenv files to load and set as environment in any child process",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "env-file...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-780eef226ac76505eb7b6d5ecf2576eb": {
      "title": "host",
      "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system.",
      "anyOf": [
        {
          "title": "host",
          "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system.",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "host"
              ],
              "minLength": 0,
              "format": "hostname"
            }
          ]
        },
        {
          "title": "host...",
          "type": "array",
          "examples": [
            true,
            false,
            "host"
          ],
          "items": {
            "title": "host",
            "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system.",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "host"
                ],
                "minLength": 0,
                "format": "hostname"
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-7d3654de0d890ce874dc332214970cad": {
      "title": "keep-tag",
      "description": "keep snapshots with this taglist",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "keep-tag...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-808e4aea01f0d8d12832b2f870006421": {
      "title": "schedule-lock-wait",
      "description": "Set the maximum time to wait for acquiring locks when running on schedule [deprecated]",
      "oneOf": [
        {
          "deprecated": true,
          "type": "integer"
        },
        {
          "deprecated": true,
          "type": "string",
          "examples": [
            "150s",
            "15m",
            "30m",
            "45m",
            "1h",
            "2h30m"
          ],
          "minLength": 2,
          "pattern": "^(\\d+(h|m|s|ms))+$"
        }
      ]
    },
    "id-88507c25ed5a5da1848bd9232f1d0852": {
      "title": "host",
      "description": "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system.",
      "anyOf": [
        {
          "title": "host",
          "description": "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system.",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "host"
              ],
              "minLength": 0,
              "format": "hostname"
            }
          ]
        },
        {
          "title": "host...",
          "type": "array",
          "examples": [
            true,
            false,
            "host"
          ],
          "items": {
            "title": "host",
            "description": "only consider snapshots for this host, when snapshot ID \"latest\" is given (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system.",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "host"
                ],
                "minLength": 0,
                "format": "hostname"
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-92a8b0a93ca24cd3de9ae56a4dcb9ec6": {
      "title": "exclude-if-present",
      "description": "takes filename[:header], exclude contents of directories containing filename (except filename itself) if header of that file is as provided",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "exclude-if-present...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-931c146f741a9fec3d98e7a08865a530": {
      "title": "ca-certificates",
      "description": "Path to PEM encoded certificates to trust in addition to system certificates when resticprofile sends to a webhook - see https://creativeprojects.github.io/resticprofile/configuration/http_hooks/",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "ca-certificates...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-997692924136270ec7fee7ea4d04a8d6": {
      "title": "files-from-verbatim",
      "description": "read the files to backup from file (can be combined with file args) [restic \u003e= 0.12.0]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "files-from-verbatim...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-9e1013a6d9d54bc7974f9c0ff9c0ea3e": {
      "title": "includes",
      "description": "glob patterns of configuration files to include",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "includes...",
          "type": "array",
          "items": {
            "title": "includes",
            "description": "glob patterns of configuration files to include",
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-9fc99e529e5753db5850c6ad0fe6e769": {
      "title": "exclude",
      "description": "exclude a pattern",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "exclude...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-a09c499e58e4610808213948c41e1c54": {
      "title": "lock-wait",
      "description": "Set the maximum time to wait for acquiring locks when running on schedule",
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "type": "string",
          "examples": [
            "150s",
            "15m",
            "30m",
            "45m",
            "1h",
            "2h30m"
          ],
          "minLength": 2,
          "pattern": "^(\\d+(h|m|s|ms))+$"
        }
      ]
    },
    "id-a0a0f94f7b67bcfce0325495ae74a8f5": {
      "title": "snapshot",
      "description": "Snapshot IDs to copy (if empty, all snapshots are copied)",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "snapshot...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-a4563b5e7b4aa37bac3a57c09ef530f3": {
      "title": "remove",
      "description": "tags which will be removed from the existing tags in the format tag[,tag,...]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "remove...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-b0370690ac6a8a0301e000cc1e13dd04": {
      "title": "source",
      "description": "The paths to backup",
      "anyOf": [
        {
          "type": "string",
          "examples": [
            "/opt/",
            "/home/user/",
            "C:\\Users\\User\\Documents"
          ],
          "minLength": 0
        },
        {
          "title": "source...",
          "type": "array",
          "examples": [
            "/opt/",
            "/home/user/",
            "C:\\Users\\User\\Documents"
          ],
          "items": {
            "type": "string",
            "examples": [
              "/opt/",
              "/home/user/",
              "C:\\Users\\User\\Documents"
            ],
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-b0a6986d36a1bde1ef46f576cf24783c": {
      "title": "send-finally",
      "description": "Send HTTP request(s) always, after all other commands",
      "anyOf": [
        {
          "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
        },
        {
          "title": "send-finally...",
          "type": "array",
          "items": {
            "$ref": "#/$defs/id-23512646a37d89783d831f3f819a55f4"
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-b62c2f035a52f9e65b5a80c3895ee6bb": {
      "title": "restic-stale-lock-age",
      "description": "The age an unused lock on a restic repository must have at least before resticprofile attempts to unlock - see https://creativeprojects.github.io/resticprofile/usage/locks/",
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "default": "1h",
          "type": "string",
          "minLength": 2,
          "pattern": "^(\\d+(h|m|s|ms))+$"
        }
      ]
    },
    "id-bdebeefb786b97126bbaf65dcffdb112": {
      "title": "cacert",
      "description": "file to load root certificates from (default: use system certificates or $RESTIC_CACERT)",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "cacert...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-c20492a9908e894b76ed0102f27c38dc": {
      "type": "string",
      "examples": [
        "hourly",
        "daily",
        "weekly",
        "monthly",
        "10:00,14:00,18:00,22:00",
        "Wed,Fri 17:48",
        "*-*-15 02:45",
        "Mon..Fri 00:30"
      ],
      "minLength": 0
    },
    "id-c74ea9cfd0cf38b4f051386e08ea0eab": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "max-runs": {
          "title": "max-runs",
          "description": "Maximum amount of times that \"run\" is started ; 0 for no limit",
          "type": "integer",
          "minimum": 0
        },
        "min-matches": {
          "title": "min-matches",
          "description": "Minimum amount of times the \"pattern\" must match before \"run\" is started ; 0 for no limit",
          "type": "integer",
          "minimum": 0
        },
        "pattern": {
          "title": "pattern",
          "description": "A regular expression pattern that is tested against stderr of a running restic command",
          "type": "string",
          "minLength": 0,
          "format": "regex"
        },
        "run": {
          "title": "run",
          "description": "The shell command to run when the pattern matches",
          "type": "string",
          "minLength": 0
        }
      }
    },
    "id-c807b66df494b9a904ef4f3df3ebe6cc": {
      "title": "host",
      "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system. [restic \u003e= 0.10.0]",
      "anyOf": [
        {
          "title": "host",
          "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system. [restic \u003e= 0.10.0]",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "host"
              ],
              "minLength": 0,
              "format": "hostname"
            }
          ]
        },
        {
          "title": "host...",
          "type": "array",
          "examples": [
            true,
            false,
            "host"
          ],
          "items": {
            "title": "host",
            "description": "only consider snapshots for this host (can be specified multiple times, use empty string to unset default value) (default: $RESTIC_HOST).\nBoolean true is replaced with the hostname of the system. [restic \u003e= 0.10.0]",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "host"
                ],
                "minLength": 0,
                "format": "hostname"
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-d07a19e23ce110495e29bd4c07d194b8": {
      "title": "tag",
      "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\". [restic \u003e= 0.10.0]",
      "anyOf": [
        {
          "title": "tag",
          "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\". [restic \u003e= 0.10.0]",
          "anyOf": [
            {
              "type": "boolean",
              "examples": [
                true,
                false
              ]
            },
            {
              "type": "string",
              "examples": [
                true,
                false,
                "tag"
              ],
              "minLength": 0
            }
          ]
        },
        {
          "title": "tag...",
          "type": "array",
          "examples": [
            true,
            false,
            "tag"
          ],
          "items": {
            "title": "tag",
            "description": "only consider snapshots including tag[,tag,...].\nBoolean true is replaced with the tags from section \"backup\". [restic \u003e= 0.10.0]",
            "anyOf": [
              {
                "type": "boolean",
                "examples": [
                  true,
                  false
                ]
              },
              {
                "type": "string",
                "examples": [
                  true,
                  false,
                  "tag"
                ],
                "minLength": 0
              }
            ]
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-d0cb8938e8c33723a0a629c3376aecc5": {
      "title": "run-after",
      "description": "Run shell command(s) after a successful restic command",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "run-after...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-d7af7929542f414971eae9ea31c9fbe3": {
      "title": "host",
      "description": "set the hostname for the snapshot manually (default: $RESTIC_HOST). To prevent an expensive rescan use the \"parent\" flag.\nBoolean true is replaced with the hostname of the system. Defaults to true for config version 2 in \"backup\".",
      "oneOf": [
        {
          "type": "boolean",
          "examples": [
            true,
            false
          ]
        },
        {
          "type": "string",
          "examples": [
            true,
            false,
            "host"
          ],
          "minLength": 0,
          "format": "hostname"
        }
      ]
    },
    "id-d7f8fecbb230b837e9062334f594f0b5": {
      "title": "exclude-file",
      "description": "read exclude patterns from a file",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "exclude-file...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-db71520355d2a9baae090ca906a4bd4f": {
      "title": "add",
      "description": "tags which will be added to the existing tags in the format tag[,tag,...]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "add...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-e53da3b88d470edbc47a4cdd4160ff3f": {
      "title": "option",
      "description": "set extended option (key=value)",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "option...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-e7d98f4cbe6d87f1d7bdcfe27e13ce05": {
      "title": "capture-environment",
      "description": "Set names (or glob expressions) of environment variables to capture during schedule creation. The captured environment is applied prior to \"profile.env\" when running the schedule. Whether capturing is supported depends on the type of scheduler being used (supported in \"systemd\" and \"launchd\")",
      "anyOf": [
        {
          "default": "RESTIC_*",
          "type": "string",
          "minLength": 0
        },
        {
          "title": "capture-environment...",
          "default": "RESTIC_*",
          "type": "array",
          "items": {
            "default": "RESTIC_*",
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-e85b383c5fe5f267b43cb2035308e933": {
      "title": "iinclude",
      "description": "same as --include pattern but ignores the casing of filenames [restic \u003e= 0.10.0]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "iinclude...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-e9dcb0415621db931adaa34883b6880b": {
      "title": "schedule-capture-environment",
      "description": "Set names (or glob expressions) of environment variables to capture during schedule creation. The captured environment is applied prior to \"profile.env\" when running the schedule. Whether capturing is supported depends on the type of scheduler being used (supported in \"systemd\" and \"launchd\") [deprecated]",
      "anyOf": [
        {
          "deprecated": true,
          "type": "string",
          "minLength": 0
        },
        {
          "title": "schedule-capture-environment...",
          "deprecated": true,
          "type": "array",
          "items": {
            "deprecated": true,
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-ec2677e78c4ab68f0084eda8fac2205c": {
      "title": "files-from-raw",
      "description": "read the files to backup from file (can be combined with file args) [restic \u003e= 0.12.0]",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "files-from-raw...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-ef4cd05741e7f69941250f6f7121853f": {
      "title": "run-finally",
      "description": "Run shell command(s) always, after all other commands",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "run-finally...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-efc256c6055c563ef627167bef02d66c": {
      "title": "systemd-drop-in-files",
      "description": "Files containing systemd drop-in (override) files - see https://creativeprojects.github.io/resticprofile/schedules/systemd/",
      "anyOf": [
        {
          "type": "string",
          "minLength": 0
        },
        {
          "title": "systemd-drop-in-files...",
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      ]
    },
    "id-f0168f2fbe66ae6072968cc4d0629409": {
      "title": "schedule",
      "description": "Configures the scheduled execution of this profile section. Can be times in systemd timer format or a config structure",
      "anyOf": [
        {
          "description": "Schedule configuration structure. Can be used to define schedules in profiles and groups.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "after-network-online": {
              "title": "after-network-online",
              "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
              "type": "boolean"
            },
            "at": {
              "title": "at",
              "description": "Set the times at which the scheduled command is run (times are specified in systemd timer format)",
              "anyOf": [
                {
                  "$ref": "#/$defs/id-c20492a9908e894b76ed0102f27c38dc"
                },
                {
                  "title": "at...",
                  "type": "array",
                  "examples": [
                    "hourly",
                    "daily",
                    "weekly",
                    "monthly",
                    "10:00,14:00,18:00,22:00",
                    "Wed,Fri 17:48",
                    "*-*-15 02:45",
                    "Mon..Fri 00:30"
                  ],
                  "items": {
                    "$ref": "#/$defs/id-c20492a9908e894b76ed0102f27c38dc"
                  },
                  "minItems": 0,
                  "uniqueItems": false
                }
              ]
            },
            "capture-environment": {
              "title": "capture-environment",
              "description": "Set names (or glob expressions) of environment variables to capture during schedule creation. The captured environment is applied prior to \"profile.env\" when running the schedule. Whether capturing is supported depends on the type of scheduler being used (supported in \"systemd\" and \"launchd\")",
              "anyOf": [
                {
                  "default": "RESTIC_*",
                  "type": "string",
                  "minLength": 0
                },
                {
                  "title": "capture-environment...",
                  "default": "RESTIC_*",
                  "type": "array",
                  "items": {
                    "default": "RESTIC_*",
                    "type": "string",
                    "minLength": 0
                  },
                  "minItems": 0,
                  "uniqueItems": false
                }
              ]
            },
            "command-output": {
              "title": "command-output",
              "default": "auto",
              "description": "Sets the destination for command output (stderr/stdout). \"log\" sends output to the log file (if specified), \"console\" sends it to the console instead. \"auto\" sends it to \"both\" if console is a terminal otherwise to \"log\" only - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
              "type": "string",
              "enum": [
                "auto",
                "log",
                "console",
                "all"
              ],
              "minLength": 0
            },
            "hide-window": {
              "title": "hide-window",
              "description": "Hide schedule window when running in foreground (Windows only)",
              "type": "boolean"
            },
            "ignore-on-battery": {
              "title": "ignore-on-battery",
              "description": "Don't start this schedule when running on battery",
              "type": "boolean"
            },
            "ignore-on-battery-less-than": {
              "title": "ignore-on-battery-less-than",
              "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
              "type": "integer",
              "examples": [
                20,
                33,
                50,
                75
              ]
            },
            "lock-mode": {
              "title": "lock-mode",
              "default": "default",
              "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
              "type": "string",
              "enum": [
                "default",
                "fail",
                "ignore"
              ],
              "minLength": 0
            },
            "lock-wait": {
              "title": "lock-wait",
              "description": "Set the maximum time to wait for acquiring locks when running on schedule",
              "oneOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string",
                  "examples": [
                    "150s",
                    "15m",
                    "30m",
                    "45m",
                    "1h",
                    "2h30m"
                  ],
                  "minLength": 2,
                  "pattern": "^(\\d+(h|m|s|ms))+$"
                }
              ]
            },
            "log": {
              "title": "log",
              "description": "Redirect the output into a log file or to syslog when running on schedule - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
              "type": "string",
              "examples": [
                "/resticprofile.log",
                "syslog-tcp://syslog-server:514",
                "syslog:server",
                "syslog:"
              ],
              "minLength": 0
            },
            "permission": {
              "title": "permission",
              "default": "auto",
              "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
              "type": "string",
              "enum": [
                "auto",
                "system",
                "user",
                "user_logged_on"
              ],
              "minLength": 0
            },
            "priority": {
              "title": "priority",
              "default": "standard",
              "description": "Set the priority at which the schedule is run",
              "type": "string",
              "enum": [
                "background",
                "standard"
              ],
              "minLength": 0
            },
            "run-level": {
              "title": "run-level",
              "default": "auto",
              "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
              "type": "string",
              "enum": [
                "auto",
                "lowest",
                "highest"
              ],
              "minLength": 0
            },
            "start-when-available": {
              "title": "start-when-available",
              "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
              "type": "boolean"
            },
            "systemd-drop-in-files": {
              "title": "systemd-drop-in-files",
              "description": "Files containing systemd drop-in (override) files - see https://creativeprojects.github.io/resticprofile/schedules/systemd/",
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 0
                },
                {
                  "title": "systemd-drop-in-files...",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 0
                  },
                  "minItems": 0,
                  "uniqueItems": false
                }
              ]
            }
          }
        },
        {
          "title": "schedule",
          "description": "Configures the scheduled execution of this profile section. Can be times in systemd timer format or a config structure",
          "anyOf": [
            {
              "$ref": "#/$defs/id-c20492a9908e894b76ed0102f27c38dc"
            },
            {
              "title": "schedule...",
              "type": "array",
              "examples": [
                "hourly",
                "daily",
                "weekly",
                "monthly",
                "10:00,14:00,18:00,22:00",
                "Wed,Fri 17:48",
                "*-*-15 02:45",
                "Mon..Fri 00:30"
              ],
              "items": {
                "$ref": "#/$defs/id-c20492a9908e894b76ed0102f27c38dc"
              },
              "minItems": 0,
              "uniqueItems": false
            }
          ]
        }
      ]
    },
    "id-f7bc4372460aefc0a1ecf448de19d0c8": {
      "title": "schedule-lock-wait",
      "description": "Set the maximum time to wait for acquiring locks when running on schedule",
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "type": "string",
          "examples": [
            "150s",
            "15m",
            "30m",
            "45m",
            "1h",
            "2h30m"
          ],
          "minLength": 2,
          "pattern": "^(\\d+(h|m|s|ms))+$"
        }
      ]
    },
    "id-ff0dfd3fabc9eefcc415fbef01071197": {
      "title": "host",
      "description": "the hostname for new keys.\nBoolean true is replaced with the hostname of the system. [deprecated, removed in 0.17.0, restic \u003e= 0.10.0]",
      "oneOf": [
        {
          "deprecated": true,
          "type": "boolean",
          "examples": [
            true,
            false
          ]
        },
        {
          "deprecated": true,
          "type": "string",
          "examples": [
            true,
            false,
            "host"
          ],
          "minLength": 0,
          "format": "hostname"
        }
      ]
    }
  },
  "description": "resticprofile configuration v1",
  "type": "object",
  "additionalProperties": {
    "description": "single profile",
    "type": "object",
    "additionalProperties": true,
    "properties": {
      "backup": {
        "title": "backup",
        "description": "The \"backup\" command creates a new snapshot and saves the files and directories\ngiven as the arguments.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "check-after": {
            "title": "check-after",
            "description": "Check the repository after the backup command succeeded",
            "type": "boolean"
          },
          "check-before": {
            "title": "check-before",
            "description": "Check the repository before starting the backup command",
            "type": "boolean"
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "exclude": {
            "$ref": "#/$defs/id-9fc99e529e5753db5850c6ad0fe6e769"
          },
          "exclude-caches": {
            "title": "exclude-caches",
            "description": "excludes cache directories that are marked with a CACHEDIR.TAG file. See https://bford.info/cachedir/ for the Cache Directory Tagging Standard",
            "type": "boolean"
          },
          "exclude-file": {
            "$ref": "#/$defs/id-d7f8fecbb230b837e9062334f594f0b5"
          },
          "exclude-if-present": {
            "$ref": "#/$defs/id-92a8b0a93ca24cd3de9ae56a4dcb9ec6"
          },
          "exclude-larger-than": {
            "title": "exclude-larger-than",
            "description": "max size of the files to be backed up (allowed suffixes: k/K, m/M, g/G, t/T) [restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "files-from": {
            "$ref": "#/$defs/id-43751bb98b8f27a3043a5cf8114dcc42"
          },
          "files-from-raw": {
            "$ref": "#/$defs/id-ec2677e78c4ab68f0084eda8fac2205c"
          },
          "files-from-verbatim": {
            "$ref": "#/$defs/id-997692924136270ec7fee7ea4d04a8d6"
          },
          "force": {
            "title": "force",
            "description": "force re-reading the source files/directories (overrides the \"parent\" flag)",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-d7af7929542f414971eae9ea31c9fbe3"
          },
          "iexclude": {
            "$ref": "#/$defs/id-31b76762391db3e4e7e8275c1490db64"
          },
          "iexclude-file": {
            "$ref": "#/$defs/id-5a30ba75410604c90422365278a6a8c2"
          },
          "ignore-ctime": {
            "title": "ignore-ctime",
            "description": "ignore ctime changes when checking for modified files [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "ignore-inode": {
            "title": "ignore-inode",
            "description": "ignore inode number and ctime changes when checking for modified files [restic \u003e= 0.10.0]",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-error-on-warning": {
            "title": "no-error-on-warning",
            "description": "Do not fail the backup when some files could not be read",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "one-file-system": {
            "title": "one-file-system",
            "description": "exclude other file systems, don't cross filesystem boundaries and subvolumes",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "parent": {
            "title": "parent",
            "description": "use this parent snapshot (default: latest snapshot in the group determined by --group-by and not newer than the timestamp determined by --time)",
            "type": "string",
            "minLength": 0
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "schedule": {
            "$ref": "#/$defs/id-f0168f2fbe66ae6072968cc4d0629409"
          },
          "schedule-after-network-online": {
            "title": "schedule-after-network-online",
            "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
            "type": "boolean"
          },
          "schedule-capture-environment": {
            "$ref": "#/$defs/id-58bf71d644870ee03285502006c5f9ba"
          },
          "schedule-hide-window": {
            "title": "schedule-hide-window",
            "description": "Hide schedule window when running in foreground (Windows only)",
            "type": "boolean"
          },
          "schedule-ignore-on-battery": {
            "title": "schedule-ignore-on-battery",
            "description": "Don't start this schedule when running on battery",
            "type": "boolean"
          },
          "schedule-ignore-on-battery-less-than": {
            "title": "schedule-ignore-on-battery-less-than",
            "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
            "type": "integer",
            "examples": [
              20,
              33,
              50,
              75
            ]
          },
          "schedule-lock-mode": {
            "title": "schedule-lock-mode",
            "default": "default",
            "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "default",
              "fail",
              "ignore"
            ],
            "minLength": 0
          },
          "schedule-lock-wait": {
            "$ref": "#/$defs/id-f7bc4372460aefc0a1ecf448de19d0c8"
          },
          "schedule-log": {
            "title": "schedule-log",
            "description": "Redirect the output into a log file or to syslog when running on schedule",
            "type": "string",
            "examples": [
              "/resticprofile.log",
              "syslog-tcp://syslog-server:514",
              "syslog:server",
              "syslog:"
            ],
            "minLength": 0
          },
          "schedule-permission": {
            "title": "schedule-permission",
            "default": "auto",
            "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "auto",
              "system",
              "user",
              "user_logged_on"
            ],
            "minLength": 0
          },
          "schedule-priority": {
            "title": "schedule-priority",
            "default": "standard",
            "description": "Set the priority at which the schedule is run",
            "type": "string",
            "enum": [
              "background",
              "standard"
            ],
            "minLength": 0
          },
          "schedule-run-level": {
            "title": "schedule-run-level",
            "default": "auto",
            "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
            "type": "string",
            "enum": [
              "auto",
              "lowest",
              "highest"
            ],
            "minLength": 0
          },
          "schedule-start-when-available": {
            "title": "schedule-start-when-available",
            "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
            "type": "boolean"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "source": {
            "$ref": "#/$defs/id-b0370690ac6a8a0301e000cc1e13dd04"
          },
          "source-base": {
            "title": "source-base",
            "description": "The base path to resolve relative backup paths against. Defaults to current directory if unset or empty (see also \"base-dir\" in profile)",
            "type": "string",
            "examples": [
              "/",
              "$PWD",
              "C:\\",
              "%cd%"
            ],
            "minLength": 0
          },
          "source-relative": {
            "title": "source-relative",
            "description": "Enable backup with relative source paths. This will change the working directory of the \"restic backup\" command to \"source-base\", and will not expand \"source\" to an absolute path.",
            "type": "boolean"
          },
          "stdin": {
            "title": "stdin",
            "description": "read backup from stdin",
            "type": "boolean"
          },
          "stdin-command": {
            "$ref": "#/$defs/id-20cb912e946a794f54e5e7cd6faeb133"
          },
          "stdin-filename": {
            "title": "stdin-filename",
            "default": "stdin",
            "description": "filename to use when reading from stdin",
            "type": "string",
            "minLength": 0
          },
          "tag": {
            "$ref": "#/$defs/id-1f33e5af642ab1e472fcd28edcf102e5"
          },
          "time": {
            "title": "time",
            "description": "time of the backup (ex. '2012-11-01 22:08:41') (default: now)",
            "type": "string",
            "minLength": 0
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "use-fs-snapshot": {
            "title": "use-fs-snapshot",
            "description": "use filesystem snapshot where possible (currently only Windows VSS) [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          },
          "with-atime": {
            "title": "with-atime",
            "description": "store the atime for all files and directories",
            "type": "boolean"
          }
        }
      },
      "base-dir": {
        "title": "base-dir",
        "description": "Sets the working directory for this profile. The profile will fail when the working directory cannot be changed. Leave empty to use the current directory instead",
        "type": "string",
        "minLength": 0
      },
      "cacert": {
        "title": "cacert",
        "description": "file to load root certificates from (default: use system certificates or $RESTIC_CACERT)",
        "type": "string",
        "minLength": 0
      },
      "cache": {
        "title": "cache",
        "description": "The \"cache\" command allows listing and cleaning local cache directories.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup": {
            "title": "cleanup",
            "description": "remove old cache directories",
            "type": "boolean"
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "json": {
            "title": "json",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "max-age": {
            "title": "max-age",
            "default": 30,
            "description": "max age in days for cache directories to be considered old",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "no-size": {
            "title": "no-size",
            "description": "do not output the size of the cache directories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "cache-dir": {
        "title": "cache-dir",
        "description": "set the cache directory. (default: use system default cache directory)",
        "type": "string",
        "minLength": 0
      },
      "cat": {
        "title": "cat",
        "description": "The \"cat\" command is used to print internal objects to stdout.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "check": {
        "title": "check",
        "description": "The \"check\" command tests the repository for errors and reports any errors it\nfinds.\n\nBy default, check verifies the structural consistency and integrity of\nsnapshots, trees and pack files. To also verify the integrity of the actual\nbacked-up data, use the --read-data or --read-data-subset flags.\n\nBy default, check creates a new temporary cache directory to verify data.\nTo reuse the existing cache, use the --with-cache flag.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "check-unused": {
            "title": "check-unused",
            "deprecated": true,
            "description": "find unused blobs [deprecated, removed in 0.14.0]",
            "type": "boolean"
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "read-data": {
            "title": "read-data",
            "description": "read all data blobs",
            "type": "boolean"
          },
          "read-data-subset": {
            "title": "read-data-subset",
            "description": "read a subset of data packs, specified as 'n/t' for specific part, or either 'x%' or 'x.y%' or a size in bytes with suffixes k/K, m/M, g/G, t/T for a random subset",
            "type": "string",
            "minLength": 0
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "schedule": {
            "$ref": "#/$defs/id-f0168f2fbe66ae6072968cc4d0629409"
          },
          "schedule-after-network-online": {
            "title": "schedule-after-network-online",
            "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
            "type": "boolean"
          },
          "schedule-capture-environment": {
            "$ref": "#/$defs/id-58bf71d644870ee03285502006c5f9ba"
          },
          "schedule-hide-window": {
            "title": "schedule-hide-window",
            "description": "Hide schedule window when running in foreground (Windows only)",
            "type": "boolean"
          },
          "schedule-ignore-on-battery": {
            "title": "schedule-ignore-on-battery",
            "description": "Don't start this schedule when running on battery",
            "type": "boolean"
          },
          "schedule-ignore-on-battery-less-than": {
            "title": "schedule-ignore-on-battery-less-than",
            "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
            "type": "integer",
            "examples": [
              20,
              33,
              50,
              75
            ]
          },
          "schedule-lock-mode": {
            "title": "schedule-lock-mode",
            "default": "default",
            "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "default",
              "fail",
              "ignore"
            ],
            "minLength": 0
          },
          "schedule-lock-wait": {
            "$ref": "#/$defs/id-f7bc4372460aefc0a1ecf448de19d0c8"
          },
          "schedule-log": {
            "title": "schedule-log",
            "description": "Redirect the output into a log file or to syslog when running on schedule",
            "type": "string",
            "examples": [
              "/resticprofile.log",
              "syslog-tcp://syslog-server:514",
              "syslog:server",
              "syslog:"
            ],
            "minLength": 0
          },
          "schedule-permission": {
            "title": "schedule-permission",
            "default": "auto",
            "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "auto",
              "system",
              "user",
              "user_logged_on"
            ],
            "minLength": 0
          },
          "schedule-priority": {
            "title": "schedule-priority",
            "default": "standard",
            "description": "Set the priority at which the schedule is run",
            "type": "string",
            "enum": [
              "background",
              "standard"
            ],
            "minLength": 0
          },
          "schedule-run-level": {
            "title": "schedule-run-level",
            "default": "auto",
            "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
            "type": "string",
            "enum": [
              "auto",
              "lowest",
              "highest"
            ],
            "minLength": 0
          },
          "schedule-start-when-available": {
            "title": "schedule-start-when-available",
            "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
            "type": "boolean"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          },
          "with-cache": {
            "title": "with-cache",
            "description": "use existing cache, only read uncached data from repository",
            "type": "boolean"
          }
        }
      },
      "cleanup-cache": {
        "title": "cleanup-cache",
        "description": "auto remove old cache directories",
        "type": "boolean"
      },
      "copy": {
        "title": "copy",
        "description": "The \"copy\" command copies one or more snapshots from one repository to another.\n\nNOTE: This process will have to both download (read) and upload (write) the\nentire snapshot(s) due to the different encryption keys used in the source and\ndestination repositories. This /may incur higher bandwidth usage and costs/ than\nexpected during normal backup runs.\n\nNOTE: The copying process does not re-chunk files, which may break deduplication\nbetween the files copied and files already stored in the destination repository.\nThis means that copied files, which existed in both the source and destination\nrepository, /may occupy up to twice their space/ in the destination repository.\nThis can be mitigated by the \"--copy-chunker-params\" option when initializing a\nnew destination repository using the \"init\" command.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-c807b66df494b9a904ef4f3df3ebe6cc"
          },
          "initialize": {
            "title": "initialize",
            "description": "Initialize the secondary repository if missing",
            "type": "boolean"
          },
          "initialize-copy-chunker-params": {
            "title": "initialize-copy-chunker-params",
            "default": true,
            "description": "Copy chunker parameters when initializing the secondary repository",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "Key ID of key to try decrypting the destination repository first",
            "type": "string",
            "minLength": 0
          },
          "key-hint2": {
            "title": "key-hint2",
            "deprecated": true,
            "description": "key ID of key to try decrypting the destination repository first (default: $RESTIC_KEY_HINT2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "Shell command to obtain the destination repository password from",
            "type": "string",
            "minLength": 0
          },
          "password-command2": {
            "title": "password-command2",
            "deprecated": true,
            "description": "shell command to obtain the destination repository password from (default: $RESTIC_PASSWORD_COMMAND2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "File to read the destination repository password from",
            "type": "string",
            "minLength": 0
          },
          "password-file2": {
            "title": "password-file2",
            "deprecated": true,
            "description": "file to read the destination repository password from (default: $RESTIC_PASSWORD_FILE2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-1e3e4f194a26f596cf3db367ea81cd15"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repo2": {
            "title": "repo2",
            "deprecated": true,
            "description": "destination repository to copy snapshots to (default: $RESTIC_REPOSITORY2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "repository": {
            "title": "repository",
            "description": "Destination repository to copy snapshots to",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "File from which to read the destination repository location to copy snapshots to",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "schedule": {
            "$ref": "#/$defs/id-f0168f2fbe66ae6072968cc4d0629409"
          },
          "schedule-after-network-online": {
            "title": "schedule-after-network-online",
            "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
            "type": "boolean"
          },
          "schedule-capture-environment": {
            "$ref": "#/$defs/id-58bf71d644870ee03285502006c5f9ba"
          },
          "schedule-hide-window": {
            "title": "schedule-hide-window",
            "description": "Hide schedule window when running in foreground (Windows only)",
            "type": "boolean"
          },
          "schedule-ignore-on-battery": {
            "title": "schedule-ignore-on-battery",
            "description": "Don't start this schedule when running on battery",
            "type": "boolean"
          },
          "schedule-ignore-on-battery-less-than": {
            "title": "schedule-ignore-on-battery-less-than",
            "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
            "type": "integer",
            "examples": [
              20,
              33,
              50,
              75
            ]
          },
          "schedule-lock-mode": {
            "title": "schedule-lock-mode",
            "default": "default",
            "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "default",
              "fail",
              "ignore"
            ],
            "minLength": 0
          },
          "schedule-lock-wait": {
            "$ref": "#/$defs/id-f7bc4372460aefc0a1ecf448de19d0c8"
          },
          "schedule-log": {
            "title": "schedule-log",
            "description": "Redirect the output into a log file or to syslog when running on schedule",
            "type": "string",
            "examples": [
              "/resticprofile.log",
              "syslog-tcp://syslog-server:514",
              "syslog:server",
              "syslog:"
            ],
            "minLength": 0
          },
          "schedule-permission": {
            "title": "schedule-permission",
            "default": "auto",
            "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "auto",
              "system",
              "user",
              "user_logged_on"
            ],
            "minLength": 0
          },
          "schedule-priority": {
            "title": "schedule-priority",
            "default": "standard",
            "description": "Set the priority at which the schedule is run",
            "type": "string",
            "enum": [
              "background",
              "standard"
            ],
            "minLength": 0
          },
          "schedule-run-level": {
            "title": "schedule-run-level",
            "default": "auto",
            "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
            "type": "string",
            "enum": [
              "auto",
              "lowest",
              "highest"
            ],
            "minLength": 0
          },
          "schedule-start-when-available": {
            "title": "schedule-start-when-available",
            "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
            "type": "boolean"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "snapshot": {
            "$ref": "#/$defs/id-a0a0f94f7b67bcfce0325495ae74a8f5"
          },
          "tag": {
            "$ref": "#/$defs/id-d07a19e23ce110495e29bd4c07d194b8"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "description": {
        "title": "description",
        "description": "Describes the profile",
        "type": "string",
        "minLength": 0
      },
      "diff": {
        "title": "diff",
        "description": "The \"diff\" command shows differences from the first to the second snapshot. The\nfirst characters in each line display what has happened to a particular file or\ndirectory:\n* `+` The item was added\n* `-` The item was removed\n* `U` The metadata (access mode, timestamps, ...) for the item was updated\n* `M` The file's content was modified\n* `T` The type was changed, e.g. a file was made a symlink\n* `?` Bitrot detected: The file's content has changed but all metadata is the same\n\nMetadata comparison will likely not work if a backup was created using the\n'--ignore-inode' or '--ignore-ctime' option.\n\nTo only compare files in specific subfolders, you can use the\n\"snapshotID:subfolder\" syntax, where \"subfolder\" is a path within the\nsnapshot tree as shown by \"restic ls\".",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "json": {
            "title": "json",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "metadata": {
            "title": "metadata",
            "description": "print changes in metadata",
            "type": "boolean"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "dump": {
        "title": "dump",
        "description": "The \"dump\" command extracts files from a snapshot from the repository. If a\nsingle file is selected, it prints its contents to stdout. Folders are output\nas a tar (default) or zip file containing the contents of the specified folder.\nPass \"/\" as file name to dump the whole snapshot as an archive file.\n\nThe special snapshotID \"latest\" can be used to use the latest snapshot in the\nrepository.\n\nTo include the folder content at the root of the archive, you can use the\n\"snapshotID:subfolder\" syntax, where \"subfolder\" is a path within the\nsnapshot tree as shown by \"restic ls\".",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "archive": {
            "title": "archive",
            "default": "tar",
            "description": "set archive format as \"tar\" or \"zip\" [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-88507c25ed5a5da1848bd9232f1d0852"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-4d5c283f98d0925082ab484d3bdd4d16"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tag": {
            "$ref": "#/$defs/id-5a6e7b23808067f4ea3cd8627e7434be"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "env": {
        "title": "env",
        "type": "object",
        "additionalProperties": true
      },
      "env-file": {
        "$ref": "#/$defs/id-71d4c72a873617fc9b373bf506f9606d"
      },
      "extended-status": {
        "title": "extended-status",
        "description": "set output mode to JSON for commands that support it",
        "type": "boolean"
      },
      "find": {
        "title": "find",
        "description": "The \"find\" command searches for files or directories in snapshots stored in the\nrepository. It can also be used to search for restic blobs, trees or pack\nfiles for troubleshooting.\n\nThe default sort option for the snapshots is youngest to oldest. To sort the\noutput from oldest to youngest specify --reverse.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "blob": {
            "title": "blob",
            "description": "pattern is a blob-ID",
            "type": "boolean"
          },
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-780eef226ac76505eb7b6d5ecf2576eb"
          },
          "ignore-case": {
            "title": "ignore-case",
            "description": "ignore case for pattern",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "long": {
            "title": "long",
            "description": "use a long listing format showing size and mode",
            "type": "boolean"
          },
          "newest": {
            "title": "newest",
            "description": "newest modification date/time",
            "type": "string",
            "minLength": 0
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "oldest": {
            "title": "oldest",
            "description": "oldest modification date/time",
            "type": "string",
            "minLength": 0
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "pack": {
            "title": "pack",
            "description": "pattern is a pack-ID",
            "type": "boolean"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-0dd6bafe51f2901fa7f446e31a3b881d"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "show-pack-id": {
            "title": "show-pack-id",
            "description": "display the pack-ID the blobs belong to (with --blob or --tree)",
            "type": "boolean"
          },
          "snapshot": {
            "$ref": "#/$defs/id-03550d33226c03f7e7c8a6a6fc971333"
          },
          "tag": {
            "$ref": "#/$defs/id-07122d0553bd2888fbf7616a676047d5"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "tree": {
            "title": "tree",
            "description": "pattern is a tree-ID",
            "type": "boolean"
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "force-inactive-lock": {
        "title": "force-inactive-lock",
        "description": "Allows to lock when the existing lock is considered stale",
        "type": "boolean"
      },
      "forget": {
        "title": "forget",
        "description": "The \"forget\" command removes snapshots according to a policy. All snapshots are\nfirst divided into groups according to \"--group-by\", and after that the policy\nspecified by the \"--keep-\" options is applied to each group individually.\nIf there are not enough snapshots to keep one for each duration related\n\"--keep-{within-,}\" option, the oldest snapshot in the group is kept\nadditionally.\n\nPlease note that this command really only deletes the snapshot object in the\nrepository, which is a reference to data stored there. In order to remove the\nunreferenced data after \"forget\" was run successfully, see the \"prune\" command.\n\nPlease also read the documentation for \"forget\" to learn about some important\nsecurity considerations.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "compact": {
            "title": "compact",
            "description": "use compact output format",
            "type": "boolean"
          },
          "dry-run": {
            "title": "dry-run",
            "description": "do not delete anything, just print what would be done",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "group-by": {
            "title": "group-by",
            "default": "host,paths",
            "description": "group snapshots by host, paths and/or tags, separated by comma (disable grouping with '')",
            "type": "string",
            "minLength": 0
          },
          "host": {
            "$ref": "#/$defs/id-780eef226ac76505eb7b6d5ecf2576eb"
          },
          "keep-daily": {
            "title": "keep-daily",
            "description": "keep the last n daily snapshots (use 'unlimited' to keep all daily snapshots)",
            "type": "integer"
          },
          "keep-hourly": {
            "title": "keep-hourly",
            "description": "keep the last n hourly snapshots (use 'unlimited' to keep all hourly snapshots)",
            "type": "integer"
          },
          "keep-last": {
            "title": "keep-last",
            "description": "keep the last n snapshots (use 'unlimited' to keep all snapshots)",
            "type": "integer"
          },
          "keep-monthly": {
            "title": "keep-monthly",
            "description": "keep the last n monthly snapshots (use 'unlimited' to keep all monthly snapshots)",
            "type": "integer"
          },
          "keep-tag": {
            "$ref": "#/$defs/id-7d3654de0d890ce874dc332214970cad"
          },
          "keep-weekly": {
            "title": "keep-weekly",
            "description": "keep the last n weekly snapshots (use 'unlimited' to keep all weekly snapshots)",
            "type": "integer"
          },
          "keep-within": {
            "title": "keep-within",
            "description": "keep snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot",
            "type": "string",
            "minLength": 0
          },
          "keep-yearly": {
            "title": "keep-yearly",
            "description": "keep the last n yearly snapshots (use 'unlimited' to keep all yearly snapshots)",
            "type": "integer"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "max-repack-size": {
            "title": "max-repack-size",
            "description": "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T) [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "max-unused": {
            "title": "max-unused",
            "default": "5%",
            "description": "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-0dd6bafe51f2901fa7f446e31a3b881d"
          },
          "prune": {
            "title": "prune",
            "description": "automatically run the 'prune' command if snapshots have been removed",
            "type": "boolean"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repack-cacheable-only": {
            "title": "repack-cacheable-only",
            "description": "only repack packs which are cacheable [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "schedule": {
            "$ref": "#/$defs/id-f0168f2fbe66ae6072968cc4d0629409"
          },
          "schedule-after-network-online": {
            "title": "schedule-after-network-online",
            "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
            "type": "boolean"
          },
          "schedule-capture-environment": {
            "$ref": "#/$defs/id-58bf71d644870ee03285502006c5f9ba"
          },
          "schedule-hide-window": {
            "title": "schedule-hide-window",
            "description": "Hide schedule window when running in foreground (Windows only)",
            "type": "boolean"
          },
          "schedule-ignore-on-battery": {
            "title": "schedule-ignore-on-battery",
            "description": "Don't start this schedule when running on battery",
            "type": "boolean"
          },
          "schedule-ignore-on-battery-less-than": {
            "title": "schedule-ignore-on-battery-less-than",
            "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
            "type": "integer",
            "examples": [
              20,
              33,
              50,
              75
            ]
          },
          "schedule-lock-mode": {
            "title": "schedule-lock-mode",
            "default": "default",
            "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "default",
              "fail",
              "ignore"
            ],
            "minLength": 0
          },
          "schedule-lock-wait": {
            "$ref": "#/$defs/id-f7bc4372460aefc0a1ecf448de19d0c8"
          },
          "schedule-log": {
            "title": "schedule-log",
            "description": "Redirect the output into a log file or to syslog when running on schedule",
            "type": "string",
            "examples": [
              "/resticprofile.log",
              "syslog-tcp://syslog-server:514",
              "syslog:server",
              "syslog:"
            ],
            "minLength": 0
          },
          "schedule-permission": {
            "title": "schedule-permission",
            "default": "auto",
            "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "auto",
              "system",
              "user",
              "user_logged_on"
            ],
            "minLength": 0
          },
          "schedule-priority": {
            "title": "schedule-priority",
            "default": "standard",
            "description": "Set the priority at which the schedule is run",
            "type": "string",
            "enum": [
              "background",
              "standard"
            ],
            "minLength": 0
          },
          "schedule-run-level": {
            "title": "schedule-run-level",
            "default": "auto",
            "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
            "type": "string",
            "enum": [
              "auto",
              "lowest",
              "highest"
            ],
            "minLength": 0
          },
          "schedule-start-when-available": {
            "title": "schedule-start-when-available",
            "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
            "type": "boolean"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tag": {
            "$ref": "#/$defs/id-07122d0553bd2888fbf7616a676047d5"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "inherit": {
        "title": "inherit",
        "description": "Name of the profile to inherit all of the settings from",
        "type": "string",
        "minLength": 0
      },
      "init": {
        "title": "init",
        "description": "The \"init\" command initializes a new repository.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "copy-chunker-params": {
            "title": "copy-chunker-params",
            "description": "copy chunker parameters from the secondary repository (useful with the copy command) [restic \u003e= 0.10.0]",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "key-hint2": {
            "title": "key-hint2",
            "deprecated": true,
            "description": "key ID of key to try decrypting the secondary repository first (default: $RESTIC_KEY_HINT2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-command2": {
            "title": "password-command2",
            "deprecated": true,
            "description": "shell command to obtain the secondary repository password from (default: $RESTIC_PASSWORD_COMMAND2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "password-file2": {
            "title": "password-file2",
            "deprecated": true,
            "description": "file to read the secondary repository password from (default: $RESTIC_PASSWORD_FILE2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repo2": {
            "title": "repo2",
            "deprecated": true,
            "description": "secondary repository to copy chunker parameters from (default: $RESTIC_REPOSITORY2) [deprecated, removed in 0.14.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "initialize": {
        "title": "initialize",
        "description": "Initialize the restic repository if missing",
        "type": "boolean"
      },
      "key": {
        "title": "key",
        "description": "The \"key\" command allows you to set multiple access keys or passwords\nper repository.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-ff0dfd3fabc9eefcc415fbef01071197"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "new-password-file": {
            "title": "new-password-file",
            "deprecated": true,
            "description": "file from which to read the new password [deprecated, removed in 0.17.0]",
            "type": "string",
            "minLength": 0
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "user": {
            "title": "user",
            "deprecated": true,
            "description": "the username for new keys [deprecated, removed in 0.17.0, restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "key-hint": {
        "title": "key-hint",
        "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
        "type": "string",
        "minLength": 0
      },
      "limit-download": {
        "title": "limit-download",
        "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
        "type": "integer"
      },
      "limit-upload": {
        "title": "limit-upload",
        "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
        "type": "integer"
      },
      "list": {
        "title": "list",
        "description": "The \"list\" command allows listing objects in the repository based on type.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "lock": {
        "title": "lock",
        "description": "Path to the lock file to use with resticprofile locks",
        "type": "string",
        "minLength": 0
      },
      "ls": {
        "title": "ls",
        "description": "The \"ls\" command lists files and directories in a snapshot.\n\nThe special snapshot ID \"latest\" can be used to list files and\ndirectories of the latest snapshot in the repository. The\n--host flag can be used in conjunction to select the latest\nsnapshot originating from a certain host only.\n\nFile listings can optionally be filtered by directories. Any\npositional arguments after the snapshot ID are interpreted as\nabsolute directory paths, and only files inside those directories\nwill be listed. If the --recursive flag is used, then the filter\nwill allow traversing into matching directories' subfolders.\nAny directory paths specified must be absolute (starting with\na path separator); paths use the forward slash '/' as separator.\n\nFile listings can be sorted by specifying --sort followed by one of the\nsort specifiers '(name|size|time=mtime|atime|ctime|extension)'.\nThe sorting can be reversed by specifying --reverse.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-88507c25ed5a5da1848bd9232f1d0852"
          },
          "json": {
            "title": "json",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "long": {
            "title": "long",
            "description": "use a long listing format showing size and mode",
            "type": "boolean"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-4d5c283f98d0925082ab484d3bdd4d16"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "recursive": {
            "title": "recursive",
            "description": "include files in subfolders of the listed directories",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tag": {
            "$ref": "#/$defs/id-5a6e7b23808067f4ea3cd8627e7434be"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "migrate": {
        "title": "migrate",
        "description": "The \"migrate\" command checks which migrations can be applied for a repository\nand prints a list with available migration names. If one or more migration\nnames are specified, these migrations are applied.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "force": {
            "title": "force",
            "description": "apply a migration a second time",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "mount": {
        "title": "mount",
        "description": "The \"mount\" command mounts the repository via fuse to a directory. This is a\nread-only mount.\n\n\nIf you need a different template for directories that contain snapshots,\nyou can pass a time template via --time-template and path templates via\n--path-template.\n\nExample time template without colons:\n\n\n--time-template \"2006-01-02_15-04-05\"\n\n\nYou need to specify a sample format for exactly the following timestamp:\n\n\nMon Jan 2 15:04:05 -0700 MST 2006\n\n\nFor details please see the documentation for time.Format() at:\n  https://godoc.org/time#Time.Format\n\nFor path templates, you can use the following patterns which will be replaced:\n    %i by short snapshot ID\n    %I by long snapshot ID\n    %u by username\n    %h by hostname\n    %t by tags\n    %T by timestamp as specified by --time-template\n\nThe default path templates are:\n    \"ids/%i\"\n    \"snapshots/%T\"\n    \"hosts/%h/%T\"\n    \"tags/%t/%T\"",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "allow-other": {
            "title": "allow-other",
            "description": "allow other users to access the data in the mounted directory",
            "type": "boolean"
          },
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-780eef226ac76505eb7b6d5ecf2576eb"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-default-permissions": {
            "title": "no-default-permissions",
            "description": "for 'allow-other', ignore Unix permissions and allow users to read all snapshot files",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "owner-root": {
            "title": "owner-root",
            "description": "use 'root' as the owner of files and dirs",
            "type": "boolean"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-0dd6bafe51f2901fa7f446e31a3b881d"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "snapshot-template": {
            "title": "snapshot-template",
            "deprecated": true,
            "description": "set template to use for snapshot dirs [deprecated, removed in 0.14.0]",
            "type": "string",
            "minLength": 0
          },
          "tag": {
            "$ref": "#/$defs/id-07122d0553bd2888fbf7616a676047d5"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "no-cache": {
        "title": "no-cache",
        "description": "do not use a local cache",
        "type": "boolean"
      },
      "no-lock": {
        "title": "no-lock",
        "description": "do not lock the repository, this allows some operations on read-only repositories",
        "type": "boolean"
      },
      "option": {
        "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
      },
      "password-command": {
        "title": "password-command",
        "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
        "type": "string",
        "minLength": 0
      },
      "password-file": {
        "title": "password-file",
        "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
        "type": "string",
        "minLength": 0
      },
      "prometheus-labels": {
        "type": "object",
        "additionalProperties": false,
        "patternProperties": {
          ".+": {
            "type": "string",
            "minLength": 0
          }
        }
      },
      "prometheus-push": {
        "title": "prometheus-push",
        "description": "URL of the prometheus push gateway to send the summary of the last restic command result to",
        "type": "string",
        "minLength": 0,
        "format": "uri"
      },
      "prometheus-push-format": {
        "title": "prometheus-push-format",
        "default": "text",
        "description": "Prometheus push gateway request format",
        "type": "string",
        "enum": [
          "text",
          "protobuf"
        ],
        "minLength": 0
      },
      "prometheus-push-job": {
        "title": "prometheus-push-job",
        "description": "Prometheus push gateway job name. $command placeholder is replaced with restic command",
        "type": "string",
        "minLength": 0
      },
      "prometheus-save-to-file": {
        "title": "prometheus-save-to-file",
        "description": "Path to the prometheus metrics file to update with a summary of the last restic command result",
        "type": "string",
        "minLength": 0
      },
      "prune": {
        "title": "prune",
        "description": "The \"prune\" command checks the repository and removes data that is not\nreferenced and therefore not needed any more.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "dry-run": {
            "title": "dry-run",
            "description": "do not modify the repository, just print what would be done [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "max-repack-size": {
            "title": "max-repack-size",
            "description": "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T) [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "max-unused": {
            "title": "max-unused",
            "default": "5%",
            "description": "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repack-cacheable-only": {
            "title": "repack-cacheable-only",
            "description": "only repack packs which are cacheable [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "schedule": {
            "$ref": "#/$defs/id-f0168f2fbe66ae6072968cc4d0629409"
          },
          "schedule-after-network-online": {
            "title": "schedule-after-network-online",
            "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
            "type": "boolean"
          },
          "schedule-capture-environment": {
            "$ref": "#/$defs/id-58bf71d644870ee03285502006c5f9ba"
          },
          "schedule-hide-window": {
            "title": "schedule-hide-window",
            "description": "Hide schedule window when running in foreground (Windows only)",
            "type": "boolean"
          },
          "schedule-ignore-on-battery": {
            "title": "schedule-ignore-on-battery",
            "description": "Don't start this schedule when running on battery",
            "type": "boolean"
          },
          "schedule-ignore-on-battery-less-than": {
            "title": "schedule-ignore-on-battery-less-than",
            "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
            "type": "integer",
            "examples": [
              20,
              33,
              50,
              75
            ]
          },
          "schedule-lock-mode": {
            "title": "schedule-lock-mode",
            "default": "default",
            "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "default",
              "fail",
              "ignore"
            ],
            "minLength": 0
          },
          "schedule-lock-wait": {
            "$ref": "#/$defs/id-f7bc4372460aefc0a1ecf448de19d0c8"
          },
          "schedule-log": {
            "title": "schedule-log",
            "description": "Redirect the output into a log file or to syslog when running on schedule",
            "type": "string",
            "examples": [
              "/resticprofile.log",
              "syslog-tcp://syslog-server:514",
              "syslog:server",
              "syslog:"
            ],
            "minLength": 0
          },
          "schedule-permission": {
            "title": "schedule-permission",
            "default": "auto",
            "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
            "type": "string",
            "enum": [
              "auto",
              "system",
              "user",
              "user_logged_on"
            ],
            "minLength": 0
          },
          "schedule-priority": {
            "title": "schedule-priority",
            "default": "standard",
            "description": "Set the priority at which the schedule is run",
            "type": "string",
            "enum": [
              "background",
              "standard"
            ],
            "minLength": 0
          },
          "schedule-run-level": {
            "title": "schedule-run-level",
            "default": "auto",
            "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
            "type": "string",
            "enum": [
              "auto",
              "lowest",
              "highest"
            ],
            "minLength": 0
          },
          "schedule-start-when-available": {
            "title": "schedule-start-when-available",
            "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
            "type": "boolean"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "quiet": {
        "title": "quiet",
        "description": "do not output comprehensive progress report",
        "type": "boolean"
      },
      "rebuild-index": {
        "title": "rebuild-index",
        "description": "The \"rebuild-index\" command creates a new index based on the pack files in the\nrepository.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "read-all-packs": {
            "title": "read-all-packs",
            "description": "read all pack files to generate new index from scratch [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "recover": {
        "title": "recover",
        "description": "The \"recover\" command builds a new snapshot from all directories it can find in\nthe raw data of the repository which are not referenced in an existing snapshot.\nIt can be used if, for example, a snapshot has been removed by accident with \"forget\".",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "repository": {
        "title": "repository",
        "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
        "type": "string",
        "minLength": 0
      },
      "repository-file": {
        "title": "repository-file",
        "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
        "type": "string",
        "minLength": 0
      },
      "restore": {
        "title": "restore",
        "description": "The \"restore\" command extracts the data from a snapshot from the repository to\na directory.\n\nThe special snapshotID \"latest\" can be used to restore the latest snapshot in the\nrepository.\n\nTo only restore a specific subfolder, you can use the \"snapshotID:subfolder\"\nsyntax, where \"subfolder\" is a path within the snapshot tree as shown by\n\"restic ls\".\n\nPOSIX ACLs are always restored by their numeric value, while file ownership can optionally be restored by name instead of numeric value.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "exclude": {
            "$ref": "#/$defs/id-9fc99e529e5753db5850c6ad0fe6e769"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-88507c25ed5a5da1848bd9232f1d0852"
          },
          "iexclude": {
            "$ref": "#/$defs/id-31b76762391db3e4e7e8275c1490db64"
          },
          "iinclude": {
            "$ref": "#/$defs/id-e85b383c5fe5f267b43cb2035308e933"
          },
          "include": {
            "$ref": "#/$defs/id-1b525c9f6a0698293ca268ea3866afa4"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-4d5c283f98d0925082ab484d3bdd4d16"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tag": {
            "$ref": "#/$defs/id-5a6e7b23808067f4ea3cd8627e7434be"
          },
          "target": {
            "title": "target",
            "description": "directory to extract data to",
            "type": "string",
            "minLength": 0
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          },
          "verify": {
            "title": "verify",
            "description": "verify restored files content",
            "type": "boolean"
          }
        }
      },
      "retention": {
        "title": "retention",
        "description": "The \"forget\" command removes snapshots according to a policy. All snapshots are\nfirst divided into groups according to \"--group-by\", and after that the policy\nspecified by the \"--keep-\" options is applied to each group individually.\nIf there are not enough snapshots to keep one for each duration related\n\"--keep-{within-,}\" option, the oldest snapshot in the group is kept\nadditionally.\n\nPlease note that this command really only deletes the snapshot object in the\nrepository, which is a reference to data stored there. In order to remove the\nunreferenced data after \"forget\" was run successfully, see the \"prune\" command.\n\nPlease also read the documentation for \"forget\" to learn about some important\nsecurity considerations.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "after-backup": {
            "title": "after-backup",
            "description": "Apply retention after the backup command succeeded. Defaults to true in configuration format v2 if any \"keep-*\" flag is set and \"before-backup\" is unset",
            "type": "boolean"
          },
          "before-backup": {
            "title": "before-backup",
            "description": "Apply retention before starting the backup command",
            "type": "boolean"
          },
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "compact": {
            "title": "compact",
            "description": "use compact output format",
            "type": "boolean"
          },
          "dry-run": {
            "title": "dry-run",
            "description": "do not delete anything, just print what would be done",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "group-by": {
            "title": "group-by",
            "default": "host,paths",
            "description": "group snapshots by host, paths and/or tags, separated by comma (disable grouping with '')",
            "type": "string",
            "minLength": 0
          },
          "host": {
            "$ref": "#/$defs/id-605c17d0744610ff6c68e580f7141b4b"
          },
          "keep-daily": {
            "title": "keep-daily",
            "description": "keep the last n daily snapshots (use 'unlimited' to keep all daily snapshots)",
            "type": "integer"
          },
          "keep-hourly": {
            "title": "keep-hourly",
            "description": "keep the last n hourly snapshots (use 'unlimited' to keep all hourly snapshots)",
            "type": "integer"
          },
          "keep-last": {
            "title": "keep-last",
            "description": "keep the last n snapshots (use 'unlimited' to keep all snapshots)",
            "type": "integer"
          },
          "keep-monthly": {
            "title": "keep-monthly",
            "description": "keep the last n monthly snapshots (use 'unlimited' to keep all monthly snapshots)",
            "type": "integer"
          },
          "keep-tag": {
            "$ref": "#/$defs/id-7d3654de0d890ce874dc332214970cad"
          },
          "keep-weekly": {
            "title": "keep-weekly",
            "description": "keep the last n weekly snapshots (use 'unlimited' to keep all weekly snapshots)",
            "type": "integer"
          },
          "keep-within": {
            "title": "keep-within",
            "description": "keep snapshots that are newer than duration (eg. 1y5m7d2h) relative to the latest snapshot",
            "type": "string",
            "minLength": 0
          },
          "keep-yearly": {
            "title": "keep-yearly",
            "description": "keep the last n yearly snapshots (use 'unlimited' to keep all yearly snapshots)",
            "type": "integer"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "max-repack-size": {
            "title": "max-repack-size",
            "description": "stop after repacking this much data in total (allowed suffixes for size: k/K, m/M, g/G, t/T) [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "max-unused": {
            "title": "max-unused",
            "default": "5%",
            "description": "tolerate given limit of unused data (absolute value in bytes with suffixes k/K, m/M, g/G, t/T, a value in % or the word 'unlimited') [restic \u003e= 0.12.0]",
            "type": "string",
            "minLength": 0
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-65f906f27a87d15f551fa4dc5250b520"
          },
          "prune": {
            "title": "prune",
            "description": "automatically run the 'prune' command if snapshots have been removed",
            "type": "boolean"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repack-cacheable-only": {
            "title": "repack-cacheable-only",
            "description": "only repack packs which are cacheable [restic \u003e= 0.12.0]",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "schedule": {
            "$ref": "#/$defs/id-3f81f6b02c3d0b0c96a927ba7225df3b"
          },
          "schedule-after-network-online": {
            "title": "schedule-after-network-online",
            "deprecated": true,
            "description": "Don't start this schedule when the network is offline (supported in \"systemd\") [deprecated]",
            "type": "boolean"
          },
          "schedule-capture-environment": {
            "$ref": "#/$defs/id-e9dcb0415621db931adaa34883b6880b"
          },
          "schedule-hide-window": {
            "title": "schedule-hide-window",
            "deprecated": true,
            "description": "Hide schedule window when running in foreground (Windows only) [deprecated]",
            "type": "boolean"
          },
          "schedule-ignore-on-battery": {
            "title": "schedule-ignore-on-battery",
            "deprecated": true,
            "description": "Don't start this schedule when running on battery [deprecated]",
            "type": "boolean"
          },
          "schedule-ignore-on-battery-less-than": {
            "title": "schedule-ignore-on-battery-less-than",
            "deprecated": true,
            "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage [deprecated]",
            "type": "integer",
            "examples": [
              20,
              33,
              50,
              75
            ]
          },
          "schedule-lock-mode": {
            "title": "schedule-lock-mode",
            "deprecated": true,
            "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/ [deprecated]",
            "type": "string",
            "enum": [
              "default",
              "fail",
              "ignore"
            ],
            "minLength": 0
          },
          "schedule-lock-wait": {
            "$ref": "#/$defs/id-808e4aea01f0d8d12832b2f870006421"
          },
          "schedule-log": {
            "title": "schedule-log",
            "deprecated": true,
            "description": "Redirect the output into a log file or to syslog when running on schedule [deprecated]",
            "type": "string",
            "examples": [
              "/resticprofile.log",
              "syslog-tcp://syslog-server:514",
              "syslog:server",
              "syslog:"
            ],
            "minLength": 0
          },
          "schedule-permission": {
            "title": "schedule-permission",
            "deprecated": true,
            "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/ [deprecated]",
            "type": "string",
            "enum": [
              "auto",
              "system",
              "user",
              "user_logged_on"
            ],
            "minLength": 0
          },
          "schedule-priority": {
            "title": "schedule-priority",
            "deprecated": true,
            "description": "Set the priority at which the schedule is run [deprecated]",
            "type": "string",
            "enum": [
              "background",
              "standard"
            ],
            "minLength": 0
          },
          "schedule-run-level": {
            "title": "schedule-run-level",
            "deprecated": true,
            "description": "Specify the schedule privilege level (for Windows Task Scheduler only) [deprecated]",
            "type": "string",
            "enum": [
              "auto",
              "lowest",
              "highest"
            ],
            "minLength": 0
          },
          "schedule-start-when-available": {
            "title": "schedule-start-when-available",
            "deprecated": true,
            "description": "Start the task as soon as possible after a scheduled start is missed (Windows only) [deprecated]",
            "type": "boolean"
          },
          "tag": {
            "$ref": "#/$defs/id-06bbc4cdada9fbb2f0e5aff8aa18b8a5"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "run-after": {
        "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
      },
      "run-after-fail": {
        "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
      },
      "run-before": {
        "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
      },
      "run-finally": {
        "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
      },
      "snapshots": {
        "title": "snapshots",
        "description": "The \"snapshots\" command lists all snapshots stored in the repository.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "compact": {
            "title": "compact",
            "description": "use compact output format",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "group-by": {
            "title": "group-by",
            "description": "group snapshots by host, paths and/or tags, separated by comma [restic \u003e= 0.10.0]",
            "type": "string",
            "minLength": 0
          },
          "host": {
            "$ref": "#/$defs/id-780eef226ac76505eb7b6d5ecf2576eb"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "last": {
            "title": "last",
            "deprecated": true,
            "description": "only show the last snapshot for each host and path [deprecated, removed in 0.13.0]",
            "type": "boolean"
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-0dd6bafe51f2901fa7f446e31a3b881d"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tag": {
            "$ref": "#/$defs/id-07122d0553bd2888fbf7616a676047d5"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "stats": {
        "title": "stats",
        "description": "The \"stats\" command walks one or multiple snapshots in a repository\nand accumulates statistics about the data stored therein. It reports\non the number of unique files and their sizes, according to one of\nthe counting modes as given by the --mode flag.\n\nIt operates on all snapshots matching the selection criteria or all\nsnapshots if nothing is specified. The special snapshot ID \"latest\"\nis also supported. Some modes make more sense over\njust a single snapshot, while others are useful across all snapshots,\ndepending on what you are trying to calculate.\n\nThe modes are:\n\n* restore-size: (default) Counts the size of the restored files.\n* files-by-contents: Counts total size of unique files, where a file is\nconsidered unique if it has unique contents.\n* raw-data: Counts the size of blobs in the repository, regardless of\nhow many files reference them.\n* blobs-per-file: A combination of files-by-contents and raw-data.\n\n\nRefer to the online manual for more details about each mode.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-780eef226ac76505eb7b6d5ecf2576eb"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "mode": {
            "title": "mode",
            "default": "restore-size",
            "description": "counting mode: restore-size (default), files-by-contents, blobs-per-file or raw-data",
            "type": "string",
            "minLength": 0
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-1e3e4f194a26f596cf3db367ea81cd15"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tag": {
            "$ref": "#/$defs/id-d07a19e23ce110495e29bd4c07d194b8"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "status-file": {
        "title": "status-file",
        "description": "Path to the status file to update with a summary of last restic command result",
        "type": "string",
        "minLength": 0
      },
      "stream-error": {
        "$ref": "#/$defs/id-2d60f10a68497fa9d7d4f3312e7454b4"
      },
      "systemd-drop-in-files": {
        "$ref": "#/$defs/id-efc256c6055c563ef627167bef02d66c"
      },
      "tag": {
        "title": "tag",
        "description": "The \"tag\" command allows you to modify tags on exiting snapshots.\n\nYou can either set/replace the entire set of tags on a snapshot, or\nadd tags to/remove tags from the existing set.\n\nWhen no snapshot-ID is given, all snapshots matching the host, tag and path filter criteria are modified.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "add": {
            "$ref": "#/$defs/id-db71520355d2a9baae090ca906a4bd4f"
          },
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "host": {
            "$ref": "#/$defs/id-780eef226ac76505eb7b6d5ecf2576eb"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "path": {
            "$ref": "#/$defs/id-0dd6bafe51f2901fa7f446e31a3b881d"
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "remove": {
            "$ref": "#/$defs/id-a4563b5e7b4aa37bac3a57c09ef530f3"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "set": {
            "$ref": "#/$defs/id-0ec8ec07c5d04919d4d678a5ae0105b4"
          },
          "tag": {
            "$ref": "#/$defs/id-07122d0553bd2888fbf7616a676047d5"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "tls-client-cert": {
        "title": "tls-client-cert",
        "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
        "type": "string",
        "minLength": 0
      },
      "unlock": {
        "title": "unlock",
        "description": "The \"unlock\" command removes stale locks that have been created by other restic processes.\n\nRemoving locks works even with repositories served in append-only mode from restic's rest-server.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cacert": {
            "$ref": "#/$defs/id-bdebeefb786b97126bbaf65dcffdb112"
          },
          "cache-dir": {
            "title": "cache-dir",
            "description": "set the cache directory. (default: use system default cache directory)",
            "type": "string",
            "minLength": 0
          },
          "cleanup-cache": {
            "title": "cleanup-cache",
            "description": "auto remove old cache directories",
            "type": "boolean"
          },
          "extended-status": {
            "title": "extended-status",
            "description": "set output mode to JSON for commands that support it",
            "type": "boolean"
          },
          "key-hint": {
            "title": "key-hint",
            "description": "key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)",
            "type": "string",
            "minLength": 0
          },
          "limit-download": {
            "title": "limit-download",
            "description": "limits downloads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "limit-upload": {
            "title": "limit-upload",
            "description": "limits uploads to a maximum rate in KiB/s. (default: unlimited)",
            "type": "integer"
          },
          "no-cache": {
            "title": "no-cache",
            "description": "do not use a local cache",
            "type": "boolean"
          },
          "no-lock": {
            "title": "no-lock",
            "description": "do not lock the repository, this allows some operations on read-only repositories",
            "type": "boolean"
          },
          "option": {
            "$ref": "#/$defs/id-e53da3b88d470edbc47a4cdd4160ff3f"
          },
          "password-command": {
            "title": "password-command",
            "description": "shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)",
            "type": "string",
            "minLength": 0
          },
          "password-file": {
            "title": "password-file",
            "description": "file to read the repository password from (default: $RESTIC_PASSWORD_FILE)",
            "type": "string",
            "minLength": 0
          },
          "quiet": {
            "title": "quiet",
            "description": "do not output comprehensive progress report",
            "type": "boolean"
          },
          "remove-all": {
            "title": "remove-all",
            "description": "remove all locks, even non-stale ones",
            "type": "boolean"
          },
          "repo": {
            "title": "repo",
            "description": "repository to backup to or restore from (default: $RESTIC_REPOSITORY)",
            "type": "string",
            "minLength": 0
          },
          "repository-file": {
            "title": "repository-file",
            "description": "file to read the repository location from (default: $RESTIC_REPOSITORY_FILE) [restic \u003e= 0.11.0]",
            "type": "string",
            "minLength": 0
          },
          "run-after": {
            "$ref": "#/$defs/id-d0cb8938e8c33723a0a629c3376aecc5"
          },
          "run-after-fail": {
            "$ref": "#/$defs/id-2cf445a83219358bee3423eaa7242c4d"
          },
          "run-before": {
            "$ref": "#/$defs/id-259684dfd75be3116fd75f377c8f9866"
          },
          "run-finally": {
            "$ref": "#/$defs/id-ef4cd05741e7f69941250f6f7121853f"
          },
          "send-after": {
            "$ref": "#/$defs/id-5ad549b9f26107194acb0d599b5435a0"
          },
          "send-after-fail": {
            "$ref": "#/$defs/id-16c9eb2748710a28f337f217f2e337da"
          },
          "send-before": {
            "$ref": "#/$defs/id-2abe3a6ae2ea65720f26903b318892d6"
          },
          "send-finally": {
            "$ref": "#/$defs/id-b0a6986d36a1bde1ef46f576cf24783c"
          },
          "tls-client-cert": {
            "title": "tls-client-cert",
            "description": "path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)",
            "type": "string",
            "minLength": 0
          },
          "verbose": {
            "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
          }
        }
      },
      "verbose": {
        "$ref": "#/$defs/id-6b767374afe44ab7caa0ae97e251c4ed"
      }
    }
  },
  "properties": {
    "global": {
      "title": "global",
      "description": "Global settings",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "ca-certificates": {
          "$ref": "#/$defs/id-931c146f741a9fec3d98e7a08865a530"
        },
        "command-output": {
          "title": "command-output",
          "default": "auto",
          "description": "Sets the destination for command output (stderr/stdout). \"log\" sends output to the log file (if specified), \"console\" sends it to the console instead. \"auto\" sends it to \"both\" if console is a terminal otherwise to \"log\" only - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
          "type": "string",
          "enum": [
            "auto",
            "log",
            "console",
            "all"
          ],
          "minLength": 0
        },
        "default-command": {
          "title": "default-command",
          "default": "snapshots",
          "description": "The restic or resticprofile command to use when no command was specified",
          "type": "string",
          "examples": [
            "backup",
            "cache",
            "cat",
            "check",
            "copy",
            "diff",
            "dump",
            "features",
            "find",
            "forget",
            "generate",
            "init",
            "key",
            "key-add",
            "key-list",
            "key-passwd",
            "key-remove",
            "list",
            "ls",
            "migrate",
            "mount",
            "options",
            "prune",
            "rebuild-index",
            "recover",
            "repair",
            "repair-index",
            "repair-packs",
            "repair-snapshots",
            "restore",
            "rewrite",
            "self-update",
            "snapshots",
            "stats",
            "tag",
            "unlock",
            "version"
          ],
          "minLength": 0
        },
        "group-continue-on-error": {
          "title": "group-continue-on-error",
          "description": "Enable groups to continue with the next profile(s) instead of stopping at the first failure",
          "type": "boolean"
        },
        "initialize": {
          "title": "initialize",
          "description": "Initialize a repository if missing",
          "type": "boolean"
        },
        "ionice": {
          "title": "ionice",
          "description": "Enables setting the linux IO priority class and level for resticprofile and child processes (only on linux OS).",
          "type": "boolean"
        },
        "ionice-class": {
          "title": "ionice-class",
          "default": 2,
          "description": "Sets the linux \"ionice-class\" (I/O scheduling class) to apply when \"ionice\" is enabled (1=realtime, 2=best-effort, 3=idle)",
          "type": "integer",
          "minimum": 1,
          "maximum": 3
        },
        "ionice-level": {
          "title": "ionice-level",
          "description": "Sets the linux \"ionice-level\" (I/O priority within the scheduling class) to apply when \"ionice\" is enabled (0=highest priority, 7=lowest priority)",
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "legacy-arguments": {
          "title": "legacy-arguments",
          "deprecated": true,
          "description": "Legacy, broken arguments mode of resticprofile before version 0.15 [deprecated]",
          "type": "boolean"
        },
        "log": {
          "title": "log",
          "description": "Sets the default log destination to be used if not specified in \"--log\" or \"schedule-log\" - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
          "type": "string",
          "examples": [
            "/resticprofile.log",
            "syslog-tcp://syslog-server:514",
            "syslog:server",
            "syslog:"
          ],
          "minLength": 0
        },
        "min-memory": {
          "title": "min-memory",
          "default": 100,
          "description": "Minimum available memory (in MB) required to run any commands - see https://creativeprojects.github.io/resticprofile/usage/memory/",
          "type": "integer"
        },
        "nice": {
          "title": "nice",
          "description": "Sets the unix \"nice\" value for resticprofile and child processes (on any OS)",
          "type": "integer",
          "minimum": -20,
          "maximum": 19
        },
        "prevent-auto-repository-file": {
          "title": "prevent-auto-repository-file",
          "description": "Prevents using a repository file for repository definitions containing a password",
          "type": "boolean"
        },
        "prevent-sleep": {
          "title": "prevent-sleep",
          "description": "Prevent the system from sleeping while running commands - see https://creativeprojects.github.io/resticprofile/configuration/sleep/",
          "type": "boolean"
        },
        "priority": {
          "title": "priority",
          "default": "normal",
          "description": "Sets process priority class for resticprofile and child processes (on any OS)",
          "type": "string",
          "enum": [
            "idle",
            "background",
            "low",
            "normal",
            "high",
            "highest"
          ],
          "minLength": 0
        },
        "restic-arguments-filter": {
          "title": "restic-arguments-filter",
          "default": true,
          "description": "Remove unknown flags instead of passing all configured flags to restic",
          "type": "boolean"
        },
        "restic-binary": {
          "title": "restic-binary",
          "description": "Full path of the restic executable (detected if not set)",
          "type": "string",
          "minLength": 0
        },
        "restic-lock-retry-after": {
          "$ref": "#/$defs/id-523a82de7dda2cf9932a4ec54a0f6b57"
        },
        "restic-stale-lock-age": {
          "$ref": "#/$defs/id-b62c2f035a52f9e65b5a80c3895ee6bb"
        },
        "restic-version": {
          "title": "restic-version",
          "description": "Sets the restic version (detected if not set)",
          "type": "string",
          "minLength": 0,
          "pattern": "^(|[0-9]+\\.[0-9]+(\\.[0-9]+)?)$"
        },
        "schedule-defaults": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "after-network-online": {
              "title": "after-network-online",
              "description": "Don't start this schedule when the network is offline (supported in \"systemd\")",
              "type": "boolean"
            },
            "capture-environment": {
              "$ref": "#/$defs/id-e7d98f4cbe6d87f1d7bdcfe27e13ce05"
            },
            "command-output": {
              "title": "command-output",
              "default": "auto",
              "description": "Sets the destination for command output (stderr/stdout). \"log\" sends output to the log file (if specified), \"console\" sends it to the console instead. \"auto\" sends it to \"both\" if console is a terminal otherwise to \"log\" only - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
              "type": "string",
              "enum": [
                "auto",
                "log",
                "console",
                "all"
              ],
              "minLength": 0
            },
            "hide-window": {
              "title": "hide-window",
              "description": "Hide schedule window when running in foreground (Windows only)",
              "type": "boolean"
            },
            "ignore-on-battery": {
              "title": "ignore-on-battery",
              "description": "Don't start this schedule when running on battery",
              "type": "boolean"
            },
            "ignore-on-battery-less-than": {
              "title": "ignore-on-battery-less-than",
              "description": "Don't start this schedule when running on battery and the state of charge is less than this percentage",
              "type": "integer",
              "examples": [
                20,
                33,
                50,
                75
              ]
            },
            "lock-mode": {
              "title": "lock-mode",
              "default": "default",
              "description": "Specify how locks are used when running on schedule - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
              "type": "string",
              "enum": [
                "default",
                "fail",
                "ignore"
              ],
              "minLength": 0
            },
            "lock-wait": {
              "$ref": "#/$defs/id-a09c499e58e4610808213948c41e1c54"
            },
            "log": {
              "title": "log",
              "description": "Redirect the output into a log file or to syslog when running on schedule - see https://creativeprojects.github.io/resticprofile/configuration/logs/",
              "type": "string",
              "examples": [
                "/resticprofile.log",
                "syslog-tcp://syslog-server:514",
                "syslog:server",
                "syslog:"
              ],
              "minLength": 0
            },
            "permission": {
              "title": "permission",
              "default": "auto",
              "description": "Specify whether the schedule runs with system or user privileges - see https://creativeprojects.github.io/resticprofile/schedules/configuration/",
              "type": "string",
              "enum": [
                "auto",
                "system",
                "user",
                "user_logged_on"
              ],
              "minLength": 0
            },
            "priority": {
              "title": "priority",
              "default": "standard",
              "description": "Set the priority at which the schedule is run",
              "type": "string",
              "enum": [
                "background",
                "standard"
              ],
              "minLength": 0
            },
            "run-level": {
              "title": "run-level",
              "default": "auto",
              "description": "Specify the schedule privilege level (for Windows Task Scheduler only)",
              "type": "string",
              "enum": [
                "auto",
                "lowest",
                "highest"
              ],
              "minLength": 0
            },
            "start-when-available": {
              "title": "start-when-available",
              "description": "Start the task as soon as possible after a scheduled start is missed (Windows only)",
              "type": "boolean"
            },
            "systemd-drop-in-files": {
              "$ref": "#/$defs/id-efc256c6055c563ef627167bef02d66c"
            }
          }
        },
        "scheduler": {
          "title": "scheduler",
          "default": "auto",
          "description": "Selects the scheduler. Blank or \"auto\" uses the default scheduler of your operating system: \"launchd\", \"systemd\", \"taskscheduler\" or \"crond\" (as fallback). Alternatively you can set \"crond\" for cron compatible schedulers supporting the crontab executable API or \"crontab:[user:]file\" to write into a crontab file directly. The need for a user is detected if missing and can be set to a name, \"-\" (no user) or \"*\" (current user).",
          "type": "string",
          "examples": [
            "auto",
            "launchd",
            "systemd",
            "taskscheduler",
            "crond",
            "crond:/usr/bin/crontab",
            "crontab:*:/etc/cron.d/resticprofile"
          ],
          "minLength": 0
        },
        "send-timeout": {
          "$ref": "#/$defs/id-101e02d74df828a834df2fb1ebb6fec0"
        },
        "shell": {
          "$ref": "#/$defs/id-3bbb79a4f5c75f9cf014fa4e5190ae85"
        },
        "systemd-timer-template": {
          "title": "systemd-timer-template",
          "description": "File containing the go template to generate a systemd timer - see https://creativeprojects.github.io/resticprofile/schedules/systemd/",
          "type": "string",
          "minLength": 0
        },
        "systemd-unit-template": {
          "title": "systemd-unit-template",
          "description": "File containing the go template to generate a systemd unit - see https://creativeprojects.github.io/resticprofile/schedules/systemd/",
          "type": "string",
          "minLength": 0
        }
      }
    },
    "groups": {
      "description": "Profile groups",
      "type": "object",
      "additionalProperties": false,
      "patternProperties": {
        ".+": {
          "title": "group...",
          "description": "group declaration",
          "type": "array",
          "items": {
            "title": "profile-name",
            "description": "profile names in this group",
            "type": "string",
            "minLength": 0
          },
          "minItems": 0,
          "uniqueItems": false
        }
      }
    },
    "includes": {
      "$ref": "#/$defs/id-9e1013a6d9d54bc7974f9c0ff9c0ea3e"
    },
    "version": {
      "default": "1",
      "description": "configuration format version",
      "type": "string",
      "minLength": 0,
      "maxLength": 1,
      "pattern": "^(1|)$"
    }
  }
}
