ProvisionController Resource

This controller is responsible for obtaining resources from cloud providers based the plan generated by the planner

DELETE /user/v1.0/provisioner/all

Security Roles Allowed
ADMIN
Response Codes
code condition
401 Bad credentials
Response Body
media type data type
application/json string (JSON)
application/xml string (XML)

Example

Request
DELETE /user/v1.0/provisioner/all
Accept: application/json

              
Response
HTTP/1.1 204 Looks Good
Content-Type: application/json

                
...
                
              

GET /user/v1.0/provisioner/ids

Gets the IDs of all the stored ProvisionRequest

Security Roles Allowed
ADMIN, USER
Response Codes
code condition
401 Bad credentials
Response Body
media type data type description
application/json array of string (JSON) a list of IDs
application/xml list of string (XML)

Example

Request
GET /user/v1.0/provisioner/ids
Accept: application/json

              
Response
HTTP/1.1 200 Looks Good
Content-Type: application/json

                
...
                
              

POST /user/v1.0/provisioner/provision

Provision the resources specified by a plan.

Security Roles Allowed
ADMIN, USER
Request Body
media type data type
application/json ProvisionRequest (JSON)
application/xml provisionRequest (XML)
Response Codes
code condition
400 Plan not found or credentials not found
200 provision success
401 Bad credentials
Response Body
media type data type description
application/json string (JSON) The ID of the provisioned ProvisionRequest
application/xml string (XML)

Example

Request
POST /user/v1.0/provisioner/provision
Content-Type: application/json
Accept: application/json

                
{
  "cloudCredentialsIDs" : [ "58e3946e0fb4f562d84ba1ad", "..." ],
  "planID" : "ASedsfd46b4fDFd83ba1q",
  "userKeyPairIDs" : [ "ASedsfd46b4fFd344a1A", "..." ],
  "deployerKeyPairIDs" : [ "...", "..." ],
  "keyValue" : {
    "property1" : { },
    "property2" : { }
  },
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 12345
}
                
              
Response
HTTP/1.1 200 Looks Good
Content-Type: application/json

                
...
                
              

GET /user/v1.0/provisioner/sample

Security Roles Allowed
ADMIN, USER
Response Codes
code condition
401 Bad credentials
Response Body
media type data type
application/json ProvisionRequest (JSON)
application/xml provisionRequest (XML)

Example

Request
GET /user/v1.0/provisioner/sample
Accept: application/json

              
Response
HTTP/1.1 200 Looks Good
Content-Type: application/json

                
{
  "cloudCredentialsIDs" : [ "58e3946e0fb4f562d84ba1ad", "..." ],
  "planID" : "ASedsfd46b4fDFd83ba1q",
  "userKeyPairIDs" : [ "ASedsfd46b4fFd344a1A", "..." ],
  "deployerKeyPairIDs" : [ "...", "..." ],
  "keyValue" : {
    "property1" : { },
    "property2" : { }
  },
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 12345
}
                
              

DELETE /user/v1.0/provisioner/{id}

Deletes the ProvisionRequest

Security Roles Allowed
ADMIN, USER
Request Parameters
name type description constraints
id path   required
Response Codes
code condition
401 Bad credentials
Response Body
media type data type description
application/json string (JSON) the ID of the deleted ProvisionRequest
application/xml string (XML)

Example

Request
DELETE /user/v1.0/provisioner/{id}
Accept: application/json

              
Response
HTTP/1.1 204 Looks Good
Content-Type: application/json

                
...
                
              

GET /user/v1.0/provisioner/{id}

Gets the ProvisionRequest

Security Roles Allowed
ADMIN, USER
Request Parameters
name type description constraints
id path   required
Response Codes
code condition
401 Bad credentials
Response Body
media type data type description
application/json ProvisionResponse (JSON) the requested ProvisionRequest
application/xml provisionResponse (XML)

Example

Request
GET /user/v1.0/provisioner/{id}
Accept: application/json

              
Response
HTTP/1.1 200 Looks Good
Content-Type: application/json

                
{
  "deployParameters" : [ {
    "IP" : "52.73.245.157",
    "user" : "vm_user",
    "role" : "slave"
  }, {
    "IP" : "...",
    "user" : "...",
    "role" : "..."
  } ],
  "cloudKeyPairIDs" : [ "...", "..." ],
  "cloudCredentialsIDs" : [ "58e3946e0fb4f562d84ba1ad", "..." ],
  "planID" : "ASedsfd46b4fDFd83ba1q",
  "userKeyPairIDs" : [ "ASedsfd46b4fFd344a1A", "..." ],
  "deployerKeyPairIDs" : [ "...", "..." ],
  "keyValue" : {
    "property1" : { },
    "property2" : { }
  },
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 12345
}
                
              

POST /user/v1.0/provisioner/post/provision/

Updates or creates a new ProvisionResponse.

Security Roles Allowed
ADMIN, USER
Request Body
media type data type
application/json ProvisionResponse (JSON)
application/xml provisionResponse (XML)
Response Codes
code condition
400 Plan not found or credentials not found or something important
200 provision success
401 Bad credentials
Response Body
media type data type
application/json string (JSON)
application/xml string (XML)

Example

Request
POST /user/v1.0/provisioner/post/provision/
Content-Type: application/json
Accept: application/json

                
{
  "deployParameters" : [ {
    "IP" : "52.73.245.157",
    "user" : "vm_user",
    "role" : "slave"
  }, {
    "IP" : "...",
    "user" : "...",
    "role" : "..."
  } ],
  "cloudKeyPairIDs" : [ "...", "..." ],
  "cloudCredentialsIDs" : [ "58e3946e0fb4f562d84ba1ad", "..." ],
  "planID" : "ASedsfd46b4fDFd83ba1q",
  "userKeyPairIDs" : [ "ASedsfd46b4fFd344a1A", "..." ],
  "deployerKeyPairIDs" : [ "...", "..." ],
  "keyValue" : {
    "property1" : { },
    "property2" : { }
  },
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 12345
}
                
              
Response
HTTP/1.1 200 Looks Good
Content-Type: application/json

                
...