Amabri python client can be used make use of Ambari APIs
from ambari_client.ambari_api import AmbariClient
client = AmbariClient("localhost", 8080, "admin", "admin", version=1)
print client.version
print client.host_url
print"\n"
######################################
- High level
######################################
all_clusters = client.get_all_clusters()
print all_clusters.to_json_dict()
print all_clusters
all_hosts = client.get_all_hosts()
print all_hosts
print all_hosts.to_json_dict()
print"\n"
######################################
- going into a specific cluster
######################################
cluster = client.get_cluster('test6')
print cluster
print cluster.to_json_dict()
print"\n"
clusters_hosts = cluster.get_all_hosts()
print clusters_hosts.to_json_dict()
print clusters_hosts
print"\n"
r01wn01_host = cluster.get_host('r01wn01')
print r01wn01_host
print r01wn01_host.clusterRef.cluster_name
print r01wn01_host.to_json_dict()
print"\n"
r01wn01_host_comp = r01wn01_host.get_host_components()
print r01wn01_host_comp
print r01wn01_host_comp.to_json_dict()
print"\n"
nn = r01wn01_host.get_host_component("NAMENODE")
print nn
print nn.to_json_dict()
print nn.clusterRef.cluster_name
print"\n"
serviceList = cluster.get_all_services()
print serviceList
print serviceList.to_json_dict()
print"\n"
ganglia = cluster.get_service("GANGLIA")
print ganglia
print ganglia.to_json_dict()
print"\n"
ganglia_comps = ganglia.get_service_components()
print ganglia_comps
print ganglia_comps.to_json_dict()
print"\n"
ganglia_comp1 = ganglia.get_service_component('GANGLIA_MONITOR')
print ganglia_comp1
print ganglia_comp1.to_json_dict()
print ganglia_comp1.clusterRef.cluster_name
print"\n"