コード例 #1
0
    def action_detail(self, name):
        """[EXTERNAL]"""
        zbx_name = ZabbixActionContainer.action_name_factory(
            self.dc.name, name)
        zac = ZabbixActionContainer.from_zabbix_name(self.ezx.zapi, zbx_name)

        return zac.as_mgmt_data
コード例 #2
0
    def action_delete(self, name):
        """[EXTERNAL]"""
        zbx_name = ZabbixActionContainer.action_name_factory(
            self.dc.name, name)
        zac = ZabbixActionContainer.from_zabbix_name(self.ezx.zapi, zbx_name)
        zac.delete()

        return None
コード例 #3
0
    def action_create(self, name, data):
        """[EXTERNAL]"""
        data['name'] = name  # Action name must be also in data
        zbx_name = ZabbixActionContainer.action_name_factory(
            self.dc.name, name)
        zac = ZabbixActionContainer.from_mgmt_data(self.ezx.zapi, zbx_name)
        zac.create(self.dc.name, data)

        return zac.as_mgmt_data
コード例 #4
0
    def action_update(self, name, data):
        """[EXTERNAL]"""
        data.pop('name', None)  # Action name cannot be changed
        zbx_name = ZabbixActionContainer.action_name_factory(
            self.dc.name, name)
        zac = ZabbixActionContainer.from_zabbix_name(
            self.ezx.zapi,
            zbx_name,
            # we don't need to fetch hostgroups when we are replacing them
            resolve_hostgroups='hostgroups' not in data,
            # we don't need to fetch usergroups when we are replacing them
            resolve_usergroups='usergroups' not in data)
        zac.update(self.dc.name, data)

        return zac.as_mgmt_data
コード例 #5
0
ファイル: test_zabbix.py プロジェクト: zetacloud/esdc-ce
    def _create_new_action(self, action_name, action_data, nonexistent_usergroups=False):
        self.assertListEqual(self.ezx_zapi.action.get({
            'filter': {'name': ZabbixActionContainer.action_name_factory(self.dc.name, action_name)}}
        ), [], 'action should not exist in zabbix')

        if nonexistent_usergroups:
            self.assertRaises(RelatedRemoteObjectDoesNotExist, self.zabbix.action_create, action_name, action_data)
            return

        action_info = self.zabbix.action_create(action_name, action_data)
        zabbix_action_ = self.ezx_zapi.action.get({
            'filter': {'name': ZabbixActionContainer.action_name_factory(self.dc.name, action_name)}}
        )
        self.assertEqual(len(zabbix_action_), 1, 'action should exist in zabbix')
        self.assertEqual(action_info['name'], action_name)

        return action_info
コード例 #6
0
ファイル: test_zabbix.py プロジェクト: zetacloud/esdc-ce
    def _get_existing_action(self, action_name):
        zabbix_action_ = self.ezx_zapi.action.get({
            'filter': {'name': ZabbixActionContainer.action_name_factory(self.dc.name, action_name)}}
        )
        self.assertEqual(len(zabbix_action_), 1, 'action should exist in zabbix')
        action_info = self.zabbix.action_detail(action_name)
        self.assertEqual(action_info['name'], action_name)

        return action_info
コード例 #7
0
    def action_list(self, full=False, extended=False):
        """[EXTERNAL]"""
        if full or extended:
            display_attr = 'as_mgmt_data'
        else:
            display_attr = 'name_without_dc_prefix'

        return [
            getattr(zac, display_attr)
            for zac in ZabbixActionContainer.all(self.ezx.zapi, self.dc.name)
        ]
コード例 #8
0
ファイル: test_zabbix.py プロジェクト: zetacloud/esdc-ce
 def _delete_new_action(self, action_name):
     self.assertListEqual(self.ezx_zapi.action.get({
         'filter': {'name': ZabbixActionContainer.action_name_factory(self.dc.name, action_name)}}
     ), [], 'action should not exist in zabbix anymore')
     self.assertRaises(RemoteObjectDoesNotExist, self.zabbix.action_delete, action_name)
コード例 #9
0
ファイル: test_zabbix.py プロジェクト: zetacloud/esdc-ce
 def _delete_existing_action(self, action_name):
     self.zabbix.action_delete(action_name)
     self.assertListEqual(self.ezx_zapi.action.get({
         'filter': {'name': ZabbixActionContainer.action_name_factory(self.dc.name, action_name)}}
     ), [], 'action should not exist in zabbix anymore')
コード例 #10
0
ファイル: test_zabbix.py プロジェクト: zetacloud/esdc-ce
 def _create_existing_action(self, action_name, action_data):
     zabbix_action_ = self.ezx_zapi.action.get({
         'filter': {'name': ZabbixActionContainer.action_name_factory(self.dc.name, action_name)}}
     )
     self.assertEqual(len(zabbix_action_), 1, 'action should exist in zabbix')
     self.assertRaises(RemoteObjectAlreadyExists, self.zabbix.action_create, action_name, action_data)