29 lines
		
	
	
	
		
			725 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			725 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from mako.template import Template
 | 
						|
from copy import deepcopy
 | 
						|
 | 
						|
 | 
						|
def generate_flux(bucket, host, field, data):
 | 
						|
    return Template(flux_template).render(
 | 
						|
        bucket=bucket,
 | 
						|
        host=host,
 | 
						|
        field=field,
 | 
						|
        data=data
 | 
						|
    ).strip()
 | 
						|
 | 
						|
 | 
						|
def generate_panel(bucket, host, title, targets, min=None, max=None):
 | 
						|
    panel = deepcopy(panel_template)
 | 
						|
    panel['title'] = title
 | 
						|
    
 | 
						|
    if min:
 | 
						|
        panel['fieldConfig']['defaults']['min'] = min
 | 
						|
    if max:
 | 
						|
        panel['fieldConfig']['defaults']['max'] = max
 | 
						|
 | 
						|
    panel['targets'] = [
 | 
						|
        {
 | 
						|
            'hide': False,
 | 
						|
            'refId': field,
 | 
						|
            'query': generate_flux(bucket, host, field, data),
 | 
						|
        } for field, data in targets.items()
 | 
						|
    ]
 |