ARA API documentation version v1
http://ara/api/data/v1
ARA REST API
Access ARA entities through an easy-to-use API.
/applications
Collection of existing applications in ARA For further information see Working with Applications
Get a pageable list of applications.
get /applications
Get a pageable list of applications.
Query Parameters
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 134,
"name": "ARA",
"archived": false,
"custom_type": {
"id": 43533,
"name": "General",
"version": "1.0"
},
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"components": {
"has_more": false,
"total": 2,
"data": [
{
"id": 1008,
"name": "Backend"
},
{
"id": 1158,
"name": "Frontend"
}
]
},
"description": "This is a description"
},
{
"id": 135,
"name": "ECC",
"archived": false,
"custom_type": {
"name": "General",
"version": "1.1"
},
"owner": {
"name": "ARA/USER2"
},
"folder": {
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"components": {
"has_more": false,
"total": 2,
"data": [
{
"id": 1008,
"name": "Backend"
},
{
"id": 1158,
"name": "Frontend"
}
]
},
"description": "This is a description"
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
A specific item
Get details of a specific application
Update properties of an application
get /applications/{id}
Get details of a specific application
URI Parameters
- id: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 134,
"name": "ARA",
"archived": false,
"custom_type":
{
"id": 43533,
"name": "General",
"version": "1.0"
},
"owner":
{
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder":
{
"id": 14522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"components": {
"has_more": false,
"total": 2,
"data": [
{
"id": 1008,
"name": "Backend"
},
{
"id": 1158,
"name": "Frontend"
}
]
},
"description": "This is a description"
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /applications/{id}
Update properties of an application
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
Example:
{
"name": "ARA",
"archived": false,
"owner":
{
"name": "ARA/USER1"
},
"folder":
{
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 134,
"name": "ARA",
"archived": false,
"custom_type":
{
"id": 43533,
"name": "General",
"version": "1.0"
},
"owner":
{
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder":
{
"id": 14522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"components": {
"has_more": false,
"total": 2,
"data": [
{
"id": 1008,
"name": "Backend"
},
{
"id": 1158,
"name": "Frontend"
}
]
},
"description": "This is a description"
}
A specific component of the application
Get details of a specific component.
Update properties of a component
get /applications/{id}/components/{id}
Get details of a specific component.
URI Parameters
- id: required (string)
- id: required (string)
Id of the entity.
Example:
134354
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"deployment_target_type": "Tomcat",
"attached_to_deploymenttarget": true,
"application":
{
"name": "ARA"
},
"custom_type":
{
"name": "Tomcat",
"version": "1.0"
},
"owner":
{
"name": "ARA/USER1"
},
"folder":
{
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 404
Body
Media type: application/json
Type: application/json
Example:
{ "code": 134541,
"error": "Component with id '14255' does not exist.",
"details": "" }
post /applications/{id}/components/{id}
Update properties of a component
URI Parameters
- id: required (string)
- id: required (string)
Id of the entity.
Example:
134354
Body
Media type: application/json
Type: object
Example:
{
"name": "WebUI",
"archived": false,
"owner":
{
"name": "ARA/USER1"
},
"folder":
{
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"deployment_target_type": "Tomcat",
"attached_to_deploymenttarget": true,
"application":
{
"name": "ARA"
},
"custom_type":
{
"name": "Tomcat",
"version": "1.0"
},
"owner":
{
"name": "ARA/USER1"
},
"folder":
{
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
Duplicate an application including components, workflows
post /applications/{id}/duplicate
Duplicate an application including components, workflows
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
The following properties are mandatory to be set:
- target_application: Type: string
- target_folder: Type: string Folder of target application. If not specified, folder of source application will be set.
- target_owner: Type: string Owner of target application. If not specified, owner of source application will be set.
Example:
{
"target_application": "ARA",
"target_folder": "DEV",
"target_owner": "100/USER1/ARA"
}
HTTP status code 201
Duplicate was successful. The response contains the duplicated application.
Body
Media type: application/json
Type: application/json
Example:
{
"id": 134,
"name": "ARA",
"archived": false,
"custom_type":
{
"id": 43533,
"name": "General",
"version": "1.0"
},
"owner":
{
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder":
{
"id": 14522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"components": {
"has_more": false,
"total": 2,
"data": [
{
"id": 1008,
"name": "Backend"
},
{
"id": 1158,
"name": "Frontend"
}
]
},
"description": "This is a description"
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
/profiles
Use this endpoint to view the list of deployment profiles. For further information see Working with Deployment Profiles
Get a pageable list of profiles.
Create a deployment profile including its application, environment, folder, owner and login
get /profiles
Get a pageable list of profiles.
Query Parameters
- environment.name: required (string)
filter by environment (by name)
- name: required (string)
filter for name of the entity
- folder.name: required (string)
filter for name of the folder
- owner.name: required (string)
filter for name of user or usergroup to match
- application.name: (string)
Query for name of application.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 13534,
"name": "Dev",
"archived": false,
"application": {
"id": 24214,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"login": {
"id": 24255,
"name": "LOGIN.WIN01"
},
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
}
},
{
"id": 13524,
"name": "Test",
"archived": false,
"application": {
"id": 24214,
"name": "ARA"
},
"environment": {
"id": 2421,
"name": "Test"
},
"login": {
"id": 24255,
"name": "LOGIN.WIN02"
},
"owner": {
"id": 2221,
"name": "ARA/USER2",
"type": "User"
},
"folder": {
"id": 14542,
"name": "TEST"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
post /profiles
Create a deployment profile including its application, environment, folder, owner and login
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string
- application: Type: object | string Relation to application. This is mandatory only for deployment packages. Application name can be specified either by its unique name or as sub object containing either name, id or both, a.e. "application": {"id": 144244, "name": "CRM"}
- environment: Type: object | string Relation to environment. This is mandatory for deployment profile. Environment name can be specified either by its unique name or as sub object containing either name, id or both, a.e. "environment": {"id": 144244, "name": "CRM"}
- owner: Type: object | string New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- login: Type: object | string Login of deployment profile. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "login": {"id": 14592, "name": "DEV"}
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are to be grouped by entity types and names (for components). The following sample overrides some properties on the related application and the components with name "Tomcat" and "IIS". Note: application is not grouped by name as we always have only one application in our context. "overrides": { "application": { "/ns1/prop1": "value1" }, "components": { "Tomcat": { "/server/url": "http://localhost", "/server/port": 80 }, "IIS": { "/ns1/prop1": "test1", "/ns1/prop2": "orig2" } } }
Example:
{
"name": "Dev",
"application": {
"id": 242552,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"EMail_Editable": null
},
"login": {
"id": 14522,
"name": "DEV"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 201
Create was successful. The response contains the created profile.
Body
Media type: application/json
Type: application/json
Example:
{
"id": 13534,
"name": "Dev",
"archived": false,
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"EMail_Editable": null
},
"application": {
"id": 242552,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"login": {
"id": 242522,
"name": "LOGIN.ALL"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
A specific Deployment Profile
Get details of a specific profile
Update properties of a profile
Delete a deployment profile including its target and component link assignments (if possible). No body data required.
get /profiles/{id}
Get details of a specific profile
URI Parameters
- id: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 13534,
"name": "Dev",
"archived": false,
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"EMail_Editable": null
},
"application": {
"id": 242552,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"login": {
"id": 242522,
"name": "LOGIN.ALL"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /profiles/{id}
Update properties of a profile
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
Example:
{
"id": 13534,
"name": "Dev",
"archived": false,
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"EMail_Editable": null
},
"application": {
"id": 242552,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 13534,
"name": "Dev",
"archived": false,
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"EMail_Editable": null
},
"application": {
"id": 242552,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"login": {
"id": 242522,
"name": "LOGIN.ALL"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
delete /profiles/{id}
Delete a deployment profile including its target and component link assignments (if possible). No body data required.
URI Parameters
- id: required (string)
HTTP status code 200
Deletion was successful.
HTTP status code 400
profile cannot be deleted because it is still referenced by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": -1,
"error": "You cannot delete this deployment profile because it has assigned queue(s).",
"details": ""
}
HTTP status code 404
profile does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 100001,
"error": "Entity with Id 3813071 is not exist",
"details": ""
}
Duplicate a deployment profile including its target and component link assignments (if possible)
post /profiles/{id}/duplicate
Duplicate a deployment profile including its target and component link assignments (if possible)
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
The following properties are mandatory to be set:
- target_name: Type: string
- target_application: Type: string Target application. If not specified, source application will be set.
- target_folder: Type: string Folder of target profile. If not specified, folder of source profile will be set.
- target_owner: Type: string Owner of target profile. If not specified, owner of source profile will be set.
- target_login: Type: string Login object of target profile. If not specified, login object of source profile will be set.
Example:
{
"target_name": "TEST2",
"target_application": "ARA",
"target_folder": "DEV",
"target_owner": "100/USER1/ARA",
"target_login": "Login.ALL"
}
HTTP status code 201
Duplicate was successful. The response contains the duplicated profile.
Body
Media type: application/json
Type: application/json
Example:
{
"id": 13534,
"name": "Dev",
"archived": false,
"owner": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 14522,
"name": "DEV"
},
"custom": {
"EMail_Editable": null
},
"application": {
"id": 242552,
"name": "ARA"
},
"environment": {
"id": 24252,
"name": "Dev"
},
"login": {
"id": 242522,
"name": "LOGIN.ALL"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
Get deployment profile's target and component assignments
Set deployment profile's target and component assignments. To assign, specify components by name or id and assign them an array of targets given by name or id to be assigned. Only targets assigned to the related environment are allowed.
get /profiles/{id}/target_mappings
Get deployment profile's target and component assignments
URI Parameters
- id: required (string)
HTTP status code 200
The response contains the target and component assignments.
Body
Media type: application/json
Type: application/json
Example:
[{
"id": 277301,
"name": "Tomcat",
"targets": [{
"id": 168105,
"name": "Tomcat Server 1"
},
{
"id": 168005,
"name": "Tomcat Server 2"
}
]
},
{
"id": 277301,
"name": "Database",
"targets": [{
"id": 166528,
"name": "MSSQL 2016"
}]
}
]
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
post /profiles/{id}/target_mappings
Set deployment profile's target and component assignments. To assign, specify components by name or id and assign them an array of targets given by name or id to be assigned. Only targets assigned to the related environment are allowed.
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
Example:
[{
"name": "Tomcat",
"targets": [{
"name": "Tomcat Server 1"
},
{
"name": "Tomcat Server 2"
}
]
},
{
"name": "Database",
"targets": [{
"name": "MSSQL 2016"
}]
}
]
HTTP status code 201
Set mapping was successful. The response contains the deployment profile's target and component assignments.
Body
Media type: application/json
Type: application/json
Example:
[{
"id": 277301,
"name": "Tomcat",
"targets": [{
"id": 168105,
"name": "Tomcat Server 1"
},
{
"id": 168005,
"name": "Tomcat Server 2"
}
]
},
{
"id": 277301,
"name": "Database",
"targets": [{
"id": 166528,
"name": "MSSQL 2016"
}]
}
]
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
Get deployment profile's available target mappings of component links
get /profiles/{id}/available_target_mappings
Get deployment profile's available target mappings of component links
URI Parameters
- id: required (string)
HTTP status code 200
The response contains the available target mappings of component links.
Body
Media type: application/json
Type: application/json
Example:
[
{
"id": 302904,
"name": "Database Link 1",
"of_component": "Tomcat",
"to_component": "Database1",
"available_target_mappings": [
{
"id": 302994,
"name": "MSSQL 2012"
},
{
"id": 302996,
"name": "MSSQL 2016"
}
]
},
{
"id": 302936,
"name": "Database Link 2",
"of_component": "Tomcat",
"to_component": "Database2",
"available_target_mappings": [
{
"id": 302994,
"name": "PostgreSQL"
}
]
}
]
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
Get deployment profile's component links, components and target assignments.
Updates the component link assignments on a profile. From Target Assignment is required. To Target Assignment is optional
get /profiles/{id}/component_links
Get deployment profile's component links, components and target assignments.
URI Parameters
- id: required (string)
HTTP status code 200
The response contains the component links, components and target assignments.
Body
Media type: application/json
Type: application/json
Example:
[{
"id": 302904,
"name": "Database Link 1",
"of_component": {
"id": 302604,
"name": "Tomcat"
},
"to_component": {
"id": 302754,
"name": "Database1"
},
"assignments": {
"has_more": false,
"total": 2,
"data": [{
"from_target_assignment": {
"id": 302922,
"name": "Tomcat 7"
},
"to_target_assignment": {
"id": 302930,
"name": "MSSQL 2012"
}
},
{
"from_target_assignment": {
"id": 302924,
"name": "Tomcat 8"
},
"to_target_assignment": {
"id": 302930,
"name": "MSSQL 2016"
}
}
]
}
},
{
"id": 302936,
"name": "Database Link 2",
"of_component": {
"id": 302604,
"name": "IIS"
},
"to_component": {
"id": 302754,
"name": "Database2"
},
"assignments": {
"has_more": false,
"total": 2,
"data": [{
"from_target_assignment": {
"id": 302922,
"name": "IIS 6"
},
"to_target_assignment": null
},
{
"from_target_assignment": {
"id": 302924,
"name": "IIS 7"
},
"to_target_assignment": {
"id": 302930,
"name": "PostgreSQL 10"
}
}
]
}
}
]
HTTP status code 400
Invalid data has been passed. E.g. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
post /profiles/{id}/component_links
Updates the component link assignments on a profile. From Target Assignment is required. To Target Assignment is optional
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
Example:
[
{
"id": 302904,
"name": "Database Link 1",
"assignments": [
{
"from_target_assignment": {
"id": 302922,
"name": "Tomcat 7"
},
"to_target_assignment": {
"id": 302930,
"name": "MSSQL 2012"
}
},
{
"from_target_assignment": {
"id": 302924,
"name": "Tomcat 8"
},
"to_target_assignment": {
"id": 302930,
"name": "MSSQL 2016"
}
}
]
},
{
"id": 302936,
"name": "Database Link 2",
"assignments": [
{
"from_target_assignment": {
"id": 302922,
"name": "IIS 8"
},
"to_target_assignment": {
"id": 302930,
"name": "PostgreSQL 10"
}
}
]
}
]
HTTP status code 201
The component links were updated successfully.
Body
Media type: application/json
Type: application/json
Example:
[{
"id": 302904,
"name": "Database Link 1",
"of_component": {
"id": 302604,
"name": "Tomcat"
},
"to_component": {
"id": 302754,
"name": "Database1"
},
"assignments": {
"has_more": false,
"total": 2,
"data": [{
"from_target_assignment": {
"id": 302922,
"name": "Tomcat 7"
},
"to_target_assignment": {
"id": 302930,
"name": "MSSQL 2012"
}
},
{
"from_target_assignment": {
"id": 302924,
"name": "Tomcat 8"
},
"to_target_assignment": {
"id": 302930,
"name": "MSSQL 2016"
}
}
]
}
},
{
"id": 302936,
"name": "Database Link 2",
"of_component": {
"id": 302604,
"name": "IIS"
},
"to_component": {
"id": 302754,
"name": "Database2"
},
"assignments": {
"has_more": false,
"total": 2,
"data": [{
"from_target_assignment": {
"id": 302922,
"name": "IIS 6"
},
"to_target_assignment": null
},
{
"from_target_assignment": {
"id": 302924,
"name": "IIS 7"
},
"to_target_assignment": {
"id": 302930,
"name": "PostgreSQL 10"
}
}
]
}
}
]
HTTP status code 400
Invalid data has been passed. E.g. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
Get list of queues on the profile
get /profiles/{id}/queues
Get list of queues on the profile
URI Parameters
- id: required (string)
Query Parameters
- name: required (string)
name of the queue
- status: required (string)
Filter to show only queues with a given status. More than one status can be entered separated by ','. Possible values: "Inactive", "Active", "Processing", "PausingAfterCurrent", "Paused"
HTTP status code 200
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 17424,
"name": "Queue1",
"archived": false,
"status": "Active",
"owner": {
"id": 42455,
"name": "ECC/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
},
{
"id": 17566,
"name": "Queue2",
"archived": false,
"status": "Inactive",
"owner": {
"id": 42421,
"name": "ARA/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
]
}
/packages
Use this endpoint to see, create, update and delete packages.
For further information see Working with packages
Get a pageable list of packages.
Create a new package in ARA.
get /packages
Get a pageable list of packages.
Query Parameters
- status: (string)
Filter the packages returned by status.
- creation_time: (string)
Filter by creation time of the package. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest package according to its creation time and other filter criteria. Sample: If you set a filter ?application.name=CRM&creation_time=LATEST the latest package for application "CRM" will be returned.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- application.name: (string)
Query for name of application.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 17424,
"name": "5.1.3",
"archived": false,
"status": "Deployed",
"application": {
"id": 344533,
"name": "ARA"
},
"custom_type": {
"id": 42324,
"name": "IIS",
"version": "7.0"
},
"owner": {
"id": 42455,
"name": "ECC/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
}
}, {
"id": 525466,
"name": "2.0.1",
"archived": false,
"status": "New",
"application": {
"id": 146533,
"name": "ECC"
},
"custom_type": {
"id": 42424,
"name": "Tomcat",
"version": "7.0"
},
"owner": {
"id": 42455,
"name": "ARA/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
}
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /packages
Create a new package in ARA.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- custom_type: Type: object | string The custom type of the entity. Can be set either by its name or a sub-object, a.e. "custom_type": {"id": 31444, "name": "Generic", "version": "4.1"}
- application: Type: object | string Relation to application. This is mandatory only for deployment packages. Application name can be specified either by its unique name or as sub object containing either name, id or both, a.e. "application": {"id": 144244, "name": "CRM"}
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are to be grouped by entity types and names (for components). The following sample overrides some properties on the related application and the components with name "Tomcat" and "IIS". Note: application is not grouped by name as we always have only one application in our context. "overrides": { "application": { "/ns1/prop1": "value1" }, "components": { "Tomcat": { "/server/url": "http://localhost", "/server/port": 80 }, "IIS": { "/ns1/prop1": "test1", "/ns1/prop2": "orig2" } } }
- status: Type: string Current status of the package.
- patches: Type: object Defines the relation with the package to be patched (either id or name contained). Sample: "patches": {"name": "1.1.3"}
- components: Type: object | array List of components in the package. Can be set as array of names, a.e. "components": ["ARA", "WEBUI", "AE"] or alternatively as json sub object
Example:
{
"name": "5.1.1",
"status": "New",
"application": {
"name": "ARA"
},
"custom_type": {
"name": "Deployment"
},
"owner": {
"name": "ARA/USER1"
},
"folder": {
"name": "DEV"
},
"custom": {
"url": "http://myserver.at",
"port": 8080
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 201
Successful creation of a package
Body
Media type: application/json
Type: package_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- dynamic: Type: object List of dynamic properties to set on the entity with a name/value collection
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are grouped by entity types and names .
- application: Type: object Relation to application.
- status: Type: string Current status of the package.
- components: Type: object List of components in the package.
- archived: Type: boolean Set to true if entity is archived. Default: false
- patches: Type: object Defines the relation with the package to be patched (either id or name contained).
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"status": "New",
"description": "my new package",
"application": {
"id": 144533,
"name": "ARA"
},
"custom_type": {
"id": 42424,
"name": "Tomcat",
"version": "1.0"
},
"owner": {
"id": 42455,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"components": {
"total": 4,
"has_more": false,
"data": [{
"id": 42144,
"name": "ARA"
}, {
"id": 25455,
"name": "AutomationEngine"
}, {
"id": 42555,
"name": "ECC"
}, {
"id": 15424,
"name": "Database"
}]
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 400
Invalid data was passed, a.e. invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data: Entity could not be created.",
"details": ""
}
A specific package
Get details of a specific package
Update the package. Pass data to be changed to body.
Delete the package. Note: Delete is only allowed in case the package is not referenced by any entity. No body data required.
get /packages/{packageId}
Get details of a specific package
URI Parameters
- packageId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: package_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- dynamic: Type: object List of dynamic properties to set on the entity with a name/value collection
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are grouped by entity types and names .
- application: Type: object Relation to application.
- status: Type: string Current status of the package.
- components: Type: object List of components in the package.
- archived: Type: boolean Set to true if entity is archived. Default: false
- patches: Type: object Defines the relation with the package to be patched (either id or name contained).
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"status": "New",
"description": "my new package",
"application": {
"id": 144533,
"name": "ARA"
},
"custom_type": {
"id": 42424,
"name": "Tomcat",
"version": "1.0"
},
"owner": {
"id": 42455,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"components": {
"total": 4,
"has_more": false,
"data": [{
"id": 42144,
"name": "ARA"
}, {
"id": 25455,
"name": "AutomationEngine"
}, {
"id": 42555,
"name": "ECC"
}, {
"id": 15424,
"name": "Database"
}]
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object does not exist.",
"details": "" }
post /packages/{packageId}
Update the package. Pass data to be changed to body.
URI Parameters
- packageId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- custom_type: Type: object The custom type of the entity (not allowed to be changed)
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are to be grouped by entity types and names (for components). The following sample overrides some properties on the related application and the components with name "Tomcat" and "IIS". Note: application is not grouped by name as we always have only one application in our context. "overrides": { "application": { "/ns1/prop1": "value1" }, "components": { "Tomcat": { "/server/url": "http://localhost", "/server/port": 80 }, "IIS": { "/ns1/prop1": "test1", "/ns1/prop2": "orig2" } } }
- status: Type: string Current status of the package.
- patches: Type: object Defines the relation with the package to be patched (either id or name contained).
- components: Type: object List of components in the package. Cannot be updated directly. use separate endpoint /components
- application: Type: object Relation to application. Not allowed to be changed.
- basetype: Type: string Can be Generic or Deployment. Not allowed to be set or changed.
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"status": "New",
"application": {
"id": 144533,
"name": "ARA"
},
"custom_type": {
"id": 42424,
"name": "Tomcat",
"version": "1.0"
},
"owner": {
"id": 42455,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 200
Successful update of the package
Body
Media type: application/json
Type: package_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- dynamic: Type: object List of dynamic properties to set on the entity with a name/value collection
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are grouped by entity types and names .
- application: Type: object Relation to application.
- status: Type: string Current status of the package.
- components: Type: object List of components in the package.
- archived: Type: boolean Set to true if entity is archived. Default: false
- patches: Type: object Defines the relation with the package to be patched (either id or name contained).
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"status": "New",
"description": "my new package",
"application": {
"id": 144533,
"name": "ARA"
},
"custom_type": {
"id": 42424,
"name": "Tomcat",
"version": "1.0"
},
"owner": {
"id": 42455,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"components": {
"total": 4,
"has_more": false,
"data": [{
"id": 42144,
"name": "ARA"
}, {
"id": 25455,
"name": "AutomationEngine"
}, {
"id": 42555,
"name": "ECC"
}, {
"id": 15424,
"name": "Database"
}]
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The package does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /packages/{packageId}
Delete the package. Note: Delete is only allowed in case the package is not referenced by any entity. No body data required.
URI Parameters
- packageId: required (string)
HTTP status code 200
successful delete
Body
Media type: application/json
Type: application/json
Example:
object was deleted successfully.
HTTP status code 400
package cannot be deleted because it is still referenced by another entity.
Body
Media type: application/json
Type: application/json
Example:
{
"code": 134541,
"error": "object cannot be deleted because it is still referenced by another entity",
"details": ""
}
HTTP status code 404
package does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "object with id '32542' does not exist.",
"details": ""
}
Components related to the package. Can be added or removed.
Get components related to the package (pageable)
Add components to the package. Only components of the same application can be added. For example: "components": ["WebApp", "Database", "CLI"]. Components that are not in the array will be removed from the package. You can also pass a single component to be added by, for example "name": "Database". Passing it this way will only add and not touch any other components.
get /packages/{packageId}/components
Get components related to the package (pageable)
URI Parameters
- packageId: required (string)
Query Parameters
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 124,
"name": "WebUI",
"archived": false,
"deployment_target_type": "Tomcat",
"attached_to_deploymenttarget": true,
"application": {
"id": 42255,
"name": "ARA"
},
"custom_type": {
"id": 45522,
"name": "Tomcat",
"version": "1.0"
},
"owner": {
"id": 45525,
"name": "ARA/USER1"
},
"folder": {
"id": 425522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
}
}, {
"id": 12442,
"name": "Database",
"archived": false,
"deployment_target_type": "MSSQL",
"attached_to_deploymenttarget": true,
"application": {
"id": 42255,
"name": "ARA"
},
"custom_type": {
"id": 45522,
"name": "MSSQL",
"version": "7.0"
},
"owner": {
"id": 45525,
"name": "ARA/USER1"
},
"folder": {
"id": 425522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
}
}]
}
post /packages/{packageId}/components
Add components to the package. Only components of the same application can be added. For example: "components": ["WebApp", "Database", "CLI"]. Components that are not in the array will be removed from the package. You can also pass a single component to be added by, for example "name": "Database". Passing it this way will only add and not touch any other components.
URI Parameters
- packageId: required (string)
Body
Media type: application/json
Type: object
Example:
{
"components": ["WebUI", "Database", "CLI"]
}
HTTP status code 200
Component was successfully added.
Body
Media type: application/json
Type: application/json
Example:
{"message": "Component was added successfully."}
HTTP status code 400
Invalid data has been passed. For example: invalid Json, invalid or missing properties or a component that does not exist in the related application.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid data.",
"details": "" }
A specific component in a package.
Get details of a specific component.
Remove a component from the package. It remains in the system. No body required.
get /packages/{packageId}/components/{id}
Get details of a specific component.
URI Parameters
- packageId: required (string)
- id: required (string)
Id of the entity.
Example:
134354
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"deployment_target_type": "Tomcat",
"attached_to_deploymenttarget": true,
"application":
{
"name": "ARA"
},
"custom_type":
{
"name": "Tomcat",
"version": "1.0"
},
"owner":
{
"name": "ARA/USER1"
},
"folder":
{
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 404
Body
Media type: application/json
Type: application/json
Example:
{ "code": 134541,
"error": "Component with id '14255' does not exist.",
"details": "" }
delete /packages/{packageId}/components/{id}
Remove a component from the package. It remains in the system. No body required.
URI Parameters
- packageId: required (string)
- id: required (string)
Id of the entity.
Example:
134354
HTTP status code 200
Component was successfully removed.
Body
Media type: application/json
Type: application/json
Example:
Component was removed successfully.
HTTP status code 404
The component does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Component with id '14255' does not exist.",
"details": ""
}
/workflows
Use this endpoint to view data of workflows in ARA. For further information see Working with Workflows
Get a pageable list of workflows.
get /workflows
Get a pageable list of workflows.
Query Parameters
- base_type: (string)
Filter by base type of the entity. Possible values: 'General', 'Application'.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- application.name: (string)
Query for name of application.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 13733,
"name": "Install",
"archived": false,
"application": {
"id": 245352,
"name": "ARA"
},
"custom_type": {
"id": 525335,
"name": "Install",
"version": "1.0"
},
"owner": {
"id": 45353,
"name": "ARA/USER1"
},
"folder": {
"id": 425522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
}
}, {
"id": 13143,
"name": "Uninstall",
"archived": false,
"application": {
"id": 245352,
"name": "ARA"
},
"custom_type": {
"id": 422555,
"name": "Uninstall",
"version": "1.1"
},
"owner": {
"id": 425633,
"name": "ARA/USER2"
},
"folder": {
"id": 425522,
"name": "DEV"
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
}
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
A specific item
Get details of a specific workflow
get /workflows/{id}
Get details of a specific workflow
URI Parameters
- id: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 12444,
"name": "Install",
"archived": false,
"application": {
"id": 42452,
"name": "ARA"
},
"customType": {
"id": 41524,
"name": "Install",
"version": "1.0"
},
"owner": {
"id": 42456,
"name": "ARA/USER1"
},
"folder": {
"id": 43562,
"name": "DEV"
},
"custom": {
"prop1": "a"
},
"dynamic": {
"/my/prop1": "val"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /workflows/{id}
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
Example:
{
"name": "Install",
"archived": false,
"customType": {
"name": "Install",
"version": "1.0"
},
"owner": {
"name": "ARA/USER1"
},
"folder": {
"name": "DEV"
},
"custom": {
"prop1": "a"
},
"dynamic": {
"/my/prop1": "val"
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
HTTP status code 200
Body
Media type: application/json
Type: package_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- dynamic: Type: object List of dynamic properties to set on the entity with a name/value collection
- overrides: Type: object Map of dynamic properties to override on the entity. Property values to override are grouped by entity types and names .
- application: Type: object Relation to application.
- status: Type: string Current status of the package.
- components: Type: object List of components in the package.
- archived: Type: boolean Set to true if entity is archived. Default: false
- patches: Type: object Defines the relation with the package to be patched (either id or name contained).
Example:
{
"id": 124,
"name": "WebUI",
"archived": false,
"status": "New",
"description": "my new package",
"application": {
"id": 144533,
"name": "ARA"
},
"custom_type": {
"id": 42424,
"name": "Tomcat",
"version": "1.0"
},
"owner": {
"id": 42455,
"name": "ARA/USER1",
"type": "User"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"components": {
"total": 4,
"has_more": false,
"data": [{
"id": 42144,
"name": "ARA"
}, {
"id": 25455,
"name": "AutomationEngine"
}, {
"id": 42555,
"name": "ECC"
}, {
"id": 15424,
"name": "Database"
}]
},
"custom": {
"connection_url": "http://myserver.at",
"connection_port": 80
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1",
"/ns1/prop2": "orig2"
}
}
}
}
/executions
Use this endpoint to see workflow executions and execute workflows. For further information see Monitoring Executions and Queue Runs
Get a list of executions.
Start a workflow execution with the passed data.
get /executions
Get a list of executions.
Query Parameters
- status: (string)
Status of the execution. More than one status can be entered separated by ','. A.e. status=Canceled,Finished filters for executions which can have either status Canceled or Finished.
- application.name: (string)
Filter by name of the related application.
- workflow.name: (string)
Filter by name of the workflow.
- environment.name: (string)
Filter by name of the environment (indirect related via deployment profile).
- deployment_profile.name: (string)
Filter by name of the deployment profile.
- package.name: (string)
Filter by name of the deployment package.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 44255,
"application": {
"id": 14455,
"name": "ARA"
},
"workflow": {
"id": 45554,
"name": "install"
},
"package": {
"id": 42555,
"name": "6.0.1"
},
"deployment_profile": {
"id": 13455,
"name": "DevTest",
"environment": {
"id": 44555,
"name": "Dev"
}
},
"needs_manual_start": true,
"manual_confirmer": "ARA/CONFIRMER1",
"planned_from": "2016-03-06T11:30:00Z",
"actual_from": "2016-03-06T11:31:10Z",
"actual_duration": "P2H30M17S",
"actual_to": "",
"install_mode": "SkipExisting",
"queue": "",
"status": "Active",
"process_run_id": 1455656,
"archived": false
}, {
"id": 44225,
"application": {
"id": 14455,
"name": "ARA"
},
"workflow": {
"id": 45554,
"name": "install"
},
"package": {
"id": 42555,
"name": "6.0.0"
},
"deployment_profile": {
"id": 13455,
"name": "DevTest",
"environment": {
"id": 44555,
"name": "Dev"
}
},
"needs_manual_start": true,
"manual_confirmer": "ARA/CONFIRMER1",
"planned_from": "2016-01-02T11:30:00Z",
"actual_from": "2016-03-06T11:30:10Z",
"actual_duration": "P20M17S",
"actual_to": "2016-03-06T11:50:27Z",
"install_mode": "SkipExisting",
"queue": "",
"status": "Finished",
"process_run_id": 0,
"archived": false
}]
}
HTTP status code 400
An invalid parameter has been passed. Wrong datatype or related entity does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid parameter: package with name 'x' does not exist.",
"details": ""
}
post /executions
Start a workflow execution with the passed data.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- workflow: Type: object | string Workflow to be executed. Can be set either by name or as JSON object containing either name, id or both, Sample: "workflow": {"name": "Install"} Note: if the selected workflow is an application workflow "application", "package" and "deployment_profile" are mandatory too.
- application: Type: object | string Application to be executed. Required to execute an application workflow. Can be set either by name or as JSON object containing either name, id or both, Sample: "application": {"name": "CRM"}
- package: Type: object | string Package to be executed. Required to execute an application workflow. Can be set either by name or as JSON object containing either name, id or both, Sample: "package": {"name": "1.1.4"}
- deployment_profile: Type: object | string Deployment profile to be executed. Required to execute an application workflow. Can be set either by name or as JSON object containing either name, id or both, Sample: "profile": {"name": "TEST"}
- queue: Type: object | string Specify name of the queue if execution must be executed within a queue.
- needs_manual_start: Type: boolean Set to "true" if a user needs to confirm start of execution. Default is "false".
- manual_confirmer: Type: string User to confirm the start of the execution. Needs to be set if needs_manual_start is set to "true".
- planned_from: Type: datetime Planned start date. If not set (and no queue run is set either) execution starts immediately.
- install_mode: Type: string 'SkipExisting' deploys on targets where the package has not been deployed yet. 'OverwriteExisting' deploys the package on every target by overwriting. Default: 'OverwriteExisting'
- overrides: Type: object Map of dynamic properties to prompt (override) on the execution. Property values to override are to be grouped by entity types and names (for components). The following sample overrides some properties on the related application, package and workflow and the components with name "Tomcat" and "IIS". Note: In difference to components application, workflow and package are not grouped by name as we always have only one entity in our context. Sample: "overrides": { "application": { "/ns1/prop1": "value1" }, "components": { "Tomcat": { "/server/url": "http://localhost", "/server/port": 80 }, "IIS": { "/ns1/prop1": "test1" } }, "package": { "/my/prop1": "test2" }, "workflow": { "/my/wfprop1": "test3" } }
Example:
{
"application": "ARA",
"workflow": "install",
"package": "6.0.1",
"deployment_profile": "DevTest",
"needs_manual_start": true,
"manual_confirmer": "ARA/CONFIRMER1",
"planned_from": "2016-03-06T11:30:00Z",
"install_mode": "SkipExisting",
"overrides": {
"application": {
"/ns1/prop1": "value1"
},
"components": {
"Tomcat": {
"/server/url": "http://localhost",
"/server/port": 80
},
"IIS": {
"/ns1/prop1": "test1"
}
},
"package": {
"/my/prop1": "test2"
},
"workflow": {
"/my/wfprop1": "test3"
}
}
}
HTTP status code 201
Execution was successfully started.
Body
Media type: application/json
Type: execution_response
The following properties are returned:
- workflow: Type: object Workflow to be executed.
- id: Type: integer Id of the execution.
- application: Type: object Application to be executed.
- package: Type: object Package to be executed.
- deployment_profile: Type: object Deployment profile to be executed.
- needs_manual_start: Type: boolean Set to "true" if a user needs to confirm start of execution.
- manual_confirmer: Type: string User to confirm the start of the execution.
- planned_from: Type: datetime Planned start date.
- install_mode: Type: string 'SkipExisting' deploys on targets where the package has not been deployed yet. 'OverwriteExisting' deploys the package on every target by overwriting. Default: 'OverwriteExisting'
- overrides: Type: object Map of dynamic properties to prompt (override) on the execution.
- status: Type: string Current status of the execution.
- actual_from: Type: datetime start time of execution
- actual_duration: Type: string duration of execution since it was started
- actual_to: Type: datetime time after execution ended
- queue_run: Type: object Contains queue run data if the execution is executed as queue run.
- process_run_id: Type: integer process run id in Automation engine.
- archived: Type: boolean Set to true if archived.
Example:
{
"id": 44255,
"application": { "id": 14455, "name": "ARA" },
"workflow": { "id": 45554, "name": "install" },
"package": { "id": 42555, "name": "6.0.1" },
"deployment_profile": {
"id": 13455,
"name": "DevTest",
"environment": {"id": 44555, "name": "Dev"}
},
"queue_run": {
"queue": {"id": 14555, "name": "queue1"},
"name": "DailyRun",
"sequence_number": 3,
"duration": "2h",
"planned_start_time": "2016-03-06T11:00:00Z",
"start_time": "2016-03-06T11:00:20Z",
"end_time": "",
"tag": "current"
},
"needs_manual_start": true,
"manual_confirmer": "ARA/CONFIRMER1",
"planned_from": "2016-03-06T11:30:00Z",
"actual_from": "2016-03-06T11:31:10Z",
"actual_duration": "P2H30M17S",
"actual_to": null,
"install_mode": "SkipExisting",
"status": "Active",
"process_run_id": 1455656,
"archived": false
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package...) that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134511,
"error": "Invalid data: Execution could not be started.",
"details": ""
}
Execution of a workflow.
Get details of an execution.
get /executions/{executionId}
Get details of an execution.
URI Parameters
- executionId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: execution_response
The following properties are returned:
- workflow: Type: object Workflow to be executed.
- id: Type: integer Id of the execution.
- application: Type: object Application to be executed.
- package: Type: object Package to be executed.
- deployment_profile: Type: object Deployment profile to be executed.
- needs_manual_start: Type: boolean Set to "true" if a user needs to confirm start of execution.
- manual_confirmer: Type: string User to confirm the start of the execution.
- planned_from: Type: datetime Planned start date.
- install_mode: Type: string 'SkipExisting' deploys on targets where the package has not been deployed yet. 'OverwriteExisting' deploys the package on every target by overwriting. Default: 'OverwriteExisting'
- overrides: Type: object Map of dynamic properties to prompt (override) on the execution.
- status: Type: string Current status of the execution.
- actual_from: Type: datetime start time of execution
- actual_duration: Type: string duration of execution since it was started
- actual_to: Type: datetime time after execution ended
- queue_run: Type: object Contains queue run data if the execution is executed as queue run.
- process_run_id: Type: integer process run id in Automation engine.
- archived: Type: boolean Set to true if archived.
Example:
{
"id": 44255,
"application": { "id": 14455, "name": "ARA" },
"workflow": { "id": 45554, "name": "install" },
"package": { "id": 42555, "name": "6.0.1" },
"deployment_profile": {
"id": 13455,
"name": "DevTest",
"environment": {"id": 44555, "name": "Dev"}
},
"queue_run": {
"queue": {"id": 14555, "name": "queue1"},
"name": "DailyRun",
"sequence_number": 3,
"duration": "2h",
"planned_start_time": "2016-03-06T11:00:00Z",
"start_time": "2016-03-06T11:00:20Z",
"end_time": "",
"tag": "current"
},
"needs_manual_start": true,
"manual_confirmer": "ARA/CONFIRMER1",
"planned_from": "2016-03-06T11:30:00Z",
"actual_from": "2016-03-06T11:31:10Z",
"actual_duration": "P2H30M17S",
"actual_to": null,
"install_mode": "SkipExisting",
"status": "Active",
"process_run_id": 1455656,
"archived": false
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
Execution report.
Get execution report. Returned structure will contain a link to download the file.
get /executions/{executionId}/report
Get execution report. Returned structure will contain a link to download the file.
URI Parameters
- executionId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"execution_id": 134455,
"file_name": "execution_report-134455.txt",
"download_link": "http://vviedev05/ara/downloads/execution_report-134455.txt"
}
HTTP status code 404
Execution report is not available (for example: execution is not finished)
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Report is not available for workflow execution.",
"details": ""}
Get all approval requests from current execution.
Get all approval requests for the execution.
get /executions/{executionId}/approvals
Get all approval requests for the execution.
URI Parameters
- executionId: required (string)
Query Parameters
- recipient: (string)
Filter to show approval requests to a certain recipient (user or usergroup). Using a * as wildcard returns all approval requests. Setting a certain user as recipient will include also approval requests assigned to usergroups the user belongs to. If this parameter is not set, only approval requests assigned to the authenticated user or a group the user belongs to are returned.
- status: (string)
Filter to show approval requests with one of the following statuses: "Pending", "Approved", "Rejected", "Revoked". By default only "Pending" approval requests are returned. Set * as wildcard to return approval requests with all statuses.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 13225,
"sender": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"recipient": {
"id": 14522,
"name": "ARAGROUP",
"type": "Usergroup"
},
"approval_type": "Execution",
"related_entity": {
"id": 14455
},
"request_date": "2016-03-06T11:30:00Z",
"status": "Pending"
}, {
"id": 4255,
"sender": {
"id": 2522,
"name": "ARA/USER2",
"type": "User"
},
"recipient": {
"id": 14522,
"name": "ARAGROUP",
"type": "Usergroup"
},
"approval_type": "Execution",
"related_entity": {
"id": 14458
},
"request_date": "2016-03-06T11:35:00Z",
"status": "Pending"
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
/queues
Use this endpoint to list queues
Get list of queues
get /queues
Get list of queues
Query Parameters
- name: (string)
name of the queue
- status: (string)
Filter to show only queues with a given status. More than one status can be entered separated by ','. Possible values: "Inactive", "Active", "Processing", "PausingAfterCurrent", "Paused"
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 17424,
"name": "Queue1",
"archived": false,
"status": "Active",
"owner": {
"id": 42455,
"name": "ECC/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
},
{
"id": 17566,
"name": "Queue2",
"archived": false,
"status": "Inactive",
"owner": {
"id": 42421,
"name": "ARA/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
/users
Use this endpoint to list ARA users
Get list of users
get /users
Get list of users
Query Parameters
- name: (string)
Technical user name, a.e. 100/AUTOMIC/AUTOMIC
- display_name: (string)
Display name of user
- is_active: (boolean)
Filter to include only active or inactive users
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 17404,
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true
}, {
"id": 17411,
"name": "100/DEV1/ARA",
"display_name": "DEV1/ARA",
"is_active": true
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
/usergroups
Use this endpoint to list ARA usergroups
Get list of usergroups
get /usergroups
Get list of usergroups
Query Parameters
- name: (string)
Technical usergroup name
- display_name: (string)
Display name of usergroup
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 17421,
"name": "DEV",
"display_name": "Development"
}, {
"id": 174116,
"name": "TEST",
"display_name": "Testers"
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
/approvals
Use this endpoint to see workflow approval requests and approve/reject workflow executions. For further information see Handling Approval Requests
Get approval requests. By default all pending approval requests that the current user is allowed to approve are returned. This includes all requests assigned to the user directly or to a usergroup the user belongs to. Setting parameters may include other approval requests.
Approve, reject or revoke an approval request via a token (external approval). This operation does not need ARA authentication - authentication is done via token.
get /approvals
Get approval requests. By default all pending approval requests that the current user is allowed to approve are returned. This includes all requests assigned to the user directly or to a usergroup the user belongs to. Setting parameters may include other approval requests.
Query Parameters
- recipient: (string)
Filter to show approval requests to a certain recipient (user or usergroup). Using a * as wildcard returns all approval requests. Setting a certain user as recipient will include also approval requests assigned to usergroups the user belongs to. If this parameter is not set, only approval requests assigned to the authenticated user or a group the user belongs to are returned.
- status: (string)
Filter to show approval requests with one of the following statuses: "Pending", "Approved", "Rejected", "Revoked". By default only "Pending" approval requests are returned. Set * as wildcard to return approval requests with all statuses.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [{
"id": 13225,
"sender": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"recipient": {
"id": 14522,
"name": "ARAGROUP",
"type": "Usergroup"
},
"approval_type": "Execution",
"related_entity": {
"id": 14455
},
"request_date": "2016-03-06T11:30:00Z",
"status": "Pending"
}, {
"id": 4255,
"sender": {
"id": 2522,
"name": "ARA/USER2",
"type": "User"
},
"recipient": {
"id": 14522,
"name": "ARAGROUP",
"type": "Usergroup"
},
"approval_type": "Execution",
"related_entity": {
"id": 14458
},
"request_date": "2016-03-06T11:35:00Z",
"status": "Pending"
}]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
post /approvals
Approve, reject or revoke an approval request via a token (external approval). This operation does not need ARA authentication - authentication is done via token.
Body
Media type: application/json
Type: object
The following properties are mandatory to be set:
- approval_token: Type: string Token to approve.
- approver: Type: string Name of the approver. Can be (but not necessarily) an ARA user.
- comment: Type: string Approval comment to be set.
Example:
{
"approval_token": "alksji7wkjw6slkj6wlkwe86wjkw86erlkw9v86av8623jsdl",
"approver": "Max",
"comment": "Ok to start the workflow"
}
HTTP status code 200
Request was successfully approved (or rejected, revoked).
Body
Media type: application/json
Type: application/json
Example:
{"message": "request was approved successfully."}
HTTP status code 400
An invalid token has been provided.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134545,
"error": "Invalid token.",
"details": ""}
Get details of an existing approval request: approve or reject.
Get details of a specific approval
Approve or reject the request.
get /approvals/{id}
Get details of a specific approval
URI Parameters
- id: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 13225,
"sender": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"recipient": {
"id": 14522,
"name": "ARAGROUP",
"type": "Usergroup"
},
"approval_type": "Execution",
"related_entity": {
"id": 14455
},
"request_date": "2016-03-06T11:30:00Z",
"approver": null,
"approval_date": null,
"approval_comment": null,
"status": "Pending"
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /approvals/{id}
Approve or reject the request.
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
The following properties are mandatory to be set:
- status: Type: string Approved, Rejected or Revoked.
- comment: Type: string The approval comment to be set on Approval.
Example:
{
"status": "Approved",
"comment": "Ok to start the workflow"
}
HTTP status code 200
Successful update of the approval request.
Body
Media type: application/json
Type: application/json
Example:
{
"id": 13225,
"sender": {
"id": 2521,
"name": "ARA/USER1",
"type": "User"
},
"recipient": {
"id": 14522,
"name": "ARAGROUP",
"type": "Usergroup"
},
"approval_type": "Execution",
"related_entity": {
"id": 14455
},
"request_date": "2016-03-06T11:30:00Z",
"approver": "100/USER1/ARA",
"approval_date": "2016-03-06T11:45:10Z",
"approval_comment": "Ok to start.",
"status": "Approved"
}
HTTP status code 400
Invalid data has been passed. For example: invalid Json, invalid approval state, wrong data type of a property, set related execution that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134545,
"error": "Invalid data.",
"details": ""}
HTTP status code 403
A user without the necessary rights tried to approve/reject/revoke an approval request. This error is returned if the recipient is a different user or a usergroup to which the user does not belong. In case of revoking, the user is not the owner of the request.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134545,
"error": "No permission to approve the request: recipient is '100/USER1/ARA'",
"details": "" }
HTTP status code 404
The approval request does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 13444,
"error": "Approval request with id '14555' does not exist.",
"details": ""}
/evaluation
Use this endpoint to evaluate system properties of the following entities: applications, packages, components, deployment profiles, targets and application workflows.
Please note that this endpoint is subject to change in future versions.
Get all evaluated properties, expressions and errors if any.
get /evaluation
Get all evaluated properties, expressions and errors if any.
Query Parameters
- application: required (string)
Name of the application.
- component: required (string)
Name of the component.
- package: required (string)
Name of the package.
- profile: required (string)
Name of the deployment profile.
- target: required (string)
Name of the deployment target.
- workflow: required (string)
Name of the application workflow.
HTTP status code 200
Property evaluation was successful. Note: this status code does not necessarily mean that all properties could be evaluated successfully. Evaluation errors will be returned by a property "error" describing the error on evaluation.
Body
Media type: application/json
Type: application/json
Example:
[
{
"full_name": "/system/id",
"value": "2212",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 0,
"description": ""
},
{
"full_name": "/system/name",
"value": "Dimension_Comp4",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 0,
"description": ""
},
{
"full_name": "/system/type",
"value": "Dimensions",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 0,
"description": ""
},
{
"full_name": "/system/owner",
"value": "API/API",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 0,
"description": ""
},
{
"full_name": "/system/application",
"value": "DIMENSIONS_DEMO",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 0,
"description": ""
},
{
"full_name": "/system/application-type",
"value": "Generic",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 0,
"description": ""
},
{
"full_name": "/custom/arguments",
"value": "",
"evaluated_value": null,
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 1,
"description": "Specifies any required arguments for the DMCLI command."
},
{
"full_name": "/source/ftp/host",
"value": "",
"evaluated_value": "",
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 2,
"description": "Host to connect to."
},
{
"full_name": "/source/ftp/port",
"value": "21",
"evaluated_value": "21",
"error": null,
"evaluation_complete_type": 0,
"property_definition_type": 2,
"description": "Port to connect to."
}
]
HTTP status code 400
Invalid data has been passed by the parameter for evaluation. For example, a nonexistent application.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134545,
"error": "Invalid data: Package 'p1' does not exist.",
"details": ""
}
/prompts
Use this endpoint to get prompt properties for workflows and applications
Get Prompt properties on application, components, workflow and package are returned, filtered to show only prompts of components that define a target on its profile.
get /prompts
Get Prompt properties on application, components, workflow and package are returned, filtered to show only prompts of components that define a target on its profile.
Query Parameters
- application: (string)
Name of application. Required for application workflows
- workflow: (string)
Name of workflow. If not specified, evaluation will be done on application
- package: (string)
Name of the deployment package. Required for application workflows
- profile: (string)
Name of the deployment profile. Required for application workflows
HTTP status code 200
Successful return of prompt properties
Body
Media type: application/json
Type: application/json
Example:
{
"application": {
"/ns1/prop1": {
"type": "SingleLineText",
"choices": null,
"allow_custom_values": null,
"reference_main_type": null,
"caption": "my prop1",
"description": "my prop",
"value": "val1"
}
},
"components": {
"Tomcat": {
"/server/url": {
"type": "SingleLineText",
"choices": null,
"allow_custom_values": null,
"reference_main_type": null,
"caption": "The url",
"description": "Url",
"value": "http://localhost"
},
"/server/port": {
"type": "Number",
"choices": null,
"allow_custom_values": null,
"reference_main_type": null,
"caption": "Port number",
"description": "Server port number",
"value": 80
}
},
"IIS": {
"/ns1/prompt1": {
"type": "SingleChoice",
"choices": ["Choice1", "Choice2"],
"allow_custom_values": false,
"reference_main_type": null,
"caption": "Choice....",
"description": "Choice",
"value": "Choice1"
}
}
},
"package": {
"/my/reference1": {
"type": "Reference",
"choices": null,
"allow_custom_values": null,
"reference_main_type": "Application",
"caption": "Ref App",
"description": "An app to reference",
"value": null
}
},
"workflow": {
"/my/wfprop1": {
"type": "SingleLineText",
"choices": null,
"allow_custom_values": null,
"reference_main_type": null,
"caption": "c1",
"description": "prop",
"value": "va2"
},
"/my/wfprop2": {
"type": "ShortText",
"choices": null,
"allow_custom_values": null,
"reference_main_type": null,
"caption": "another text",
"description": "prop",
"value": "val"
}
}
}
HTTP status code 400
Invalid parameters were specified. A.e. given entity does not exist or parameters for an application workflow are missing
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134545,
"error": "Invalid data: Package 'p1' does not exist.",
"details": ""
}
/stack_providers
Use this endpoint to list, create and update stack provider.
For further information see Working with Stack Providers
Get a pageable list of stack provider. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Create a new stack_provider in ARA.
get /stack_providers
Get a pageable list of stack provider. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Query Parameters
- creation_time: (string)
Filter by creation time of the stack provider. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest stack provider according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest stack provider will be returned.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17424,
"name": "My VMware Provider Vienna",
"related_workflow_id": "PCK.VIENNA_PROVISIONING.VMWARE",
"default_stack_template_type": "Vmware",
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 50345,
"name": "QA_Stack_Template"
}
]
},
"archived": false,
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMware",
"version": "1.0"
},
"custom": {
"url": "http://vsphere/",
"username": "Stefan",
"agent": "Agent 123",
"login": "Login 123"
}
},
{
"id": 12345,
"name": "My Docker Provider Hanoi",
"related_workflow_id": "PCK.HANOI_PROVISIONING.VMWARE",
"default_stack_template_type": "Vmware",
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 50346,
"name": "DEV_Stack_Template"
}
]
},
"archived": false,
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "Docker",
"version": "1.0"
},
"custom": {
"url": "http://docker_engine/",
"agent": "Agent 123",
"login": "Login 123"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /stack_providers
Create a new stack_provider in ARA.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- custom_type: Type: object | string The custom type of the entity. Can be set either by its name or a sub-object, a.e. "custom_type": {"id": 31444, "name": "Generic", "version": "4.1"}
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
Example:
{
"name": "My VMware Provider Vienna",
"description": "my new provider",
"custom_type": {
"name": "VMware"
},
"owner": {
"name": "AWI/USER1"
},
"folder": {
"name": "DEV"
},
"custom": {
"url": "http://vsphere/",
"username": "Stefan",
"password": "pw1234!",
"agent": "Agent 123",
"login": "Login 456"
}
}
HTTP status code 201
Successful creation of a stack_provider
Body
Media type: application/json
Type: stack_provider_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- related_workflow_id: Type: string The related workflow identifier of the entity.
- default_stack_template_type: Type: string The default stack template type of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My_VMware_Provider",
"description": "my new provider",
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"default_stack_template_type": "Vmware",
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 50345,
"name": "QA_Stack_Template"
}
]
},
"archived": false,
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMWare",
"version": "1.0"
},
"custom": {
"url": "http://vsphere/",
"agent": "my_agent",
"login": "my_login"
}
}
HTTP status code 400
Invalid data was passed, a.e. invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data: Entity could not be created.",
"details": ""
}
A specific Stack Provider
Get details of a specific stack_provider
Update the stack provider. Pass data to be changed to body.
Delete the stack provider.
get /stack_providers/{stackProviderId}
Get details of a specific stack_provider
URI Parameters
- stackProviderId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: stack_provider_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- related_workflow_id: Type: string The related workflow identifier of the entity.
- default_stack_template_type: Type: string The default stack template type of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My_VMware_Provider",
"description": "my new provider",
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"default_stack_template_type": "Vmware",
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 50345,
"name": "QA_Stack_Template"
}
]
},
"archived": false,
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMWare",
"version": "1.0"
},
"custom": {
"url": "http://vsphere/",
"agent": "my_agent",
"login": "my_login"
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /stack_providers/{stackProviderId}
Update the stack provider. Pass data to be changed to body.
URI Parameters
- stackProviderId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- custom_type: Type: object The custom type of the entity (not allowed to be changed)
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
Example:
{
"id": 14555,
"name": "CHANGED",
"description": "my new provider",
"custom_type": {
"id": 42324,
"name": "VMware"
},
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"url": "http://vsphere/",
"username": "Stefan",
"agent": "Agent 123",
"login": "Login 456"
}
}
HTTP status code 200
Successful update of the stack provider
Body
Media type: application/json
Type: stack_provider_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- related_workflow_id: Type: string The related workflow identifier of the entity.
- default_stack_template_type: Type: string The default stack template type of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My_VMware_Provider",
"description": "my new provider",
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"default_stack_template_type": "Vmware",
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 50345,
"name": "QA_Stack_Template"
}
]
},
"archived": false,
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMWare",
"version": "1.0"
},
"custom": {
"url": "http://vsphere/",
"agent": "my_agent",
"login": "my_login"
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The stack provider does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /stack_providers/{stackProviderId}
Delete the stack provider.
URI Parameters
- stackProviderId: required (string)
List of Stack Templates related to the Stack Provider.
List of Stack Templates related to the Stack Provider.
get /stack_providers/{stackProviderId}/stack_templates
List of Stack Templates related to the Stack Provider.
URI Parameters
- stackProviderId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 128921,
"name": "VMware",
"version": "1.0.0 PCK.AUTOMIC_PROVISIONING.VMWARE"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
},
{
"id": 12345,
"name": "My Docker Stack Template",
"stack_provider": {
"id": 45678,
"name": "MyDocker"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.DOCKER",
"archived": false,
"owner": {
"id": 53424,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 7553432,
"name": "QA"
},
"custom_type": {
"id": 12321,
"name": "Docker",
"version": "1.0"
},
"custom": {
"origin_image": "tomcat"
}
}
]
}
/stack_templates
Use this endpoint to list, create and update stack_templates.
For further information see Working with Stack Templates
Get a pageable list of Stack Templates. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Create a new stack_template in ARA.
get /stack_templates
Get a pageable list of Stack Templates. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Query Parameters
- creation_time: (string)
Filter by creation time of the stack template. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest stack template according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest Stack Template will be returned.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 128921,
"name": "VMware",
"version": "1.0.0 PCK.AUTOMIC_PROVISIONING.VMWARE"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
},
{
"id": 12345,
"name": "My Docker Stack Template",
"stack_provider": {
"id": 45678,
"name": "MyDocker"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.DOCKER",
"archived": false,
"owner": {
"id": 53424,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 7553432,
"name": "QA"
},
"custom_type": {
"id": 12321,
"name": "Docker",
"version": "1.0"
},
"custom": {
"origin_image": "tomcat"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /stack_templates
Create a new stack_template in ARA.
Query Parameters
- fail_if_exists: (string)
Set to false to force an existing stack template to be updated, otherwise, updating will be failed. Default: true.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- stack_provider: Type: object | string Relation to a stack provider. This is mandatory only for stack_templates. Stack provider must be supported. Stack provider name can be specified either by its unique name or as sub object containing either name, id or both, a.e. "stack_provider": {"id": 144244, "name": "My_VMware"}
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- deployment_target_templates: Type: array List of Deployment Target templates associated with Stack Template. Each Deployment Target template input can contain just id or name or both of them. "deployment_target_templates": [{"id": "1233", "name": "MSSQL"}, {"id": "1234", "name": "IIS"}]
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
Example:
{
"name": "My VMware Blueprint",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": [
{
"id": 146533,
"name": "My_Tomcat_Template"
},
{
"id": 146555,
"name": "MySQL_Template"
}
],
"description": "My stack template",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
}
HTTP status code 201
Successful creation of a stack_template
Body
Media type: application/json
Type: stack_template_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- stack_provider: Type: object Relation to stack provider.
- related_workflow_id: Type: string The related workflow identifier.
- deployment_target_templates: Type: object List of Deployment Target templates associated with Stack Template.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"description": "My stack template",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMware",
"version": "1.0"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
}
HTTP status code 400
Invalid data was passed, a.e. invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data: Entity could not be created.",
"details": ""
}
A specific Stack Template
Get details of a specific stack_template
Update the Stack Template. Pass data to be changed to body.
Delete the Stack Template.
get /stack_templates/{stackTemplateId}
Get details of a specific stack_template
URI Parameters
- stackTemplateId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: stack_template_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- stack_provider: Type: object Relation to stack provider.
- related_workflow_id: Type: string The related workflow identifier.
- deployment_target_templates: Type: object List of Deployment Target templates associated with Stack Template.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"description": "My stack template",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMware",
"version": "1.0"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /stack_templates/{stackTemplateId}
Update the Stack Template. Pass data to be changed to body.
URI Parameters
- stackTemplateId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- deployment_target_templates: Type: array List of Deployment Target templates associated with Stack Template. "deployment_target_templates": [{"id": "1233", "name": "MSSQL"}, {"id": "1234", "name": "IIS"}]
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "image": "tomcat", }
- stack_provider: Type: object Relation to stack provider.
Example:
{
"id": 14555,
"name": "CHANGED",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": [
{
"id": 146533,
"name": "My_Tomcat_Template"
},
{
"id": 146555,
"name": "MySQL_Template"
}
],
"description": "My stack template",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
}
HTTP status code 200
Successful update of the Stack Template
Body
Media type: application/json
Type: stack_template_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- stack_provider: Type: object Relation to stack provider.
- related_workflow_id: Type: string The related workflow identifier.
- deployment_target_templates: Type: object List of Deployment Target templates associated with Stack Template.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"description": "My stack template",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMware",
"version": "1.0"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property, set related entity (e.g. deployment target custom type) that does not exists. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The Stack Template does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /stack_templates/{stackTemplateId}
Delete the Stack Template.
URI Parameters
- stackTemplateId: required (string)
/deployment_targets
Use this endpoint to list, create and update deployment targets.
For further information see Working with Deployment Targets
Get a pageable list of deployment targets. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Create a new deployment_target in ARA.
get /deployment_targets
Get a pageable list of deployment targets. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Query Parameters
- creation_time: (string)
Filter by creation time of the deployment target. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest deployment target according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest deployment target will be returned.
- status: (string)
Filter by status of the deployment target.
- agent: (string)
Filter by agent of the deployment target.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 18424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
}
},
{
"id": 17424,
"name": "My Tomcat 8.0",
"status": "Active",
"description": "Tomcat 8.0",
"archived": false,
"owner": {
"id": 4255,
"name": "100/API/API"
},
"folder": {
"id": 4356,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 4264,
"name": "Tomcat",
"version": "1.0"
},
"custom": {
"mgmt_url": "http://vviedev01:8080/",
"username": "myuser"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /deployment_targets
Create a new deployment_target in ARA.
Query Parameters
- fail_if_exists: (string)
Set to false to force an existing deployment target to be updated, otherwise, updating will be failed. Default: true.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- custom_type: Type: object | string The custom type of the entity. Can be set either by its name or a sub-object, a.e. "custom_type": {"id": 31444, "name": "Generic", "version": "4.1"}
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- status: Type: string Status of deployment target. They are Active or Inactive. Default: Inactive.
- agent: Type: string Agent will be assigned to deployment target.
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"owner": {
"name": "100/API/API"
},
"folder": {
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 201
Successful creation of a deployment_target
Body
Media type: application/json
Type: target_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- status: Type: string Current status of Deployment Target(Active or Inactive).
- agent: Type: string Agent which is assigned to Deployment Target.
- archived: Type: boolean Set to true if entity is archived. Default: false
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 400
Invalid data was passed, a.e. invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data: Entity could not be created.",
"details": ""
}
A specific Deployment Target
Get details of a specific deployment_target
Update the target. Pass data to be changed to body.
Delete the target.
get /deployment_targets/{deploymentTargetId}
Get details of a specific deployment_target
URI Parameters
- deploymentTargetId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: target_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- status: Type: string Current status of Deployment Target(Active or Inactive).
- agent: Type: string Agent which is assigned to Deployment Target.
- archived: Type: boolean Set to true if entity is archived. Default: false
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /deployment_targets/{deploymentTargetId}
Update the target. Pass data to be changed to body.
URI Parameters
- deploymentTargetId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- custom_type: Type: object The custom type of the entity (not allowed to be changed)
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- status: Type: string Status of deployment target. They are Active or Inactive. Default: Inactive.
- agent: Type: string Agent will be assigned to deployment target.
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 200
Successful update of the Deployment Target
Body
Media type: application/json
Type: target_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- status: Type: string Current status of Deployment Target(Active or Inactive).
- agent: Type: string Agent which is assigned to Deployment Target.
- archived: Type: boolean Set to true if entity is archived. Default: false
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The deployment target does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /deployment_targets/{deploymentTargetId}
Delete the target.
URI Parameters
- deploymentTargetId: required (string)
/environments
Use this endpoint to list, create and update environments.
For further information see Working with Environments
Get a pageable list of environments. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Create a new environment in ARA.
get /environments
Get a pageable list of environments. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Query Parameters
- creation_time: (string)
Filter by creation time of the environment. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest environment according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest environment will be returned.
- provisioning_status: (string)
Filter by provisioning status. Available values are provisioning/deprovisioning/failed/ready. It returns only provisioned environment when this parameter is present.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17425,
"name": "DEV",
"deployment_targets": {
"has_more": false,
"total": 2,
"data": [
{
"id": 146533,
"name": "My_Tomcat"
},
{
"id": 146555,
"name": "MySQL"
}
]
},
"description": "My DEV environment",
"status": "Free",
"provisioning_status": "provisioning",
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "Non-Production",
"version": "1.0"
},
"custom": {
"myProp": "myValue",
"myProp2": "myValue2"
}
},
{
"id": 17422,
"name": "QA",
"deployment_targets": {
"has_more":false,
"total":1,
"data": [
{
"id": 146533,
"name": "My_Tomcat"
}
]
},
"description": "My QA environment",
"status": "Free",
"provisioning_status": "ready",
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "Non-Production",
"version": "1.0"
},
"custom": {
"myProp3": "myValue3",
"myProp4": "myValue4"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /environments
Create a new environment in ARA.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- custom_type: Type: object | string The custom type of the entity. Can be set either by its name or a sub-object, a.e. "custom_type": {"id": 31444, "name": "Generic", "version": "4.1"}
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- deployment_targets: Type: array List of Deployment Targets associated with Environment. "deployment_targets": [{"id": "1233", "name": "MSSQL"}, {"id": "1234", "name": "IIS"}]
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"name": "DEV",
"description": "My DEV environment",
"status": "Free",
"provisioning_status": "provisioning",
"custom_type": {
"name": "Non-Production",
"version": "1.0"
},
"owner": {
"name": "100/AWI/USER1"
},
"folder": {
"name": "DEV"
},
"custom": {
"myProp": "myValue",
"myProp2": "myValue2"
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"deployment_targets": [
{
"id": 146533,
"name": "My_Tomcat"
},
{
"id": 146555,
"name": "MySQL"
}
]
}
HTTP status code 201
Successful creation of a environment
Body
Media type: application/json
Type: environment_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- deployment_targets: Type: object List of Deployment Targets associated with Environment.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of the environment (e.g. Free,..)
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "DEV",
"deployment_targets": {
"total": 2,
"has_more": false,
"data": [
{
"id": 17424,
"name": "MySQL 1"
},
{
"id": 18424,
"name": "My Tomcat 8.0"
}
]
},
"description": "My DEV environment",
"status": "Free",
"provisioning_status": "provisioning",
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "Non-Production",
"version": "1.0"
},
"custom": {
"myProp": "myValue",
"myProp2": "myValue2"
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 400
Invalid data was passed, a.e. invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data: Entity could not be created.",
"details": ""
}
A specific environment
Get details of a specific environment
Update the environment. Pass data to be changed to body.
Delete the environment.
get /environments/{environmentId}
Get details of a specific environment
URI Parameters
- environmentId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: environment_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- deployment_targets: Type: object List of Deployment Targets associated with Environment.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of the environment (e.g. Free,..)
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "DEV",
"deployment_targets": {
"total": 2,
"has_more": false,
"data": [
{
"id": 17424,
"name": "MySQL 1"
},
{
"id": 18424,
"name": "My Tomcat 8.0"
}
]
},
"description": "My DEV environment",
"status": "Free",
"provisioning_status": "provisioning",
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "Non-Production",
"version": "1.0"
},
"custom": {
"myProp": "myValue",
"myProp2": "myValue2"
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /environments/{environmentId}
Update the environment. Pass data to be changed to body.
URI Parameters
- environmentId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- deployment_targets: Type: array List of Deployment Targets associated with Environment. "deployment_targets": [{"id": "1233", "name": "MSSQL"}, {"id": "1234", "name": "IIS"}]
- custom_type: Type: object The custom type of the entity (not allowed to be changed)
- custom: Type: object List of custom properties to set on the entity. Can be set with a name/value collection like this: "custom": { "url": "http://myserver.at", "port": 8080 }
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "DEV",
"description": "My DEV environment",
"status": "Free",
"provisioning_status": "provisioning",
"custom_type": {
"id": 42324,
"name": "Non-Production",
"version": "1.0"
},
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom": {
"myProp": "myValue",
"myProp2": "myValue2"
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
},
"deployment_targets": [
{
"id": 146533,
"name": "My_Tomcat"
},
{
"id": 146555,
"name": "MySQL"
}
]
}
HTTP status code 200
Successful update of the environment
Body
Media type: application/json
Type: environment_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- deployment_targets: Type: object List of Deployment Targets associated with Environment.
- custom_type: Type: object The custom type of the entity.
- custom: Type: object List of custom properties to set on the entity with a name/value collection
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of the environment (e.g. Free,..)
- dynamic: Type: object List of dynamic properties to set on the entity. It can be set with a name/value collection like this: "dynamic": { "/server/url": "http://myserver.at", "/server/port": 80 }
Example:
{
"id": 17424,
"name": "DEV",
"deployment_targets": {
"total": 2,
"has_more": false,
"data": [
{
"id": 17424,
"name": "MySQL 1"
},
{
"id": 18424,
"name": "My Tomcat 8.0"
}
]
},
"description": "My DEV environment",
"status": "Free",
"provisioning_status": "provisioning",
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "Non-Production",
"version": "1.0"
},
"custom": {
"myProp": "myValue",
"myProp2": "myValue2"
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The environment does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /environments/{environmentId}
Delete the environment.
URI Parameters
- environmentId: required (string)
Deployment Targets assigned to the environment. Can be added or removed.
Get Deployment Targets assigned to the Environment (pageable)
Add Deployment Targets to the Environment. E.g: ["DT_1", "DT_2", "DT_3"] assigns three Deployment Targets to the Environment. Deployment Targets that are not in the array will be removed from the Environment. You can also pass a single Deployment Target to be added by, for example "name": "DT_1". Passing it this way will only assign DT_1 to the Environment without touching any other assignments.
get /environments/{environmentId}/deployment_targets
Get Deployment Targets assigned to the Environment (pageable)
URI Parameters
- environmentId: required (string)
Query Parameters
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 18424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
}
},
{
"id": 17424,
"name": "My Tomcat 8.0",
"status": "Active",
"description": "Tomcat 8.0",
"archived": false,
"owner": {
"id": 4255,
"name": "100/API/API"
},
"folder": {
"id": 4356,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 4264,
"name": "Tomcat",
"version": "1.0"
},
"custom": {
"mgmt_url": "http://vviedev01:8080/",
"username": "myuser"
}
}
]
}
post /environments/{environmentId}/deployment_targets
Add Deployment Targets to the Environment. E.g: ["DT_1", "DT_2", "DT_3"] assigns three Deployment Targets to the Environment. Deployment Targets that are not in the array will be removed from the Environment. You can also pass a single Deployment Target to be added by, for example "name": "DT_1". Passing it this way will only assign DT_1 to the Environment without touching any other assignments.
URI Parameters
- environmentId: required (string)
Body
Media type: application/json
Type: object
Example:
{
"deployment_targets": ["DT_1", "DT_2", "DT_3"]
}
HTTP status code 200
Deployment Target was successfully assigned to the Environment.
Body
Media type: application/json
Type: application/json
Example:
{"message": "Deployment Target was assigned successfully."}
HTTP status code 400
Invalid data has been passed. For example: invalid Json, invalid or missing properties or a deployment target that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid data.",
"details": "" }
A specific Deployment Target assigned to the Environment.
Get details of a specific Deployment Target assigned to the Environment.
Remove a Deployment Target from the Environment. The Deployment Target still remains in the system, just the assignment to the Environment is removed. No body required.
get /environments/{environmentId}/deployment_targets/{id}
Get details of a specific Deployment Target assigned to the Environment.
URI Parameters
- environmentId: required (string)
- id: required (string)
Id of the Deployment Target.
Example:
134354
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 17424,
"name": "My DT Template",
"status": "Inactive",
"agent": "Win01",
"description": "This DT serves to host an ARA installation",
"archived": false,
"owner": {
"id": 42455,
"name": "100/API/API"
},
"folder": {
"id": 435556,
"name": "INFRASTRUCTURE_PRODUCTION"
},
"custom_type": {
"id": 42324,
"name": "Filebased",
"version": "1.0"
},
"custom": {
"os_name": "Win2k8r2",
"os_version": "6",
"local_staging": "",
"remote_staging": ""
},
"dynamic": {
"/server/url": "http://myserver.at",
"/server/port": 80
}
}
HTTP status code 404
Body
Media type: application/json
Type: application/json
Example:
{ "code": 134541,
"error": "Deployment Target with id '14255' does not exist.",
"details": "" }
delete /environments/{environmentId}/deployment_targets/{id}
Remove a Deployment Target from the Environment. The Deployment Target still remains in the system, just the assignment to the Environment is removed. No body required.
URI Parameters
- environmentId: required (string)
- id: required (string)
Id of the Deployment Target.
Example:
134354
HTTP status code 200
Deployment Target was successfully removed from the Environment.
Body
Media type: application/json
Type: application/json
Example:
Deployment Target was removed successfully.
HTTP status code 404
The Deployment Target does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Deployment Target with id '14255' does not exist.",
"details": ""
}
Deprovision an Environment.
Kicks off the deprovisioning of an Environment.
post /environments/{environmentId}/deprovision
Kicks off the deprovisioning of an Environment.
URI Parameters
- environmentId: required (string)
HTTP status code 200
Execution was successfully started.
Body
Media type: application/json
Type: application/json
Example:
{
"environment": {
"id": 123897,
"name": "New_Environment"
},
"process_run_id": 1455656
}
HTTP status code 400
Invalid data.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134511,
"error": "Invalid data: Execution could not be started.",
"details": ""
}
/blueprints
Use this endpoint to list, create, update or provision Blueprints.
Get a pageable list of Blueprints. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Create a new blueprint in ARA.
get /blueprints
Get a pageable list of Blueprints. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Query Parameters
- creation_time: (string)
Filter by creation time of the Blueprint. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest Blueprint according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest Blueprint will be returned.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17444,
"name": "AE Blueprint",
"auto_rollback": false,
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 129107,
"name": "StackTmpl_202_Tomcat"
}
]
},
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AWI/USER"
},
"folder": {
"id": 435556,
"name": "DEV"
}
},
{
"id": 17424,
"name": "My ARA Blueprint ",
"auto_rollback": false,
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 129107,
"name": "StackTmpl_202_Tomcat"
},
{
"id": 146533,
"name": "DM Template"
}
]
},
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"archived": false,
"owner": {
"id": 42457,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /blueprints
Create a new blueprint in ARA.
Query Parameters
- fail_if_exists: (string)
Set to false to force an existing blueprint to be updated, otherwise, updating will be failed. Default: true.
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- stack_templates: Type: array List of Stack Templates associated with Blueprint. "stack_templates": [{"id": "1233", "name": "AE template"}, {"id": "1234", "name": "IIS template"}]
- auto_rollback: Type: boolean Enable/disable auto-rollback when provisioning fails.
Example:
{
"name": "My ARA Blueprint",
"auto_rollback": false,
"stack_templates": [
{
"name": "DM Template"
},
{
"name": "AE Template"
},
{
"name": "Agent Template"
}
],
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"owner": {
"name": "AWI/USER1"
},
"folder": {
"name": "DEV"
}
}
HTTP status code 201
Successful creation of a blueprint
Body
Media type: application/json
Type: blueprint_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- stack_templates: Type: object List of Stack Templates associated with Blueprint.
- auto_rollback: Type: boolean Enable/disable auto-rollback when provisioning fails.
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My ARA Blueprint",
"auto_rollback": false,
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 129107,
"name": "StackTmpl_202_Tomcat"
}
]
},
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
HTTP status code 400
Invalid data was passed, a.e. invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data: Entity could not be created.",
"details": ""
}
A specific Blueprint
Get details of a specific blueprint
Update the Blueprint. Pass data to be changed to body.
Delete the Blueprint
get /blueprints/{blueprintId}
Get details of a specific blueprint
URI Parameters
- blueprintId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 17424,
"name": "My ARA Blueprint",
"auto_rollback": false,
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 129107,
"name": "StackTmpl_202_Tomcat"
}
]
},
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
post /blueprints/{blueprintId}
Update the Blueprint. Pass data to be changed to body.
URI Parameters
- blueprintId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- stack_templates: Type: array List of Stack Templates associated with Blueprint. "stack_templates": [{"id": "1233", "name": "AE template"}, {"id": "1234", "name": "IIS template"}]
- auto_rollback: Type: boolean Enable/disable auto-rollback when provisioning fails.
Example:
{
"id": 17424,
"name": "My ARA Blueprint",
"auto_rollback": false,
"stack_templates": [
{
"id": 146533,
"name": "DM Template"
},
{
"id": 146555,
"name": "AE Template"
},
{
"id": 146555,
"name": "Agent Template"
}
],
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
HTTP status code 200
Successful update of the Blueprint
Body
Media type: application/json
Type: blueprint_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- folder: Type: object Folder of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- stack_templates: Type: object List of Stack Templates associated with Blueprint.
- auto_rollback: Type: boolean Enable/disable auto-rollback when provisioning fails.
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"id": 17424,
"name": "My ARA Blueprint",
"auto_rollback": false,
"stack_templates": {
"has_more": false,
"total": 1,
"data": [
{
"id": 129107,
"name": "StackTmpl_202_Tomcat"
}
]
},
"description": "This blueprint can be used to provision an ARA environment consisting of the DM, AE and an agent box",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AWI/USER1"
},
"folder": {
"id": 435556,
"name": "DEV"
}
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property, set related entity (e.g. deployment target custom type) that does not exists. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The Blueprint does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /blueprints/{blueprintId}
Delete the Blueprint
Stack Templates assigned to the Blueprint. Can be added or removed.
Get Stack Templates assigned to the Blueprint (pageable)
Add Stack Templates to the Blueprint. E.g: ["My Tomcat Template", "My IIS Template"] assigns two Stack Templates to the Blueprint. Stack Templates that are not in the array will be removed from the Blueprint. You can also pass a single Stack Template to be added by, for example "name": "My Tomcat Template". Passing it this way will only assign "My Tomcat Template" to the Blueprint without touching any other assignments.
get /blueprints/{blueprintId}/stack_templates
Get Stack Templates assigned to the Blueprint (pageable)
URI Parameters
- blueprintId: required (string)
Query Parameters
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- custom_type.name: (string)
Filter by name of custom type.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 128921,
"name": "VMware",
"version": "1.0.0 PCK.AUTOMIC_PROVISIONING.VMWARE"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
},
{
"id": 12345,
"name": "My Docker Stack Template",
"stack_provider": {
"id": 45678,
"name": "MyDocker"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.DOCKER",
"archived": false,
"owner": {
"id": 53424,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 7553432,
"name": "QA"
},
"custom_type": {
"id": 12321,
"name": "Docker",
"version": "1.0"
},
"custom": {
"origin_image": "tomcat"
}
}
]
}
post /blueprints/{blueprintId}/stack_templates
Add Stack Templates to the Blueprint. E.g: ["My Tomcat Template", "My IIS Template"] assigns two Stack Templates to the Blueprint. Stack Templates that are not in the array will be removed from the Blueprint. You can also pass a single Stack Template to be added by, for example "name": "My Tomcat Template". Passing it this way will only assign "My Tomcat Template" to the Blueprint without touching any other assignments.
URI Parameters
- blueprintId: required (string)
Body
Media type: application/json
Type: object
Example:
{
"stack_templates": ["My Tomcat Template", "My IIS Template"]
}
HTTP status code 200
Stack Tempalte was successfully assigned to the Blueprint.
Body
Media type: application/json
Type: application/json
Example:
{
"message": "Stack Template(s) was assigned successfully.",
"details": {
"stack_templates": [
"My Tomcat Template"
]
}
}
HTTP status code 400
Invalid data has been passed. For example: invalid Json, invalid or missing properties or a component that does not exist in the related application.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid data.",
"details": "" }
A specific Stack Template assigned to the Blueprint.
Get details of a specific Stack Template assigned to the Blueprint.
Remove a Stack Template from the Blueprint. The Stack Template still remains in the system, just the assignment to the Blueprint is removed. No body required.
get /blueprints/{blueprintId}/stack_templates/{id}
Get details of a specific Stack Template assigned to the Blueprint.
URI Parameters
- blueprintId: required (string)
- id: required (string)
Id of the Stack Template.
Example:
134354
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 17424,
"name": "My VMware Stack Template",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"deployment_target_templates": {
"has_more": false,
"total": 2,
"data": [
{
"id": 696,
"name": "ARA_IIS"
},
{
"id": 694,
"name": "ARA_TOMCAT"
}
]
},
"related_workflow_id": "PCK.CUSTOM_PROVISIONING.VMWARE",
"description": "My stack template",
"archived": false,
"owner": {
"id": 42455,
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"custom_type": {
"id": 42324,
"name": "VMware",
"version": "1.0"
},
"custom": {
"template": "my_template",
"customspec": "my_cust_spec",
"vm_name": "my_VM",
"datacenter": "my_DC",
"datastore": "my_DS",
"location_type": "my_location",
"vm_host": "my_host",
"destination_folder": "my_folder",
"vm_username": "my_user"
}
}
HTTP status code 404
Body
Media type: application/json
Type: application/json
Example:
{ "code": 134541,
"error": "Stack Template with id '14255' does not exist.",
"details": "" }
delete /blueprints/{blueprintId}/stack_templates/{id}
Remove a Stack Template from the Blueprint. The Stack Template still remains in the system, just the assignment to the Blueprint is removed. No body required.
URI Parameters
- blueprintId: required (string)
- id: required (string)
Id of the Stack Template.
Example:
134354
HTTP status code 200
Stack Template was successfully removed from the Blueprint.
Body
Media type: application/json
Type: application/json
Example:
Stack Template was removed successfully.
HTTP status code 404
The Stack Template does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Stack Template with id '14255' does not exist.",
"details": ""
}
Provisions a Blueprint into an Environment.
Kicks off the provisioning of an Environment based on this Blueprint.
post /blueprints/{blueprintId}/provision
Kicks off the provisioning of an Environment based on this Blueprint.
URI Parameters
- blueprintId: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, e.g. "folder": {"id": 14592, "name": "DEV"}
- custom_type: Type: object The custom type of the environment entity
- name: Type: string Name of the entity. If user does not set the name, it will automatically generate environment name. E.g. "63E2B958080642149290D2FC084D94DA".
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, e.g. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
- archived: Type: boolean Set to true if entity is archived. Default: false
Example:
{
"name": "my ARA environment",
"folder": {
"id": 435556,
"name": "DEV"
},
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"custom_type": {
"name": "Non-Production",
"version": "1.0"
}
}
HTTP status code 200
Execution was successfully started.
Body
Media type: application/json
Type: application/json
Example:
{
"environment": {
"id": 123897,
"name": "New_Environment"
},
"process_run_id": 1455656
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties, wrong data type of a property, set related entity (application, workflow, package...) that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134511,
"error": "Invalid data: Execution could not be started.",
"details": ""
}
/stacks
Use this endpoint to list Stacks.
Get a pageable list of Stacks. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
get /stacks
Get a pageable list of Stacks. The list is sorted based on the creation time in descending order (latest first). The filter parameters are optional. Multiple filters can be applied simultaneously (e.g. filter by creation_time and name). If no filters are supplied, all elements are returned (note however the usage of the paginating below).
Query Parameters
- creation_time: (string)
Filter by creation time of the Stack. The creation time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest Stack according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest Stack will be returned.
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 17424,
"name": "stack_5983291",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"physical_stack_id": "New_VM1",
"deployment_targets": [
{
"id": 146533,
"name": "Tomcat_1_5983291"
},
{
"id": 146534,
"name": "Tomcat_2_5983291"
},
{
"id": 146555,
"name": "MySQL_1_5983291"
}
]
},
{
"id": 17425,
"name": "stack_7983295",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"physical_stack_id": "New_VM2",
"deployment_targets": [
{
"id": 146533,
"name": "IIS_7983295"
}
]
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
A specific Stack
Get details of a specific stack
get /stacks/{stackId}
Get details of a specific stack
URI Parameters
- stackId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 17424,
"name": "stack_5983291",
"stack_provider": {
"id": 146533,
"name": "MyVMware"
},
"folder": {
"id": 435556,
"name": "DEV"
},
"owner": {
"id": 42455,
"name": "AWI/USER1"
},
"physical_stack_id": "New_VM",
"deployment_targets": [
{
"id": 146533,
"name": "Tomcat_1_5983291"
},
{
"id": 146534,
"name": "Tomcat_2_5983291"
},
{
"id": 146555,
"name": "MySQL_1_5983291"
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }
delete /stacks/{stackId}
URI Parameters
- stackId: required (string)
HTTP status code 200
Stack was successfully removed.
Body
Media type: application/json
Type: application/json
Example:
Stack was removed successfully.
HTTP status code 404
The Stack does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Stack with id '14255' does not exist.",
"details": ""
}
/logins
Use this endpoint to list Login Objects.
Get a list of Login Objects.
Create a new Login Object.
get /logins
Get a list of Login Objects.
Query Parameters
- name: (string)
Filter by name of the entity. Supporting wildcard (*) at the begining and at the end.
- folder.name: (string)
Filter by name of the folder.
- owner.name: (string)
Filter by name of user or usergroup.
- archived: (boolean)
Filter by archived property (default is "false").
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"has_more": false,
"total": 2,
"data": [
{
"id": 492514,
"name": "LOGIN.ALL",
"archived": false,
"owner": {
"id": 617,
"name": "100/AUTOMIC/AUTOMIC",
"type": "User"
},
"folder": {
"id": 492511,
"name": "DEFAULT"
}
},
{
"id": 492509,
"name": "LOGIN.QA",
"archived": false,
"owner": {
"id": 617,
"name": "100/QA/QA",
"type": "User"
},
"folder": {
"id": 492506,
"name": "QA_FOLDER"
}
}
]
}
post /logins
Create a new Login Object.
Body
Media type: application/json
Type: object
Example:
{
"name": "WIN09",
"folder": "DEFAULT",
"owner": "100/UC/UC"
}
HTTP status code 200
Login Object was created successfully.
Body
Media type: application/json
Type: application/json
Example:
{
"id": 492904,
"name": "WIN092",
"archived": false,
"owner": {
"id": 617,
"name": "100/AUTOMIC/AUTOMIC",
"type": "User"
},
"folder": {
"id": 630,
"name": "DEFAULT"
}
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134511,
"error": "name is required",
"details": ""
}
Update a Login Object.
Delete a Login Object.
post /logins/{loginId}
Update a Login Object.
URI Parameters
- loginId: required (string)
Body
Media type: application/json
Type: object
Example:
{
"name": "WIN09",
"folder": "DEFAULT",
"owner": "100/UC/UC"
}
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"id": 492904,
"name": "WIN092",
"archived": false,
"owner": {
"id": 617,
"name": "100/AUTOMIC/AUTOMIC",
"type": "User"
},
"folder": {
"id": 630,
"name": "DEFAULT"
}
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134511,
"error": "name is invalid",
"details": ""
}
delete /logins/{loginId}
Delete a Login Object.
URI Parameters
- loginId: required (string)
HTTP status code 200
Login Object was deleted successfully.
Body
Media type: application/json
Type: application/json
Example:
Login Object was deleted successfully.
HTTP status code 404
Cannot find Login Object
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134511,
"error": "Cannot find Login Object with Id 12312",
"details": ""
}
Get a list of Login Object Credentials.
Create a new Login Object Credential.
get /logins/{loginId}/credentials
Get a list of Login Object Credentials.
URI Parameters
- loginId: required (string)
HTTP status code 200
Body
Media type: application/json
Type: application/json
Example:
{
"has_more": false,
"total": 3,
"data": [
{
"name": "WIN01",
"type": "WINDOWS",
"login_infor": "nb080021\\administrator",
"identify": "WIN01WINDOWS"
},
{
"name": "WIN012",
"type": "SQL",
"login_infor": "sa",
"identify": "123"
},
{
"name": "LINUX01",
"type": "LINUX",
"login_infor": "root",
"identify": "root"
}
]
}
post /logins/{loginId}/credentials
Create a new Login Object Credential.
URI Parameters
- loginId: required (string)
Body
Media type: application/json
Type: object
Example:
{
"name": "WIN09",
"type": "Windows",
"login_infor": "admin",
"password": "123"
}
HTTP status code 200
Login Object was created successfully.
Body
Media type: application/json
Type: application/json
Example:
{
"name": "LINUX01",
"type": "LINUX",
"login_infor": "root",
"identify": "root"
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134511,
"error": "name is invalid",
"details": ""
}
Update a Login Object Credential.
Delete a Login Object Credential.
post /logins/{loginId}/credentials/{credentialIdentify}
Update a Login Object Credential.
URI Parameters
- loginId: required (string)
- credentialIdentify: required (string)
Body
Media type: application/json
Type: object
Example:
{
"name": "WIN09",
"type": "Windows",
"login_infor": "admin",
"password": "123"
}
HTTP status code 200
Login Object Credential was updated successfully.
Body
Media type: application/json
Type: application/json
Example:
{
"name": "LINUX01",
"type": "LINUX",
"login_infor": "root",
"identify": "root"
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134511,
"error": "name is invalid",
"details": ""
}
delete /logins/{loginId}/credentials/{credentialIdentify}
Delete a Login Object Credential.
URI Parameters
- loginId: required (string)
- credentialIdentify: required (string)
HTTP status code 200
Login Object Credential was successfully removed.
Body
Media type: application/json
Type: application/json
Example:
Login Object Credential was deleted successfully.
HTTP status code 404
Cannot find Login Object Credential.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134511,
"error": "Cannot find Login Object Credential with Identify Win01UNIX",
"details": ""
}
/provisioning_executions
Get list of provisioning executions.
Get a pageable list of provisioning executions.
get /provisioning_executions
Get a pageable list of provisioning executions.
Query Parameters
- workflow: (string)
Name of workflow.
- environment.name: (string)
Name of environment.
- blueprint.name: (string)
Name of blueprint.
- user.name: (string)
Name of user.
- status: (string)
status of provisioning execution.
- start_time: (string)
Filter by start time of the provisioning execution. The start time can be either set by exact date, a.e. creation_time=2015-11-12T12:00:00Z or you can use the keyword LATEST which will return only the latest provisioning execution according to its creation time and other filter criteria. Sample: If you set a filter ?creation_time=LATEST the latest provisioning execution will be returned.
- archived: (boolean)
Filter by archived property (default is "false").
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": true,
"total": 3,
"data": [
{
"id": 97268,
"user": {
"id": 204,
"name": "123/API/API",
"type": "User"
},
"workflow": "PROVISION",
"process_run_id": 1376317,
"status": "Provisioning",
"environment": {
"id": 97206,
"name": "TestNameOfExecution"
},
"blueprint": {
"id": 14725,
"name": "Blueprint4Docker"
},
"start_time": "2017-08-10T09:19:08Z",
"archived": false
},
{
"id": 96907,
"user": {
"id": 204,
"name": "123/API/API",
"type": "User"
},
"workflow": "DEPROVISION",
"process_run_id": 1376311,
"status": "Failed",
"environment": {
"id": 96293,
"name": "Blueprint4Unix_Vmware"
},
"blueprint": {
"id": 60348,
"name": "Blueprint4AWS"
},
"start_time": "2017-08-10T08:58:05Z",
"end_time": "2017-08-10T08:58:08Z",
"archived": false
},
{
"id": 96836,
"user": {
"id": 204,
"name": "123/API/API",
"type": "User"
},
"workflow": "DEPROVISION",
"process_run_id": 1376305,
"status": "Failed",
"environment": {
"id": 96293,
"name": "Blueprint4Unix_Vmware"
},
"blueprint": {
"id": 60348,
"name": "Blueprint4AWS"
},
"start_time": "2017-08-10T05:25:10Z",
"end_time": "2017-08-10T05:25:25Z",
"archived": false
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""}
Get detail of a provisioning execution.
Get details of a specific provisioning_execution
get /provisioning_executions/{id}
Get details of a specific provisioning_execution
URI Parameters
- id: required (string)
HTTP status code 200
Body
Media type: application/json
Type: provisioning_execution_response
The following properties are returned:
- id: Type: integer Id of the provisioning execution.
- user: Type: object User or usergroup owning the entity.
- workflow: Type: string Workflow to be executed.
- process_run_id: Type: integer Process run id in Automation engine.
- status: Type: string Current status of the provisioning execution.
- environment: Type: object Created environment.
- blueprint: Type: object Blueprint used to provision.
- start_time: Type: datetime Start time of execution
- end_time: Type: datetime Time after execution ended
- archived: Type: boolean True if archived.
Example:
{
"id": 97268,
"user": {
"id": 204,
"name": "123/API/API",
"type": "User"
},
"workflow": "PROVISION",
"process_run_id": 1376317,
"status": "Provisioning",
"environment": {
"id": 97206,
"name": "TestNameOfExecution"
},
"blueprint": {
"id": 14725,
"name": "Blueprint4Docker"
},
"start_time": "2017-08-10T09:19:08Z",
"end_time": "2017-08-10T09:29:08Z",
"archived": false
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134541,
"error": "Object does not exist.",
"details": "" }