def METHOD_NAME(module):
    params = module.params
    client = hashivault_auth_client(params)
    changed = False
    config_file = params.get('config_file')
    mount_point = params.get('mount_point').strip('/')
    desired_state = dict()
    current_state = dict()
    # if config_file is set, set sub_id, ten_id, client_id, client_secret from file
    # else set from passed args
    if config_file:
        desired_state = json.loads(open(params.get('config_file'), 'r').read())
        if 'environment' not in desired_state:
            desired_state['environment'] = 'AzurePublicCloud'
    else:
        desired_state['tenant_id'] = params.get('tenant_id')
        desired_state['subscription_id'] = params.get('subscription_id')
        desired_state['client_id'] = params.get('client_id')
        desired_state['client_secret'] = params.get('client_secret')
        desired_state['environment'] = params.get('environment')
    # check if current config matches desired config values, if they match, set changed to false to prevent action
    changed = False
    try:
        current_state = client.secrets.azure.read_config()
    except Exception:
        changed = True
    for k, v in current_state.items():
        if v != desired_state[k]:
            changed = True
    # if configs dont match and checkmode is off, complete the change
    if changed and not module.check_mode:
        client.secrets.azure.configure(mount_point=mount_point, **desired_state)
    return {'changed': changed}