107 lines
4.3 KiB
GraphQL
107 lines
4.3 KiB
GraphQL
# Scalars resolved by package "graphql-scalars"
|
|
scalar DateTime
|
|
scalar Time
|
|
scalar JSONObject
|
|
|
|
type Query {
|
|
"Get api (build) version"
|
|
apiVersion: String!
|
|
"Get zabbix version"
|
|
zabbixVersion: String
|
|
"""
|
|
Login to zabbix - provided for debugging and testing purpose. The result of the login operation is
|
|
authentication token returned may be passed as
|
|
header 'zabbix-auth-token' for authenticating future API requests.
|
|
As an alternative to the cookie 'zbx_session' may be set which is automatically set after login to
|
|
the cockpit - this is the standard way to authenticate api calls initiated by the cockpit frontend
|
|
because the frontend is always embedded into the Zabbix portal which is only accessible after logging in and
|
|
obtainind the zbx_session - cookie.
|
|
"""
|
|
login(username: String!, password: String!): String
|
|
|
|
"""
|
|
Logout from zabbix - provided for debugging and testing purpose. This invalidates the token received by the login
|
|
operation. Returns true on success
|
|
"""
|
|
logout: Boolean
|
|
|
|
"""
|
|
Get all hosts + corresponding items. If with_items==true only hosts with attached items are delivered
|
|
name_pattern: If provided this will perform a LIKE "%…%" search on the name attribute within the database.
|
|
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
allHosts(name_pattern: String = "", filter_host: String = null, hostids: Int,
|
|
groupids:[Int!] = null, with_items: Boolean = false, tag_deviceType:[String]=[], tag_hostType:[String!]): [Host]
|
|
|
|
"""
|
|
Get all host groups.
|
|
If with_hosts==true only groups with attached hosts are delivered.
|
|
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
allHostGroups(search_name: String, with_hosts: Boolean = true): [HostGroup]
|
|
|
|
|
|
"""
|
|
Get all locations used by hosts.
|
|
distinct_by_name=true means that the result is filtered for distinct names (default)
|
|
name_pattern: If provided this will perform a Regex search on the name attribute within the database.
|
|
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
locations(name_pattern: String = "", distinct_by_name: Boolean = true, templateids:[String] = null): [Location]
|
|
|
|
"""
|
|
Export history from Zabbix items
|
|
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
exportHostValueHistory(
|
|
"(Optional) list of hostnames to be included in the result"
|
|
host_filter: [String!],
|
|
"(Optional) list of item keys to be included in the result"
|
|
itemKey_filter: [String!],
|
|
"""
|
|
(Optional) timestamp of earliest value"""
|
|
time_from: DateTime,
|
|
"""(Optional) timestamp of last value """
|
|
time_until: DateTime,
|
|
"""Results are sorted by timestamps - ascending or descending order may be specified
|
|
using this parameter"""
|
|
sortOrder: SortOrder=desc,
|
|
"""
|
|
Maximum number of records to be delivered. Hint: This might be useful, because the
|
|
current version of Zabbix delivers a 500 - error in case of requesting too much data
|
|
"""
|
|
limit: Int
|
|
"""
|
|
As values are stored in different data structures depending on their type
|
|
the type information must be specified in advance, although
|
|
each value (also if number) is converted into a string afterwards
|
|
"""
|
|
type: StorageItemType = FLOAT
|
|
|
|
):GenericResponse
|
|
|
|
"""
|
|
Return all user permissions. If objectNames is provided return only the permissions related to the objects within
|
|
the objectNames - list
|
|
"""
|
|
userPermissions(objectNames: [String!]): [UserPermission!]
|
|
|
|
"""
|
|
Return true if and only if the current user (identified by token / cookie)
|
|
has all requested permissions (minimum - if READ is requested and the user has READ_WRITE
|
|
the response will be true)
|
|
"""
|
|
hasPermissions(permissions: [PermissionRequest!]!): Boolean
|
|
|
|
|
|
"""
|
|
name_pattern: If provided this will perform a LIKE "%…%" search on the name attribute within the database.
|
|
exclude_groups_pattern: Regex allowing to exclude all matching hostgroups from group permissions
|
|
"""
|
|
exportUserRights(name_pattern: String = "" exclude_hostgroups_pattern: String = ""): UserRights
|
|
}
|
|
|