UpdateCollector parity mapping
This guide details the request and response mapping specifications and property parity analysis for migrating from the legacy Backstory Ingestion Collector API (UpdateCollector) to the modern Chronicle API (UpdateCollector).
Protocol and mapping overview
| Feature | Legacy API (UpdateCollector) |
Modern Chronicle API (UpdateCollector) |
|---|---|---|
| HTTP method | PATCH |
PATCH |
| Permissions | Partner token or legacy API keys | chronicle.googleapis.com/collectors.update |
Request payload field-by-field parity
The modern Chronicle API UpdateCollectorRequest targets resources using Google Cloud resource name paths and enforces PATCH partial updates using a field mask.
Legacy field (UpdateCollectorRequest / Collector) |
Modern field (UpdateCollectorRequest / Collector) |
Field type | Parity and migration notes |
|---|---|---|---|
collector.name |
collector.name (in HTTP path) |
string |
Google Cloud scoping context: The legacy request used path format forwarders/<forwarder_id>/collectors/<collector_id>. The modern API routes this using the standard Google Cloud resource tree structure: projects/{project}/locations/{location}/instances/{instance}/forwarders/{forwarder_id}/collectors/{collector_id}. |
collector.display_name |
collector.display_name |
string |
Parity mapped: Display name of the collector. Rename to displayName in JSON payloads. |
collector.config |
collector.config |
CollectorConfig |
Parity mapped: Configuration settings mapping (sources, filters, networks). |
collector.override_timezone |
collector.override_timezone |
bool |
Parity mapped: Toggles timezone overrides. Rename to overrideTimezone in JSON payloads. |
collector.time_zone |
collector.time_zone |
string |
Parity mapped: Target timezone override. Rename to timeZone in JSON payloads. |
update_mask |
update_mask |
FieldMask |
Parity mapped: Standard FieldMask selects which properties are modified in the PATCH request (must include the target fields, for example, display_name). Rename to updateMask in JSON. |
collector.state |
— | — | Ignored / output-only: The state is set by the system and ignored during update requests. |
collector.type |
— | — | Ignored / output-only: Collector types are immutable post-creation and cannot be modified using update PATCH calls. |
Response payload field-by-field parity
Both responses return the modified Collector message representation.
Legacy field (Collector message) |
Modern field (Collector message) |
Field type | Parity and migration notes |
|---|---|---|---|
name |
name |
string |
Parity mapped: Contains the standard canonical resource path: projects/{project}/locations/{location}/instances/{instance}/forwarders/{forwarder_id}/collectors/{collector_id}. |
display_name |
display_name |
string |
Rename to displayName in JSON responses. |
config |
config |
CollectorConfig |
Contains equivalent log source and network settings. |
state |
state |
enum |
Maps directly to State enum (values: ACTIVE, SUSPENDED). |
type |
type |
enum |
Maps directly to Type enum (values: FILE, KAFKA, PCAP, SPLUNK, WEBPROXY, SYSLOG). |
override_timezone |
override_timezone |
bool |
Rename to overrideTimezone in JSON responses. |
time_zone |
time_zone |
string |
Rename to timeZone in JSON responses. |
Key differences
- Google Cloud project scoping integration:
- Scoped natively under parent project instance folder bindings.
- Resource path renaming:
- Legacy path formats
forwarders/<forwarder_id>/collectors/<collector_id>are migrated to standard Google Cloud path parametersprojects/{project}/locations/{location}/instances/{instance}/forwarders/{forwarder_id}/collectors/{collector_id}.
- Legacy path formats