9.5 KiB
Servers API
Get servers list [GET /v3/servers]
Get servers list
Request
- Policy: read_servers
- Method: GET
- Headers:
- Accept: application/json
- Params:
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
[
{
"id" : "server id",
"name" : "server name",
"cm_name" : "server configuration manager name",
"remote_user" : "ssh remote user",
"project": "project id",
"environment": "environment id",
"category": "category id",
"private_ip": "private IP address",
"public_ip": "public IP address",
"created_by": "server owner",
"reserved_by": "server reserved by",
"stack": "server stack name",
"ssh_key": "ssh key id",
"run_list": "server run list"
}
]
Get cm servers list [GET /v3/servers/cm_tool/:cm_tool]
Get servers list for configuration tool :cm_tool
Request
- Policy: read_servers
- Method: GET
- Headers:
- Accept: application/json
- Params:
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
[
{
}
]
Get provider servers list [GET /v3/servers/provider/:provider/:account]
Get servers list for provider :provider and account :account
Request
- Policy: read_servers
- Method: GET
- Headers:
- Accept: application/json
- Params:
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
[
{
}
]
Get server id by name [GET /v3/server/id/:name]
Get server id by name :name
Request
- Policy: read_servers
- Method: GET
- Headers:
- Accept: application/json
- Params:
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server id"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Get server [GET /v3/server/:id]
Get server by id
Request
- Policy: read_servers
- Method: GET
- Headers:
- Accept: application/json
- Params:
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{}
Create server [POST /v3/server]
Create new server
Request
- Policy: create_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- X-Stream: true -> return output in text stream
- Body:
{
"project": "project name", -> mandatory parameter
"environment": "env", -> mandatory parameter
"category": "env", -> mandatory parameter
"name": "server_name", -> if null, name will be generated
"without_bootstrap": null, -> do not install chef on instance if true
"force": null -> do not delete server on error
}
Response
Status: 201
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id"
"message" : "Created"
}
Delete server [DELETE /v3/server/:id]
Delete server with id ':id'
Request
- Policy: delete_servers
- Method: DELETE
- Headers:
- Accept: application/json
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{}
Pause server [POST /v3/server/:id/pause]
pause cloud server with identifier ':id'
Request
- Policy: pause_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id"
"message" : "Paused"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Unpause server [POST /v3/server/:id/unpause]
unpause cloud server with identifier ':id'
Request
- Policy: pause_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id"
"message" : "Unpaused"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Reserve server [POST /v3/server/:id/reserve]
Reserve server with identifier ':id'
Request
- Policy: reserve_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id"
"message" : "Reserved"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Unreserve server [POST /v3/server/:id/unreserve]
Unreserve server with identifier ':id'
Request
- Policy: reserve_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id"
"message" : "Unreserved"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Bootstrap server [POST /v3/server/:id/bootstrap]
Bootstrap server with identifier ':id'
Request
- Policy: deploy_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- X-Stream: true -> return output in text stream
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id",
"cm_name": "server cm name",
"message" : "Bootstraped"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Unbootstrap server [POST /v3/server/:id/unbootstrap]
Unbootstrap server with identifier ':id'
Request
- Policy: deploy_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id",
"message" : "Unbootstraped"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Deploy server [POST /v3/server/:id/deploy]
Deploy server with identifier ':id'
Request
- Policy: deploy_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- X-Stream: true -> return output in text stream
- Body:
{
"tags": [], -> array of tags to apply on each server before running chef-client
"build_number": "", -> string, build number to deploy
"run_list": [], -> array of strings to set run_list for chef-client
}
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server id",
"message": ""
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Add server [POST /v3/server/add]
Add external server
Request
- Policy: create_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- Body:
{
"project": "project id", -> mandatory parameter
"environment": "env id", -> mandatory parameter
"category": "category id", -> mandatory parameter
"key": "ssh key", -> mandatory parameter
"remote_user": "ssh user", -> mandatory parameter
"private_ip": "ip", -> mandatory parameter
"public_ip": "ip"
}
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id",
"message" : "Added"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Add server tags [POST /v3/server/:id/tags/add]
Add cloud server tags
Request
- Policy: create_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- Body:
{
"tags": [
{"tag name": "tag value"}
]
}
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id",
"message" : "Added"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Delete server tags [POST /v3/server/:id/tags/delete]
Delete cloud server tags
Request
- Policy: create_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- Body:
{
"tags": [
{"tag name": "tag value"}
]
}
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id",
"message" : "Deleted"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}
Set server run list [POST /v3/server/:id/run_list]
Set server run list
Request
- Policy: create_server
- Method: POST
- Headers:
- Accept: application/json
- Content-Type: application/json
- Body:
{
"run_list": [
]
}
Response
Status: 200
- Headers:
- Content-Type: application/json
- Body:
{
"id": "server_id",
"message" : "Deleted"
}
Status: 404
- Headers:
- Content-Type: application/json
- Body:
{
"message": ""
}