Blog : HTTP API - PHP Exmaple
HTTP API - PHP Exmaple
From OneCMDB
// *************************************
// HTTP API php example script.
// Using the Basic Model and Demo data.
// *************************************
echo '';
echo '';
echo '
';
echo '';
echo '';
// *************************************
// Authenticate to onecmdb
// *************************************
$handle = fopen("http://localhost:8080/remote/http/auth?user=admin&pwd=123", "rb");
$token = stream_get_contents($handle);
print("Authenticated with token $token
");
// *************************************
// Query OneCMDB XML output
// *************************************
$query = "http://localhost:8080/remote/http/query?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']";
$handle = fopen("$query&outputFormat=xml&outputAttributes=*", "rb");
$result = stream_get_contents($handle);
print("Output 1
");
print("Query:
$query
");
print("Response
");
print("");
// *************************************
// Query OneCMDB CSV output
// *************************************
$query = "http://localhost:8080/remote/http/query?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']";
$handle = fopen("$query&outputFormat=csv&outputAttributes=SerialNumber%20IPAddress%20ConnectedTo", "rb");
$result = stream_get_contents($handle);
print("Output 2
");
print("Query:
$query
");
print("Response
");
print("");
// *************************************
// Query OneCMDB properties output
// *************************************
$query = "http://localhost:8080/remote/http/query?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']";
$handle = fopen("$query&outputFormat=property&outputAttributes=*", "rb");
$result = stream_get_contents($handle);
print("Output 3
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Modify ip address.
// *************************************
$query = "http://localhost:8080/remote/http/update?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']";
$handle = fopen("$query&inputAttributes=IPAddress=1.1.1.1", "rb");
$result = stream_get_contents($handle);
print("Update 1
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Create/Modify/Delete example
// *************************************
// *************************************
// Dump all status.
// *************************************
$query="http://localhost:8080/remote/http/query?auth=$token&path=/instance/OperationalStatus/*&outputFormat=csv&outputAttributes=Name";
$handle = fopen("$query", "rb");
$result = stream_get_contents($handle);
print("All Status
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Create new status instance
// *************************************
$query = "http://localhost:8080/remote/http/create?auth=$token&path=/instance/OperationalStatus/status-new&inputAttributes=Name=New%20Test%20Status;icon=dummy";
$handle = fopen("$query", "rb");
$result = stream_get_contents($handle);
print("Create new Status
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Dump all status.
// *************************************
$query="http://localhost:8080/remote/http/query?auth=$token&path=/instance/OperationalStatus/*&outputFormat=csv&outputAttributes=Name";
$handle = fopen("$query", "rb");
$result = stream_get_contents($handle);
print("All Status
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Modify status on server.
// *************************************
$query = "http://localhost:8080/remote/http/update?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']&inputAttributes=Status=[/instance/OperationalStatus/*[Name/asString='New%20Test%20Status']]";
$handle = fopen("$query", "rb");
$result = stream_get_contents($handle);
print("Update Status
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Show Server
// *************************************
$query = "http://localhost:8080/remote/http/query?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']";
$handle = fopen("$query&outputFormat=csv&outputAttributes=SerialNumber%20IPAddress%20ConnectedTo%20Status", "rb");
$result = stream_get_contents($handle);
print("Show updated Server
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Delete new status
// *************************************
$query="http://localhost:8080/remote/http/delete?auth=$token&path=/instance/OperationalStatus/status-new";
$handle = fopen("$query", "rb");
$result = stream_get_contents($handle);
print("Delete new status
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Dump all status.
// *************************************
$query="http://localhost:8080/remote/http/query?auth=$token&path=/instance/OperationalStatus/*&outputFormat=csv&outputAttributes=Name";
$handle = fopen("$query", "rb");
$result = stream_get_contents($handle);
print("All Status
");
print("Query:
$query
");
print("Response
");
print("");;
// *************************************
// Show Sever Status
// *************************************
$query = "http://localhost:8080/remote/http/query?auth=$token&path=/instance/Server/*[SerialNumber/asString='ASDF-2342424']";
$handle = fopen("$query&outputFormat=csv&outputAttributes=SerialNumber%20IPAddress%20ConnectedTo%20Status", "rb");
$result = stream_get_contents($handle);
print("Show updated Status
");
print("Query:
$query
");
print("Response
");
print("");;
echo '';
echo '';
?>
Retrieved from "http://www.onecmdb.org/wiki/index.php?title=HTTP_API_-_PHP_Exmaple"