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