This is a BackupManifest schema change that will break recovering from any backups created before this change. However, considering that we haven't released this feature yet, I figured it wasn't worth the effort of doing a schema version bump or handling of the prior version. I'm making the field optional in the BackupManifest because in the event that we decide to backport the backup component to ESR 115, we need to handle the fact that ESR 115 has no notion of a profile group ID (and is unlikely to ever have such a notion). Differential Revision: https://phabricator.services.mozilla.com/D218976
90 lines
2.8 KiB
JSON
90 lines
2.8 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
"$id": "chrome://browser/content/backup/BackupManifest.1.schema.json",
|
|
"title": "BackupManifest",
|
|
"description": "A schema for the backup-manifest.json file for profile backups created by the BackupService",
|
|
"definitions": {
|
|
"metadataType": {
|
|
"title": "Backup Metadata",
|
|
"description": "Metadata about a particular backup.",
|
|
"type": "object",
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Date and time that the backup was created"
|
|
},
|
|
"appName": {
|
|
"type": "string",
|
|
"description": "Name of the application that the backup was created for."
|
|
},
|
|
"appVersion": {
|
|
"type": "string",
|
|
"description": "Full version string for the app instance that the backup was created on"
|
|
},
|
|
"buildID": {
|
|
"type": "string",
|
|
"description": "Build ID for the app instance that the backup was created on"
|
|
},
|
|
"profileName": {
|
|
"type": "string",
|
|
"description": "The name given to the profile that was backed up"
|
|
},
|
|
"machineName": {
|
|
"type": "string",
|
|
"description": "The name of the machine that the backup was created on"
|
|
},
|
|
"osName": {
|
|
"type": "string",
|
|
"description": "The OS name that the backup was created on"
|
|
},
|
|
"osVersion": {
|
|
"type": "string",
|
|
"description": "The OS version that the backup was created on"
|
|
},
|
|
"accountID": {
|
|
"type": "string",
|
|
"description": "The ID for the account that the user profile was signed into when backing up. Optional."
|
|
},
|
|
"accountEmail": {
|
|
"type": "string",
|
|
"description": "The email address for the account that the user profile was signed into when backing up. Optional."
|
|
},
|
|
"legacyClientID": {
|
|
"type": "string",
|
|
"description": "The legacy telemetry client ID for the profile that the backup was created on."
|
|
},
|
|
"profileGroupID": {
|
|
"type": "string",
|
|
"description": "The ID for the profile group that the backup was created on. Optional."
|
|
}
|
|
},
|
|
"required": [
|
|
"date",
|
|
"appName",
|
|
"appVersion",
|
|
"buildID",
|
|
"profileName",
|
|
"machineName",
|
|
"osName",
|
|
"osVersion",
|
|
"legacyClientID"
|
|
]
|
|
}
|
|
},
|
|
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer",
|
|
"description": "Version of the backup manifest structure"
|
|
},
|
|
"meta": { "$ref": "#/definitions/metadataType" },
|
|
"resources": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"required": ["version", "resources", "meta"]
|
|
}
|