def absent(name, **kwargs):
    '''
    Ensures that the user group does not exist, eventually delete user group.

    .. versionadded:: 2016.3.0

    :param name: name of the user group
    :param _connection_user: Optional - zabbix user (can also be set in opts or pillar, see module's docstring)
    :param _connection_password: Optional - zabbix password (can also be set in opts or pillar, see module's docstring)
    :param _connection_url: Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

    .. code-block:: yaml

        delete_thai_monks_usrgrp:
            zabbix_usergroup.absent:
                - name: 'Thai monks'
    '''
    connection_args = {}
    if '_connection_user' in kwargs:
        connection_args['_connection_user'] = kwargs['_connection_user']
    if '_connection_password' in kwargs:
        connection_args['_connection_password'] = kwargs['_connection_password']
    if '_connection_url' in kwargs:
        connection_args['_connection_url'] = kwargs['_connection_url']

    ret = {'name': name, 'changes': {}, 'result': False, 'comment': ''}

    # Comment and change messages
    comment_usergroup_deleted = 'User group {0} deleted.'.format(name)
    comment_usergroup_notdeleted = 'Unable to delete user group: {0}. '.format(name)
    comment_usergroup_notexists = 'User group {0} does not exist.'.format(name)
    changes_usergroup_deleted = {name: {'old': 'User group {0} exists.'.format(name),
                                        'new': 'User group {0} deleted.'.format(name),
                                        }
                                 }

    usergroup_exists = __salt__['zabbix.usergroup_exists'](name, **connection_args)

    # Dry run, test=true mode
    if __opts__['test']:
        if not usergroup_exists:
            ret['result'] = True
            ret['comment'] = comment_usergroup_notexists
        else:
            ret['result'] = None
            ret['comment'] = comment_usergroup_deleted
        return ret

    usergroup_get = __salt__['zabbix.usergroup_get'](name, **connection_args)

    if not usergroup_get:
        ret['result'] = True
        ret['comment'] = comment_usergroup_notexists
    else:
        try:
            usrgrpid = usergroup_get[0]['usrgrpid']
            usergroup_delete = __salt__['zabbix.usergroup_delete'](usrgrpid, **connection_args)
        except KeyError:
            usergroup_delete = False

        if usergroup_delete and 'error' not in usergroup_delete:
            ret['result'] = True
            ret['comment'] = comment_usergroup_deleted
            ret['changes'] = changes_usergroup_deleted
        else:
            ret['result'] = False
            ret['comment'] = comment_usergroup_notdeleted + six.text_type(usergroup_delete['error'])

    return ret
def absent ( name , ** kwargs ) : connection_args = { } if '_connection_user' in kwargs : connection_args [ '_connection_user' ] = kwargs [ '_connection_user' ] if '_connection_password' in kwargs : connection_args [ '_connection_password' ] = kwargs [ '_connection_password' ] if '_connection_url' in kwargs : connection_args [ '_connection_url' ] = kwargs [ '_connection_url' ] ret = { 'name' : name , 'changes' : { } , 'result' : False , 'comment' : '' } comment_usergroup_deleted = 'User group {0} deleted.' . format ( name ) comment_usergroup_notdeleted = 'Unable to delete user group: {0}. ' . format ( name ) comment_usergroup_notexists = 'User group {0} does not exist.' . format ( name ) changes_usergroup_deleted = { name : { 'old' : 'User group {0} exists.' . format ( name ) , 'new' : 'User group {0} deleted.' . format ( name ) , } } usergroup_exists = __salt__ [ 'zabbix.usergroup_exists' ] ( name , ** connection_args ) if __opts__ [ 'test' ] : if not usergroup_exists : ret [ 'result' ] = True ret [ 'comment' ] = comment_usergroup_notexists else : ret [ 'result' ] = None ret [ 'comment' ] = comment_usergroup_deleted return ret usergroup_get = __salt__ [ 'zabbix.usergroup_get' ] ( name , ** connection_args ) if not usergroup_get : ret [ 'result' ] = True ret [ 'comment' ] = comment_usergroup_notexists else : try : usrgrpid = usergroup_get [ 0 ] [ 'usrgrpid' ] usergroup_delete = __salt__ [ 'zabbix.usergroup_delete' ] ( usrgrpid , ** connection_args ) except KeyError : usergroup_delete = False if usergroup_delete and 'error' not in usergroup_delete : ret [ 'result' ] = True ret [ 'comment' ] = comment_usergroup_deleted ret [ 'changes' ] = changes_usergroup_deleted else : ret [ 'result' ] = False ret [ 'comment' ] = comment_usergroup_notdeleted + six . text_type ( usergroup_delete [ 'error' ] ) return ret
Ensures that the user group does not exist, eventually delete user group.

    .. versionadded:: 2016.3.0

    :param name: name of the user group
    :param _connection_user: Optional - zabbix user (can also be set in opts or pillar, see module's docstring)
    :param _connection_password: Optional - zabbix password (can also be set in opts or pillar, see module's docstring)
    :param _connection_url: Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

    .. code-block:: yaml

        delete_thai_monks_usrgrp:
            zabbix_usergroup.absent:
                - name: 'Thai monks'