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"