|
以下の例では、BFC API で認証セッションを作成する方法を示します。
Curl の例:
%export BFC_HOST=10.10.75.44 %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
Python の例:
from httplib import HTTPSConnection import json bfcHost = "10.10.75.44" 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
以下の例では、1 セットのグリッドに関する情報を取得する方法を示します。
Curl の例:
curl -k -v https://$BFC_HOST:8443/BFC/grids \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
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
以下の例では、単一のグリッドに関する情報を取得する方法を示します。
Curl の例:
curl -k -v https://$BFC_HOST:8443/BFC/grids/$GRID_NAME \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
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
以下の例では、BFC API でグリッドを作成する方法を示します。
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\"}}"
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'
グリッドでは、start、stop、reboot、clearFailure、applyHotfixes、removeNodes の操作を実行できます。 以下の例では、BFC API でグリッドを開始する方法を示します。 開始パラメータを他のグリッド操作用の別のパラメータで置換します。
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"
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'
以下の例では、グリッドの更新例を示します。説明を変更し、xen ターゲット ノード数を 1 から 2 に変更します。
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\":[]}}}}"
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'
以下の例では、BFC API を使用して、グリッドを削除する方法を示します。
Curl の例:
curl -k -v -X DELETE https://$BFC_HOST:8443/BFC/grids/$GRID_NAME \ -H "Content-Type:application/json" \ -H "Authorization:$BFC_SESSION"
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 © 2012 CA. All rights reserved. |
|