def buildGroupedTable()

in functions/source/table-generator-lambda.py [0:0]


def buildGroupedTable(template_data, col):
    interface = template_data['Metadata']['AWS::CloudFormation::Interface']
    parameter_groups = interface['ParameterGroups']
    parameter_labels = interface['ParameterLabels']
    parameters = template_data['Parameters']

    tables = ''

    params_in_groups = []
    for group in parameter_groups:
        table_data = []
        tables += '<span class="group-name"><h2>' + group['Label']['default'] + ':</h2></span>'
        params_in_groups.extend(group['Parameters'])
        for group_parameter in group['Parameters']:
            buildGroupedParameters(table_data, group_parameter, parameter_labels, parameters, template_data, col)

        tables += tabulate.tabulate(table_data, headers="keys", tablefmt="html") + '<br/>'

    # Parameters not grouped
    leftover_params = set(parameters) - set(params_in_groups)
    if len(leftover_params) > 0:
        tables += '<span class="group-name">Other Parameters:</span>'
        tables += buildTable(leftover_params, template_data)

    return tables