def destination_present(name,
                        physical,
                        restype='queue',
                        description='',
                        enabled=True,
                        server=None):
    '''
    Ensures that the JMS Destination Resource (queue or topic) is present

    name
        The JMS Queue/Topic name

    physical
        The Physical destination name

    restype
        The JMS Destination resource type, either ``queue`` or ``topic``, defaults is ``queue``

    description
        A description of the resource

    enabled
        Defaults to ``True``
    '''
    ret = {'name': name, 'result': None, 'comment': None, 'changes': {}}

    params = {}
    # Set parameters dict
    if restype == 'queue':
        params['resType'] = 'javax.jms.Queue'
        params['className'] = 'com.sun.messaging.Queue'
    elif restype == 'topic':
        params['resType'] = 'javax.jms.Topic'
        params['className'] = 'com.sun.messaging.Topic'
    else:
        ret['result'] = False
        ret['comment'] = 'Invalid restype'
        return ret
    params['properties'] = {'Name': physical}
    params['description'] = description
    params['enabled'] = enabled

    jms_ret = _do_element_present(name, 'admin_object_resource', params, server)
    if not jms_ret['error']:
        if not __opts__['test']:
            ret['result'] = True
        if jms_ret['create'] and __opts__['test']:
            ret['comment'] = 'JMS Queue set to be created'
        elif jms_ret['create']:
            ret['changes'] = jms_ret['changes']
            ret['comment'] = 'JMS queue created'
        elif jms_ret['update'] and __opts__['test']:
            ret['comment'] = 'JMS Queue set to be updated'
        elif jms_ret['update']:
            ret['changes'] = jms_ret['changes']
            ret['comment'] = 'JMS Queue updated'
        else:
            ret['result'] = True
            ret['comment'] = 'JMS Queue already up-to-date'
    else:
        ret['result'] = False
        ret['comment'] = 'Error from API: {0}'.format(jms_ret['error'])
    return ret