164 lines
2.9 KiB
GraphQL
164 lines
2.9 KiB
GraphQL
###################################
|
|
# Hosts, items + groups, templates
|
|
###################################
|
|
|
|
type HostGroup {
|
|
groupid: ID!
|
|
name: String
|
|
}
|
|
|
|
interface Host {
|
|
hostid: ID!
|
|
"""
|
|
The host field contains the "hostname" in Zabbix
|
|
"""
|
|
host: String!
|
|
hostgroups: [HostGroup!]
|
|
name: String
|
|
"""
|
|
Specifies the type or category of the device. Used to define the classification
|
|
of a device in the system (capabilities, functionalities, or purpose).
|
|
"""
|
|
deviceType: String
|
|
}
|
|
|
|
type ZabbixItem {
|
|
itemid: Int!
|
|
name: String!
|
|
key_: String!
|
|
hostid: Int
|
|
lastclock: Int
|
|
lastvalue: String
|
|
value_type: Int!
|
|
attributeName: String
|
|
status: DeviceStatus
|
|
type: DeviceCommunicationType
|
|
hosts: [Host!]
|
|
}
|
|
|
|
enum DeviceCommunicationType {
|
|
ZABBIX_AGENT
|
|
ZABBIX_AGENT_ACTIVE
|
|
ZABBIX_TRAP
|
|
ZABBIX_INTERNAL_ITEM
|
|
SIMPLE_CHECK
|
|
DEPENDANT_ITEM
|
|
SIMULATOR_CALCULATED
|
|
SIMULATOR_JAVASCRIPT
|
|
HTTP_AGENT
|
|
IPMI_AGENT
|
|
JMX_AGENT
|
|
SNMP_AGENT
|
|
SNMP_TRAP
|
|
DATABASE_MONITOR
|
|
}
|
|
|
|
type ZabbixHost implements Host {
|
|
hostid: ID!
|
|
host: String!
|
|
hostgroups: [HostGroup!]
|
|
name: String
|
|
tags: JSONObject
|
|
|
|
"""
|
|
Specifies the type or category of the device. Used to define the classification
|
|
of a device in the system (capabilities, functionalities, or purpose).
|
|
"""
|
|
deviceType: String
|
|
|
|
items: [ZabbixItem!]
|
|
inventory: Inventory
|
|
parentTemplates: [Template!]
|
|
}
|
|
|
|
|
|
type Template {
|
|
templateid: String!
|
|
name: String
|
|
}
|
|
|
|
type Inventory {
|
|
location: Location
|
|
}
|
|
|
|
"""
|
|
Hint: WGS84[dd.ddddd] coordinates are used
|
|
"""
|
|
interface GpsPosition {
|
|
latitude: Float
|
|
longitude: Float
|
|
}
|
|
type Location implements GpsPosition {
|
|
name: String
|
|
latitude: Float
|
|
longitude: Float
|
|
}
|
|
|
|
enum DeviceStatus {
|
|
ENABLED
|
|
DISABLED
|
|
}
|
|
|
|
########################################################
|
|
# History / Values
|
|
########################################################
|
|
|
|
enum StorageItemType {
|
|
FLOAT
|
|
INT
|
|
TEXT
|
|
}
|
|
############################
|
|
# Permissions
|
|
############################
|
|
type UserRights {
|
|
userGroups: [UserGroup!]
|
|
userRoles: [UserRole!]
|
|
}
|
|
|
|
type UserRole {
|
|
roleid: Int!
|
|
name: String
|
|
type: Int
|
|
readonly: Int
|
|
rules: UserRoleRules
|
|
}
|
|
|
|
type UserRoleRules {
|
|
ui: [UserRoleRule!]
|
|
ui_default_access: Int
|
|
modules:[UserRoleModule!]
|
|
modules_default_access: Int
|
|
api_access: Int
|
|
api_mode: Int
|
|
api: [String!]
|
|
actions: [UserRoleRule!]
|
|
actions_default_access: Int
|
|
}
|
|
|
|
type UserRoleRule {
|
|
name: String
|
|
status: Int
|
|
}
|
|
type UserRoleModule {
|
|
moduleid: String
|
|
status: Int
|
|
id: String
|
|
relative_path: String
|
|
}
|
|
|
|
type UserGroup {
|
|
usrgrpid: Int!
|
|
name: String!
|
|
gui_access: Int
|
|
users_status: Int
|
|
hostgroup_rights: [ZabbixGroupRight!]
|
|
templategroup_rights: [ZabbixGroupRight!]
|
|
}
|
|
|
|
type ZabbixGroupRight {
|
|
id: Int!
|
|
uuid: String
|
|
name: String
|
|
permission: Permission
|
|
}
|