Skip to content

Instantly share code, notes, and snippets.

@eliranmal
Created October 9, 2012 13:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eliranmal/3858757 to your computer and use it in GitHub Desktop.
Save eliranmal/3858757 to your computer and use it in GitHub Desktop.
Cloudify REST API documentation
/**
* Cloudify REST API documentation
*
* Table of Contents:
* 1. Reset Styles
* 2. Baseline (Default) Styles
* 3. Helper Classes
* 4. Custom Containers
*
* Used colors:
* #edf7fc
* #5086ab
* #007cbf
*
*/
/*
* 1. Reset Styles
*/
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset, img {
border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
font-style: normal;
font-weight: normal;
}
ol, ul, li {
list-style: none;
list-style-type: none;
}
caption, th {
text-align: left;
}
h1, h2, h3, h4, h5, h6, th, td {
font-size: 100%;
font-weight: normal;
}
q:before, q:after {
content: '';
}
abbr, acronym {
border: 0;
}
link, a {
text-decoration: none;
}
/* HTML 5 elements as block-level for consistent styling */
article, aside, figure, footer, header, hgroup, menu, nav, section {
display: block;
}
/*
* 2. Baseline (Default) Styles
*/
body {
min-width: 950px;
width: 92%;
margin-left: 4%;
margin-right: 4%;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
line-height: 1.4;
background-color: #edf7fc;
color: #333;
}
h1,h2,h3,h4,h5,h6 {
padding-top: .8em;
padding-bottom: .2em;
line-height: 1;
}
h1 {
padding-top: .9em;
padding-bottom: .3em;
line-height: 1.4;
font-size: 2.8em;
color: #164b8a;
text-shadow: 1px 1px 0 #fff;
}
h2 {
font-size: 1.6em;
color: #619ee7;
}
h3 {
font-size: 1.2em;
font-weight: bold;
color: #0a66a3;
}
h4 {
font-size: 1em;
font-weight: bold;
color: #000;
}
h5 {
}
h6 {
}
div, p, ul, ol, dl, table {
margin-bottom: .5em;
}
a:link, a:visited, a:hover, a:active, a:focus {
color: #4488d5;
}
a:hover, a:active, a:focus {
border-bottom-style: solid;
border-bottom-width: 1px;
}
ol, ul, li {
list-style: circle;
list-style-type: circle;
list-style-position: inside;
}
li {
margin-left: .7em;
}
table {
width: 100%;
margin: 0 auto 1em;
}
table caption {
padding: .4em 0;
font: 1.25em Arial, Helvetica, sans-serif;
color: #619ee7;
}
table th,
table td {
padding: .2em .4em;
background-color: #fff;
border: 1px dashed #aaa;
}
table th {
padding: .4em;
font-weight: bold;
}
em {
font-style: italic;
}
strong {
font-weight: bold;
}
/*
* 3. Helper Classes
*/
.permalink {
position: relative;
line-height: 1.2;
word-break: break-all;
}
.permalink:hover:after {
content: '\00B6';
position: absolute;
bottom: .4em;
right: -1.5em;
width: 20px;
height: 20px;
color: #007cbf;
}
a.permalink {
border-bottom: 0 none !important;
color: #619ee7 !important;
}
/* layout */
.separator {
position: relative;
height: 1px;
background-color: #c8d9ea;
margin-top: 1.4em;
margin-bottom: 1em;
}
/*
* 4. Custom Containers
*/
.panel {
border: 1px dashed #aaa;
border-radius: 8px;
}
.panelHeader,
.panelContent {
margin: 0;
}
.panelHeader {
padding: .3em .6em;
font-weight: bold;
background-color: #eee;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
}
.panelContent {
padding: .3em .6em;
background-color: #fff;
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}
.code {
font: normal 100%/1.4em consolas, courier-new, monospace;
}
.header p {
padding-left: 1.4em;
padding-right: 1.4em;
}
.excerpt {
font-weight: bold;
font-style: italic;
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Cloudify REST API</title>
<link href="restdoclet.css" media="screen" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="header">
<h1>ServiceController</h1>
<p class="excerpt">
Mapping of URIs that begin with /service
</p>
</div>
<div class="separator"></div>
<h2 id="REST_API-/service/applications"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications">/service/applications</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Creates and returns a map containing all of the deployed application names.
</p>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/applications
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : [ "petclinic", "travel" ]
}</pre>
</div>
</div>
<p>
In the example, the deployed applications in the service grid are petclinic and travel
</p>
<ul>
<li>
Returns "200 OK".
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services">/service/applications/{applicationName}/services</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Creates and returns a map containing all of the deployed service names installed under a specific application
context.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/applications/{applicationName}/services
</div>
<div class="panelContent">
<pre class="code">{
"status" : "sucess",
"response" : [ "service1", "service2" ]
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_app.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/addinstance"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/addinstance">/service/applications/{applicationName}/services/{serviceName}/addinstance</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<p>
Increments the Processing unit instance number of the specified service.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name where the service resides</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.util.Map</td>
<td>params</td>
<td>map that holds a timeout value for this action</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/address/{hostAddress}/tail"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/address/{hostAddress}/tail">/service/applications/{applicationName}/services/{serviceName}/address/{hostAddress}/tail</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Retrieves the tail of a service log. This method uses the service name and the instance host address to retrieve
the the instance log tail. Important: a machine might hold more than one service instance. In such a scenario,
only one of the service instance logs will be tailed and returned.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>hostAddress</td>
<td>The service instance's host address</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>numLines</td>
<td>The number of lines to tail</td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a GET on /service/applications/{applicationName}/services/{serviceName}/address/{hostAddress}/tail
</div>
<div class="panelContent">
<pre class="code">{
"numLines" : 10
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/applications/{applicationName}/services/{serviceName}/address/{hostAddress}/tail
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : "numLines lines of log tail"
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/beans/{beanName}/invoke"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/beans/{beanName}/invoke">/service/applications/{applicationName}/services/{serviceName}/beans/{beanName}/invoke</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<p>
Invokes a custom command on all of the specified service instances.
Custom parameters are passed as a map using
the POST method and contain the command name and parameter values for the specified command.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>beanName</td>
<td>deprecated</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.util.Map</td>
<td>params</td>
<td>The command parameters</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a POST on /service/applications/{applicationName}/services/{serviceName}/beans/{beanName}/invoke
</div>
<div class="panelContent">
<pre class="code">{
"param1 name" : "param1",
"param2 name" : "param2"
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a POST on /service/applications/{applicationName}/services/{serviceName}/beans/{beanName}/invoke
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"instance #1@127.0.0.1" : {
"Invocation_Instance_Name" : "instance #1@127.0.0.1",
"Invocation_Instance_ID" : "1",
"Invocation_Result" : "the invocation result as specified in the service file",
"Invocation_Success" : "true",
"Invocation_Exception" : null,
"Invocation_Command_Name" : "custom command name"
}
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
<li>
Returns "200 OK" - no_processing_unit_instances_found_for_invocation.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/instances"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/instances">/service/applications/{applicationName}/services/{serviceName}/instances</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Creates a list of all service instances in the specified application.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/applications/{applicationName}/services/{serviceName}/instances
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"1" : "12.7.0.0.1"
}
}</pre>
</div>
</div>
<p>
In the example instance id is 1 and the HOST is 127.0.0.1
</p>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/beans/{beanName}/invoke"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/beans/{beanName}/invoke">/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/beans/{beanName}/invoke</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<p>
Invokes a custom command on a specific service instance. Custom parameters are passed as a map using POST method
and contain the command name and parameter values for the specified command.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance number to be invoked</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>beanName</td>
<td>depreciated</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.util.Map</td>
<td>params</td>
<td>a Map containing the result of each invocation on a service instance</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a POST on /service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/beans/{beanName}/invoke
</div>
<div class="panelContent">
<pre class="code">{
"param1 name" : "param1",
"param2 name" : "param2"
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a POST on /service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/beans/{beanName}/invoke
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"Invocation_Instance_Name" : "instance #1@127.0.0.1",
"Invocation_Instance_ID" : "1",
"Invocation_Result" : "the invocation result as specified in the service file",
"Invocation_Success" : "true",
"Invocation_Exception" : null,
"Invocation_Command_Name" : "custom command name"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
<li>
Returns "200 OK" - service_instance_unavailable.
</li>
<li>
Returns "200 OK" - failed_to_invoke_instance.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/remove"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/remove">/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/remove</a></h2>
<h3>HTTP Methods</h3>
<h4>DELETE</h4>
<p>
Decrements the Processing unit instance number of the specified service.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name where the service resides</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>the service instance ID to remove</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
<li>
Returns "200 OK" - service_instance_unavailable.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/tail"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/tail">/service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/tail</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Retrieves the tail of a service log. This method used the service name and instance id To retrieve the the
instance log tail.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>numLines</td>
<td>The number of lines to tail</td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a GET on /service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/tail
</div>
<div class="panelContent">
<pre class="code">{
"numLines" : 10
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/applications/{applicationName}/services/{serviceName}/instances/{instanceId}/tail
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : "log tail from container"
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/tail"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/tail">/service/applications/{applicationName}/services/{serviceName}/tail</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Retrieves the log tail from all of the specified service's instances. To retrieve the the instance log tail.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>numLines</td>
<td>The number of lines to tail</td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a GET on /service/applications/{applicationName}/services/{serviceName}/tail
</div>
<div class="panelContent">
<pre class="code">{
"numLines" : 10
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/applications/{applicationName}/services/{serviceName}/tail
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : "instance log tail"
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/timeout/{timeoutInMinutes}/undeploy"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/timeout/{timeoutInMinutes}/undeploy">/service/applications/{applicationName}/services/{serviceName}/timeout/{timeoutInMinutes}/undeploy</a></h2>
<h3>HTTP Methods</h3>
<h4>DELETE</h4>
<p>
undeploys the specified service of the specific application.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>timeoutInMinutes</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a DELETE on /service/applications/{applicationName}/services/{serviceName}/timeout/{timeoutInMinutes}/undeploy
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"lifecycleEventContainerID" : "bfae0a89-b5a0-4250-b393-6cedbf63ac76"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}">/service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>timeout</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>templateName</td>
<td></td>
<td>false</td>
<td>in request's parameters</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>zone</td>
<td></td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
<tr>
<td>org.springframework.web.multipart.MultipartFile</td>
<td>srcFile</td>
<td></td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
<tr>
<td>org.springframework.web.multipart.MultipartFile</td>
<td>propsFile</td>
<td></td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a POST on /service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}
</div>
<div class="panelContent">
<pre class="code">{
"zone" : 5,
"template" : "SMALL_LINUX",
"file" : "packaged service file",
"props" : "packaged properties file"
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a POST on /service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : "b41febb7-f48e-48d4-b14a-a6000d402d93"
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "500 Internal Server Error" - TimeoutException.
</li>
<li>
Returns "500 Internal Server Error" - PackagingException.
</li>
<li>
Returns "500 Internal Server Error" - IOException.
</li>
<li>
Returns "500 Internal Server Error" - AdminException.
</li>
<li>
Returns "500 Internal Server Error" - DSLException.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}/set-instances"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}/set-instances">/service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}/set-instances</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>timeout</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>count</td>
<td></td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
<tr>
<td>boolean</td>
<td>locationAware</td>
<td></td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a POST on /service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}/set-instances
</div>
<div class="panelContent">
<pre class="code">{
"count" : 1,
"location-aware" : true
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a POST on /service/applications/{applicationName}/services/{serviceName}/timeout/{timeout}/set-instances
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"lifecycleEventContainerID" : "eventContainerID"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_service.
</li>
<li>
Returns "200 OK" - service_not_elastic.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/timeout/{timeoutInMinutes}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/timeout/{timeoutInMinutes}">/service/applications/{applicationName}/timeout/{timeoutInMinutes}</a></h2>
<h3>HTTP Methods</h3>
<h4>DELETE</h4>
<p>
Uninstalls an application by uninstalling all of its services. Order of uninstallations is determined by the
context property 'com.gs.application.services' which should exist in all service PUs.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>timeoutInMinutes</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a DELETE on /service/applications/{applicationName}/timeout/{timeoutInMinutes}
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"lifecycleEventContainerID" : "bfae0a89-b5a0-4250-b393-6cedbf63ac76"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - failed_to_locate_app.
</li>
</ul>
<h2 id="REST_API-/service/applications/{applicationName}/timeout/{timeout}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/applications/{applicationName}/timeout/{timeout}">/service/applications/{applicationName}/timeout/{timeout}</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<p>
Deploys an application to the service grid.
An application is consisted of a group of services that might have dependencies between themselves.
The application will be deployed according to the dependency order defined in
the application file and deployed asynchronously if possible.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>timeout</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>org.springframework.web.multipart.MultipartFile</td>
<td>srcFile</td>
<td>The compressed application file</td>
<td>true</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a POST on /service/applications/{applicationName}/timeout/{timeout}
</div>
<div class="panelContent">
<pre class="code">{
"applicationName" : "petclinic",
"srcFile" : "packaged application file"
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a POST on /service/applications/{applicationName}/timeout/{timeout}
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"srviceOrder" : "[mongod,mongoConfig,apacheLB,mongos,tomcat]",
"lifecycleEventContainerID" : "07db2a16-62f8-4669-ac41-ed9afe3a3b02"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "500 Internal Server Error" - DSLException.
</li>
<li>
Returns "500 Internal Server Error" - IOException.
</li>
</ul>
<h2 id="REST_API-/service/cloudcontroller/deploy"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/cloudcontroller/deploy">/service/cloudcontroller/deploy</a></h2>
<h3>HTTP Methods</h3>
<h4>POST</h4>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td></td>
<td>false</td>
<td>in request's parameters</td>
<td>default</td>
</tr>
<tr>
<td>org.springframework.web.multipart.MultipartFile</td>
<td>srcFile</td>
<td></td>
<td>false</td>
<td>in request's parameters</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/service/dump/machine/{ip}/"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/dump/machine/{ip}/">/service/dump/machine/{ip}/</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Get the dump of a given machine, by its ip.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>ip</td>
<td></td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>processors</td>
<td>The list of processors to be used</td>
<td>false</td>
<td>in request's parameters</td>
<td>summary, network, thread, log</td>
</tr>
<tr>
<td>long</td>
<td>fileSizeLimit</td>
<td></td>
<td>false</td>
<td>in request's parameters</td>
<td>5242880</td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a GET on /service/dump/machine/{ip}/
</div>
<div class="panelContent">
<pre class="code">{
"fileSizeLimit" : 50000000,
"processors" : "summary, network, log"
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/dump/machine/{ip}/
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"&lt;machine's ip&gt;" : "&lt;byte array of the dump file&gt;"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - machine_not_found.
</li>
<li>
Returns "200 OK" - dump_file_too_large.
</li>
<li>
Returns "200 OK" - Failed to generate dump.
</li>
<li>
Returns "500 Internal Server Error" - IOException.
</li>
</ul>
<h2 id="REST_API-/service/dump/machines"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/dump/machines">/service/dump/machines</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Get the dump of all the machines.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>processors</td>
<td>The list of processors to be used</td>
<td>false</td>
<td>in request's parameters</td>
<td>summary, network, thread, log</td>
</tr>
<tr>
<td>long</td>
<td>fileSizeLimit</td>
<td></td>
<td>false</td>
<td>in request's parameters</td>
<td>5242880</td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a GET on /service/dump/machines
</div>
<div class="panelContent">
<pre class="code">{
"fileSizeLimit" : 50000000,
"processors" : "summary, thread, log"
}</pre>
</div>
</div>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/dump/machines
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"192.168.2.100" : "&lt;byte array of the dump file&gt;",
"192.168.2.200" : "&lt;byte array of the dump file&gt;",
"192.168.2.300" : "&lt;byte array of the dump file&gt;"
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - machine_not_found.
</li>
<li>
Returns "200 OK" - dump_file_too_large.
</li>
<li>
Returns "200 OK" - Failed to generate dump.
</li>
<li>
Returns "500 Internal Server Error" - IOException.
</li>
</ul>
<h2 id="REST_API-/service/dump/processing-units/"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/dump/processing-units/">/service/dump/processing-units/</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Get the dump of all the processing units.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>long</td>
<td>fileSizeLimit</td>
<td></td>
<td>false</td>
<td>in request's parameters</td>
<td>5242880</td>
</tr>
</table>
<h3>Request</h3>
<div class="panel">
<div class="panelHeader">
Request body for a GET on /service/dump/processing-units/
</div>
<div class="panelContent">
<pre class="code">{
"fileSizeLimit" : 50000000
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - dump_file_too_large.
</li>
<li>
Returns "200 OK" - Failed to generate dump.
</li>
<li>
Returns "500 Internal Server Error" - IOException.
</li>
</ul>
<h2 id="REST_API-/service/lifecycleEventContainerID/{lifecycleEventContainerID}/cursor/{cursor}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/lifecycleEventContainerID/{lifecycleEventContainerID}/cursor/{cursor}">/service/lifecycleEventContainerID/{lifecycleEventContainerID}/cursor/{cursor}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Returns the lifecycle events according to the lifecycleEventContainerID id that is returned as a response when
installing/un-installing a service/application and according to the cursor position.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>lifecycleEventContainerID</td>
<td>the unique task ID</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>cursor</td>
<td>event entry cursor</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/lifecycleEventContainerID/{lifecycleEventContainerID}/cursor/{cursor}
</div>
<div class="panelContent">
<pre class="code">{
"status" : "success",
"response" : {
"isDone" : false,
"lifecycleLogs" : [ "[service1] Deployed 1 planned 1", "Service &#92;&#34;service1&#92;&#34; successfully installed (1 Instances)" ],
"PollingTaskExpirationTimeMillis" : "575218",
"curserPos" : 12
}
}</pre>
</div>
</div>
<ul>
<li>
Returns "200 OK".
</li>
<li>
Returns "200 OK" - Lifecycle events container with UUID ... does not exist or expired.
</li>
<li>
Returns "200 OK" - execution exception message.
</li>
</ul>
<h2 id="REST_API-/service/testrest"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/service/testrest">/service/testrest</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Tests whether the restful service is able to locate the service grid using the admin API.
</p>
<p>
The admin API searches for a LUS (Lookup Service) according to the lookup groups/locators defined.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>lifecycleEventContainerID</td>
<td>the unique task ID</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>cursor</td>
<td>event entry cursor</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h3>Response</h3>
<div class="panel">
<div class="panelHeader">
Response to a GET on /service/testrest
</div>
<div class="panelContent">
<pre class="code">{
"status" : "error",
"response" : {
"error" : "failed_to_locate_lookup_service",
"error_args" : [ [ "localcloud" ], [ "jini://127.0.0.1:4172/" ] ]
}
}</pre>
</div>
</div>
<p>
response status is success if the restful service located the service grid, otherwise it is error and the response's body will contain error description, the groups and locators.
</p>
<ul>
<li>
Returns "200 OK" - success.
</li>
<li>
Returns "200 OK" - failed_to_locate_lookup_service.
</li>
</ul>
<div class="header">
<h1>AttributesController</h1>
<p class="excerpt">
Mapping of URIs that begin with /attributes
</p>
</div>
<p class="separator"></p>
<h2 id="REST_API-/attributes/applications/{applicationName}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/applications/{applicationName}">/attributes/applications/{applicationName}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets multiple attributes' values, scope: application attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets multiple attributes' values, scope: application attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.util.Map</td>
<td>attributesMap</td>
<td>a Map containing the attributes' names (keys) and values to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes multiple attributes, scope: application attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/applications/{applicationName}/{attributeName}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/applications/{applicationName}/{attributeName}">/attributes/applications/{applicationName}/{attributeName}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets an attribute value, scope: application attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name (key) of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets an attribute value, scope: application attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.Object</td>
<td>attributeValue</td>
<td>The value to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes an attribute value, scope: application attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/globals"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/globals">/attributes/globals</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets multiple attributes' values, scope: global attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets multiple attributes' values, scope: global attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.util.Map</td>
<td>attributesMap</td>
<td>a Map containing the attributes' names (keys) and values to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes multiple attributes, scope: global attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.util.Map</td>
<td>attributesMap</td>
<td>a Map containing the attributes' names (keys) and values to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/globals/{attributeName}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/globals/{attributeName}">/attributes/globals/{attributeName}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets an attribute value, scope: global attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name (key) of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets an attribute value, scope: global attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.Object</td>
<td>attributeValue</td>
<td>The value to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes an attribute, scope: global attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to delete</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/instances/{applicationName}/{serviceName}/{instanceId}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/instances/{applicationName}/{serviceName}/{instanceId}">/attributes/instances/{applicationName}/{serviceName}/{instanceId}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets multiple attributes' values, scope: instance attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets multiple attributes' values, scope: instance attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.util.Map</td>
<td>attributesMap</td>
<td>a Map containing the attributes' names (keys) and values to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes multiple attributes, scope: instance attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/instances/{applicationName}/{serviceName}/{instanceId}/{attributeName}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/instances/{applicationName}/{serviceName}/{instanceId}/{attributeName}">/attributes/instances/{applicationName}/{serviceName}/{instanceId}/{attributeName}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets an attribute value, scope: instance attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name (key) of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets an attribute value, scope: instance attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.Object</td>
<td>attributeValue</td>
<td>The value to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes an attribute value, scope: instance attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>int</td>
<td>instanceId</td>
<td>The service instance id</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/services/{applicationName}/{serviceName}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/services/{applicationName}/{serviceName}">/attributes/services/{applicationName}/{serviceName}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets multiple attributes' values, scope: service attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets multiple attributes' values, scope: service attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.util.Map</td>
<td>attributesMap</td>
<td>a Map containing the attributes' names (keys) and values to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes multiple attributes, scope: service attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/attributes/services/{applicationName}/{serviceName}/{attributeName}"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/attributes/services/{applicationName}/{serviceName}/{attributeName}">/attributes/services/{applicationName}/{serviceName}/{attributeName}</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
Gets an attribute value, scope: service attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name (key) of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h4>POST</h4>
<p>
Sets an attribute value, scope: service attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.Object</td>
<td>attributeValue</td>
<td>The value to set</td>
<td>true</td>
<td>in request's body</td>
<td></td>
</tr>
</table>
<h4>DELETE</h4>
<p>
Deletes an attribute value, scope: service attributes.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<div class="header">
<h1>AdminAPIController</h1>
<p class="excerpt">
Mapping of URIs that begin with /admin/*
</p>
<p>
Spring MVC controller for the RESTful Admin API
via a reflection-based implementation of dispatcher pattern
- Accepts a generic uri path which denotes a specific Admin request
- Parses and walks through the uri by activating getter methods
to "dig into" the admin object hierarchy
- Results marshaled as a generic document serialized to a JSON object
Usage examples:
http://localhost:8099/admin/ElasticServiceManagers/Managers
http://localhost:8099/admin/GridServiceManagers/size
http://localhost:8099/admin/Spaces
http://localhost:8099/admin/VirtualMachines/VirtualMachines
http://localhost:8099/admin/VirtualMachines/VirtualMachines/3
http://localhost:8099/admin/VirtualMachines/VirtualMachines/3/Statistics/Machine/GridServiceAgents
DETAILS: http://localhost:8099/admin/GridServiceManagers/Uids/49a6e2ef-5fd3-471a-94ff-c961a52ffd0f
STATIST: http://localhost:8099/admin/GridServiceManagers/Uids/49a6e2ef-5fd3-471a-94ff-c961a52ffd0f
Note that the wiring and marshaling services are provided by Spring framework
Note 2: It is highly recommended that results will be viewed
on FF with JsonView plugin
</p>
</div>
<p class="separator"></p>
<h2 id="REST_API-/admin/*/"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/admin/*/">/admin/*/</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
redirects to index view.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
<h2 id="REST_API-/admin/*/**"><a class="permalink" title="Get a permanent link to this section" href="#REST_API-/admin/*/**">/admin/*/**</a></h2>
<h3>HTTP Methods</h3>
<h4>GET</h4>
<p>
REST GET requests handler wrapper.
</p>
<h3>Parameters</h3>
<table>
<tr>
<th>Type</th>
<th>Name</th>
<th>Decription</th>
<th>Mandatory</th>
<th>Location</th>
<th>Default value</th>
</tr>
<tr>
<td>java.lang.String</td>
<td>applicationName</td>
<td>The application name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>serviceName</td>
<td>The service name</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
<tr>
<td>java.lang.String</td>
<td>attributeName</td>
<td>The name of the attribute to get</td>
<td>true</td>
<td>in path</td>
<td></td>
</tr>
</table>
</body>
</html>
{"view":"split-vertical","fontsize":"100","seethrough":"","prefixfree":"1","page":"all"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment