def hosts(): domain_name = request.args.get('domain') domain = Domain('production') myDoit = DOIT(domain) hostList = myDoit.get_hosts_with_domain_name() domainList = myDoit.get_domain_list() return render_template('hosts.j2',title="Hosts",hostList=hostList,domainList=domainList)
def groups(): domain_name = request.args.get('domain') domain = Domain('production') myDoit = DOIT(domain) groupList = myDoit.get_groups_with_domain_name() domainList = myDoit.get_domain_list() return render_template('groups.j2',title="Groups",groupList=groupList,domainList=domainList)
def ansible_api(action): reqMethod = request.method domain_name = request.args.get('domain') host_name = request.args.get('host') response = Response() #contentType = request.headers['content-type'] domain = Domain(domain_name) myDoit = DOIT(domain) if action == 'list' and reqMethod == 'GET': if domain_name == None: abort(500) response.data = json.dumps(myDoit.get_inventory()) elif action == 'host' and reqMethod == 'GET': if domain_name == None: abort(500) if host_name == None: abort(500) response.data = json.dumps(myDoit.get_host_info(host_name)) response.headers['Content-Type'] = 'application/json' return response
def list_api(type,action): reqMethod = request.method domain_name = request.args.get('domain') group_name = request.args.get('group') response = Response() #contentType = request.headers['content-type'] domain = Domain(domain_name) myDoit = DOIT(domain) if type == 'groups': if action == 'list' and reqMethod =='GET': response.data = json.dumps(myDoit.get_groups_by_domain_list()) else: abort(500) elif type == 'domains': if action == 'list' and reqMethod =='GET': response.data = json.dumps(myDoit.get_domain_list()) else: abort(500) elif type == 'hosts': if action == 'list' and reqMethod =='GET': response.data = json.dumps(myDoit.get_host_list()) else: abort(500) elif type == 'group_vars': if action == 'list' and reqMethod =='GET': response.data = json.dumps(myDoit.get_group_vars(group_name)) else: abort(500) response.headers['Content-Type'] = 'application/json' return response
def index(): # Get domain count domain = Domain('production') myDoit = DOIT(domain) typeCounts = {'domains':0,'groups':0,'hosts':0} typeCounts['domains'] = myDoit.get_domain_count() typeCounts['groups'] = len(myDoit.get_groups_by_domain()) typeCounts['hosts'] = len(myDoit.get_hosts_by_domain()) return render_template('dashboard.j2', title="Dashboard",typeCounts=typeCounts)
def group_vars_by_group(group): domain_name = request.args.get('domain') domain = Domain(domain_name) myDoit = DOIT(domain) domainList = myDoit.get_domain_list() groupObj = myDoit.get_group_by_name(group) groupObj = myDoit.get_group_vars(groupObj) try: groupVars = groupObj.toDict()[group]['vars'] except KeyError: groupVars = {} title = "{0} Variables".format(group) return render_template('group_vars_list.j2',title=title,groupVars=groupVars,domainList=domainList,domain_name=domain_name)
def group_vars(): domain = Domain('production') myDoit = DOIT(domain) groupList = myDoit.get_groups_with_domain_name() domainList = myDoit.get_domain_list() return render_template('group_vars.j2',title="Group Variables",groupList=groupList,domainList=domainList)
def domains(): domain = Domain('production') myDoit = DOIT(domain) domainList = myDoit.get_domain_list() return render_template('domains.j2',title="Domains",domainList=domainList)
def api(type,name,action): reqMethod = request.method domain_name = request.args.get('domain') group_name = request.args.get('group') value = request.args.get('value') response = Response() #contentType = request.headers['content-type'] domain = Domain(domain_name) myDoit = DOIT(domain) #content = request.json['content'] if type == 'host': #handle host requests #require domain be set if domain_name == None: abort(500) if action == 'create' and reqMethod == 'POST': response.data = json.dumps(myDoit.add_host(name).toDict()) elif action == 'delete' and reqMethod == 'DELETE': response.data = json.dumps(myDoit.delete_host_by_name(name).toDict()) #elif action == 'update' and reqMethod == 'PUT': #response.data = json.dumps(myDoit.update_host_by_name().toDict()) elif action == 'list' and reqMethod == 'GET': response.data = json.dumps(myDoit.get_host_by_name(name).toDict()) else: abort(500) elif type == 'group': #handle group requests if action == 'create' and reqMethod == 'POST': response.data = json.dumps(myDoit.add_group(name).toDict()) elif action == 'delete' and reqMethod == 'DELETE': response.data = json.dumps(myDoit.delete_group_by_name(name).toDict()) #elif action == 'update' and reqMethod == 'PUT': #response.data = json.dumps(myDoit.update_host_by_name().toDict()) elif action == 'list' and reqMethod == 'GET': response.data = json.dumps(myDoit.get_group_by_name(name).toDict()) else: abort(500) elif type == 'domain': #handle domain requests if action == 'create' and reqMethod == 'POST': response.data = json.dumps(myDoit.add_domain(name).toDict()) elif action == 'delete' and reqMethod == 'DELETE': response.data = json.dumps(myDoit.delete_domain_by_name(name).toDict()) #elif action == 'update' and reqMethod == 'PUT': #response.data = json.dumps(myDoit.update_host_by_name().toDict()) elif action == 'list' and reqMethod == 'GET': response.data = json.dumps(myDoit.get_domain_by_name(name).toDict()) else: abort(500) elif type == 'group_var': # Add group var requires group query item if group_name == None: abort(500) #handle group_var requests if action == 'create' and reqMethod == 'POST': response.data = json.dumps(myDoit.add_group_var(name,value,group_name).toDict()) elif action == 'delete' and reqMethod == 'DELETE': response.data = json.dumps(myDoit.delete_group_var(name,group_name).toDict()) #elif action == 'update' and reqMethod == 'PUT': #response.data = json.dumps(myDoit.update_host_by_name().toDict()) elif action == 'list' and reqMethod == 'GET': response.data = json.dumps(myDoit.get_domain_by_name(name).toDict()) else: abort(500) elif type == 'host_var': #add host var api print 'host_var' response.headers['Content-Type'] = 'application/json' return response