'run the idempotent asnible code
params comes from the ansible portion for this module
files: a dictionary for the certificates
{\'cert\': {\'path\': \'\',
\'content\': \'\',
\'value\': \'\'
check_mode: does the module support check mode.  (module.check_mode)'

@staticmethod
def run_ansible(params, check_mode=False):

    files = {'destcacert': {'path': params['dest_cacert_path'], 'content': params['dest_cacert_content'], 'value': None}, 'cacert': {'path': params['cacert_path'], 'content': params['cacert_content'], 'value': None}, 'cert': {'path': params['cert_path'], 'content': params['cert_content'], 'value': None}, 'key': {'path': params['key_path'], 'content': params['key_content'], 'value': None}}
    if (params['tls_termination'] and (params['tls_termination'].lower() != 'passthrough')):
        for (key, option) in files.items():
            if ((key == 'destcacert') and (params['tls_termination'] != 'reencrypt')):
                continue
            option['value'] = OCRoute.get_cert_data(option['path'], option['content'])
            if (not option['value']):
                return {'failed': True, 'msg': ('Verify    that    you    pass    a    value    for    %s' % key)}
    rconfig = RouteConfig(params['name'], params['namespace'], params['kubeconfig'], files['destcacert']['value'], files['cacert']['value'], files['cert']['value'], files['key']['value'], params['host'], params['tls_termination'], params['service_name'], params['wildcard_policy'], params['weight'], params['port'])
    oc_route = OCRoute(rconfig, verbose=params['debug'])
    state = params['state']
    api_rval = oc_route.get()
    if (state == 'list'):
        return {'changed': False, 'results': api_rval['results'], 'state': 'list'}
    if (state == 'absent'):
        if oc_route.exists():
            if check_mode:
                return {'changed': False, 'msg': 'CHECK_MODE:    Would    have    performed    a    delete.'}
            api_rval = oc_route.delete()
            return {'changed': True, 'results': api_rval, 'state': 'absent'}
        return {'changed': False, 'state': 'absent'}
    if (state == 'present'):
        if (not oc_route.exists()):
            if check_mode:
                return {'changed': True, 'msg': 'CHECK_MODE:    Would    have    performed    a    create.'}
            api_rval = oc_route.create()
            if (api_rval['returncode'] != 0):
                return {'failed': True, 'msg': api_rval, 'state': 'present'}
            api_rval = oc_route.get()
            if (api_rval['returncode'] != 0):
                return {'failed': True, 'msg': api_rval, 'state': 'present'}
            return {'changed': True, 'results': api_rval, 'state': 'present'}
        if oc_route.needs_update():
            if check_mode:
                return {'changed': True, 'msg': 'CHECK_MODE:    Would    have    performed    an    update.'}
            api_rval = oc_route.update()
            if (api_rval['returncode'] != 0):
                return {'failed': True, 'msg': api_rval, 'state': 'present'}
            api_rval = oc_route.get()
            if (api_rval['returncode'] != 0):
                return {'failed': True, 'msg': api_rval, 'state': 'present'}
            return {'changed': True, 'results': api_rval, 'state': 'present'}
        return {'changed': False, 'results': api_rval, 'state': 'present'}
    return {'failed': True, 'msg': 'Unknown    State    passed'}
