updated zabbix modules to use missing_required_lib helper (#58002)
This commit is contained in:
parent
446027341a
commit
8646b6953d
11 changed files with 66 additions and 29 deletions
|
@ -439,13 +439,17 @@ msg:
|
||||||
sample: 'Action Deleted: Register webservers, ID: 0001'
|
sample: 'Action Deleted: Register webservers, ID: 0001'
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI
|
from zabbix_api import ZabbixAPI
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
|
|
||||||
class Zapi(object):
|
class Zapi(object):
|
||||||
|
@ -1966,7 +1970,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -75,15 +75,19 @@ EXAMPLES = '''
|
||||||
when: inventory_hostname==groups['group_name'][0]
|
when: inventory_hostname==groups['group_name'][0]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
from zabbix_api import Already_Exists
|
from zabbix_api import Already_Exists
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
|
|
||||||
class HostGroup(object):
|
class HostGroup(object):
|
||||||
|
@ -146,7 +150,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -56,7 +56,10 @@ EXAMPLES = '''
|
||||||
timeout: 10
|
timeout: 10
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
|
@ -74,6 +77,7 @@ try:
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -107,7 +111,7 @@ def main():
|
||||||
module.deprecate("The 'zabbix_group_facts' module has been renamed to 'zabbix_group_info'", version='2.13')
|
module.deprecate("The 'zabbix_group_facts' module has been renamed to 'zabbix_group_info'", version='2.13')
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -223,7 +223,9 @@ EXAMPLES = '''
|
||||||
tls_psk: 123456789abcdef123456789abcdef12
|
tls_psk: 123456789abcdef123456789abcdef12
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
|
import traceback
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
|
@ -241,9 +243,10 @@ try:
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
|
|
||||||
class Host(object):
|
class Host(object):
|
||||||
|
@ -657,7 +660,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -95,7 +95,10 @@ EXAMPLES = '''
|
||||||
remove_duplicate: yes
|
remove_duplicate: yes
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
|
@ -113,6 +116,7 @@ try:
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -190,7 +194,7 @@ def main():
|
||||||
module.deprecate("The 'zabbix_host_facts' module has been renamed to 'zabbix_host_info'", version='2.13')
|
module.deprecate("The 'zabbix_host_facts' module has been renamed to 'zabbix_host_info'", version='2.13')
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -71,6 +71,9 @@ EXAMPLES = '''
|
||||||
state: present
|
state: present
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
|
|
||||||
|
@ -82,9 +85,10 @@ try:
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
|
|
||||||
class HostMacro(object):
|
class HostMacro(object):
|
||||||
|
@ -170,7 +174,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -121,16 +121,19 @@ EXAMPLES = '''
|
||||||
login_password: pAsSwOrD
|
login_password: pAsSwOrD
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import time
|
import time
|
||||||
|
import traceback
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI
|
from zabbix_api import ZabbixAPI
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
|
|
||||||
def create_maintenance(zbx, group_ids, host_ids, start_time, maintenance_type, period, name, desc):
|
def create_maintenance(zbx, group_ids, host_ids, start_time, maintenance_type, period, name, desc):
|
||||||
|
@ -288,7 +291,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
host_names = module.params['host_names']
|
host_names = module.params['host_names']
|
||||||
host_groups = module.params['host_groups']
|
host_groups = module.params['host_groups']
|
||||||
|
|
|
@ -172,34 +172,41 @@ ANSIBLE_METADATA = {
|
||||||
'status': ['preview']
|
'status': ['preview']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
import base64
|
import base64
|
||||||
|
import traceback
|
||||||
|
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from distutils.version import StrictVersion
|
from distutils.version import StrictVersion
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import pydotplus
|
import pydotplus
|
||||||
HAS_PYDOTPLUS = True
|
HAS_PYDOTPLUS = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
PYDOT_IMP_ERR = traceback.format_exc()
|
||||||
HAS_PYDOTPLUS = False
|
HAS_PYDOTPLUS = False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import webcolors
|
import webcolors
|
||||||
HAS_WEBCOLORS = True
|
HAS_WEBCOLORS = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
WEBCOLORS_IMP_ERR = traceback.format_exc()
|
||||||
HAS_WEBCOLORS = False
|
HAS_WEBCOLORS = False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
HAS_PIL = True
|
HAS_PIL = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
PIL_IMP_ERR = traceback.format_exc()
|
||||||
HAS_PIL = False
|
HAS_PIL = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -761,13 +768,13 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
if not HAS_PYDOTPLUS:
|
if not HAS_PYDOTPLUS:
|
||||||
module.fail_json(msg="Missing required pydotplus module (check docs or install with: pip install pydotplus)")
|
module.fail_json(msg=missing_required_lib('pydotplus', url='https://pypi.org/project/pydotplus/'), exception=PYDOT_IMP_ERR)
|
||||||
if not HAS_WEBCOLORS:
|
if not HAS_WEBCOLORS:
|
||||||
module.fail_json(msg="Missing required webcolors module (check docs or install with: pip install webcolors)")
|
module.fail_json(msg=missing_required_lib('webcolors', url='https://pypi.org/project/webcolors/'), exception=WEBCOLORS_IMP_ERR)
|
||||||
if not HAS_PIL:
|
if not HAS_PIL:
|
||||||
module.fail_json(msg="Missing required Pillow module (check docs or install with: pip install Pillow)")
|
module.fail_json(msg=missing_required_lib('Pillow', url='https://pypi.org/project/Pillow/'), exception=PIL_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -125,12 +125,15 @@ EXAMPLES = '''
|
||||||
RETURN = ''' # '''
|
RETURN = ''' # '''
|
||||||
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
import traceback
|
||||||
|
|
||||||
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI
|
from zabbix_api import ZabbixAPI
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -260,9 +263,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module" +
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
" (check docs or install with:" +
|
|
||||||
" pip install zabbix-api)")
|
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -153,6 +153,9 @@ EXAMPLES = '''
|
||||||
when: inventory_hostname==groups['group_name'][0]
|
when: inventory_hostname==groups['group_name'][0]
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
from zabbix_api import ZabbixAPI, ZabbixAPISubClass
|
||||||
from zabbix_api import ZabbixAPIException
|
from zabbix_api import ZabbixAPIException
|
||||||
|
@ -170,9 +173,10 @@ try:
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
|
||||||
|
|
||||||
class Screen(object):
|
class Screen(object):
|
||||||
|
@ -372,7 +376,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module (check docs or install with: pip install zabbix-api)")
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
|
@ -194,7 +194,7 @@ template_json:
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from distutils.version import LooseVersion
|
from distutils.version import LooseVersion
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
from ansible.module_utils._text import to_native
|
from ansible.module_utils._text import to_native
|
||||||
import json
|
import json
|
||||||
import traceback
|
import traceback
|
||||||
|
@ -205,6 +205,7 @@ try:
|
||||||
|
|
||||||
HAS_ZABBIX_API = True
|
HAS_ZABBIX_API = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
ZBX_IMP_ERR = traceback.format_exc()
|
||||||
HAS_ZABBIX_API = False
|
HAS_ZABBIX_API = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -467,9 +468,7 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not HAS_ZABBIX_API:
|
if not HAS_ZABBIX_API:
|
||||||
module.fail_json(msg="Missing required zabbix-api module " +
|
module.fail_json(msg=missing_required_lib('zabbix-api', url='https://pypi.org/project/zabbix-api/'), exception=ZBX_IMP_ERR)
|
||||||
"(check docs or install with: " +
|
|
||||||
"pip install zabbix-api)")
|
|
||||||
|
|
||||||
server_url = module.params['server_url']
|
server_url = module.params['server_url']
|
||||||
login_user = module.params['login_user']
|
login_user = module.params['login_user']
|
||||||
|
|
Loading…
Reference in a new issue