Skip to content
Docs / dflux EdgeGuard
ContactGet started

Transformations

Manage transformation rules through the unified rules surface. See Transformation schema for the rule shape.

Drive these operations with d3x-edgectl (see the admin API overview). Path names below are historical labels for EdgeControl RPCs — they are not HTTP URLs. Every write here is hot-reloaded.

Transformation rules are one of four rule types served by a single CRUD surface at /admin/rules. The type is carried as a type discriminator on each rule body and as a ?type= filter on list. Rule names are globally unique across all four types, so a single name resolves to exactly one rule regardless of type.

Endpoints

GET /admin/rules?type=transformation

Lists transformation rules across both phases. Omit the filter to list every rule type interleaved; each entry carries its own type.

POST /admin/rules

Creates a rule. The body must set "type": "transformation". Returns 409 if a rule by that name already exists as any type.

GET /admin/rules/{name}

Returns one rule by name, resolved across all rule types.

PUT /admin/rules/{name}

Updates a rule. If the body declares a type, it must match the stored rule's type — a PUT cannot reassign a rule from one type to another.

DELETE /admin/rules/{name}

Deletes a rule by name.

Rule shape

A transformation rule has a flat condition block (the shared request matchers), a single action, and a typed config object whose fields depend on the action. The example below masks the gpsi body field on UDM SDM traffic:

JSON

Valid action values: header_set, header_add, header_remove, header_rewrite, body_field_set, body_field_remove, body_field_mask, body_field_map, status_rewrite, error_normalize, and the Diameter AVP actions avp_set, avp_add, avp_remove, avp_rewrite, avp_mask. See Transformation schema for each action's config fields.

Validate before the data path
The typed POST/PUT validates the rule — its regex patterns, JSON Pointer paths, and action/config consistency — before it is persisted and hot-reloaded. Iterate against a non-production proxy when shaping a new rule.

Examples

Bash