# AnsibleOutputController Resource

This controller is responsible for showing the output from ansible executions

### GET /user/v1.0/deployer/ansible/

Query AnsibleOutput by executing command.

Security Roles Allowed
  ADMIN, USER

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
command | query |  | required

Response Codes
code | condition
--- | ---
200 | Successful query
401 | Bad credentials

Response Body
media type | data type
--- | ---
application/json | array of AnsibleOutput (JSON)
application/json | array of AnsibleOutput (JSON)
application/xml | list of ansibleOutput (XML)

#### Example

##### Request

    GET /user/v1.0/deployer/ansible/
    Accept: application/json

##### Response

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

    [ {
      "host" : "147.228.242.58",
      "result" : {
        "msg" : "...",
        "changed" : true,
        "end" : 12345,
        "stdout" : "...",
        "cmd" : [ "...", "..." ],
        "start" : 12345,
        "stderr" : "...",
        "delta" : 12345
      },
      "cloudDeploymentDomain" : "https://carach5.ics.muni.cz:11443",
      "vmType" : "medium",
      "provisionID" : "59172db6e452f1b9b666a621",
      "cloudProvider" : "ec2",
      "owner" : "user1",
      "id" : "58e3946e0fb4f562d84ba1ad",
      "timestamp" : 1499793079011
    } ]

### DELETE /user/v1.0/deployer/ansible/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/ansible/all
    Accept: application/json

##### Response

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

    ...

### GET /user/v1.0/deployer/ansible/commands

Query for used (unique) commands

Security Roles Allowed
  ADMIN, USER

Response Codes
code | condition
--- | ---
200 | Successful query
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/ansible/commands
    Accept: application/json

##### Response

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

    ...

### GET /user/v1.0/deployer/ansible/ids

Returns the ids of stored objects. Empty list if non stored

Security Roles Allowed
  ADMIN, USER

Response Codes
code | condition
--- | ---
200 | Successful query
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/ansible/ids
    Accept: application/json

##### Response

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

    ...

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

Deletes object

Security Roles Allowed
  ADMIN, USER

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
id | path |  | required

Response Codes
code | condition
--- | ---
200 | Successful delete
404 | Non existing id
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/ansible/{id}
    Accept: application/json

##### Response

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

    ...

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

Returns an AnsibleOutput.

Security Roles Allowed
  ADMIN, USER

Request Parameters
name | type | description | constraints
--- | --- | --- | ---
id | path |  | required

Response Codes
code | condition
--- | ---
404 | AnsibleOutput not found
200 | AnsibleOutput exists
401 | Bad credentials

Response Body
media type | data type
--- | ---
application/json | AnsibleOutput (JSON)
application/json | AnsibleOutput (JSON)
application/xml | ansibleOutput (XML)

#### Example

##### Request

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

##### Response

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

    {
      "host" : "147.228.242.58",
      "result" : {
        "msg" : "...",
        "changed" : true,
        "end" : 12345,
        "stdout" : "...",
        "cmd" : [ "...", "..." ],
        "start" : 12345,
        "stderr" : "...",
        "delta" : 12345
      },
      "cloudDeploymentDomain" : "https://carach5.ics.muni.cz:11443",
      "vmType" : "medium",
      "provisionID" : "59172db6e452f1b9b666a621",
      "cloudProvider" : "ec2",
      "owner" : "user1",
      "id" : "58e3946e0fb4f562d84ba1ad",
      "timestamp" : 1499793079011
    }