Die folgenden Beispiele zeigen, wie eine Authentifizierungssitzung in der BFC-API erstellt wird.
Beispiel für Curl:
%export BFC_HOST=10.10.x.x %curl -k https://$BFC_HOST:8443/BFC/1.0/login -X POST \ -d "{\"username\":\"core/admin\",\"password\":\"changeme\"}" \ -H "Content-Type:application/json" RESPONSE= <session token> i.e. "d147eb4031217717c5af68edf33cd40c"% %export BFC_SESSION= d147eb4031217717c5af68edf33cd40c
Beispiel für Python:
from httplib import HTTPSConnection import json bfcHost = "10.10.x.x" conn = HTTPSConnection(bfcHost + ':8443') conn.connect() conn.request(method='POST', url='/BFC/1.0/login', body='{"username":"admin","password":"changeme"}', headers={'Content-Type':'application/json'}) session = json.loads(conn.getresponse().read()) print session
Die folgenden Beispiele zeigen, wie Informationen zu einem Satz von Grids abgerufen werden.
Beispiel für Curl:
curl -k -v https://$BFC_HOST:8443/BFC/grids \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
Beispiel für Python:
session = get_session() conn = HTTPSConnection(bfcHost + ':8443') conn.connect() conn.request(method='GET', url='/BFC/grids', headers={'Content-Type':'application/json', 'Authorization':session}) grids = json.loads(conn.getresponse().read()) print grids
Die folgenden Beispiele zeigen, wie Informationen zu einem einzelnen Grid abgerufen werden.
Beispiel für Curl:
curl -k -v https://$BFC_HOST:8443/BFC/grids/$GRID_NAME \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
Beispiel für Python:
session = get_session() gridName = 'productionApiTest' conn = HTTPSConnection(bfcHost + ':8443') conn.connect() conn.request(method='GET', url='/BFC/grids/' + gridName, headers={'Content-Type':'application/json', 'Authorization':session}) grid = json.loads(conn.getresponse().read()) print grid
Die folgenden Beispiele zeigen, wie ein Grid in der BFC-API erstellt wird.
Beispiel für Curl:
curl -k -v -X POST "https://$BFC_HOST:8443/BFC/grids?numAppIPs=3" \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION" \ -d "{\"grid\":{\"name\":\"productionApiTest\", \"xen_config\":{\"grid_server_configuration\":{\"min\":1, \"target\":1, \"max\":1, \"selection_criteria\":[]}}, \"grid_controller_user\":\"cadev@ca.com\", \"grid_controller_password\":\"myPass\", \"description\":\"Xen grid for demo\"}}"
Beispiel für Python:
session = get_session() conn = HTTPSConnection(bfcHost + ':8443') conn.connect() conn.request(method='POST', url='/BFC/grids?numAppIPs=2', headers={'Content-Type':'application/json', 'Authorization':session}, body = json.dumps({"grid":{"name":"productionApiTest", "xen_config":{"grid_server_configuration":{ "min":1, "target":1, "max":2, "selection_criteria":[]}}, "grid_controller_user":"cadev@ca.com", "grid_controller_password":"c0tr011er", "description":"Xen grid for demo"}})) resp = conn.getresponse() if resp.status > 201: print 'Failed grid create - ' print json.loads(resp.read()) else: print 'Grid created'
Sie können die folgenden Vorgänge für das Grid ausführen: start, stop, reboot, clearFailure, applyHotfixes, removeNodes. Die folgenden Beispiele zeigen, wie ein Grid in der BFC-API gestartet wird. Ersetzen Sie den Parameter start für die anderen Grid-Vorgänge durch einen anderen Parameter.
Beispiel für Curl:
curl -k -v -X POST https://$BFC_HOST:8443/BFC/grids/$GRID_NAME/operations/start \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
Beispiel für Python:
session = get_session() conn = HTTPSConnection(bfcHost + ':8443') gridName = 'productionApiTest' operation = 'start' conn.connect() conn.request(method='POST', url='/BFC/grids/' + gridName + "/operations/" + operation , headers={'Content-Type':'application/json', 'Authorization':session}) resp = conn.getresponse() if resp.status > 202: print 'Failed grid operation - ' print json.loads(resp.read()) else: print 'Operation successful'
Die folgenden Beispiele zeigen eine Grid-Aktualisierung, bei der die Beschreibung sowie die Anzahl der Xen-Zielknoten von 1 in 2 geändert wird.
Beispiel für Curl:
curl -k -v -X PUT https://$BFC_HOST:8443/BFC/grids/$GRID_NAME \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION" \ -d "{\"grid\":{\"description\":\"New Description\", \"xen_config\":{\"grid_server_configuration\":{\"min\":1, \"target\":2, \"max\":2, \"selection_criteria\":[]}}}}"
Beispiel für Python:
session = get_session() conn = HTTPSConnection(bfcHost + ':8443') gridName = 'productionApiTest' conn.connect() conn.request(method='PUT', url='/BFC/grids/' + gridName, headers={'Content-Type':'application/json', 'Authorization':session}, body = json.dumps({"grid":{ "xen_config":{"grid_server_configuration":{ "min":1, "target":2, "max":2, "selection_criteria":[]}}, "description":"New Description"}})) resp = conn.getresponse() if resp.status > 201: print 'Failed grid create - ' print json.loads(resp.read()) else: print 'Grid created'
Die folgenden Beispiele zeigen, wie ein Grid mithilfe der BFC-API gelöscht wird.
Beispiel für Curl:
curl -k -v -X DELETE https://$BFC_HOST:8443/BFC/grids/$GRID_NAME \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
Beispiel für Python:
session = get_session() gridName = 'productionApiTest' conn = HTTPSConnection(bfcHost + ':8443') conn.connect() conn.request(method='DELETE', url='/BFC/grids/' + gridName, headers={'Content-Type':'application/json', 'Authorization':session}) resp = conn.getresponse() if resp.status > 202: print 'Failed grid delete - ' print json.loads(resp.read()) else: print 'Grid deleted'
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|