As part of the schema, Infrahub currently exposes the list of supported filters.
For relationships an isnull filter is generated that allows us to filter for nodes that either have a related node for that relationship or not. These filters are usable when using the GraphQL API.
When you consult the schema of a node, using the schema REST API endpoint, the isnull filters are missing from the schema.
This means we cannot use these filters in the SDK, as the SDK validates the filters you can using the filters returned by the schema endpoint.
Expected Behavior
The isnull filters should be part of the filters returned by the schema REST API endpoint.
The SDK will allow us to you use the isnull filters.
Steps to Reproduce
load instance of Infrahub
load the demo schema and data
use http://localhost:8000/api/schema/InfraDevice, notice that the isnull filter is missing for site, primary_address, interfaces, platform...
open a Python interpreter and execute the following snippet
from infrahub_sdk import InfrahubClientSync
client = InfrahubClientSync()
client.filters("InfraDevice", primary_address__isnull: True)
Component
API Server / GraphQL, Python SDK
Infrahub version
0.16.0
Current Behavior
As part of the schema, Infrahub currently exposes the list of supported filters.
For relationships an
isnull
filter is generated that allows us to filter for nodes that either have a related node for that relationship or not. These filters are usable when using the GraphQL API.When you consult the schema of a node, using the schema REST API endpoint, the
isnull
filters are missing from the schema.This means we cannot use these filters in the SDK, as the SDK validates the filters you can using the filters returned by the schema endpoint.
Expected Behavior
The
isnull
filters should be part of the filters returned by the schema REST API endpoint. The SDK will allow us to you use theisnull
filters.Steps to Reproduce
http://localhost:8000/api/schema/InfraDevice
, notice that the isnull filter is missing forsite
,primary_address
,interfaces
,platform
...Additional Information
No response