mirror of https://github.com/docker/docs.git
4.6 KiB
4.6 KiB
Docker Cloud Events
Docker Cloud Event
Example
{
"type": "action",
"action": "update",
"parents": [
"/api/app/v1/user_namespace/container/0b0e3538-88df-4f07-9aed-3a3cc4175076/"
],
"resource_uri": "/api/app/v1/user_namespace/action/49f0efe8-a704-4a10-b02f-f96344fabadd/",
"state": "Success",
"uuid": "093ba3bb-08dd-48f0-8f12-4d3b85ef85b3",
"datetime": "2016-02-01T16:47:28Z"
}
Docker Cloud events are generated every time any of the following objects is created or changes state:
- Stack
- Service
- Container
- Node Cluster
- Node
- Action
This is a namespaced endpoint.
Attributes
Attribute | Description |
---|---|
type | Type of object that was created or updated. For possible values, check the events types table below. |
action | Type of action that was executed on the object. Possible values: create , update or delete |
parents | List of resource URIs (REST API) of the parents of the object, according to the "Parent-child hierarchy" table below |
resource_uri | Resource URI (REST API) of the object that was created or updated. You can do a GET operation on this URL to fetch its details |
state | The current state of the object |
uuid | Unique identifier for the event |
datetime | Date and time of the event in ISO 8601 format |
Event types
Type | Description |
---|---|
stack | Whenever a Stack is created or updated |
service | Whenever a Service is created or updated |
container | Whenever a Container is created or updated |
nodecluster | Whenever a Node Cluster is created or updated |
node | Whenever a Node is created or updated |
action | Whenever a Action is created or updated |
error | Sent when an error occurs on the websocket connection or as part of the authentication process |
Parent-child hierarchy
Object type | Parent types |
---|---|
Stack | (None) |
Service | Stack |
Container | Service, Stack, Node, Node Cluster |
Node Cluster | (None) |
Node | Node Cluster |
Action | (object to which the action applies to) |
Listen to new Docker Cloud Events
import dockercloud
def process_event(event):
print event
events = dockercloud.Events()
events.on_message(process_event)
events.run_forever()
import "github.com/docker/go-dockercloud/dockercloud"
// Listens for container events only
myFilter := dockercloud.NewStreamFilter(&dockercloud.EventFilter{Type: "container"})
stream := dockercloud.NewStream(myFilter)
if err := stream.Connect(); err == nil {
go stream.RunForever()
} else {
log.Print("Connect err: " + err.Error())
}
for {
select {
case event := <-stream.MessageChan:
log.Println(event)
case err := <-stream.ErrorChan:
log.Println(err)
}
}
GET /api/audit/v1/events/ HTTP/1.1
Host: ws.cloud.docker.com
Authorization: Basic dXNlcm5hbWU6YXBpa2V5
Connection: Upgrade
Upgrade: websocket
docker-cloud event
Listens for new Docker Cloud Events
Endpoint Type
Available in Docker Cloud's STREAM API
HTTP Request
GET /api/audit/v1/[optional_namespace/]events/
Query Parameters
Parameter | Description |
---|---|
type | Filter by type |
object | Filter by object resource URI |
parent | Filter by object parents |