ValidateCbnParser parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Tools API (ValidateCbnParser) to the modern Chronicle API (CreateParser coupled with ValidationReport).
Protocol and mapping overview
| Feature | Legacy API (ValidateCbnParser) |
Modern Chronicle API (CreateParser) |
|---|---|---|
| HTTP Method | POST |
POST |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/parsers.create |
Request payload field-by-field parity
In the Chronicle API, validation is not a stateless standalone method; it is integrated directly into the stateful parser creation workflow.
Legacy Field (ValidateCbnParserRequest) |
Modern Field (CreateParserRequest / Parser) |
Field type | Parity & Migration Notes |
|---|---|---|---|
| — | parent (in HTTP path) |
string |
Google Cloud Scoping Context / Architectural Shift: Legacy validation was stateless and did not bind to a parent resource in the URL. Modern parser creation and validation is scoped under target log types: projects/{project}/locations/{location}/instances/{instance}/logTypes/{log_type}. |
config |
parser.cbn |
bytes |
Direct Map: The raw configuration byte sequence to be validated and created. Maps to cbn inside the config oneof on Parser. |
logs |
— (in validation test suites) | bytes |
Architectural Shift: Legacy validation required passing raw sample log bytes inline with the validation request. In modern Chronicle API workflows, sample logs and test cases are managed as persistent validation test suites or sample logs associated with the log type/parser, against which the backend automatically executes validation. |
Response payload field-by-field parity
In legacy backstory, validation results were returned synchronously in ValidateCbnParserResponse. In modern Chronicle API workflows, CreateParser returns the Parser resource (reflecting initial validation_stage), while detailed compilation and execution errors are written to an asynchronous ValidationReport resource (referenced in CreateParserMetadata.validation_report and retrieved using GetValidationReport).
Legacy Field (ValidateCbnParserResponse message) |
Modern Field (CreateParserMetadata / ValidationReport message) |
Field type | Parity & Migration Notes |
|---|---|---|---|
result |
CreateParserMetadata.stage / Parser.validation_stage |
enum |
Restructured: The legacy string status array is replaced by structured enum lifecycle states (NEW, VALIDATING, PASSED, FAILED, INTERNAL_ERROR, VALIDATION_SKIPPED). |
errors |
ValidationReport.errors |
repeated Message |
Parity Mapped / Restructured: The list of validation failures (ValidateCbnParserError) is mapped to structured error records inside the generated ValidationReport resource. |
Nested Validation error property mappings
The fields mapping inside individual validation error items is as follows:
Legacy Field (ValidateCbnParserError message) |
Modern Field (ValidationReport error items) |
Field type | Parity & Migration Notes |
|---|---|---|---|
index |
index |
int32 |
Parity Mapped: Sequential index identifier of the encountered error. |
log_entry |
log_entry / sample_log |
string |
Parity Mapped: The raw log line or sample entry that triggered the parsing exception during test execution. |
error_msg |
error_message / details |
string |
Parity Mapped: Detailed diagnostic text explaining why normalization or compilation failed. |
Key differences
- Workflow Integration and Stateful Validation:
- In legacy backstory,
ValidateCbnParserwas a stateless, standalone RPC where clients manually pushed ephemeral config bytes and sample logs before creating a parser. - In the modern Chronicle API, standalone validation RPCs are retired. Validation is built directly into the stateful
CreateParserlifecycle: submitting a parser automatically triggers backend validation pipelines against associated test cases and logs.
- In legacy backstory,
- Asynchronous Validation Reporting:
- Rather than blocking synchronously to return all parsing traces, the modern API tracks validation status using operation metadata (
CreateParserMetadata.stage) and outputs comprehensive diagnostic logs to a dedicatedValidationReportresource (chronicle.googleapis.com/ValidationReport).
- Rather than blocking synchronously to return all parsing traces, the modern API tracks validation status using operation metadata (
- Google Cloud Project Scoping Integration:
- Scoped natively under parent project instance log type bindings.