def evaluate_expression_controller()

in qs_cfn_lint_rules/stack/StackHelper.py [0:0]


def evaluate_expression_controller(expression):
    """Figure out what type of expression and pass off to handler"""
    results = []

    if "Fn::If" in expression:
        results = evaluate_fn_if(expression)

    elif "Fn::Sub" in expression:
        results = evaluate_fn_sub(expression)

    elif "Fn::Join" in expression:
        results = evaluate_fn_join(expression)

    elif "Ref" in expression:
        results = evaluate_fn_ref(expression)

    elif "Fn::FindInMap" in expression:
        results = evaluate_fn_findinmap(expression)

    elif "Fn::GetAtt" in expression:
        results = evaluate_fn_getatt(expression)

    elif "Fn::Split" in expression:
        results = evaluate_fn_split(expression)

    else:
        # This is a NON expression replace the { and } with ( and ) to not recursively evaluate this
        results.append("(" + expression + ")")

    return results