
*Required properties:*

``path`` : ``<string>``
  Either the absolute path to the datastore directory, or a relative on-device
  path for removable datastores.

*Optional properties:*

``backend`` : ``<backend-config>``
  Datastore backend config
``backing-device`` : ``<string>``
  The UUID of the filesystem partition for removable datastores.
``comment`` : ``<string>``
  Comment.
``counter-reset-schedule`` : ``<calendar-event>``
  Reset notification threshold related counters at specified schedule.
``gc-on-unmount`` : ``<boolean>``
  Run garbage collection before unmounting a removable datastore.
``gc-schedule`` : ``<calendar-event>``
  Run garbage collection job at specified schedule.
``maintenance-mode`` : ``[type=<enum> [,message=<string>]]``
  Maintenance mode, type is either 'offline' or 'read-only', message should be
  enclosed in "

  ``type`` = ``read-only|offline|delete|unmount|s3-refresh``
    Maintenance type.
  ``message`` = ``<string>``
    Message describing the reason for the maintenance.

``notification-mode`` : ``legacy-sendmail|notification-system   (default=notification-system)``
  Configure how notifications for this datastore should be sent. `legacy-
  sendmail` sends email notifications to the user configured in `notify-user`
  via the system's `sendmail` executable. `notification-system` emits matchable
  notification events to the notification system.
``notification-thresholds`` : ``[[s3-delete=<integer>] [,s3-download=<string>] [,s3-get=<integer>] [,s3-head=<integer>] [,s3-post=<integer>] [,s3-put=<integer>] [,s3-upload=<string>]]``
  Threshold values for notifications

  ``s3-delete`` = ``<integer>``
    Threshold for DELETE requests.
  ``s3-download`` = ``<string>``
    Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2),
    MiB, Gib, ...).
  ``s3-get`` = ``<integer>``
    Threshold for GET requests.
  ``s3-head`` = ``<integer>``
    Threshold for HEAD requests.
  ``s3-post`` = ``<integer>``
    Threshold for POST requests.
  ``s3-put`` = ``<integer>``
    Threshold for PUT requests.
  ``s3-upload`` = ``<string>``
    Byte size with optional unit (B, KB (base 10), MB, GB, ..., KiB (base 2),
    MiB, Gib, ...).

``notify`` : ``[[gc=<enum>] [,prune=<enum>] [,sync=<enum>] [,verify=<enum>]]``
  Datastore notification setting, enum can be one of 'always', 'never', or
  'error'.

  ``gc`` = ``never|always|error``
    When do we send notifications
  ``prune`` = ``never|always|error``
    When do we send notifications
  ``sync`` = ``never|always|error``
    When do we send notifications
  ``verify`` = ``never|always|error``
    When do we send notifications

``notify-user`` : ``<string>``
  User ID
``prune-schedule`` : ``<calendar-event>``
  Run prune job at specified schedule.
``tuning`` : ``[[chunk-order=<enum>] [,default-verification-readers=<integer>] [,default-verification-workers=<integer>] [,gc-atime-cutoff=<integer>] [,gc-atime-safety-check=<1|0>] [,gc-cache-capacity=<integer>] [,sync-level=<enum>]]``
  Datastore tuning options

  ``chunk-order`` = ``none|inode   (default=inode)``
    The order to sort chunks by
  ``default-verification-readers`` = ``<integer> (1 - 32)   (default=1)``
    The number of threads to use for reading chunks in verify job.
  ``default-verification-workers`` = ``<integer> (1 - 32)   (default=4)``
    The number of threads to use for verifying chunks in verify job.
  ``gc-atime-cutoff`` = ``<integer> (1 - 2880)   (default=1445)``
    Cutoff (in minutes) for chunk cleanup atime check in garbage collection phase
    2 (default 24h 5m)
  ``gc-atime-safety-check`` = ``<boolean>   (default=true)``
    Check filesystem atime updates are honored during store creation and garbage
    collection
  ``gc-cache-capacity`` = ``<integer> (0 - 8388608)   (default=1048576)``
    Garbage collection chunk digest cache capacity
  ``sync-level`` = ``none|file|filesystem   (default=filesystem)``
    The level of syncing that is done when writing into a datastore.

``verify-new`` : ``<boolean>``
  If enabled, all new backups will be verified right after completion.
``keep-daily`` : ``<integer> (1 - N)``
  Number of daily backups to keep.
``keep-hourly`` : ``<integer> (1 - N)``
  Number of hourly backups to keep.
``keep-last`` : ``<integer> (1 - N)``
  Number of backups to keep.
``keep-monthly`` : ``<integer> (1 - N)``
  Number of monthly backups to keep.
``keep-weekly`` : ``<integer> (1 - N)``
  Number of weekly backups to keep.
``keep-yearly`` : ``<integer> (1 - N)``
  Number of yearly backups to keep.

