Ensures that the named configmap is absent from the given namespace.

    name
        The name of the configmap

    namespace
        The namespace holding the configmap. The 'default' one is going to be
        used unless a different one is specified.

def configmap_absent(name, namespace='default', **kwargs):
    '''
    Ensures that the named configmap is absent from the given namespace.

    name
        The name of the configmap

    namespace
        The namespace holding the configmap. The 'default' one is going to be
        used unless a different one is specified.
    '''

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

    configmap = __salt__['kubernetes.show_configmap'](name, namespace, **kwargs)

    if configmap is None:
        ret['result'] = True if not __opts__['test'] else None
        ret['comment'] = 'The configmap does not exist'
        return ret

    if __opts__['test']:
        ret['comment'] = 'The configmap is going to be deleted'
        ret['result'] = None
        return ret

    __salt__['kubernetes.delete_configmap'](name, namespace, **kwargs)
    # As for kubernetes 1.6.4 doesn't set a code when deleting a configmap
    # The kubernetes module will raise an exception if the kubernetes
    # server will return an error
    ret['result'] = True
    ret['changes'] = {
        'kubernetes.configmap': {
            'new': 'absent', 'old': 'present'}}
    ret['comment'] = 'ConfigMap deleted'

    return ret