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/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/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/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/json array of string (JSON)
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/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

Scales deployment

Security Roles Allowed
ADMIN, USER
Request Body
media type data type
application/json ScaleRequest (JSON)
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/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/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/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
}
                
              

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

For a given service name returns the container status on all nodes

Security Roles Allowed
ADMIN, USER
Request Parameters
name type description constraints
id path   required
service_name query   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/json DeployResponse (JSON)
application/xml deployResponse (XML)

Example

Request
GET /user/v1.0/deployer/{id}/container_status
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
}
                
              

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

Returns the service names running on the cluster

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 array of string (JSON)
application/json array of string (JSON)
application/xml list of string (XML)

Example

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

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

                
...