# interface.query

Query Interfaces with query-filters and query-options

options.extra.retrieve_names_only (bool): Only return interface names.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: filters

#### filters

Type: array Default: []

List of filters for query results. See API documentation for "Query Methods" for more guidance.

No Additional Items

##### Each item of this array must be:

Type: object
Examples:

    [
        [
            "name",
            "=",
            "bob"
        ]
    ]

    [
        [
            "OR",
            [
                [
                    "name",
                    "=",
                    "bob"
                ],
                [
                    "name",
                    "=",
                    "larry"
                ]
            ]
        ]
    ]

##### Parameter 2: options

#### options

Type: object
Default:
{ "extra": {}, "order_by": [], "select": [], "count": false, "get": false, "offset": 0, "limit": 0, "force_sql_filters": false }

Query options including pagination, ordering, and additional parameters.

No Additional Properties

##

#### Extra

Type: object Default: {}

Extra options are defined on a per-endpoint basis and are described in the documentation for the associated query method.

##

#### Order By

Type: array of string Default: []

An array of field names describing the manner in which query results should be ordered. The field names may also have one of more of the following special prefixes: `-` (reverse sort direction), `nulls_first:` (place any null values at the head of the results list), `nulls_last:` (place any null values at the tail of the results list).

No Additional Items

##### Each item of this array must be:

Type: string
Example:

    [
        "size",
        "-devname",
        "nulls_first:-expiretime"
    ]

##

#### Select

Type: array Default: []

An array of field names specifying the exact fields to include in the query return. The dot character `.` may be used to explicitly select only subkeys of the query result.

No Additional Items

##### Each item of this array must be:

## Any of

Type: string
Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Example:

    [
        "username",
        "Authentication.status"
    ]

##

#### Count

Type: boolean Default: false

Return a numeric value representing the number of items that match the specified `query-filters`.

##

#### Get

Type: boolean Default: false

Return the JSON object of the first result matching the specified `query-filters`. The query fails if there specified `query-filters` return no results.

##

#### Offset

Type: integer Default: 0

This specifies the beginning offset of the results array. When combined with the `limit` query-option it may be used to implement pagination of large results arrays. WARNING: some query methods provide volatile results and the onus is on the developer to understand whether pagination is appropriate for a particular query API method.

##

#### Limit

Type: integer Default: 0

This specifies the maximum number of results matching the specified `query-filters` to return. When combined wtih the `offset` query-option it may be used to implement pagination of large results arrays.

WARNING: Some query methods provide volatile results and the onus is on the developer to understand whether pagination is appropriate for a particular query API method.

##

#### Force Sql Filters

Type: boolean Default: false

Force use of SQL for result filtering to reduce response time. May not work for all methods.

##

#### Result

## Any of

Type: array of object
No Additional Items

##### Each item of this array must be:

#### InterfaceQueryResultItem

Type: object

##

#### Id

Type: string

Unique identifier for the network interface.

##

#### Name

Type: string

Name of the network interface.

##

#### Fake

Type: boolean

Whether this is a fake/simulated interface for testing purposes.

##

#### Type

Type: string

Type of interface (PHYSICAL, BRIDGE, LINK_AGGREGATION, VLAN, etc.).

##

#### InterfaceEntryState

Type: object

Current runtime state information for the interface.

No Additional Properties

##

#### Name

Type: string

Current name of the network interface.

##

#### Orig Name

Type: string

Original name of the network interface before any renaming.

##

#### Description

Type: string

Human-readable description of the network interface.

##

#### Mtu

Type: integer

Maximum transmission unit size for the interface.

##

#### Cloned

Type: boolean

Whether the interface is a cloned/virtual interface.

##

#### Flags

Type: array of string

List of interface flags indicating various states and capabilities. Common flags include UP, DOWN, RUNNING, MULTICAST, BROADCAST, LOOPBACK, and POINTOPOINT.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Nd6 Flags

Type: array

IPv6 neighbor discovery flags. These control IPv6 autoconfiguration behavior and include flags like AUTOLINKLOCAL, ACCEPTRTADV, and PERFORMNUD.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Capabilities

Type: array

List of hardware capabilities supported by the interface. Common capabilities include VLANMTU, JUMBOMTU, VLANHWTAGGING, VLANHWCSUM, and TSO4.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Link State

Type: string

Current link state of the interface (up, down, etc.).

##

#### Media Type

Type: string

Type of media/connection for the interface. Examples include Ethernet, 802.11, or loopback.

##

#### Media Subtype

Type: string

Subtype of media/connection for the interface. Examples include 1000baseT, 100baseTX, or autoselect.

##

#### Active Media Type

Type: string

Currently active media type. This may differ from configured media_type during autonegotiation.

##

#### Active Media Subtype

Type: string

Currently active media subtype. This reflects the actual negotiated connection speed and type.

##

#### Supported Media

Type: array

List of supported media types for the interface. Contains media descriptors like '1000baseT <full-duplex>' or 'autoselect'.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Media Options

Available media options for the interface. Options may include 'full-duplex', 'half-duplex', 'flowcontrol', or 'rxpause'.

## Any of

Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Type: null

##

#### Link Address

Type: string

MAC address of the interface.

##

#### Permanent Link Address

Permanent MAC address of the interface if different from current.

## Any of

Type: string
Type: null

##

#### Hardware Link Address

Type: string

Hardware MAC address of the interface.

##

#### Rx Queues

Type: integer

Number of receive queues configured for the interface.

##

#### Tx Queues

Type: integer

Number of transmit queues configured for the interface.

##

#### Aliases

Type: array of object

List of IP address aliases configured on the interface.

No Additional Items

##### Each item of this array must be:

#### InterfaceEntryStateAlias

Type: object
No Additional Properties

##

#### Type

Type: string

The type of IP address (INET for IPv4, INET6 for IPv6).

##

#### Address

Type: string

The IP address value.

##

#### Netmask

The network mask for the IP address, either as a string or CIDR notation integer.

## Any of

Type: string
Type: integer

##

#### Broadcast

Type: string

Broadcast address for the network interface.

##

#### Vrrp Config

Default: []

VRRP (Virtual Router Redundancy Protocol) configuration for the interface.

## Any of

Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Type: null

##

#### Protocol

Link aggregation protocol used (LACP, FAILOVER, etc.).

## Any of

Type: string
Type: null

##

#### Ports

Type: array of object Default: []

List of ports that are members of this link aggregation group.

No Additional Items

##### Each item of this array must be:

#### InterfaceEntryStatePort

Type: object
No Additional Properties

##

#### Name

Type: string

The name of the port interface.

##

#### Flags

Type: array of string

List of flags associated with the port.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Xmit Hash Policy

Default: null

Transmit hash policy for load balancing in link aggregation. LAYER2 uses MAC addresses, LAYER2+3 adds IP addresses, and LAYER3+4 includes TCP/UDP ports for distribution.

## Any of

Type: string
Type: null

##

#### Lacpdu Rate

Default: null

LACP data unit transmission rate. SLOW sends LACPDUs every 30 seconds, FAST sends every 1 second for quicker link failure detection.

## Any of

Type: string
Type: null

##

#### Parent

Parent interface for VLAN configuration.

## Any of

Type: string
Type: null

##

#### Tag

VLAN tag number.

## Any of

Type: integer
Type: null

##

#### Pcp

Priority Code Point for VLAN traffic prioritization. Values 0-7 map to different QoS priority levels, with 0 being lowest and 7 highest priority.

## Any of

Type: integer
Type: null

##

#### Aliases

Type: array of object

List of IP address aliases configured on the interface.

No Additional Items

##### Each item of this array must be:

#### InterfaceEntryAlias

Type: object
No Additional Properties

##

#### Type

Type: string

The type of IP address (INET for IPv4, INET6 for IPv6).

##

#### Address

Type: string

The IP address value.

##

#### Netmask

The network mask for the IP address, either as a string or CIDR notation integer.

## Any of

Type: string
Type: integer

##

#### Ipv4 Dhcp

Type: boolean

Whether IPv4 DHCP is enabled for automatic IP address assignment.

##

#### Ipv6 Auto

Type: boolean

Whether IPv6 autoconfiguration is enabled.

##

#### Description

Type: string

Human-readable description of the interface.

##

#### Mtu

Maximum transmission unit size for the interface.

## Any of

Type: integer
Type: null

##

#### Vlan Parent Interface

Parent interface for VLAN configuration.

## Any of

Type: string
Type: null

##

#### Vlan Tag

VLAN tag number for VLAN interfaces.

## Any of

Type: integer
Type: null

##

#### Vlan Pcp

Priority Code Point for VLAN traffic prioritization.

## Any of

Type: integer
Type: null

##

#### Lag Protocol

Type: string

Link aggregation protocol (LACP, FAILOVER, LOADBALANCE, etc.).

##

#### Lag Ports

Type: array of string

List of interface names that are members of this link aggregation group.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Bridge Members

Type: array of string

List of interface names that are members of this bridge.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Enable Learning

Type: boolean

Whether MAC address learning is enabled for bridge interfaces.

##

Additional Properties of any type are allowed.

Type: object

#### InterfaceQueryResultItem

Type: object

##

#### Id

Type: string

Unique identifier for the network interface.

##

#### Name

Type: string

Name of the network interface.

##

#### Fake

Type: boolean

Whether this is a fake/simulated interface for testing purposes.

##

#### Type

Type: string

Type of interface (PHYSICAL, BRIDGE, LINK_AGGREGATION, VLAN, etc.).

##

Type: object

Current runtime state information for the interface.

##

#### Aliases

Type: array

List of IP address aliases configured on the interface.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Ipv4 Dhcp

Type: boolean

Whether IPv4 DHCP is enabled for automatic IP address assignment.

##

#### Ipv6 Auto

Type: boolean

Whether IPv6 autoconfiguration is enabled.

##

#### Description

Type: string

Human-readable description of the interface.

##

#### Mtu

Maximum transmission unit size for the interface.

## Any of

Type: integer
Type: null

##

#### Vlan Parent Interface

Parent interface for VLAN configuration.

## Any of

Type: string
Type: null

##

#### Vlan Tag

VLAN tag number for VLAN interfaces.

## Any of

Type: integer
Type: null

##

#### Vlan Pcp

Priority Code Point for VLAN traffic prioritization.

## Any of

Type: integer
Type: null

##

#### Lag Protocol

Type: string

Link aggregation protocol (LACP, FAILOVER, LOADBALANCE, etc.).

##

#### Lag Ports

Type: array of string

List of interface names that are members of this link aggregation group.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Bridge Members

Type: array of string

List of interface names that are members of this bridge.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Enable Learning

Type: boolean

Whether MAC address learning is enabled for bridge interfaces.

##

Additional Properties of any type are allowed.

Type: object
Type: integer

Required roles: NETWORK_INTERFACE_READ