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:
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.
Examples