diff --git a/CHANGELOG b/CHANGELOG index d6ee95c31..858addebf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,9 @@ -Release 121 (2020-03-17) +Release 122 (2021-05-05) +------------------------ +Add nl.basjes/yauaa_context/jsonschema/1-0-2 (#1107) +Add com.snowplowanalytics.snowplow.storage/shredding_complete/jsonschema/1-0-1 (#1112) + +Release 121 (2021-03-17) ------------------------ Add missing JSONPath and SQL files (#1088) Add com.snowplowanalytics.datamodeling/config/jsonschema/1-0-0 (#1094) diff --git a/README.md b/README.md index 62a359b28..5020ff8d0 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ limitations under the License. [cd]: https://github.com/snowplow/iglu-central/actions?query=workflow%3ACI [cd-image]: https://github.com/snowplow/iglu-central/workflows/CI/badge.svg -[release-image]: http://img.shields.io/badge/release-121-orange.svg?style=flat +[release-image]: http://img.shields.io/badge/release-122-orange.svg?style=flat [releases]: https://github.com/snowplow/iglu-central/releases [license-image]: http://img.shields.io/badge/license-Apache--2-blue.svg?style=flat diff --git a/schemas/com.snowplowanalytics.snowplow.storage/shredding_complete/jsonschema/1-0-1 b/schemas/com.snowplowanalytics.snowplow.storage/shredding_complete/jsonschema/1-0-1 new file mode 100644 index 000000000..55b887d03 --- /dev/null +++ b/schemas/com.snowplowanalytics.snowplow.storage/shredding_complete/jsonschema/1-0-1 @@ -0,0 +1,98 @@ +{ + "$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#", + "description": "Message with batch metadata, passed from Shredder to Loader", + "self": { + "vendor": "com.snowplowanalytics.snowplow.storage", + "name": "shredding_complete", + "format": "jsonschema", + "version": "1-0-1" + }, + "type": "object", + "properties": { + "base": { + "description": "Blob storage path to the root of the batch", + "type": "string", + "format": "uri", + "maxLength": 1024 + }, + "compression": { + "description": "File compression type", + "enum": ["GZIP", "NONE"] + }, + "types": { + "description": "Set of Iglu URIs and the format they were shredded into", + "type": "array", + "items": { + "properties": { + "schemaKey": { + "description": "Iglu URI", + "type": "string", + "maxLength": 256 + }, + "format": { + "description": "File format in which the entities were shredded to", + "enum": ["TSV", "JSON"] + } + }, + "required": ["schemaKey", "format"] + } + }, + "timestamps": { + "description": "Set of timestampts associated with the batch", + "type": "object", + "properties": { + "jobStarted": { + "description": "Time when the batch started being shredded", + "type": "string", + "format": "date-time" + }, + "jobCompleted": { + "description": "Time when the batch shredding has been finished (and the message being prepared)", + "type": "string", + "format": "date-time" + }, + "min": { + "description": "The earliest collector_stamp available in the batch", + "type": ["string", "null"], + "format": "date-time" + }, + "max": { + "description": "The latest collector_tstamp available in the batch", + "type": ["string", "null"], + "format": "date-time" + } + }, + "required": ["jobStarted", "jobCompleted", "min", "max"] + }, + "processor": { + "description": "Identificator of a shredder sent the message", + "type": "object", + "properties": { + "artifact": { + "description": "Name of the artifact", + "type": "string", + "maxLength": 64 + }, + "version": { + "description": "Semantic Version of the artifact", + "type": "string", + "maxLength": 16 + } + }, + "required": ["artifact", "version"] + }, + "count": { + "description": "Count of events in the batch, null means the count could not be calculated", + "type": ["object", "null"], + "properties": { + "good": { + "description": "Amount of good events in the batch", + "type": "integer", + "minimum": 0 + } + } + } + }, + "required": ["base", "compression", "types", "timestamps", "processor"], + "additionalProperties": false +} diff --git a/schemas/nl.basjes/yauaa_context/jsonschema/1-0-2 b/schemas/nl.basjes/yauaa_context/jsonschema/1-0-2 new file mode 100644 index 000000000..89027a6f2 --- /dev/null +++ b/schemas/nl.basjes/yauaa_context/jsonschema/1-0-2 @@ -0,0 +1,231 @@ +{ + "$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#", + "description": "Schema for a context generated by the YAUAA enrichment after parsing the user agent", + "self": { + "vendor": "nl.basjes", + "name": "yauaa_context", + "format": "jsonschema", + "version": "1-0-2" + }, + "type": "object", + "properties": { + "deviceClass": { + "description": "See https://yauaa.basjes.nl/README-Output.html", + "enum": ["Desktop", "Anonymized", "Unknown", "UNKNOWN", "Mobile", "Tablet", "Phone", "Watch", "Virtual Reality", "eReader", "Set-top box", "TV", "Game Console", "Handheld Game Console", "Voice", "Robot", "Robot Mobile", "Spy", "Hacker", "Augmented Reality", "Robot Imitator"] + }, + "deviceName": { + "description": "Example: Google Nexus 6", + "type": "string", + "maxLength": 100 + }, + "deviceBrand": { + "description": "Example: Google", + "type": "string", + "maxLength": 50 + }, + "deviceCpu": { + "type": "string", + "maxLength": 50 + }, + "deviceCpuBits": { + "type": "string", + "maxLength": 20 + }, + "deviceFirmwareVersion": { + "type": "string", + "maxLength": 100 + }, + "deviceVersion": { + "type": "string", + "maxLength": 100 + }, + "operatingSystemClass": { + "description": "See https://yauaa.basjes.nl/README-Output.html", + "enum": ["Desktop", "Mobile", "Cloud", "Embedded", "Game Console", "Hacker", "Anonymized", "Unknown"] + }, + "operatingSystemName": { + "description": "Examples: Linux, Android.", + "type": "string", + "maxLength": 100 + }, + "operatingSystemVersion": { + "type": "string", + "maxLength": 50 + }, + "operatingSystemNameVersion": { + "type": "string", + "maxLength": 150 + }, + "operatingSystemVersionBuild": { + "type": "string", + "maxLength": 100 + }, + "layoutEngineClass": { + "description": "See https://yauaa.basjes.nl/README-Output.html", + "enum": ["Browser", "Mobile App", "Hacker", "Robot", "Unknown", "Special", "Cloud", "eReader"] + }, + "layoutEngineName": { + "type": "string", + "maxLength": 100 + }, + "layoutEngineVersion": { + "type": "string", + "maxLength": 50 + }, + "layoutEngineVersionMajor": { + "type": "string", + "maxLength": 20 + }, + "layoutEngineNameVersion": { + "type": "string", + "maxLength": 150 + }, + "layoutEngineNameVersionMajor": { + "type": "string", + "maxLength": 120 + }, + "layoutEngineBuild": { + "type": "string", + "maxLength": 100 + }, + "agentClass": { + "description": "See https://yauaa.basjes.nl/README-Output.html", + "enum": ["Browser", "Browser Webview", "Mobile App", "Robot", "Robot Mobile", "Cloud Application", "Email Client", "Voice", "Special", "Testclient", "Hacker", "Unknown", "Desktop App", "eReader"] + }, + "agentName": { + "description": "Example: Chrome.", + "type": "string", + "maxLength": 100 + }, + "agentVersion": { + "type": "string", + "maxLength": 100 + }, + "agentVersionMajor": { + "type": "string", + "maxLength": 20 + }, + "agentNameVersion": { + "type": "string", + "maxLength": 200 + }, + "agentNameVersionMajor": { + "type": "string", + "maxLength": 120 + }, + "agentBuild": { + "type": "string", + "maxLength": 100 + }, + "agentLanguage": { + "type": "string", + "maxLength": 50 + }, + "agentLanguageCode": { + "type": "string", + "maxLength": 20 + }, + "agentInformationEmail": { + "type": "string", + "format": "email" + }, + "agentInformationUrl": { + "type": "string" + }, + "agentSecurity": { + "type": "string", + "enum": ["Weak security", "Strong security", "Unknown", "Hacker", "No security"] + }, + "agentUuid": { + "type": "string" + }, + "webviewAppName": { + "type": "string" + }, + "webviewAppVersion": { + "type": "string" + }, + "webviewAppVersionMajor": { + "type": "string", + "maxLength": 50 + }, + "webviewAppNameVersionMajor": { + "type": "string", + "maxLength": 50 + }, + "facebookCarrier": { + "type": "string" + }, + "facebookDeviceClass": { + "type": "string", + "maxLength": 1024 + }, + "facebookDeviceName": { + "type": "string", + "maxLength": 1024 + }, + "facebookDeviceVersion": { + "type": "string" + }, + "facebookFBOP": { + "type": "string" + }, + "facebookFBSS": { + "type": "string" + }, + "facebookOperatingSystemName": { + "type": "string" + }, + "facebookOperatingSystemVersion": { + "type": "string" + }, + "anonymized": { + "type": "string" + }, + "hackerAttackVector": { + "type": "string" + }, + "hackerToolkit": { + "type": "string" + }, + "koboAffiliate": { + "type": "string" + }, + "koboPlatformId": { + "type": "string" + }, + "iECompatibilityVersion": { + "type": "string", + "maxLength": 100 + }, + "iECompatibilityVersionMajor": { + "type": "string", + "maxLength": 50 + }, + "iECompatibilityNameVersion": { + "type": "string", + "maxLength": 50 + }, + "iECompatibilityNameVersionMajor": { + "type": "string", + "maxLength": 70 + }, + "carrier": { + "type": "string" + }, + "gSAInstallationID": { + "type": "string" + }, + "networkType": { + "type": "string" + }, + "operatingSystemNameVersionMajor": { + "type": "string" + }, + "operatingSystemVersionMajor": { + "type": "string" + } + }, + "required": ["deviceClass"], + "additionalProperties": false +}