class CHostGroup extends CApiService {
public const ACCESS_RULES = [
'get' => ['min_user_type' => USER_TYPE_ZABBIX_USER],
'create' => ['min_user_type' => USER_TYPE_SUPER_ADMIN],
'update' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'delete' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'massadd' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'massupdate' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'massremove' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'propagate' => ['min_user_type' => USER_TYPE_SUPER_ADMIN]
protected $tableName = 'hstgrp';
protected $tableAlias = 'g';
protected $sortColumns = ['groupid', 'name'];
public const OUTPUT_FIELDS = ['groupid', 'name', 'flags', 'uuid'];
private const GROUP_DISCOVERY_FIELDS = ['parent_group_prototypeid', 'name', 'lastcheck', 'ts_delete', 'status'];
public function get(array $options) {
$host_fields = ['hostid', 'host', 'name', 'description', 'proxyid', 'status', 'ipmi_authtype',
'ipmi_privilege', 'ipmi_password', 'ipmi_username', 'inventory_mode', 'tls_connect', 'tls_accept',
'tls_psk_identity', 'tls_psk', 'tls_issuer', 'tls_subject', 'maintenanceid', 'maintenance_type',
'maintenance_from', 'maintenance_status', 'flags'
$discovery_rule_fields = ['itemid', 'hostid', 'name', 'type', 'key_', 'url', 'query_fields', 'request_method',
'timeout', 'post_type', 'posts', 'headers', 'status_codes', 'follow_redirects', 'retrieve_mode',
'http_proxy', 'authtype', 'verify_peer', 'verify_host', 'ssl_cert_file', 'ssl_key_file', 'ssl_key_password',
'ipmi_sensor', 'jmx_endpoint', 'interfaceid', 'username', 'publickey', 'privatekey', 'password', 'snmp_oid',
'parameters', 'params', 'delay', 'master_itemid', 'lifetime', 'trapper_hosts', 'allow_traps', 'description',
'status', 'state', 'error', 'templateid'
$host_prototype_fields = ['hostid', 'host', 'name', 'status', 'templateid', 'inventory_mode', 'discover',
'custom_interfaces', 'uuid'
$api_input_rules = ['type' => API_OBJECT, 'fields' => [
'groupids' => ['type' => API_IDS, 'flags' => API_ALLOW_NULL | API_NORMALIZE, 'default' => null],
'hostids' => ['type' => API_IDS, 'flags' => API_ALLOW_NULL | API_NORMALIZE, 'default' => null],
'graphids' => ['type' => API_IDS, 'flags' => API_ALLOW_NULL | API_NORMALIZE, 'default' => null],
'triggerids' => ['type' => API_IDS, 'flags' => API_ALLOW_NULL | API_NORMALIZE, 'default' => null],
'maintenanceids' => ['type' => API_IDS, 'flags' => API_ALLOW_NULL | API_NORMALIZE, 'default' => null],
'with_monitored_hosts' => ['type' => API_BOOLEAN, 'default' => false],
'with_hosts' => ['type' => API_BOOLEAN, 'default' => false],
'with_items' => ['type' => API_BOOLEAN, 'default' => false],
'with_item_prototypes' => ['type' => API_BOOLEAN, 'default' => false],
'with_simple_graph_items' => ['type' => API_BOOLEAN, 'default' => false],
'with_simple_graph_item_prototypes' => ['type' => API_BOOLEAN, 'default' => false],
'with_monitored_items' => ['type' => API_BOOLEAN, 'default' => false],
'with_triggers' => ['type' => API_BOOLEAN, 'default' => false],
'with_monitored_triggers' => ['type' => API_BOOLEAN, 'default' => false],
'with_httptests' => ['type' => API_BOOLEAN, 'default' => false],
'with_monitored_httptests' => ['type' => API_BOOLEAN, 'default' => false],
'with_graphs' => ['type' => API_BOOLEAN, 'default' => false],
'with_graph_prototypes' => ['type' => API_BOOLEAN, 'default' => false],
'filter' => ['type' => API_FILTER, 'flags' => API_ALLOW_NULL, 'default' => null, 'fields' => ['groupid', 'name', 'flags', 'uuid']],
'search' => ['type' => API_FILTER, 'flags' => API_ALLOW_NULL, 'default' => null, 'fields' => ['name']],
'searchByAny' => ['type' => API_BOOLEAN, 'default' => false],
'startSearch' => ['type' => API_BOOLEAN, 'default' => false],
'excludeSearch' => ['type' => API_BOOLEAN, 'default' => false],