POST
REST API Reference: Deployments
=About This Document
This document, as well as the rest of the documents that make up the Mule Management Console REST API Reference Guide, are a technical reference only. This document does not provide contextual information such as instructions, use cases or scenarios. To understand this document, you should be familiar with MULE ESB, Deployments, and the REST API.
Assumptions:
-
Host: localhost
-
Port: 8080
-
Deployed app: mmc.war
-
User/Password: admin/admin
For a detailed description of the format used in this document, consult Content Organization and Conventions.
/api/deployments
CREATE |
Creates a new Deployment.
Request
JSON
{
"name":"Example",
"servers":
[
"local$26f2fea8-3b7c-45a7-84a8-d1509e73fca4"
],
"applications":
[
"local$75e22cd7-ce94-422a-9987-aa0403713e3e"
]
}
Key | Type | Summary | Child of |
---|---|---|---|
name |
String |
Name of the deployment to be created. Must be unique |
— |
servers |
Array |
List of server IDs |
— |
serverNames |
Array |
Names of target servers |
— |
clusters |
Array |
Names of target cluster IDs |
— |
clusterNames |
Array |
Names of target clusters |
— |
applications |
Array |
Version IDs of applications to be part of the deployment |
— |
applicationsNames |
Array |
Names of applications that will part of the deployment |
— |
Mule 3.3.0, 3.3.1: A Deployment request must have at least one defined target (server ID or name, or cluster ID or name), as well as at least one application or application name to be deployed, and the deployment name. Mule 3.3.2 and later: You cannot create a deployment using the server names and application names. Instead, use the server or application ID. |
Using curl on Windows
curl --basic -u admin:admin -d "{\"name\" : \"Example\" , \"serversNames\": [ \"mule0\" ], \"applications\": [ \"local$75e22cd7-ce94-422a-9987-aa0403713e3e\" ]}" --header "Content-Type: application/json" http://localhost:8080/mmc/api/deployments
Using curl on Linux
curl --basic -u admin:admin -d '{"name" : "Example" , "servers ": [ "local$26f2fea8-3b7c-45a7-84a8-d1509e73fca4" ], "applications": [ "local$75e22cd7-ce94-422a-9987-aa0403713e3e" ]}' --header 'Content-Type: application/json' http://localhost:8080/mmc/api/deployments
curl --basic -u admin:admin -d '{"name" : "ExampleDeployment" , "servers": [ "local$26f2fea8-3b7c-45a7-84a8-d1509e73fca4" ], "applications": [ "local$32bb47d3-d180-4bb9-8906-2378dad9ae21" ]}' --header 'Content-Type: application/json' http://localhost:8080/mmc-console-3.3.2/api/deployments
Response
JSON
{
"applications":
[
"local$1b8ee6e2-043c-403c-b404-af3aa74d6f92"
],
"clusterIds": [],
"clusterNames": [],
"href": "http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36",
"id": "local$97e3c184-09ed-423e-a5a5-9b94713a9e36",
"lastModified": "Mon, 5 Sep 2011 12:19:15.138 GMT",
"name": "Example",
"reconciled": false,
"servers":
[
"local$3a99adfe-e942-4b52-b082-1a351de01420"
],
"status": "UNDEPLOYED"
}
Key | Type | Summary | Child of |
---|---|---|---|
applications |
Array |
List of valid application version IDs to be assigned to the new deployment |
— |
clusterIds |
String |
List of cluster IDs used as deployment target |
— |
href |
String |
Full link to the resource |
— |
id |
String |
ID of the deployment |
— |
lastModified |
String |
Creation time-date |
— |
name |
String |
Name of the deployment to be created |
— |
reconciled |
Boolean |
Default value is false. A deployment is unreconciled when at least one server is down and/or at least one app has not been deployed on at least one server |
— |
servers |
String |
List of servers IDs used as deployment target |
— |
status |
String |
Deployed, Undeployed. When a Deployment is created, default value is Undeployed |
— |
Common Return codes
200 |
The request has been fulfilled and resulted in a new Deployment being created/ Deployment created with some errors |
400 |
Policies do not allow adding that deployment/Missing Deployment Name/Missing target/Missing application/Malformed new deployment request |
401 |
Invalid name |
402 |
Irrecoverable errors when creating the Deployment |
404 |
Fatal Error: Deployment created but incorrectly persisted |
409 |
A deployment with that name already exists |
500 |
Fatal Error |
MMC version
From |
3.2.2 |
GET |
LIST ALL |
Lists all available Deployments.
Request
Syntax
Key | Type | Summary | Child of |
---|---|---|---|
server |
String |
(Optional) ID of the server from which the deployments are listed. If not specified, results are not filtered |
— |
Using curl on Windows
curl --basic -u admin:admin http://localhost:8080/mmc/api/deploymentscurl --basic -u admin:admin http://localhost:8080/mmc/api/deployments?server=local$3a99adfe-e942-4b52-b082-1a351de01420
Using curl on Linux
curl --basic -u admin:admin http://localhost:8080/mmc/api/deploymentscurl --basic -u admin:admin 'http://localhost:8080/mmc/api/deployments?server=local$3a99adfe-e942-4b52-b082-1a351de01420'
Response
JSON
{
"data":
[
{
"applications":
[
"local$1b8ee6e2-043c-403c-b404-af3aa74d6f92"
],
"clusterIds": [],
"clusterNames": [],
"href": "http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36",
"id": "local$97e3c184-09ed-423e-a5a5-9b94713a9e36",
"lastModified": "Mon, 5 Sep 2011 12:19:150.138 GMT",
"name": "Example",
"reconciled": false,
"servers":
[
"local$3a99adfe-e942-4b52-b082-1a351de01420"
],
"status": "UNDEPLOYED"
}
],
"total": 1
}
Key | Type | Summary | Child of |
---|---|---|---|
total |
Integer |
Number of available deployments |
— |
data |
Array |
List containing information about each deployment |
— |
name |
String |
Name of the deployment |
data |
id |
String |
ID of the deployment |
data |
lastModified |
String |
Date indicating the last time the deployment was modified. The date format is: %day, %dayNumber %month %year %hour:%minutes:%seconds.%thousandths %timeZone |
data |
status |
String |
The current status of the deployment. Possible status values are: DEPLOYED, UNDEPLOYED, IN_PROGRESS, SUCCESSFUL, FAILED, and DELETING |
data |
href |
String |
Full link to the resource |
data |
servers |
Array |
Lists the IDs for all the servers assigned to the deployment |
data |
clusters |
Array |
Lists the IDs for all clusters assigned to the deployment |
data |
clustersNames |
String |
Lists all names of all clusters assigned to the deployment |
data |
reconciled |
Boolean |
Boolean value indicating the reconciled status of the deployment |
data |
applications |
Array |
Lists version IDs for all the applications assigned to the deployment |
data |
Common Return codes
200 |
The operation was successful |
404 |
A server with that ID was not found |
500 |
Fatal error |
MMC version
From |
3.2.2 |
/api/deployments/{deploymentId}
GET |
LIST |
Lists details for a specific Deployment.
Request
SYNTAX
Key | Type | Summary | Child of |
---|---|---|---|
deploymentId |
String |
ID of the deployment to be listed. Invoke LIST ALL to obtain it. |
— |
Using curl on Windows
curl --basic -u admin:admin http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36
Using curl on Linux
curl --basic -u admin:admin 'http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36'
Response
JSON
{
"data":
[
{
"applications":
[
"local$1b8ee6e2-043c-403c-b404-af3aa74d6f92"
],
"clusterIds": [],
"clusterNames": [],
"href": "http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36",
"id": "local$97e3c184-09ed-423e-a5a5-9b94713a9e36",
"lastModified": "Mon, 5 Sep 2011 12:19:15.138 GMT",
"name": "Example",
"reconciled": false,
"servers":
[
"local$3a99adfe-e942-4b52-b082-1a351de01420"
],
"status": "UNDEPLOYED"
}
],
"total": 1
}
Key | Type | Summary | Child of |
---|---|---|---|
total |
Integer |
Number of available deployments |
— |
data |
Array |
List containing information about each deployment |
— |
name |
String |
Name of the deployment |
data |
id |
String |
ID of the deployment |
data |
lastModified |
String |
Date indicating the last time the deployment was modified. The date format is: %day, %dayNumber %month %year %hour:%minutes:%seconds.%thousandths %timeZone |
data |
status |
String |
The current status of the deployment. Possible status values are: DEPLOYED, UNDEPLOYED, IN_PROGRESS, SUCCESSFUL, FAILED, and DELETING |
data |
href |
String |
Full link to the resource |
data |
servers |
Array |
Lists the IDs for all the servers assigned to the deployment |
data |
clusters |
Array |
List the IDs for all clusters assigned to the deployment |
data |
clustersNames |
String |
List all the names for all clusters assigned to the deployment |
data |
reconciled |
Boolean |
Boolean value indicating the reconciled status of the deployment |
data |
applications |
Array |
Lists version IDs of all applications assigned to the deployment |
data |
Common Return codes
200 |
The operation was successful |
404 |
Unable to retrieve requested deployment/ A deployment with that ID was not found/ Duplicate ID found at database |
MMC version
From |
3.2.2 |
/api/deployments/{deploymentId}/add
PUT |
UPDATE BY ADDING |
Updates a specific Deployment by adding the specified elements if not defined on the deployment. In the case of the Deployment name, it will be overwritten if update is specified. Updating the deployment will trigger the creation of a new Deployment ID, which should be used for redeployments or any other operations referencing this deployment. The new Deployment ID is included in the response.
Request
JSON
{
"applications":
[
"local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2"
],
"lastModified": "Thu, 18 Apr 2013 13:54:09.443 ART",
"name":"Deployment Test"
}
Key | Type | Summary | Child of |
---|---|---|---|
name |
String |
(Optional) A new name for the deployment |
— |
lastModified |
String |
(Required) Date of last modification of the deployment. The value is the string currently stored as the date of last modification. To obtain this value, use the |
— |
servers |
Array |
(Optional) List of server IDs to be assigned to the specified deployment |
— |
clusters |
Array |
(Optional) List of cluster IDs to be assigned to the specified deployment |
— |
applications |
Array |
(Optional) List of application version IDs to be assigned to the specified deployment |
— |
Using curl on Windows
curl --basic -u admin:admin -X PUT -d "\{\"applications\":[\"local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2\"], \"lastModified\":\"Thu, 18 Apr 2013 13:54:09.443 ART\", \"name\":\"Deployment Test\"\} --header "Content-Type:application/json" http://localhost:8080/mmc/api/deployments/local$731305bb-95ad-433c-8840-8cc9fb8be4fa/add
Using curl on Linux
curl --basic -u admin:admin -X PUT -d '{"applications":["local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2"], "lastModified":"Thu, 18 Apr 2013 13:54:09.443 ART", "name":"Deployment Test"}' --header 'Content-Type:application/json' 'http://localhost:8080/mmc/api/deployments/local$731305bb-95ad-433c-8840-8cc9fb8be4fa/add'
Response
JSON
{
"name": "Deployment Test",
"id": "local$631208b2-4782-43debaf1-51854ede8528",
"lastModified": "Thu, 18 Apr 2013 14:14:23.121 ART",
"applications":
[
"local$a7886ed6-280f-4ef2-ae8a-2d2d7ab18c66",
"local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2"
],
"href": "http://localhost:8080/mmc/api/deployments/local$631208b2-4782-43de-baf1-51854ede8528",
"status": "UNDEPLOYED",
"servers":
[
"local$f3c83778-827b-474c-87d0-cd7f7d3a6450"
],
"clusterIds":
[
],
"reconciled":false,
"clusterNames":
[
]
}
Common Return codes
200 |
The operation was successful |
400 |
Policies do not allow updating that deployment |
401 |
Invalid name |
402 |
Invalid ID |
404 |
A deployment with that ID was not found |
409 |
A deployment with that name already exists |
500 |
Error updating the deployment/ Deployment created with errors/ Internal error/ Invalid request |
MMC version
From |
3.2.2 |
/api/deployments/{deploymentId}/remove
PUT |
UPDATE BY REMOVING |
Updates a specific Deployment by removing the specified elements if defined on the deployment. Updating the deployment will trigger the creation of a new Deployment ID, which should be used for redeployments or any other operations referencing this deployment. The new Deployment ID is included in the response.
Request
{
"applications":
[
"local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2"
],
"lastModified": "Thu, 18 Apr 2013 13:54:09.443 ART",
"name":"Deployment Test"
}
JSON
Key | Type | Summary | Child of |
---|---|---|---|
servers |
Array |
(Optional) List of server IDs to be assigned to the specified deployment |
— |
lastModified |
String |
(Required) Date of last modification of the deployment. The value is the string currently stored as the date of last modification. To obtain this value, use the |
— |
clusters |
Array |
(Optional) List of cluster IDs to be assigned to the specified deployment |
— |
applications |
Array |
(Optional) List of application version IDs to be assigned to the specified deployment |
— |
Using curl on Windows
curl --basic -u admin:admin -X PUT -d "{\"applications\":[\"local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2\"], \"lastModified\":\"Thu, 18 Apr 2013 14:14:23.121 ART\", \"name\":\"Deployment Test\"\} --header "Content-Type:application/json" http://localhost:8080/mmc/api/deployments/local$731305bb-95ad-433c-8840-8cc9fb8be4fa/remove
Using curl on Linux
curl --basic -u admin:admin -X PUT -d '{"applications":["local$497d0c3a-8b29-4ff9-b22b-0d0ac4fe4eb2"], "lastModified":"Thu, 18 Apr 2013 14:14:23.121 ART", "name":"Deployment Test"}' --header 'Content-Type:application/json' 'http://localhost:8080/mmc/api/deployments/local$731305bb-95ad-433c-8840-8cc9fb8be4fa/remove'
Response
JSON
{
"name": "Deployment Test",
"id": "local$44ce4d41-e551-4b36-80af-eb8fcd79a53f",
"lastModified": "Thu, 18 Apr 2013 14:48:18.495 ART",
"applications":
[
"local$a7886ed6-280f-4ef2-ae8a-2d2d7ab18c66"
],
"href": "http://localhost:8080/mmc/api/deployments/local$44ce4d41-e551-4b36-80af-eb8fcd79a53f",
"status": "UNDEPLOYED",
"servers":
[
"local$f3c83778-827b-474c-87d0-cd7f7d3a6450"
],
"clusterIds":
[
],
"reconciled": false,
"clusterNames":
[
]
}
Common Return codes
200 |
The operation was successful |
400 |
Policies do not allow updating that deployment |
402 |
Invalid ID |
404 |
A deployment with that ID was not found |
500 |
Error updating the deployment/ Deployment created with errors/ Internal error/ Invalid request |
MMC version
From |
3.2.2 |
DELETE |
REMOVE |
Removes a specific Deployment.
Request
SYNTAX
Key | Type | Summary | Child of |
---|---|---|---|
deploymentId |
String |
Id of the deployment to be removed. Invoke LIST ALL to obtain it. |
— |
Using curl on Windows
curl --basic -u admin:admin -X DELETE http://localhost:8080/mmc/api/deployments/local$3a99adfe-e942-4b52-b082-1a351de01420
Using curl on Linux
curl --basic -u admin:admin -X DELETE 'http://localhost:8080/mmc/api/deployments/local$3a99adfe-e942-4b52-b082-1a351de01420'
Response
JSON
200 OK
Common Return codes
200 |
The deployments were deleted |
400 |
Error deleting the deployment/ Policies do not allow deleting that deployment |
401 |
Unauthorized user |
404 |
A deployment with that ID was not found |
500 |
Fatal error |
MMC version
From |
3.2.2 |
/api/deployments/{deploymentId}/deploy
POST |
PERFORM DEPLOY |
Deploys the apps specified on the deployment to the specified target.
Request
JSON
Key | Type | Summary | Child of |
---|---|---|---|
deploymentId |
String |
ID of the deployment |
— |
Using curl on Windows
curl --basic -u admin:admin -X POST http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/deploy
Using curl on Linux
curl --basic -u admin:admin -X POST 'http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/deploy'
Response
JSON
200
Common Return codes
200 |
Operation successful |
400 |
Error deploying the deployment/ Policies do not allow deploying the deployment |
404 |
A deployment with that ID was not found |
500 |
Internal error |
MMC version
From |
3.2.2 |
/api/deployments/{deploymentId}/redeploy
POST |
PERFORM REDEPLOY |
Redeploys the apps specified on the deployment to the specified target.
Request
JSON
Key | Type | Summary | Child of |
---|---|---|---|
deploymentId |
String |
ID of the deployment |
— |
Using curl on Windows
curl --basic -u admin:admin -X POST http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/redeploy
Using curl on Linux
curl --basic -u admin:admin -X POST 'http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/redeploy'
Response
JSON
200
Common Return codes
200 |
Operation successful |
400 |
Error redeploying the deployment/ Policies do not allow deploying that deployment |
404 |
A deployment with that ID was not found |
500 |
Internal error |
MMC version
From |
3.2.2 |
/api/deployments/{deploymentId}/undeploy
POST |
PERFORM UNDEPLOY |
Undeploys the apps specified on the deployment to the specified target.
Request
JSON
Key | Type | Summary | Child of |
---|---|---|---|
deploymentId |
String |
ID of the deployment |
— |
Using curl on Windows
curl --basic -u admin:admin -X POST http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/undeploy
Using curl on Linux
curl --basic -u admin:admin -X POST 'http://localhost:8080/mmc/api/deployments/local$97e3c184-09ed-423e-a5a5-9b94713a9e36/undeploy'
Response
JSON
200
Common Return codes
200 |
Operation successful |
400 |
Error undeploying the deployment/ Policies do not allow undeploying the deployment |
404 |
A deployment with that ID was not found |
500 |
Internal error |
MMC version
From |
3.2.2 |