171 lines
4.3 KiB
GraphQL
171 lines
4.3 KiB
GraphQL
type Mutation {
|
|
|
|
"""
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
createHost(host: String!, hostgroupids:[Int!]!, templateids: [Int!]!,
|
|
location: LocationInput): CreateHostResponse
|
|
|
|
"""
|
|
(Mass) Import zabbix groups
|
|
and assign them to the corresponding hosts by groupid or groupName.
|
|
|
|
Return value: If no error occurs a groupid be returned for each created group,
|
|
otherwise the return object will contain an error message
|
|
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
importHostGroups(hostGroups: [CreateHostGroup!]!):[CreateHostGroupResponse!]
|
|
|
|
|
|
"""
|
|
(Mass) Import hosts and assign them to host groups by groupid or groupName.
|
|
|
|
Return value: If no error occurs a hostid will be returned for each created host,
|
|
otherwise the return object will contain an error message.
|
|
|
|
Authentication: By zbx_session - cookie or zabbix-auth-token - header
|
|
"""
|
|
importHosts(hosts: [CreateHost!]!):[ImportHostResponse!]
|
|
|
|
importUserRights(input: UserRightsInput!, dryRun: Boolean! = true): ImportUserRightsResult
|
|
}
|
|
|
|
####################################################################
|
|
# Input types used for importXXX - and storeXXX - Mutations
|
|
####################################################################
|
|
|
|
input CreateHostGroup {
|
|
"""
|
|
Name of the host group
|
|
"""
|
|
groupName: String!
|
|
"""
|
|
Internally used unique id
|
|
(will be assigned by Zabbix if empty)
|
|
"""
|
|
uuid: String
|
|
}
|
|
type ImportHostResponse {
|
|
deviceKey: String!
|
|
hostid: String
|
|
message: String
|
|
error: ApiError
|
|
}
|
|
|
|
|
|
type CreateHostGroupResponse {
|
|
groupName: String!
|
|
groupid: Int
|
|
message: String
|
|
error: ApiError
|
|
}
|
|
|
|
input CreateHost {
|
|
deviceKey: String!
|
|
"""
|
|
Optional display name of the device (must be unique if provided - default is to set display name to deviceKey)
|
|
"""
|
|
name: String
|
|
deviceType: String!
|
|
"""
|
|
groupNames is used to assign the created object
|
|
to a host group. It is mandatory but
|
|
can also be blank. This is usefull in case of
|
|
passing a groupid instead which is
|
|
the zabbix internal key for storing the group.
|
|
If a groupid is provided the passed groupName is ignored
|
|
"""
|
|
groupNames: [String!]!
|
|
"""
|
|
Optionally the internal groupids can be passed - in this case the
|
|
groupName is ignored
|
|
"""
|
|
groupids: [Int]
|
|
location: LocationInput
|
|
}
|
|
|
|
type CreateHostResponse {
|
|
hostids: [Int]
|
|
itemids: [Int]
|
|
error: ApiError
|
|
}
|
|
input LocationInput {
|
|
name: String
|
|
location_lat: String
|
|
location_lon: String
|
|
}
|
|
|
|
#######################################
|
|
# Permission related input
|
|
#######################################
|
|
input UserRightsInput {
|
|
userRoles: [UserRoleInput!]
|
|
userGroups: [UserGroupInput!]
|
|
}
|
|
|
|
input UserRoleInput {
|
|
name: String
|
|
type: Int
|
|
readonly: Int
|
|
rules: UserRoleRulesInput
|
|
}
|
|
|
|
input UserRoleRulesInput {
|
|
ui: [UserRoleRuleInput!]
|
|
ui_default_access: Int
|
|
modules:[UserRoleModuleInput!]
|
|
modules_default_access: Int
|
|
api_access: Int
|
|
api_mode: Int
|
|
api: [String!]
|
|
actions: [UserRoleRuleInput!]
|
|
actions_default_access: Int
|
|
}
|
|
|
|
input UserRoleRuleInput {
|
|
name: String
|
|
status: Int
|
|
}
|
|
input UserRoleModuleInput {
|
|
moduleid: String
|
|
status: Int
|
|
id: String
|
|
}
|
|
|
|
input UserGroupInput {
|
|
name: String!
|
|
gui_access: Int
|
|
users_status: Int
|
|
hostgroup_rights: [ZabbixGroupRightInput!]
|
|
templategroup_rights: [ZabbixGroupRightInput!]
|
|
}
|
|
|
|
|
|
input ZabbixGroupRightInput {
|
|
uuid: String
|
|
"""
|
|
name may optionally be specified for documentation purpose,
|
|
but the master for setting the user right is the uuid.
|
|
If a uuid is found and the corresponding group
|
|
has a deviating name this will be documented within a message
|
|
with errorcode = 0 (OK) but the permission will be set (
|
|
the reason is that names for groups may deviate between several
|
|
instances of the control center although the semantic is the same -
|
|
while the semantic is identified by uuid.
|
|
"""
|
|
name: String
|
|
permission: Permission
|
|
}
|
|
|
|
type ImportUserRightsResult {
|
|
userRoles: [ImportUserRightResult!]
|
|
userGroups: [ImportUserRightResult!]
|
|
}
|
|
type ImportUserRightResult {
|
|
id: String
|
|
name: String
|
|
message: String
|
|
errors: [ApiError!]
|
|
}
|
|
|