2b7267544bd361e4d197be2bc1109517dff9580a
[aai/gizmo.git] / ASYNC.md
1 # ASYNCHRONOUS MODE
2
3 Gizmo has two modes, a Synchoronous (sync) mode and an Asynchronous (async) mode.
4
5 In the Async mode, Gizmo uses the consumer/producer model where when a
6 client makes a request, Gizmo will generate an event payload and
7 publish it  on the async event stream. It will then wait for a
8 response for that particular event on a different event stream. Once it recieves a
9 response, gizmo will send a response back to the client which made the
10 original request.
11
12 ## Here are a few examples of the events published by Gizmo
13
14 ### Vertex
15
16 #### Adding a Vertex
17
18     {
19         "timestamp": 1514927928167,
20         "operation": "CREATE",
21         "vertex": {
22             "properties": {
23                 "ipv4-oam-address": "1.2.3.4",
24                 "resource-version": "1477013499",
25                 "purpose": "my-purpose",
26                 "fqdn": "myhost.onap.net",
27                 "in-maint": false,
28                 "equip-model": "DL380p-nd",
29                 "equip-vendor": "HP",
30                 "equip-type": "server",
31                 "hostname": "myhost",
32                 "ptnii-equip-name": "e-name"
33             },
34             "key": "",
35             "type": "pserver",
36             "schema-version": "vX"
37         },
38         "transaction-id": "c0a81fa7-5ef4-49cd-ab39-e42c53c9b9a4"
39     }
40
41 #### Updating a Vertex
42
43     {
44         "timestamp": 1514929776429,
45         "operation": "UPDATE",
46         "vertex": {
47             "properties": {
48                 "ipv4-oam-address": "1.2.3.4",
49                 "resource-version": "1477013499",
50                 "purpose": "my-purpose",
51                 "fqdn": "updated.myhost.onap.net",
52                 "in-maint": false,
53                 "equip-model": "DELL380p-nd",
54                 "equip-vendor": "DELL",
55                 "equip-type": "updated-server",
56                 "hostname": "updated-myhost",
57                 "ptnii-equip-name": "name-has-been-updated"
58             },
59             "key": "84bf7b3f-81f5-4c34-ab5c-207281cb71bd",
60             "type": "pserver",
61             "schema-version": "vX"
62         },
63         "transaction-id": "3b8df1d5-4c51-47e3-bbef-c27b47e11149"
64     }
65
66 #### Deleting a Vertex
67
68     {
69         "timestamp": 1514930052327,
70         "operation": "DELETE",
71         "vertex": {
72             "key": "84bf7b3f-81f5-4c34-ab5c-207281cb71bd",
73             "type": "pserver",
74             "schema-version": "vX"
75         },
76         "transaction-id": "6bb7a27b-a942-4cac-9b2b-0fa1f3897b8c"
77     }
78
79
80 #### Adding an Edge
81
82     {
83       "timestamp": 1515005153863,
84       "operation": "CREATE",
85       "edge": {
86         "target": {
87           "key": "febd8996-62ec-4ce6-ba8e-d2fa1609e13b",
88           "type": "pserver"
89         },
90         "properties": {
91           "contains-other-v": "NONE",
92           "delete-other-v": "NONE",
93           "prevent-delete": "IN",
94           "SVC-INFRA": "OUT"
95         },
96         "key": "",
97         "type": "tosca.relationships.HostedOn",
98         "schema-version": "v11",
99         "source": {
100           "key": "7beade35-19f1-4c1d-a1bd-bfba59e0b582",
101           "type": "vserver"
102         }
103       },
104       "transaction-id": "63a8994d-1118-4e65-ab06-fff40f6f48ef"
105     }
106
107 #### Replace an Edge
108
109     {
110       "timestamp": 1515005301622,
111       "operation": "UPDATE",
112       "edge": {
113         "target": {
114           "key": "febd8996-62ec-4ce6-ba8e-d2fa1609e13b",
115           "type": "pserver"
116         },
117         "properties": {
118           "contains-other-v": "NOPE",
119           "delete-other-v": "YES",
120           "prevent-delete": "MAYBE",
121           "SVC-INFRA": "OUT"
122         },
123         "key": "9727a0ea-559e-497c-98e4-0cbdaede0346",
124         "type": "tosca.relationships.HostedOn",
125         "schema-version": "v11",
126         "source": {
127           "key": "7beade35-19f1-4c1d-a1bd-bfba59e0b582",
128           "type": "vserver"
129         }
130       },
131       "transaction-id": "ed284991-6c2f-4c94-a592-76fed17a2f14"
132     }
133
134
135 #### Deleting an Edge
136
137     {
138       "timestamp": 1515005579837,
139       "operation": "DELETE",
140       "edge": {
141         "key": "9727a0ea-559e-497c-98e4-0cbdaede0346",
142         "type": "tosca.relationships.HostedOn",
143         "schema-version": "v11"
144       },
145       "transaction-id": "b4583bc9-dd96-483f-ab2d-20c1c6e5622f"
146     }