# Policies

The file should be structured as follows.

- `conflict-resolution-rules` Required, document root element.

- `policy`

- Required, contains the policies descriptions. Children, if present, must be placed in the order shown on the scheme.

  - `timing` Optional, contains description of policy on resolving timing conflicts. See the structure below. Must be present in the document if a timing policy should be used during the restore. May not be present in the document if no policy required for timing conflicts.

  - `resource-usage` Optional, contains description of policy on resolving resource usage conflicts. See the structure below. Must be present in the document if a resource usage policy should be used during the restore. May not be present in the document if no policy required for resource usage conflicts.

  - `configuration` Optional, contains description of policy on resolving configuration conflicts. See the structure below. Must be present in the document if a configuration policy should be used during the restore. May not be present in the document if no policy required for configuration conflicts.

- `rule` Optional, contains the rule descriptions. For details on the node structure, refer to the Resolutions Description Format: Rules section.

The policy elements have the same structure:

- `resolution`
  Required, contains a definition of conflict resolution. Structured as follows:

The `resolution` element must not be empty, it is required that it contains one, and only one of its children elements:

- `do-not-restore` Sets the Do Not Restore resolution, empty value.

- `proceed-with-current` Sets the Proceed With Current resolution, empty value.

- `automatic` Sets the Automatic resolution, empty value.

- `overuse` Sets the Overuse resolution, empty value.

- `overwrite` Sets the Overwrite resolution, empty value.

- `rename` Sets the Rename resolution, empty value.

  - `new-name` Required, makes sense only if defined for configuration conflicts. Specifies a name of new configuration that should be assigned to all conflict objects. The value must be a string.