DeployController Resource

This controller is responsible for deploying a cluster on provisoned resources.

DELETE /user/v1.0/deployer/all

Deletes all entries. Use with caution !

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

Example

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

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

                
...
                
              

POST /user/v1.0/deployer/deploy

Deploys software (inc. swarm ,kubernetes) to provisioned VMs.

Security Roles Allowed
ADMIN, USER
Request Body
media type data type
application/json DeployRequest (JSON)
application/xml deployRequest (XML)
Response Codes
code condition
400 Empty manager type. Aveliable: ansible, swarm ,kubernetes
400 Empty provision ID
500 Deploymet failed
200 Successful deploymet
401 Bad credentials
Response Body
media type data type
application/json string (JSON)
application/xml string (XML)

Example

Request
POST /user/v1.0/deployer/deploy
Content-Type: application/json
Accept: application/json

                
{
  "provisionID" : "58e3946e0fb4f562d84ba1ad",
  "managerType" : "ansible",
  "configurationID" : "58e3946e0fb4f562d84ba1ad",
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 1499793079011
}
                
              
Response
HTTP/1.1 200 Looks Good
Content-Type: application/json

                
...
                
              

GET /user/v1.0/deployer/ids

Gets the IDs of all the stored deployment descriptions.

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

Example

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

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

                
...
                
              

GET /user/v1.0/deployer/sample

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

Example

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

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

                
{
  "provisionID" : "58e3946e0fb4f562d84ba1ad",
  "managerType" : "ansible",
  "configurationID" : "58e3946e0fb4f562d84ba1ad",
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 1499793079011
}
                
              

POST /user/v1.0/deployer/scale

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

Example

Request
POST /user/v1.0/deployer/scale
Content-Type: application/json
Accept: application/json

                
{
  "scaleTargetID" : "58e3946e0fb4f562d84ba1ad",
  "scaleTargetName" : "telegreen_db",
  "numOfInstances" : 5,
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 1499793079011
}
                
              
Response
HTTP/1.1 201 Looks Good
Content-Type: application/json

                
...
                
              

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

Deletes entry

Security Roles Allowed
ADMIN, USER
Request Parameters
name type description constraints
id path   required
Response Codes
code condition
200 Successful delete
404 Object not found
401 Bad credentials
Response Body
media type data type
application/json string (JSON)
application/xml string (XML)

Example

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

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

                
...
                
              

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

Returns a deployment description

Security Roles Allowed
ADMIN, USER
Request Parameters
name type description constraints
id path   required
Response Codes
code condition
404 Object not found
200 Object found
401 Bad credentials
Response Body
media type data type
application/json DeployResponse (JSON)
application/xml deployResponse (XML)

Example

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

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

                
{
  "ansibleOutputList" : [ "...", "..." ],
  "keyPair" : {
    "privateKey" : {
      "name" : "id_dsa.pub",
      "type" : "PRIVATE",
      "attributes" : {
        "property1" : "domain_name:Virginia",
        "property2" : "domain_name:Virginia"
      },
      "key" : "-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEAm6AALYxkJFNzD3bfVJ4+hMY5j0/kqM9CURLKXMlYuAysnvoG8wZKx9Bedefm\\neNSse4zTg798ZA2kDMZFIrwp1AseTwtj8DDu5fhG5DjyI3g6iJltS5zFQdMXneDlHXBX8cncSzNY\\nRx0NdjEMAe7YttvI8FNlxL0VnMFli/HB/ftzYMe5+AmkSROncVGHiwoiUpj+vtobCFOYtXsCf6ri\\nd4lgWA5wv6DZT/JKCYymiBqgSXu3ueFcEzw5SAukARWVjn1xccjZkokFfBbO/FpYY00TrUTBw9S6\\nD3iM+gj8RT6EKILOmhrt71D21S95WAWIT7h2YBsy1KAvMixhNf9VaQIDAQABAoIBAHhVYK3Xl3tr\\nN1Xm0ctJTQg3ijxhR2qsUBgGUokqezpdOoD2zbbOz7XvTYsX1GLr967U9pwxzUpELexexwiTvDgk\\nnLv8D7ui6qbRsmc4DSsWBRSophVIVFKQmftO8Xow6x+fuYJAYmsicM1KIYHBILtL+PSzV8anenWq\\nKQ3r0tfCiQhEzKEk4b1uT3SJWQyHE++JAhVkO7lIeb6S9Dg1jAaAeMnJ/NiMxTarpPRnxe6hsTsH\\ngG1iKWo+Skcl4SknOc+CMEfyDjG4FL7MGhKduahsO8vMUrgGsDD7EH3NiX/FweB8La6qpDYAwFpC\\nycrooyhiyzw8Wb5gGaYnmvr9l70CgYEAx74O8JleXaHpxEAmh4h7VbLmJ3mOylfBmOdzcHeedJQw\\nack2SAv65WBI9S9MEQ7J/vFuyw5HNk3C/mcWgzDQXSNIhHLvl/Z9sux/Qpm3SQWLzBxKV3dJ4r\\nwcAxzVA93+/L1Nee+VOKnlyRumvVa6+XLsLagpap2AVcTqlerMcCgYEAx3T2pXtqkCE9eU/ov22r\\npdaKjgHoGOUg1CMEfWi/Ch6sYIIRyrHz6dhy+yR1pXNgPbLWdrn8l88F3+IsmbaMupMgRmqwEC3G\\n9Y2FglGIVvRdZaagvRxLzRCcvcN4v6OYs9ST4o1xlv7Qxphld+0XDKv7VSCv/rASuK8BqlFL3E8C\\ngYArMXJRnRjG7qh6g9TRIjZphdI3XxX9s5Rt2D8iZvuhAhqmBZjzY4PR7kxYmO2+EpCjzNnEl0XW\\n/GHaWbiIjhnAykx4N9KP7gGom3O5lzwHUme1XnFKcO2wDjQwJbufRmba8iQF1srN577mF+Z7ha4V\\nJ1duCTzvWF1KFX6sk/uhKQKBgAcDFai7rgNjJ8YcCRKxyFcMM9LKPl6hr4XFtWKzTAQPEABUkkuN\\n9gVClsg9f+VRKRECOIf0Ae1UWeCFEwxUXp4wjfHrzkTDVztKvmbWdvSXorDwKrZ7SC7tZpVFSfly\\nxuuLjadpUZT9YFmbAfY1X5oSccOMYqORjRbxEB3svb4BAoGAGTgFuq9Zojh/KIqY8b4HpEfmh6CQ\\nhLVfD98Nqd6GDbxgvIM0v4mFXE92x2jn35Ia0JdFyh3B8Vkl7sqQZfxDFXI9O9pte2mxY9ICaY\\n55+X/SN1pd53BH+gaPZJy/R+Vpvs5MN48hoUKy5UKpoFeUWrS5QArjtvNCm4SGlXw=\\n-----END RSA PRIVATE KEY-----\\n"
    },
    "publicKey" : {
      "name" : "id_dsa.pub",
      "type" : "PRIVATE",
      "attributes" : {
        "property1" : "domain_name:Virginia",
        "property2" : "domain_name:Virginia"
      },
      "key" : "-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEAm6AALYxkJFNzD3bfVJ4+hMY5j0/kqM9CURLKXMlYuAysnvoG8wZKx9Bedefm\\neNSse4zTg798ZA2kDMZFIrwp1AseTwtj8DDu5fhG5DjyI3g6iJltS5zFQdMXneDlHXBX8cncSzNY\\nRx0NdjEMAe7YttvI8FNlxL0VnMFli/HB/ftzYMe5+AmkSROncVGHiwoiUpj+vtobCFOYtXsCf6ri\\nd4lgWA5wv6DZT/JKCYymiBqgSXu3ueFcEzw5SAukARWVjn1xccjZkokFfBbO/FpYY00TrUTBw9S6\\nD3iM+gj8RT6EKILOmhrt71D21S95WAWIT7h2YBsy1KAvMixhNf9VaQIDAQABAoIBAHhVYK3Xl3tr\\nN1Xm0ctJTQg3ijxhR2qsUBgGUokqezpdOoD2zbbOz7XvTYsX1GLr967U9pwxzUpELexexwiTvDgk\\nnLv8D7ui6qbRsmc4DSsWBRSophVIVFKQmftO8Xow6x+fuYJAYmsicM1KIYHBILtL+PSzV8anenWq\\nKQ3r0tfCiQhEzKEk4b1uT3SJWQyHE++JAhVkO7lIeb6S9Dg1jAaAeMnJ/NiMxTarpPRnxe6hsTsH\\ngG1iKWo+Skcl4SknOc+CMEfyDjG4FL7MGhKduahsO8vMUrgGsDD7EH3NiX/FweB8La6qpDYAwFpC\\nycrooyhiyzw8Wb5gGaYnmvr9l70CgYEAx74O8JleXaHpxEAmh4h7VbLmJ3mOylfBmOdzcHeedJQw\\nack2SAv65WBI9S9MEQ7J/vFuyw5HNk3C/mcWgzDQXSNIhHLvl/Z9sux/Qpm3SQWLzBxKV3dJ4r\\nwcAxzVA93+/L1Nee+VOKnlyRumvVa6+XLsLagpap2AVcTqlerMcCgYEAx3T2pXtqkCE9eU/ov22r\\npdaKjgHoGOUg1CMEfWi/Ch6sYIIRyrHz6dhy+yR1pXNgPbLWdrn8l88F3+IsmbaMupMgRmqwEC3G\\n9Y2FglGIVvRdZaagvRxLzRCcvcN4v6OYs9ST4o1xlv7Qxphld+0XDKv7VSCv/rASuK8BqlFL3E8C\\ngYArMXJRnRjG7qh6g9TRIjZphdI3XxX9s5Rt2D8iZvuhAhqmBZjzY4PR7kxYmO2+EpCjzNnEl0XW\\n/GHaWbiIjhnAykx4N9KP7gGom3O5lzwHUme1XnFKcO2wDjQwJbufRmba8iQF1srN577mF+Z7ha4V\\nJ1duCTzvWF1KFX6sk/uhKQKBgAcDFai7rgNjJ8YcCRKxyFcMM9LKPl6hr4XFtWKzTAQPEABUkkuN\\n9gVClsg9f+VRKRECOIf0Ae1UWeCFEwxUXp4wjfHrzkTDVztKvmbWdvSXorDwKrZ7SC7tZpVFSfly\\nxuuLjadpUZT9YFmbAfY1X5oSccOMYqORjRbxEB3svb4BAoGAGTgFuq9Zojh/KIqY8b4HpEfmh6CQ\\nhLVfD98Nqd6GDbxgvIM0v4mFXE92x2jn35Ia0JdFyh3B8Vkl7sqQZfxDFXI9O9pte2mxY9ICaY\\n55+X/SN1pd53BH+gaPZJy/R+Vpvs5MN48hoUKy5UKpoFeUWrS5QArjtvNCm4SGlXw=\\n-----END RSA PRIVATE KEY-----\\n"
    },
    "keyPairId" : "...",
    "owner" : "user1",
    "id" : "58e3946e0fb4f562d84ba1ad",
    "timestamp" : 1499793079011
  },
  "scale" : {
    "scaleTargetID" : "58e3946e0fb4f562d84ba1ad",
    "scaleTargetName" : "telegreen_db",
    "numOfInstances" : 5,
    "owner" : "user1",
    "id" : "58e3946e0fb4f562d84ba1ad",
    "timestamp" : 1499793079011
  },
  "managerInfo" : {
    "property1" : { },
    "property2" : { }
  },
  "provisionID" : "58e3946e0fb4f562d84ba1ad",
  "managerType" : "ansible",
  "configurationID" : "58e3946e0fb4f562d84ba1ad",
  "owner" : "user1",
  "id" : "58e3946e0fb4f562d84ba1ad",
  "timestamp" : 1499793079011
}