diff --git a/monitoring/zabbix_host.py b/monitoring/zabbix_host.py index 2d6ce04b830..37130a21ecf 100644 --- a/monitoring/zabbix_host.py +++ b/monitoring/zabbix_host.py @@ -63,24 +63,28 @@ options: default: None status: description: - - 'Monitoring status of the host. Possible values are: "enabled" and "disabled".' + - 'Monitoring status of the host. required: false + choices: ['enabled', 'disabled'] default: "enabled" state: description: - - 'Possible values are: "present" and "absent". If the host already exists, and the state is "present", it will just to update the host is the associated data is different. "absent" will remove a host if it exists.' + - State of the host. + - On C(present), it will create if host does not exist or update the host if the associated data is different. + - On C(absent) will remove a host if it exists. required: false + choices: ['present', 'absent'] default: "present" timeout: description: - - The timeout of API request(seconds). + - The timeout of API request (seconds). default: 10 interfaces: description: - List of interfaces to be created for the host (see example below). - 'Available values are: dns, ip, main, port, type and useip.' - Please review the interface documentation for more information on the supported properties - - https://www.zabbix.com/documentation/2.0/manual/appendix/api/hostinterface/definitions#host_interface + - 'https://www.zabbix.com/documentation/2.0/manual/appendix/api/hostinterface/definitions#host_interface' required: false default: [] ''' @@ -118,7 +122,6 @@ EXAMPLES = ''' import logging import copy -from ansible.module_utils.basic import * try: from zabbix_api import ZabbixAPI, ZabbixAPISubClass @@ -339,13 +342,13 @@ def main(): argument_spec=dict( server_url=dict(required=True, aliases=['url']), login_user=dict(required=True), - login_password=dict(required=True), + login_password=dict(required=True, no_log=True), host_name=dict(required=True), host_groups=dict(required=False), link_templates=dict(required=False), - status=dict(default="enabled"), - state=dict(default="present"), - timeout=dict(default=10), + status=dict(default="enabled", choices=['enabled', 'disabled']), + state=dict(default="present", choices=['present', 'absent']), + timeout=dict(type='int', default=10), interfaces=dict(required=False) ), supports_check_mode=True diff --git a/monitoring/zabbix_hostmacro.py b/monitoring/zabbix_hostmacro.py index a8649454025..e8d65370760 100644 --- a/monitoring/zabbix_hostmacro.py +++ b/monitoring/zabbix_hostmacro.py @@ -60,12 +60,15 @@ options: required: true state: description: - - 'Possible values are: "present" and "absent". If the macro already exists, and the state is "present", it will just to update the macro if needed.' + - State of the macro. + - On C(present), it will create if macro does not exist or update the macro if the associated data is different. + - On C(absent) will remove a macro if it exists. required: false + choices: ['present', 'absent'] default: "present" timeout: description: - - The timeout of API request(seconds). + - The timeout of API request (seconds). default: 10 ''' @@ -84,7 +87,6 @@ EXAMPLES = ''' import logging import copy -from ansible.module_utils.basic import * try: from zabbix_api import ZabbixAPI, ZabbixAPISubClass @@ -171,12 +173,12 @@ def main(): argument_spec=dict( server_url=dict(required=True, aliases=['url']), login_user=dict(required=True), - login_password=dict(required=True), + login_password=dict(required=True, no_log=True), host_name=dict(required=True), macro_name=dict(required=True), macro_value=dict(required=True), - state=dict(default="present"), - timeout=dict(default=10) + state=dict(default="present", choices=['present', 'absent']), + timeout=dict(type='int', default=10) ), supports_check_mode=True ) diff --git a/monitoring/zabbix_maintenance.py b/monitoring/zabbix_maintenance.py index 02938234fbf..25d7c8df95e 100644 --- a/monitoring/zabbix_maintenance.py +++ b/monitoring/zabbix_maintenance.py @@ -48,12 +48,10 @@ options: description: - Zabbix user name. required: true - default: null login_password: description: - Zabbix user password. required: true - default: null host_names: description: - Hosts to manage maintenance window for. @@ -83,7 +81,6 @@ options: description: - Unique name of maintenance window. required: true - default: null desc: description: - Short description of maintenance window. @@ -273,9 +270,9 @@ def main(): host_names=dict(type='list', required=False, default=None, aliases=['host_name']), minutes=dict(type='int', required=False, default=10), host_groups=dict(type='list', required=False, default=None, aliases=['host_group']), - login_user=dict(required=True, default=None), - login_password=dict(required=True, default=None), - name=dict(required=True, default=None), + login_user=dict(required=True), + login_password=dict(required=True, no_log=True), + name=dict(required=True), desc=dict(required=False, default="Created by Ansible"), collect_data=dict(type='bool', required=False, default=True), ), diff --git a/monitoring/zabbix_screen.py b/monitoring/zabbix_screen.py index 5ada0447571..12ef6c69b6f 100644 --- a/monitoring/zabbix_screen.py +++ b/monitoring/zabbix_screen.py @@ -50,15 +50,15 @@ options: required: true timeout: description: - - The timeout of API request(seconds). + - The timeout of API request (seconds). default: 10 zabbix_screens: description: - List of screens to be created/updated/deleted(see example). - If the screen(s) already been added, the screen(s) name won't be updated. - - When creating or updating screen(s), the screen_name, host_group are required. - - When deleting screen(s), the screen_name is required. - - 'The available states are: present(default) and absent. If the screen(s) already exists, and the state is not "absent", the screen(s) will just be updated as needed.' + - When creating or updating screen(s), C(screen_name), C(host_group) are required. + - When deleting screen(s), the C(screen_name) is required. + - 'The available states are: C(present) (default) and C(absent). If the screen(s) already exists, and the state is not C(absent), the screen(s) will just be updated as needed.' required: true notes: - Too many concurrent updates to the same screen may cause Zabbix to return errors, see examples for a workaround if needed. @@ -127,8 +127,6 @@ EXAMPLES = ''' when: inventory_hostname==groups['group_name'][0] ''' -from ansible.module_utils.basic import * - try: from zabbix_api import ZabbixAPI, ZabbixAPISubClass from zabbix_api import ZabbixAPIException @@ -319,9 +317,9 @@ def main(): argument_spec=dict( server_url=dict(required=True, aliases=['url']), login_user=dict(required=True), - login_password=dict(required=True), - timeout=dict(default=10), - screens=dict(required=True) + login_password=dict(required=True, no_log=True), + timeout=dict(type='int', default=10), + screens=dict(type='dict', required=True) ), supports_check_mode=True )