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