def generate_html_row()

in apps/cloudwatch-dashboard/lambdas/list-schedulers/handler.py [0:0]


def generate_html_row(scheduler_param):
    # If the scheduler is stopped, we allow the user to start it:
    if scheduler_param['status'] == 'STOPPED':
        status_button = create_button(
            action=f'arn:aws:lambda:{current_region}:{account_id}:function:l4e-dashboard-list-schedulers{stack}',
            payload={
                'scheduler_name': scheduler_param['name'],
                'action': 'start_scheduler'
            },
            label='Start',
            display_mode='widget'
        )
        
    # Otherwise, the only action is to stop it:
    else:
        status_button = create_button(
            action=f'arn:aws:lambda:{current_region}:{account_id}:function:l4e-dashboard-list-schedulers{stack}',
            payload={
                'scheduler_name': scheduler_param['name'],
                'action': 'stop_scheduler'
            },
            label ='Stop',
            display_mode='widget'
        )
        
        
    # If a dashboard for this scheduler already exists, we print a link to navigate to it:
    scheduler_name = scheduler_param['name']
    current_dashboard_name = 'L4E-Scheduler-Dashboard-' + scheduler_name
    # if current_dashboard_name in get_dashboard_list():
    if dashboard_exists(current_dashboard_name):
        dashboard_button = create_link(
            href=f'#dashboards:name={current_dashboard_name}"',
            label='View'
        )
        
    # Otherwise, we create a button to let the user create it:
    else:
        dashboard_button = create_button(
            action=f'arn:aws:lambda:{current_region}:{account_id}:function:l4e-dashboard-list-schedulers{stack}',
            payload={
                'dashboard_name': current_dashboard_name,
                'scheduler_name': scheduler_param['name'],
                'action': 'create_dashboard'
            },
            label='Create dashboard',
            display_mode='widget'
        )

    # Build the output row
    row = '<tr>'
    # row += '<th>' + scheduler_param['dataset'] + '</th>'
    row += '<td>' + scheduler_param['model'] + '</td>'
    row += '<td>' + scheduler_name + '</td>'
    row += f'<td>{status_button}</td>'
    row += f'<td>{dashboard_button}</td>'
    row += '</tr>'
    
    return row