Skip to content

0.1.3

Choose a tag to compare

@captainpacket captainpacket released this 07 Sep 15:51
· 48 commits to main since this release
pip install forward-sdk==0.1.3

forward_sdk.nqe.enums

The member names NQE accepts, generated from Forward's NQE data model rather than from the REST schema. 59 types, 659 members, regenerated by the same sync that vendors the OpenAPI description.

from forward_sdk.nqe.enums import members

"AZURE" in members("Vendor")      # True
"MICROSOFT" in members("Vendor")  # False — that is the REST name
members("DeviceType")             # the 16 NQE ones, not the REST 75

This exists because the two are different namespaces rather than one list lagging the other. NQE's Vendor has AZURE and GENERAL_DYNAMICS where the REST model has MICROSOFT, GD and IBM. NQE's DeviceType has 16 members describing what a device does; the REST model has 75 describing how it is deployed. Building a predicate from the REST names produces a query Forward rejects with Unknown alternative.

Verified against a live instance: the vendors NQE rejects are absent from the generated lists, the ones it accepts are present, and sampled members of Vendor, DeviceType and OS all produce queries Forward accepts. Independently confirmed by an integration that transcribed the same three lists from Forward's published pages — 130 names, no differences either way.

Changed

enum_one_of() checks member names against the NQE data model, so a REST name fails locally with a message naming both namespaces instead of building a query Forward refuses. A type the data model does not cover is left alone rather than second-guessed.

Documentation

The NQE data model reference is now cited with a URL that resolves, and named as the source for type and member names. Also: how to run the live tests, and when they are worth running.