Add client code from bcsaller
[osm/N2VC.git] / juju / client / schemas.json
1 [
2   {
3     "Name": "Action",
4     "Version": 1,
5     "Schema": {
6       "type": "object",
7       "properties": {
8         "Actions": {
9           "type": "object",
10           "properties": {
11             "Params": {
12               "$ref": "#/definitions/Entities"
13             },
14             "Result": {
15               "$ref": "#/definitions/ActionResults"
16             }
17           }
18         },
19         "Cancel": {
20           "type": "object",
21           "properties": {
22             "Params": {
23               "$ref": "#/definitions/Entities"
24             },
25             "Result": {
26               "$ref": "#/definitions/ActionResults"
27             }
28           }
29         },
30         "Enqueue": {
31           "type": "object",
32           "properties": {
33             "Params": {
34               "$ref": "#/definitions/Actions"
35             },
36             "Result": {
37               "$ref": "#/definitions/ActionResults"
38             }
39           }
40         },
41         "FindActionTagsByPrefix": {
42           "type": "object",
43           "properties": {
44             "Params": {
45               "$ref": "#/definitions/FindTags"
46             },
47             "Result": {
48               "$ref": "#/definitions/FindTagsResults"
49             }
50           }
51         },
52         "FindActionsByNames": {
53           "type": "object",
54           "properties": {
55             "Params": {
56               "$ref": "#/definitions/FindActionsByNames"
57             },
58             "Result": {
59               "$ref": "#/definitions/ActionsByNames"
60             }
61           }
62         },
63         "ListAll": {
64           "type": "object",
65           "properties": {
66             "Params": {
67               "$ref": "#/definitions/Entities"
68             },
69             "Result": {
70               "$ref": "#/definitions/ActionsByReceivers"
71             }
72           }
73         },
74         "ListCompleted": {
75           "type": "object",
76           "properties": {
77             "Params": {
78               "$ref": "#/definitions/Entities"
79             },
80             "Result": {
81               "$ref": "#/definitions/ActionsByReceivers"
82             }
83           }
84         },
85         "ListPending": {
86           "type": "object",
87           "properties": {
88             "Params": {
89               "$ref": "#/definitions/Entities"
90             },
91             "Result": {
92               "$ref": "#/definitions/ActionsByReceivers"
93             }
94           }
95         },
96         "ListRunning": {
97           "type": "object",
98           "properties": {
99             "Params": {
100               "$ref": "#/definitions/Entities"
101             },
102             "Result": {
103               "$ref": "#/definitions/ActionsByReceivers"
104             }
105           }
106         },
107         "Run": {
108           "type": "object",
109           "properties": {
110             "Params": {
111               "$ref": "#/definitions/RunParams"
112             },
113             "Result": {
114               "$ref": "#/definitions/ActionResults"
115             }
116           }
117         },
118         "RunOnAllMachines": {
119           "type": "object",
120           "properties": {
121             "Params": {
122               "$ref": "#/definitions/RunParams"
123             },
124             "Result": {
125               "$ref": "#/definitions/ActionResults"
126             }
127           }
128         },
129         "ServicesCharmActions": {
130           "type": "object",
131           "properties": {
132             "Params": {
133               "$ref": "#/definitions/Entities"
134             },
135             "Result": {
136               "$ref": "#/definitions/ServicesCharmActionsResults"
137             }
138           }
139         }
140       },
141       "definitions": {
142         "Action": {
143           "type": "object",
144           "properties": {
145             "name": {
146               "type": "string"
147             },
148             "parameters": {
149               "type": "object",
150               "patternProperties": {
151                 ".*": {
152                   "type": "object",
153                   "additionalProperties": true
154                 }
155               }
156             },
157             "receiver": {
158               "type": "string"
159             },
160             "tag": {
161               "type": "string"
162             }
163           },
164           "additionalProperties": false,
165           "required": [
166             "tag",
167             "receiver",
168             "name"
169           ]
170         },
171         "ActionResult": {
172           "type": "object",
173           "properties": {
174             "action": {
175               "$ref": "#/definitions/Action"
176             },
177             "completed": {
178               "type": "string",
179               "format": "date-time"
180             },
181             "enqueued": {
182               "type": "string",
183               "format": "date-time"
184             },
185             "error": {
186               "$ref": "#/definitions/Error"
187             },
188             "message": {
189               "type": "string"
190             },
191             "output": {
192               "type": "object",
193               "patternProperties": {
194                 ".*": {
195                   "type": "object",
196                   "additionalProperties": true
197                 }
198               }
199             },
200             "started": {
201               "type": "string",
202               "format": "date-time"
203             },
204             "status": {
205               "type": "string"
206             }
207           },
208           "additionalProperties": false
209         },
210         "ActionResults": {
211           "type": "object",
212           "properties": {
213             "results": {
214               "type": "array",
215               "items": {
216                 "$ref": "#/definitions/ActionResult"
217               }
218             }
219           },
220           "additionalProperties": false
221         },
222         "Actions": {
223           "type": "object",
224           "properties": {
225             "actions": {
226               "type": "array",
227               "items": {
228                 "$ref": "#/definitions/Action"
229               }
230             }
231           },
232           "additionalProperties": false
233         },
234         "ActionsByName": {
235           "type": "object",
236           "properties": {
237             "actions": {
238               "type": "array",
239               "items": {
240                 "$ref": "#/definitions/ActionResult"
241               }
242             },
243             "error": {
244               "$ref": "#/definitions/Error"
245             },
246             "name": {
247               "type": "string"
248             }
249           },
250           "additionalProperties": false
251         },
252         "ActionsByNames": {
253           "type": "object",
254           "properties": {
255             "actions": {
256               "type": "array",
257               "items": {
258                 "$ref": "#/definitions/ActionsByName"
259               }
260             }
261           },
262           "additionalProperties": false
263         },
264         "ActionsByReceiver": {
265           "type": "object",
266           "properties": {
267             "actions": {
268               "type": "array",
269               "items": {
270                 "$ref": "#/definitions/ActionResult"
271               }
272             },
273             "error": {
274               "$ref": "#/definitions/Error"
275             },
276             "receiver": {
277               "type": "string"
278             }
279           },
280           "additionalProperties": false
281         },
282         "ActionsByReceivers": {
283           "type": "object",
284           "properties": {
285             "actions": {
286               "type": "array",
287               "items": {
288                 "$ref": "#/definitions/ActionsByReceiver"
289               }
290             }
291           },
292           "additionalProperties": false
293         },
294         "Entities": {
295           "type": "object",
296           "properties": {
297             "Entities": {
298               "type": "array",
299               "items": {
300                 "$ref": "#/definitions/Entity"
301               }
302             }
303           },
304           "additionalProperties": false,
305           "required": [
306             "Entities"
307           ]
308         },
309         "Entity": {
310           "type": "object",
311           "properties": {
312             "Tag": {
313               "type": "string"
314             }
315           },
316           "additionalProperties": false,
317           "required": [
318             "Tag"
319           ]
320         },
321         "Error": {
322           "type": "object",
323           "properties": {
324             "Code": {
325               "type": "string"
326             },
327             "Info": {
328               "$ref": "#/definitions/ErrorInfo"
329             },
330             "Message": {
331               "type": "string"
332             }
333           },
334           "additionalProperties": false,
335           "required": [
336             "Message",
337             "Code"
338           ]
339         },
340         "ErrorInfo": {
341           "type": "object",
342           "properties": {
343             "Macaroon": {
344               "$ref": "#/definitions/Macaroon"
345             },
346             "MacaroonPath": {
347               "type": "string"
348             }
349           },
350           "additionalProperties": false
351         },
352         "FindActionsByNames": {
353           "type": "object",
354           "properties": {
355             "names": {
356               "type": "array",
357               "items": {
358                 "type": "string"
359               }
360             }
361           },
362           "additionalProperties": false
363         },
364         "FindTags": {
365           "type": "object",
366           "properties": {
367             "prefixes": {
368               "type": "array",
369               "items": {
370                 "type": "string"
371               }
372             }
373           },
374           "additionalProperties": false,
375           "required": [
376             "prefixes"
377           ]
378         },
379         "FindTagsResults": {
380           "type": "object",
381           "properties": {
382             "matches": {
383               "type": "object",
384               "patternProperties": {
385                 ".*": {
386                   "type": "array",
387                   "items": {
388                     "$ref": "#/definitions/Entity"
389                   }
390                 }
391               }
392             }
393           },
394           "additionalProperties": false,
395           "required": [
396             "matches"
397           ]
398         },
399         "Macaroon": {
400           "type": "object",
401           "properties": {
402             "caveats": {
403               "type": "array",
404               "items": {
405                 "$ref": "#/definitions/caveat"
406               }
407             },
408             "data": {
409               "type": "array",
410               "items": {
411                 "type": "integer"
412               }
413             },
414             "id": {
415               "$ref": "#/definitions/packet"
416             },
417             "location": {
418               "$ref": "#/definitions/packet"
419             },
420             "sig": {
421               "type": "array",
422               "items": {
423                 "type": "integer"
424               }
425             }
426           },
427           "additionalProperties": false,
428           "required": [
429             "data",
430             "location",
431             "id",
432             "caveats",
433             "sig"
434           ]
435         },
436         "RunParams": {
437           "type": "object",
438           "properties": {
439             "Commands": {
440               "type": "string"
441             },
442             "Machines": {
443               "type": "array",
444               "items": {
445                 "type": "string"
446               }
447             },
448             "Services": {
449               "type": "array",
450               "items": {
451                 "type": "string"
452               }
453             },
454             "Timeout": {
455               "type": "integer"
456             },
457             "Units": {
458               "type": "array",
459               "items": {
460                 "type": "string"
461               }
462             }
463           },
464           "additionalProperties": false,
465           "required": [
466             "Commands",
467             "Timeout",
468             "Machines",
469             "Services",
470             "Units"
471           ]
472         },
473         "ServiceCharmActionsResult": {
474           "type": "object",
475           "properties": {
476             "actions": {
477               "$ref": "#/definitions/Actions"
478             },
479             "error": {
480               "$ref": "#/definitions/Error"
481             },
482             "servicetag": {
483               "type": "string"
484             }
485           },
486           "additionalProperties": false
487         },
488         "ServicesCharmActionsResults": {
489           "type": "object",
490           "properties": {
491             "results": {
492               "type": "array",
493               "items": {
494                 "$ref": "#/definitions/ServiceCharmActionsResult"
495               }
496             }
497           },
498           "additionalProperties": false
499         },
500         "caveat": {
501           "type": "object",
502           "properties": {
503             "caveatId": {
504               "$ref": "#/definitions/packet"
505             },
506             "location": {
507               "$ref": "#/definitions/packet"
508             },
509             "verificationId": {
510               "$ref": "#/definitions/packet"
511             }
512           },
513           "additionalProperties": false,
514           "required": [
515             "location",
516             "caveatId",
517             "verificationId"
518           ]
519         },
520         "packet": {
521           "type": "object",
522           "properties": {
523             "headerLen": {
524               "type": "integer"
525             },
526             "start": {
527               "type": "integer"
528             },
529             "totalLen": {
530               "type": "integer"
531             }
532           },
533           "additionalProperties": false,
534           "required": [
535             "start",
536             "totalLen",
537             "headerLen"
538           ]
539         }
540       }
541     }
542   },
543   {
544     "Name": "Addresser",
545     "Version": 2,
546     "Schema": {
547       "type": "object",
548       "properties": {
549         "CanDeallocateAddresses": {
550           "type": "object",
551           "properties": {
552             "Result": {
553               "$ref": "#/definitions/BoolResult"
554             }
555           }
556         },
557         "CleanupIPAddresses": {
558           "type": "object",
559           "properties": {
560             "Result": {
561               "$ref": "#/definitions/ErrorResult"
562             }
563           }
564         },
565         "WatchIPAddresses": {
566           "type": "object",
567           "properties": {
568             "Result": {
569               "$ref": "#/definitions/EntitiesWatchResult"
570             }
571           }
572         }
573       },
574       "definitions": {
575         "BoolResult": {
576           "type": "object",
577           "properties": {
578             "Error": {
579               "$ref": "#/definitions/Error"
580             },
581             "Result": {
582               "type": "boolean"
583             }
584           },
585           "additionalProperties": false,
586           "required": [
587             "Error",
588             "Result"
589           ]
590         },
591         "EntitiesWatchResult": {
592           "type": "object",
593           "properties": {
594             "Changes": {
595               "type": "array",
596               "items": {
597                 "type": "string"
598               }
599             },
600             "EntityWatcherId": {
601               "type": "string"
602             },
603             "Error": {
604               "$ref": "#/definitions/Error"
605             }
606           },
607           "additionalProperties": false,
608           "required": [
609             "EntityWatcherId",
610             "Changes",
611             "Error"
612           ]
613         },
614         "Error": {
615           "type": "object",
616           "properties": {
617             "Code": {
618               "type": "string"
619             },
620             "Info": {
621               "$ref": "#/definitions/ErrorInfo"
622             },
623             "Message": {
624               "type": "string"
625             }
626           },
627           "additionalProperties": false,
628           "required": [
629             "Message",
630             "Code"
631           ]
632         },
633         "ErrorInfo": {
634           "type": "object",
635           "properties": {
636             "Macaroon": {
637               "$ref": "#/definitions/Macaroon"
638             },
639             "MacaroonPath": {
640               "type": "string"
641             }
642           },
643           "additionalProperties": false
644         },
645         "ErrorResult": {
646           "type": "object",
647           "properties": {
648             "Error": {
649               "$ref": "#/definitions/Error"
650             }
651           },
652           "additionalProperties": false,
653           "required": [
654             "Error"
655           ]
656         },
657         "Macaroon": {
658           "type": "object",
659           "properties": {
660             "caveats": {
661               "type": "array",
662               "items": {
663                 "$ref": "#/definitions/caveat"
664               }
665             },
666             "data": {
667               "type": "array",
668               "items": {
669                 "type": "integer"
670               }
671             },
672             "id": {
673               "$ref": "#/definitions/packet"
674             },
675             "location": {
676               "$ref": "#/definitions/packet"
677             },
678             "sig": {
679               "type": "array",
680               "items": {
681                 "type": "integer"
682               }
683             }
684           },
685           "additionalProperties": false,
686           "required": [
687             "data",
688             "location",
689             "id",
690             "caveats",
691             "sig"
692           ]
693         },
694         "caveat": {
695           "type": "object",
696           "properties": {
697             "caveatId": {
698               "$ref": "#/definitions/packet"
699             },
700             "location": {
701               "$ref": "#/definitions/packet"
702             },
703             "verificationId": {
704               "$ref": "#/definitions/packet"
705             }
706           },
707           "additionalProperties": false,
708           "required": [
709             "location",
710             "caveatId",
711             "verificationId"
712           ]
713         },
714         "packet": {
715           "type": "object",
716           "properties": {
717             "headerLen": {
718               "type": "integer"
719             },
720             "start": {
721               "type": "integer"
722             },
723             "totalLen": {
724               "type": "integer"
725             }
726           },
727           "additionalProperties": false,
728           "required": [
729             "start",
730             "totalLen",
731             "headerLen"
732           ]
733         }
734       }
735     }
736   },
737   {
738     "Name": "Agent",
739     "Version": 2,
740     "Schema": {
741       "type": "object",
742       "properties": {
743         "ClearReboot": {
744           "type": "object",
745           "properties": {
746             "Params": {
747               "$ref": "#/definitions/Entities"
748             },
749             "Result": {
750               "$ref": "#/definitions/ErrorResults"
751             }
752           }
753         },
754         "GetEntities": {
755           "type": "object",
756           "properties": {
757             "Params": {
758               "$ref": "#/definitions/Entities"
759             },
760             "Result": {
761               "$ref": "#/definitions/AgentGetEntitiesResults"
762             }
763           }
764         },
765         "IsMaster": {
766           "type": "object",
767           "properties": {
768             "Result": {
769               "$ref": "#/definitions/IsMasterResult"
770             }
771           }
772         },
773         "ModelConfig": {
774           "type": "object",
775           "properties": {
776             "Result": {
777               "$ref": "#/definitions/ModelConfigResult"
778             }
779           }
780         },
781         "SetPasswords": {
782           "type": "object",
783           "properties": {
784             "Params": {
785               "$ref": "#/definitions/EntityPasswords"
786             },
787             "Result": {
788               "$ref": "#/definitions/ErrorResults"
789             }
790           }
791         },
792         "StateServingInfo": {
793           "type": "object",
794           "properties": {
795             "Result": {
796               "$ref": "#/definitions/StateServingInfo"
797             }
798           }
799         },
800         "WatchForModelConfigChanges": {
801           "type": "object",
802           "properties": {
803             "Result": {
804               "$ref": "#/definitions/NotifyWatchResult"
805             }
806           }
807         }
808       },
809       "definitions": {
810         "AgentGetEntitiesResult": {
811           "type": "object",
812           "properties": {
813             "ContainerType": {
814               "type": "string"
815             },
816             "Error": {
817               "$ref": "#/definitions/Error"
818             },
819             "Jobs": {
820               "type": "array",
821               "items": {
822                 "type": "string"
823               }
824             },
825             "Life": {
826               "type": "string"
827             }
828           },
829           "additionalProperties": false,
830           "required": [
831             "Life",
832             "Jobs",
833             "ContainerType",
834             "Error"
835           ]
836         },
837         "AgentGetEntitiesResults": {
838           "type": "object",
839           "properties": {
840             "Entities": {
841               "type": "array",
842               "items": {
843                 "$ref": "#/definitions/AgentGetEntitiesResult"
844               }
845             }
846           },
847           "additionalProperties": false,
848           "required": [
849             "Entities"
850           ]
851         },
852         "Entities": {
853           "type": "object",
854           "properties": {
855             "Entities": {
856               "type": "array",
857               "items": {
858                 "$ref": "#/definitions/Entity"
859               }
860             }
861           },
862           "additionalProperties": false,
863           "required": [
864             "Entities"
865           ]
866         },
867         "Entity": {
868           "type": "object",
869           "properties": {
870             "Tag": {
871               "type": "string"
872             }
873           },
874           "additionalProperties": false,
875           "required": [
876             "Tag"
877           ]
878         },
879         "EntityPassword": {
880           "type": "object",
881           "properties": {
882             "Password": {
883               "type": "string"
884             },
885             "Tag": {
886               "type": "string"
887             }
888           },
889           "additionalProperties": false,
890           "required": [
891             "Tag",
892             "Password"
893           ]
894         },
895         "EntityPasswords": {
896           "type": "object",
897           "properties": {
898             "Changes": {
899               "type": "array",
900               "items": {
901                 "$ref": "#/definitions/EntityPassword"
902               }
903             }
904           },
905           "additionalProperties": false,
906           "required": [
907             "Changes"
908           ]
909         },
910         "Error": {
911           "type": "object",
912           "properties": {
913             "Code": {
914               "type": "string"
915             },
916             "Info": {
917               "$ref": "#/definitions/ErrorInfo"
918             },
919             "Message": {
920               "type": "string"
921             }
922           },
923           "additionalProperties": false,
924           "required": [
925             "Message",
926             "Code"
927           ]
928         },
929         "ErrorInfo": {
930           "type": "object",
931           "properties": {
932             "Macaroon": {
933               "$ref": "#/definitions/Macaroon"
934             },
935             "MacaroonPath": {
936               "type": "string"
937             }
938           },
939           "additionalProperties": false
940         },
941         "ErrorResult": {
942           "type": "object",
943           "properties": {
944             "Error": {
945               "$ref": "#/definitions/Error"
946             }
947           },
948           "additionalProperties": false,
949           "required": [
950             "Error"
951           ]
952         },
953         "ErrorResults": {
954           "type": "object",
955           "properties": {
956             "Results": {
957               "type": "array",
958               "items": {
959                 "$ref": "#/definitions/ErrorResult"
960               }
961             }
962           },
963           "additionalProperties": false,
964           "required": [
965             "Results"
966           ]
967         },
968         "IsMasterResult": {
969           "type": "object",
970           "properties": {
971             "Master": {
972               "type": "boolean"
973             }
974           },
975           "additionalProperties": false,
976           "required": [
977             "Master"
978           ]
979         },
980         "Macaroon": {
981           "type": "object",
982           "properties": {
983             "caveats": {
984               "type": "array",
985               "items": {
986                 "$ref": "#/definitions/caveat"
987               }
988             },
989             "data": {
990               "type": "array",
991               "items": {
992                 "type": "integer"
993               }
994             },
995             "id": {
996               "$ref": "#/definitions/packet"
997             },
998             "location": {
999               "$ref": "#/definitions/packet"
1000             },
1001             "sig": {
1002               "type": "array",
1003               "items": {
1004                 "type": "integer"
1005               }
1006             }
1007           },
1008           "additionalProperties": false,
1009           "required": [
1010             "data",
1011             "location",
1012             "id",
1013             "caveats",
1014             "sig"
1015           ]
1016         },
1017         "ModelConfigResult": {
1018           "type": "object",
1019           "properties": {
1020             "Config": {
1021               "type": "object",
1022               "patternProperties": {
1023                 ".*": {
1024                   "type": "object",
1025                   "additionalProperties": true
1026                 }
1027               }
1028             }
1029           },
1030           "additionalProperties": false,
1031           "required": [
1032             "Config"
1033           ]
1034         },
1035         "NotifyWatchResult": {
1036           "type": "object",
1037           "properties": {
1038             "Error": {
1039               "$ref": "#/definitions/Error"
1040             },
1041             "NotifyWatcherId": {
1042               "type": "string"
1043             }
1044           },
1045           "additionalProperties": false,
1046           "required": [
1047             "NotifyWatcherId",
1048             "Error"
1049           ]
1050         },
1051         "StateServingInfo": {
1052           "type": "object",
1053           "properties": {
1054             "APIPort": {
1055               "type": "integer"
1056             },
1057             "CAPrivateKey": {
1058               "type": "string"
1059             },
1060             "Cert": {
1061               "type": "string"
1062             },
1063             "PrivateKey": {
1064               "type": "string"
1065             },
1066             "SharedSecret": {
1067               "type": "string"
1068             },
1069             "StatePort": {
1070               "type": "integer"
1071             },
1072             "SystemIdentity": {
1073               "type": "string"
1074             }
1075           },
1076           "additionalProperties": false,
1077           "required": [
1078             "APIPort",
1079             "StatePort",
1080             "Cert",
1081             "PrivateKey",
1082             "CAPrivateKey",
1083             "SharedSecret",
1084             "SystemIdentity"
1085           ]
1086         },
1087         "caveat": {
1088           "type": "object",
1089           "properties": {
1090             "caveatId": {
1091               "$ref": "#/definitions/packet"
1092             },
1093             "location": {
1094               "$ref": "#/definitions/packet"
1095             },
1096             "verificationId": {
1097               "$ref": "#/definitions/packet"
1098             }
1099           },
1100           "additionalProperties": false,
1101           "required": [
1102             "location",
1103             "caveatId",
1104             "verificationId"
1105           ]
1106         },
1107         "packet": {
1108           "type": "object",
1109           "properties": {
1110             "headerLen": {
1111               "type": "integer"
1112             },
1113             "start": {
1114               "type": "integer"
1115             },
1116             "totalLen": {
1117               "type": "integer"
1118             }
1119           },
1120           "additionalProperties": false,
1121           "required": [
1122             "start",
1123             "totalLen",
1124             "headerLen"
1125           ]
1126         }
1127       }
1128     }
1129   },
1130   {
1131     "Name": "AgentTools",
1132     "Version": 1,
1133     "Schema": {
1134       "type": "object",
1135       "properties": {
1136         "UpdateToolsAvailable": {
1137           "type": "object"
1138         }
1139       }
1140     }
1141   },
1142   {
1143     "Name": "AllModelWatcher",
1144     "Version": 2,
1145     "Schema": {
1146       "type": "object",
1147       "properties": {
1148         "Next": {
1149           "type": "object",
1150           "properties": {
1151             "Result": {
1152               "$ref": "#/definitions/AllWatcherNextResults"
1153             }
1154           }
1155         },
1156         "Stop": {
1157           "type": "object"
1158         }
1159       },
1160       "definitions": {
1161         "AllWatcherNextResults": {
1162           "type": "object",
1163           "properties": {
1164             "Deltas": {
1165               "type": "array",
1166               "items": {
1167                 "$ref": "#/definitions/Delta"
1168               }
1169             }
1170           },
1171           "additionalProperties": false,
1172           "required": [
1173             "Deltas"
1174           ]
1175         },
1176         "Delta": {
1177           "type": "object",
1178           "properties": {
1179             "Entity": {
1180               "type": "object",
1181               "additionalProperties": true
1182             },
1183             "Removed": {
1184               "type": "boolean"
1185             }
1186           },
1187           "additionalProperties": false,
1188           "required": [
1189             "Removed",
1190             "Entity"
1191           ]
1192         }
1193       }
1194     }
1195   },
1196   {
1197     "Name": "AllWatcher",
1198     "Version": 1,
1199     "Schema": {
1200       "type": "object",
1201       "properties": {
1202         "Next": {
1203           "type": "object",
1204           "properties": {
1205             "Result": {
1206               "$ref": "#/definitions/AllWatcherNextResults"
1207             }
1208           }
1209         },
1210         "Stop": {
1211           "type": "object"
1212         }
1213       },
1214       "definitions": {
1215         "AllWatcherNextResults": {
1216           "type": "object",
1217           "properties": {
1218             "Deltas": {
1219               "type": "array",
1220               "items": {
1221                 "$ref": "#/definitions/Delta"
1222               }
1223             }
1224           },
1225           "additionalProperties": false,
1226           "required": [
1227             "Deltas"
1228           ]
1229         },
1230         "Delta": {
1231           "type": "object",
1232           "properties": {
1233             "Entity": {
1234               "type": "object",
1235               "additionalProperties": true
1236             },
1237             "Removed": {
1238               "type": "boolean"
1239             }
1240           },
1241           "additionalProperties": false,
1242           "required": [
1243             "Removed",
1244             "Entity"
1245           ]
1246         }
1247       }
1248     }
1249   },
1250   {
1251     "Name": "Annotations",
1252     "Version": 2,
1253     "Schema": {
1254       "type": "object",
1255       "properties": {
1256         "Get": {
1257           "type": "object",
1258           "properties": {
1259             "Params": {
1260               "$ref": "#/definitions/Entities"
1261             },
1262             "Result": {
1263               "$ref": "#/definitions/AnnotationsGetResults"
1264             }
1265           }
1266         },
1267         "Set": {
1268           "type": "object",
1269           "properties": {
1270             "Params": {
1271               "$ref": "#/definitions/AnnotationsSet"
1272             },
1273             "Result": {
1274               "$ref": "#/definitions/ErrorResults"
1275             }
1276           }
1277         }
1278       },
1279       "definitions": {
1280         "AnnotationsGetResult": {
1281           "type": "object",
1282           "properties": {
1283             "Annotations": {
1284               "type": "object",
1285               "patternProperties": {
1286                 ".*": {
1287                   "type": "string"
1288                 }
1289               }
1290             },
1291             "EntityTag": {
1292               "type": "string"
1293             },
1294             "Error": {
1295               "$ref": "#/definitions/ErrorResult"
1296             }
1297           },
1298           "additionalProperties": false,
1299           "required": [
1300             "EntityTag",
1301             "Annotations",
1302             "Error"
1303           ]
1304         },
1305         "AnnotationsGetResults": {
1306           "type": "object",
1307           "properties": {
1308             "Results": {
1309               "type": "array",
1310               "items": {
1311                 "$ref": "#/definitions/AnnotationsGetResult"
1312               }
1313             }
1314           },
1315           "additionalProperties": false,
1316           "required": [
1317             "Results"
1318           ]
1319         },
1320         "AnnotationsSet": {
1321           "type": "object",
1322           "properties": {
1323             "Annotations": {
1324               "type": "array",
1325               "items": {
1326                 "$ref": "#/definitions/EntityAnnotations"
1327               }
1328             }
1329           },
1330           "additionalProperties": false,
1331           "required": [
1332             "Annotations"
1333           ]
1334         },
1335         "Entities": {
1336           "type": "object",
1337           "properties": {
1338             "Entities": {
1339               "type": "array",
1340               "items": {
1341                 "$ref": "#/definitions/Entity"
1342               }
1343             }
1344           },
1345           "additionalProperties": false,
1346           "required": [
1347             "Entities"
1348           ]
1349         },
1350         "Entity": {
1351           "type": "object",
1352           "properties": {
1353             "Tag": {
1354               "type": "string"
1355             }
1356           },
1357           "additionalProperties": false,
1358           "required": [
1359             "Tag"
1360           ]
1361         },
1362         "EntityAnnotations": {
1363           "type": "object",
1364           "properties": {
1365             "Annotations": {
1366               "type": "object",
1367               "patternProperties": {
1368                 ".*": {
1369                   "type": "string"
1370                 }
1371               }
1372             },
1373             "EntityTag": {
1374               "type": "string"
1375             }
1376           },
1377           "additionalProperties": false,
1378           "required": [
1379             "EntityTag",
1380             "Annotations"
1381           ]
1382         },
1383         "Error": {
1384           "type": "object",
1385           "properties": {
1386             "Code": {
1387               "type": "string"
1388             },
1389             "Info": {
1390               "$ref": "#/definitions/ErrorInfo"
1391             },
1392             "Message": {
1393               "type": "string"
1394             }
1395           },
1396           "additionalProperties": false,
1397           "required": [
1398             "Message",
1399             "Code"
1400           ]
1401         },
1402         "ErrorInfo": {
1403           "type": "object",
1404           "properties": {
1405             "Macaroon": {
1406               "$ref": "#/definitions/Macaroon"
1407             },
1408             "MacaroonPath": {
1409               "type": "string"
1410             }
1411           },
1412           "additionalProperties": false
1413         },
1414         "ErrorResult": {
1415           "type": "object",
1416           "properties": {
1417             "Error": {
1418               "$ref": "#/definitions/Error"
1419             }
1420           },
1421           "additionalProperties": false,
1422           "required": [
1423             "Error"
1424           ]
1425         },
1426         "ErrorResults": {
1427           "type": "object",
1428           "properties": {
1429             "Results": {
1430               "type": "array",
1431               "items": {
1432                 "$ref": "#/definitions/ErrorResult"
1433               }
1434             }
1435           },
1436           "additionalProperties": false,
1437           "required": [
1438             "Results"
1439           ]
1440         },
1441         "Macaroon": {
1442           "type": "object",
1443           "properties": {
1444             "caveats": {
1445               "type": "array",
1446               "items": {
1447                 "$ref": "#/definitions/caveat"
1448               }
1449             },
1450             "data": {
1451               "type": "array",
1452               "items": {
1453                 "type": "integer"
1454               }
1455             },
1456             "id": {
1457               "$ref": "#/definitions/packet"
1458             },
1459             "location": {
1460               "$ref": "#/definitions/packet"
1461             },
1462             "sig": {
1463               "type": "array",
1464               "items": {
1465                 "type": "integer"
1466               }
1467             }
1468           },
1469           "additionalProperties": false,
1470           "required": [
1471             "data",
1472             "location",
1473             "id",
1474             "caveats",
1475             "sig"
1476           ]
1477         },
1478         "caveat": {
1479           "type": "object",
1480           "properties": {
1481             "caveatId": {
1482               "$ref": "#/definitions/packet"
1483             },
1484             "location": {
1485               "$ref": "#/definitions/packet"
1486             },
1487             "verificationId": {
1488               "$ref": "#/definitions/packet"
1489             }
1490           },
1491           "additionalProperties": false,
1492           "required": [
1493             "location",
1494             "caveatId",
1495             "verificationId"
1496           ]
1497         },
1498         "packet": {
1499           "type": "object",
1500           "properties": {
1501             "headerLen": {
1502               "type": "integer"
1503             },
1504             "start": {
1505               "type": "integer"
1506             },
1507             "totalLen": {
1508               "type": "integer"
1509             }
1510           },
1511           "additionalProperties": false,
1512           "required": [
1513             "start",
1514             "totalLen",
1515             "headerLen"
1516           ]
1517         }
1518       }
1519     }
1520   },
1521   {
1522     "Name": "Backups",
1523     "Version": 1,
1524     "Schema": {
1525       "type": "object",
1526       "properties": {
1527         "Create": {
1528           "type": "object",
1529           "properties": {
1530             "Params": {
1531               "$ref": "#/definitions/BackupsCreateArgs"
1532             },
1533             "Result": {
1534               "$ref": "#/definitions/BackupsMetadataResult"
1535             }
1536           }
1537         },
1538         "FinishRestore": {
1539           "type": "object"
1540         },
1541         "Info": {
1542           "type": "object",
1543           "properties": {
1544             "Params": {
1545               "$ref": "#/definitions/BackupsInfoArgs"
1546             },
1547             "Result": {
1548               "$ref": "#/definitions/BackupsMetadataResult"
1549             }
1550           }
1551         },
1552         "List": {
1553           "type": "object",
1554           "properties": {
1555             "Params": {
1556               "$ref": "#/definitions/BackupsListArgs"
1557             },
1558             "Result": {
1559               "$ref": "#/definitions/BackupsListResult"
1560             }
1561           }
1562         },
1563         "PrepareRestore": {
1564           "type": "object"
1565         },
1566         "Remove": {
1567           "type": "object",
1568           "properties": {
1569             "Params": {
1570               "$ref": "#/definitions/BackupsRemoveArgs"
1571             }
1572           }
1573         },
1574         "Restore": {
1575           "type": "object",
1576           "properties": {
1577             "Params": {
1578               "$ref": "#/definitions/RestoreArgs"
1579             }
1580           }
1581         }
1582       },
1583       "definitions": {
1584         "BackupsCreateArgs": {
1585           "type": "object",
1586           "properties": {
1587             "Notes": {
1588               "type": "string"
1589             }
1590           },
1591           "additionalProperties": false,
1592           "required": [
1593             "Notes"
1594           ]
1595         },
1596         "BackupsInfoArgs": {
1597           "type": "object",
1598           "properties": {
1599             "ID": {
1600               "type": "string"
1601             }
1602           },
1603           "additionalProperties": false,
1604           "required": [
1605             "ID"
1606           ]
1607         },
1608         "BackupsListArgs": {
1609           "type": "object",
1610           "additionalProperties": false
1611         },
1612         "BackupsListResult": {
1613           "type": "object",
1614           "properties": {
1615             "List": {
1616               "type": "array",
1617               "items": {
1618                 "$ref": "#/definitions/BackupsMetadataResult"
1619               }
1620             }
1621           },
1622           "additionalProperties": false,
1623           "required": [
1624             "List"
1625           ]
1626         },
1627         "BackupsMetadataResult": {
1628           "type": "object",
1629           "properties": {
1630             "CACert": {
1631               "type": "string"
1632             },
1633             "CAPrivateKey": {
1634               "type": "string"
1635             },
1636             "Checksum": {
1637               "type": "string"
1638             },
1639             "ChecksumFormat": {
1640               "type": "string"
1641             },
1642             "Finished": {
1643               "type": "string",
1644               "format": "date-time"
1645             },
1646             "Hostname": {
1647               "type": "string"
1648             },
1649             "ID": {
1650               "type": "string"
1651             },
1652             "Machine": {
1653               "type": "string"
1654             },
1655             "Model": {
1656               "type": "string"
1657             },
1658             "Notes": {
1659               "type": "string"
1660             },
1661             "Size": {
1662               "type": "integer"
1663             },
1664             "Started": {
1665               "type": "string",
1666               "format": "date-time"
1667             },
1668             "Stored": {
1669               "type": "string",
1670               "format": "date-time"
1671             },
1672             "Version": {
1673               "$ref": "#/definitions/Number"
1674             }
1675           },
1676           "additionalProperties": false,
1677           "required": [
1678             "ID",
1679             "Checksum",
1680             "ChecksumFormat",
1681             "Size",
1682             "Stored",
1683             "Started",
1684             "Finished",
1685             "Notes",
1686             "Model",
1687             "Machine",
1688             "Hostname",
1689             "Version",
1690             "CACert",
1691             "CAPrivateKey"
1692           ]
1693         },
1694         "BackupsRemoveArgs": {
1695           "type": "object",
1696           "properties": {
1697             "ID": {
1698               "type": "string"
1699             }
1700           },
1701           "additionalProperties": false,
1702           "required": [
1703             "ID"
1704           ]
1705         },
1706         "Number": {
1707           "type": "object",
1708           "properties": {
1709             "Build": {
1710               "type": "integer"
1711             },
1712             "Major": {
1713               "type": "integer"
1714             },
1715             "Minor": {
1716               "type": "integer"
1717             },
1718             "Patch": {
1719               "type": "integer"
1720             },
1721             "Tag": {
1722               "type": "string"
1723             }
1724           },
1725           "additionalProperties": false,
1726           "required": [
1727             "Major",
1728             "Minor",
1729             "Tag",
1730             "Patch",
1731             "Build"
1732           ]
1733         },
1734         "RestoreArgs": {
1735           "type": "object",
1736           "properties": {
1737             "BackupId": {
1738               "type": "string"
1739             }
1740           },
1741           "additionalProperties": false,
1742           "required": [
1743             "BackupId"
1744           ]
1745         }
1746       }
1747     }
1748   },
1749   {
1750     "Name": "Block",
1751     "Version": 2,
1752     "Schema": {
1753       "type": "object",
1754       "properties": {
1755         "List": {
1756           "type": "object",
1757           "properties": {
1758             "Result": {
1759               "$ref": "#/definitions/BlockResults"
1760             }
1761           }
1762         },
1763         "SwitchBlockOff": {
1764           "type": "object",
1765           "properties": {
1766             "Params": {
1767               "$ref": "#/definitions/BlockSwitchParams"
1768             },
1769             "Result": {
1770               "$ref": "#/definitions/ErrorResult"
1771             }
1772           }
1773         },
1774         "SwitchBlockOn": {
1775           "type": "object",
1776           "properties": {
1777             "Params": {
1778               "$ref": "#/definitions/BlockSwitchParams"
1779             },
1780             "Result": {
1781               "$ref": "#/definitions/ErrorResult"
1782             }
1783           }
1784         }
1785       },
1786       "definitions": {
1787         "Block": {
1788           "type": "object",
1789           "properties": {
1790             "id": {
1791               "type": "string"
1792             },
1793             "message": {
1794               "type": "string"
1795             },
1796             "tag": {
1797               "type": "string"
1798             },
1799             "type": {
1800               "type": "string"
1801             }
1802           },
1803           "additionalProperties": false,
1804           "required": [
1805             "id",
1806             "tag",
1807             "type"
1808           ]
1809         },
1810         "BlockResult": {
1811           "type": "object",
1812           "properties": {
1813             "error": {
1814               "$ref": "#/definitions/Error"
1815             },
1816             "result": {
1817               "$ref": "#/definitions/Block"
1818             }
1819           },
1820           "additionalProperties": false,
1821           "required": [
1822             "result"
1823           ]
1824         },
1825         "BlockResults": {
1826           "type": "object",
1827           "properties": {
1828             "results": {
1829               "type": "array",
1830               "items": {
1831                 "$ref": "#/definitions/BlockResult"
1832               }
1833             }
1834           },
1835           "additionalProperties": false
1836         },
1837         "BlockSwitchParams": {
1838           "type": "object",
1839           "properties": {
1840             "message": {
1841               "type": "string"
1842             },
1843             "type": {
1844               "type": "string"
1845             }
1846           },
1847           "additionalProperties": false,
1848           "required": [
1849             "type"
1850           ]
1851         },
1852         "Error": {
1853           "type": "object",
1854           "properties": {
1855             "Code": {
1856               "type": "string"
1857             },
1858             "Info": {
1859               "$ref": "#/definitions/ErrorInfo"
1860             },
1861             "Message": {
1862               "type": "string"
1863             }
1864           },
1865           "additionalProperties": false,
1866           "required": [
1867             "Message",
1868             "Code"
1869           ]
1870         },
1871         "ErrorInfo": {
1872           "type": "object",
1873           "properties": {
1874             "Macaroon": {
1875               "$ref": "#/definitions/Macaroon"
1876             },
1877             "MacaroonPath": {
1878               "type": "string"
1879             }
1880           },
1881           "additionalProperties": false
1882         },
1883         "ErrorResult": {
1884           "type": "object",
1885           "properties": {
1886             "Error": {
1887               "$ref": "#/definitions/Error"
1888             }
1889           },
1890           "additionalProperties": false,
1891           "required": [
1892             "Error"
1893           ]
1894         },
1895         "Macaroon": {
1896           "type": "object",
1897           "properties": {
1898             "caveats": {
1899               "type": "array",
1900               "items": {
1901                 "$ref": "#/definitions/caveat"
1902               }
1903             },
1904             "data": {
1905               "type": "array",
1906               "items": {
1907                 "type": "integer"
1908               }
1909             },
1910             "id": {
1911               "$ref": "#/definitions/packet"
1912             },
1913             "location": {
1914               "$ref": "#/definitions/packet"
1915             },
1916             "sig": {
1917               "type": "array",
1918               "items": {
1919                 "type": "integer"
1920               }
1921             }
1922           },
1923           "additionalProperties": false,
1924           "required": [
1925             "data",
1926             "location",
1927             "id",
1928             "caveats",
1929             "sig"
1930           ]
1931         },
1932         "caveat": {
1933           "type": "object",
1934           "properties": {
1935             "caveatId": {
1936               "$ref": "#/definitions/packet"
1937             },
1938             "location": {
1939               "$ref": "#/definitions/packet"
1940             },
1941             "verificationId": {
1942               "$ref": "#/definitions/packet"
1943             }
1944           },
1945           "additionalProperties": false,
1946           "required": [
1947             "location",
1948             "caveatId",
1949             "verificationId"
1950           ]
1951         },
1952         "packet": {
1953           "type": "object",
1954           "properties": {
1955             "headerLen": {
1956               "type": "integer"
1957             },
1958             "start": {
1959               "type": "integer"
1960             },
1961             "totalLen": {
1962               "type": "integer"
1963             }
1964           },
1965           "additionalProperties": false,
1966           "required": [
1967             "start",
1968             "totalLen",
1969             "headerLen"
1970           ]
1971         }
1972       }
1973     }
1974   },
1975   {
1976     "Name": "CharmRevisionUpdater",
1977     "Version": 1,
1978     "Schema": {
1979       "type": "object",
1980       "properties": {
1981         "UpdateLatestRevisions": {
1982           "type": "object",
1983           "properties": {
1984             "Result": {
1985               "$ref": "#/definitions/ErrorResult"
1986             }
1987           }
1988         }
1989       },
1990       "definitions": {
1991         "Error": {
1992           "type": "object",
1993           "properties": {
1994             "Code": {
1995               "type": "string"
1996             },
1997             "Info": {
1998               "$ref": "#/definitions/ErrorInfo"
1999             },
2000             "Message": {
2001               "type": "string"
2002             }
2003           },
2004           "additionalProperties": false,
2005           "required": [
2006             "Message",
2007             "Code"
2008           ]
2009         },
2010         "ErrorInfo": {
2011           "type": "object",
2012           "properties": {
2013             "Macaroon": {
2014               "$ref": "#/definitions/Macaroon"
2015             },
2016             "MacaroonPath": {
2017               "type": "string"
2018             }
2019           },
2020           "additionalProperties": false
2021         },
2022         "ErrorResult": {
2023           "type": "object",
2024           "properties": {
2025             "Error": {
2026               "$ref": "#/definitions/Error"
2027             }
2028           },
2029           "additionalProperties": false,
2030           "required": [
2031             "Error"
2032           ]
2033         },
2034         "Macaroon": {
2035           "type": "object",
2036           "properties": {
2037             "caveats": {
2038               "type": "array",
2039               "items": {
2040                 "$ref": "#/definitions/caveat"
2041               }
2042             },
2043             "data": {
2044               "type": "array",
2045               "items": {
2046                 "type": "integer"
2047               }
2048             },
2049             "id": {
2050               "$ref": "#/definitions/packet"
2051             },
2052             "location": {
2053               "$ref": "#/definitions/packet"
2054             },
2055             "sig": {
2056               "type": "array",
2057               "items": {
2058                 "type": "integer"
2059               }
2060             }
2061           },
2062           "additionalProperties": false,
2063           "required": [
2064             "data",
2065             "location",
2066             "id",
2067             "caveats",
2068             "sig"
2069           ]
2070         },
2071         "caveat": {
2072           "type": "object",
2073           "properties": {
2074             "caveatId": {
2075               "$ref": "#/definitions/packet"
2076             },
2077             "location": {
2078               "$ref": "#/definitions/packet"
2079             },
2080             "verificationId": {
2081               "$ref": "#/definitions/packet"
2082             }
2083           },
2084           "additionalProperties": false,
2085           "required": [
2086             "location",
2087             "caveatId",
2088             "verificationId"
2089           ]
2090         },
2091         "packet": {
2092           "type": "object",
2093           "properties": {
2094             "headerLen": {
2095               "type": "integer"
2096             },
2097             "start": {
2098               "type": "integer"
2099             },
2100             "totalLen": {
2101               "type": "integer"
2102             }
2103           },
2104           "additionalProperties": false,
2105           "required": [
2106             "start",
2107             "totalLen",
2108             "headerLen"
2109           ]
2110         }
2111       }
2112     }
2113   },
2114   {
2115     "Name": "Charms",
2116     "Version": 2,
2117     "Schema": {
2118       "type": "object",
2119       "properties": {
2120         "CharmInfo": {
2121           "type": "object",
2122           "properties": {
2123             "Params": {
2124               "$ref": "#/definitions/CharmInfo"
2125             },
2126             "Result": {
2127               "$ref": "#/definitions/CharmInfo"
2128             }
2129           }
2130         },
2131         "IsMetered": {
2132           "type": "object",
2133           "properties": {
2134             "Params": {
2135               "$ref": "#/definitions/CharmInfo"
2136             },
2137             "Result": {
2138               "$ref": "#/definitions/IsMeteredResult"
2139             }
2140           }
2141         },
2142         "List": {
2143           "type": "object",
2144           "properties": {
2145             "Params": {
2146               "$ref": "#/definitions/CharmsList"
2147             },
2148             "Result": {
2149               "$ref": "#/definitions/CharmsListResult"
2150             }
2151           }
2152         }
2153       },
2154       "definitions": {
2155         "CharmInfo": {
2156           "type": "object",
2157           "properties": {
2158             "CharmURL": {
2159               "type": "string"
2160             }
2161           },
2162           "additionalProperties": false,
2163           "required": [
2164             "CharmURL"
2165           ]
2166         },
2167         "CharmsList": {
2168           "type": "object",
2169           "properties": {
2170             "Names": {
2171               "type": "array",
2172               "items": {
2173                 "type": "string"
2174               }
2175             }
2176           },
2177           "additionalProperties": false,
2178           "required": [
2179             "Names"
2180           ]
2181         },
2182         "CharmsListResult": {
2183           "type": "object",
2184           "properties": {
2185             "CharmURLs": {
2186               "type": "array",
2187               "items": {
2188                 "type": "string"
2189               }
2190             }
2191           },
2192           "additionalProperties": false,
2193           "required": [
2194             "CharmURLs"
2195           ]
2196         },
2197         "IsMeteredResult": {
2198           "type": "object",
2199           "properties": {
2200             "Metered": {
2201               "type": "boolean"
2202             }
2203           },
2204           "additionalProperties": false,
2205           "required": [
2206             "Metered"
2207           ]
2208         }
2209       }
2210     }
2211   },
2212   {
2213     "Name": "Cleaner",
2214     "Version": 2,
2215     "Schema": {
2216       "type": "object",
2217       "properties": {
2218         "Cleanup": {
2219           "type": "object"
2220         },
2221         "WatchCleanups": {
2222           "type": "object",
2223           "properties": {
2224             "Result": {
2225               "$ref": "#/definitions/NotifyWatchResult"
2226             }
2227           }
2228         }
2229       },
2230       "definitions": {
2231         "Error": {
2232           "type": "object",
2233           "properties": {
2234             "Code": {
2235               "type": "string"
2236             },
2237             "Info": {
2238               "$ref": "#/definitions/ErrorInfo"
2239             },
2240             "Message": {
2241               "type": "string"
2242             }
2243           },
2244           "additionalProperties": false,
2245           "required": [
2246             "Message",
2247             "Code"
2248           ]
2249         },
2250         "ErrorInfo": {
2251           "type": "object",
2252           "properties": {
2253             "Macaroon": {
2254               "$ref": "#/definitions/Macaroon"
2255             },
2256             "MacaroonPath": {
2257               "type": "string"
2258             }
2259           },
2260           "additionalProperties": false
2261         },
2262         "Macaroon": {
2263           "type": "object",
2264           "properties": {
2265             "caveats": {
2266               "type": "array",
2267               "items": {
2268                 "$ref": "#/definitions/caveat"
2269               }
2270             },
2271             "data": {
2272               "type": "array",
2273               "items": {
2274                 "type": "integer"
2275               }
2276             },
2277             "id": {
2278               "$ref": "#/definitions/packet"
2279             },
2280             "location": {
2281               "$ref": "#/definitions/packet"
2282             },
2283             "sig": {
2284               "type": "array",
2285               "items": {
2286                 "type": "integer"
2287               }
2288             }
2289           },
2290           "additionalProperties": false,
2291           "required": [
2292             "data",
2293             "location",
2294             "id",
2295             "caveats",
2296             "sig"
2297           ]
2298         },
2299         "NotifyWatchResult": {
2300           "type": "object",
2301           "properties": {
2302             "Error": {
2303               "$ref": "#/definitions/Error"
2304             },
2305             "NotifyWatcherId": {
2306               "type": "string"
2307             }
2308           },
2309           "additionalProperties": false,
2310           "required": [
2311             "NotifyWatcherId",
2312             "Error"
2313           ]
2314         },
2315         "caveat": {
2316           "type": "object",
2317           "properties": {
2318             "caveatId": {
2319               "$ref": "#/definitions/packet"
2320             },
2321             "location": {
2322               "$ref": "#/definitions/packet"
2323             },
2324             "verificationId": {
2325               "$ref": "#/definitions/packet"
2326             }
2327           },
2328           "additionalProperties": false,
2329           "required": [
2330             "location",
2331             "caveatId",
2332             "verificationId"
2333           ]
2334         },
2335         "packet": {
2336           "type": "object",
2337           "properties": {
2338             "headerLen": {
2339               "type": "integer"
2340             },
2341             "start": {
2342               "type": "integer"
2343             },
2344             "totalLen": {
2345               "type": "integer"
2346             }
2347           },
2348           "additionalProperties": false,
2349           "required": [
2350             "start",
2351             "totalLen",
2352             "headerLen"
2353           ]
2354         }
2355       }
2356     }
2357   },
2358   {
2359     "Name": "Client",
2360     "Version": 1,
2361     "Schema": {
2362       "type": "object",
2363       "properties": {
2364         "APIHostPorts": {
2365           "type": "object",
2366           "properties": {
2367             "Result": {
2368               "$ref": "#/definitions/APIHostPortsResult"
2369             }
2370           }
2371         },
2372         "AbortCurrentUpgrade": {
2373           "type": "object"
2374         },
2375         "AddCharm": {
2376           "type": "object",
2377           "properties": {
2378             "Params": {
2379               "$ref": "#/definitions/AddCharm"
2380             }
2381           }
2382         },
2383         "AddCharmWithAuthorization": {
2384           "type": "object",
2385           "properties": {
2386             "Params": {
2387               "$ref": "#/definitions/AddCharmWithAuthorization"
2388             }
2389           }
2390         },
2391         "AddMachines": {
2392           "type": "object",
2393           "properties": {
2394             "Params": {
2395               "$ref": "#/definitions/AddMachines"
2396             },
2397             "Result": {
2398               "$ref": "#/definitions/AddMachinesResults"
2399             }
2400           }
2401         },
2402         "AddMachinesV2": {
2403           "type": "object",
2404           "properties": {
2405             "Params": {
2406               "$ref": "#/definitions/AddMachines"
2407             },
2408             "Result": {
2409               "$ref": "#/definitions/AddMachinesResults"
2410             }
2411           }
2412         },
2413         "AgentVersion": {
2414           "type": "object",
2415           "properties": {
2416             "Result": {
2417               "$ref": "#/definitions/AgentVersionResult"
2418             }
2419           }
2420         },
2421         "CharmInfo": {
2422           "type": "object",
2423           "properties": {
2424             "Params": {
2425               "$ref": "#/definitions/CharmInfo"
2426             },
2427             "Result": {
2428               "$ref": "#/definitions/CharmInfo"
2429             }
2430           }
2431         },
2432         "DestroyMachines": {
2433           "type": "object",
2434           "properties": {
2435             "Params": {
2436               "$ref": "#/definitions/DestroyMachines"
2437             }
2438           }
2439         },
2440         "DestroyModel": {
2441           "type": "object"
2442         },
2443         "FindTools": {
2444           "type": "object",
2445           "properties": {
2446             "Params": {
2447               "$ref": "#/definitions/FindToolsParams"
2448             },
2449             "Result": {
2450               "$ref": "#/definitions/FindToolsResult"
2451             }
2452           }
2453         },
2454         "FullStatus": {
2455           "type": "object",
2456           "properties": {
2457             "Params": {
2458               "$ref": "#/definitions/StatusParams"
2459             },
2460             "Result": {
2461               "$ref": "#/definitions/FullStatus"
2462             }
2463           }
2464         },
2465         "GetBundleChanges": {
2466           "type": "object",
2467           "properties": {
2468             "Params": {
2469               "$ref": "#/definitions/GetBundleChangesParams"
2470             },
2471             "Result": {
2472               "$ref": "#/definitions/GetBundleChangesResults"
2473             }
2474           }
2475         },
2476         "GetModelConstraints": {
2477           "type": "object",
2478           "properties": {
2479             "Result": {
2480               "$ref": "#/definitions/GetConstraintsResults"
2481             }
2482           }
2483         },
2484         "InjectMachines": {
2485           "type": "object",
2486           "properties": {
2487             "Params": {
2488               "$ref": "#/definitions/AddMachines"
2489             },
2490             "Result": {
2491               "$ref": "#/definitions/AddMachinesResults"
2492             }
2493           }
2494         },
2495         "ModelGet": {
2496           "type": "object",
2497           "properties": {
2498             "Result": {
2499               "$ref": "#/definitions/ModelConfigResults"
2500             }
2501           }
2502         },
2503         "ModelInfo": {
2504           "type": "object",
2505           "properties": {
2506             "Result": {
2507               "$ref": "#/definitions/ModelInfo"
2508             }
2509           }
2510         },
2511         "ModelSet": {
2512           "type": "object",
2513           "properties": {
2514             "Params": {
2515               "$ref": "#/definitions/ModelSet"
2516             }
2517           }
2518         },
2519         "ModelUnset": {
2520           "type": "object",
2521           "properties": {
2522             "Params": {
2523               "$ref": "#/definitions/ModelUnset"
2524             }
2525           }
2526         },
2527         "ModelUserInfo": {
2528           "type": "object",
2529           "properties": {
2530             "Result": {
2531               "$ref": "#/definitions/ModelUserInfoResults"
2532             }
2533           }
2534         },
2535         "PrivateAddress": {
2536           "type": "object",
2537           "properties": {
2538             "Params": {
2539               "$ref": "#/definitions/PrivateAddress"
2540             },
2541             "Result": {
2542               "$ref": "#/definitions/PrivateAddressResults"
2543             }
2544           }
2545         },
2546         "ProvisioningScript": {
2547           "type": "object",
2548           "properties": {
2549             "Params": {
2550               "$ref": "#/definitions/ProvisioningScriptParams"
2551             },
2552             "Result": {
2553               "$ref": "#/definitions/ProvisioningScriptResult"
2554             }
2555           }
2556         },
2557         "PublicAddress": {
2558           "type": "object",
2559           "properties": {
2560             "Params": {
2561               "$ref": "#/definitions/PublicAddress"
2562             },
2563             "Result": {
2564               "$ref": "#/definitions/PublicAddressResults"
2565             }
2566           }
2567         },
2568         "ResolveCharms": {
2569           "type": "object",
2570           "properties": {
2571             "Params": {
2572               "$ref": "#/definitions/ResolveCharms"
2573             },
2574             "Result": {
2575               "$ref": "#/definitions/ResolveCharmResults"
2576             }
2577           }
2578         },
2579         "Resolved": {
2580           "type": "object",
2581           "properties": {
2582             "Params": {
2583               "$ref": "#/definitions/Resolved"
2584             }
2585           }
2586         },
2587         "RetryProvisioning": {
2588           "type": "object",
2589           "properties": {
2590             "Params": {
2591               "$ref": "#/definitions/Entities"
2592             },
2593             "Result": {
2594               "$ref": "#/definitions/ErrorResults"
2595             }
2596           }
2597         },
2598         "SetModelAgentVersion": {
2599           "type": "object",
2600           "properties": {
2601             "Params": {
2602               "$ref": "#/definitions/SetModelAgentVersion"
2603             }
2604           }
2605         },
2606         "SetModelConstraints": {
2607           "type": "object",
2608           "properties": {
2609             "Params": {
2610               "$ref": "#/definitions/SetConstraints"
2611             }
2612           }
2613         },
2614         "StatusHistory": {
2615           "type": "object",
2616           "properties": {
2617             "Params": {
2618               "$ref": "#/definitions/StatusHistoryArgs"
2619             },
2620             "Result": {
2621               "$ref": "#/definitions/StatusHistoryResults"
2622             }
2623           }
2624         },
2625         "WatchAll": {
2626           "type": "object",
2627           "properties": {
2628             "Result": {
2629               "$ref": "#/definitions/AllWatcherId"
2630             }
2631           }
2632         }
2633       },
2634       "definitions": {
2635         "APIHostPortsResult": {
2636           "type": "object",
2637           "properties": {
2638             "Servers": {
2639               "type": "array",
2640               "items": {
2641                 "type": "array",
2642                 "items": {
2643                   "$ref": "#/definitions/HostPort"
2644                 }
2645               }
2646             }
2647           },
2648           "additionalProperties": false,
2649           "required": [
2650             "Servers"
2651           ]
2652         },
2653         "AddCharm": {
2654           "type": "object",
2655           "properties": {
2656             "Channel": {
2657               "type": "string"
2658             },
2659             "URL": {
2660               "type": "string"
2661             }
2662           },
2663           "additionalProperties": false,
2664           "required": [
2665             "URL",
2666             "Channel"
2667           ]
2668         },
2669         "AddCharmWithAuthorization": {
2670           "type": "object",
2671           "properties": {
2672             "Channel": {
2673               "type": "string"
2674             },
2675             "CharmStoreMacaroon": {
2676               "$ref": "#/definitions/Macaroon"
2677             },
2678             "URL": {
2679               "type": "string"
2680             }
2681           },
2682           "additionalProperties": false,
2683           "required": [
2684             "URL",
2685             "Channel",
2686             "CharmStoreMacaroon"
2687           ]
2688         },
2689         "AddMachineParams": {
2690           "type": "object",
2691           "properties": {
2692             "Addrs": {
2693               "type": "array",
2694               "items": {
2695                 "$ref": "#/definitions/Address"
2696               }
2697             },
2698             "Constraints": {
2699               "$ref": "#/definitions/Value"
2700             },
2701             "ContainerType": {
2702               "type": "string"
2703             },
2704             "Disks": {
2705               "type": "array",
2706               "items": {
2707                 "$ref": "#/definitions/Constraints"
2708               }
2709             },
2710             "HardwareCharacteristics": {
2711               "$ref": "#/definitions/HardwareCharacteristics"
2712             },
2713             "InstanceId": {
2714               "type": "string"
2715             },
2716             "Jobs": {
2717               "type": "array",
2718               "items": {
2719                 "type": "string"
2720               }
2721             },
2722             "Nonce": {
2723               "type": "string"
2724             },
2725             "ParentId": {
2726               "type": "string"
2727             },
2728             "Placement": {
2729               "$ref": "#/definitions/Placement"
2730             },
2731             "Series": {
2732               "type": "string"
2733             }
2734           },
2735           "additionalProperties": false,
2736           "required": [
2737             "Series",
2738             "Constraints",
2739             "Jobs",
2740             "Disks",
2741             "Placement",
2742             "ParentId",
2743             "ContainerType",
2744             "InstanceId",
2745             "Nonce",
2746             "HardwareCharacteristics",
2747             "Addrs"
2748           ]
2749         },
2750         "AddMachines": {
2751           "type": "object",
2752           "properties": {
2753             "MachineParams": {
2754               "type": "array",
2755               "items": {
2756                 "$ref": "#/definitions/AddMachineParams"
2757               }
2758             }
2759           },
2760           "additionalProperties": false,
2761           "required": [
2762             "MachineParams"
2763           ]
2764         },
2765         "AddMachinesResult": {
2766           "type": "object",
2767           "properties": {
2768             "Error": {
2769               "$ref": "#/definitions/Error"
2770             },
2771             "Machine": {
2772               "type": "string"
2773             }
2774           },
2775           "additionalProperties": false,
2776           "required": [
2777             "Machine",
2778             "Error"
2779           ]
2780         },
2781         "AddMachinesResults": {
2782           "type": "object",
2783           "properties": {
2784             "Machines": {
2785               "type": "array",
2786               "items": {
2787                 "$ref": "#/definitions/AddMachinesResult"
2788               }
2789             }
2790           },
2791           "additionalProperties": false,
2792           "required": [
2793             "Machines"
2794           ]
2795         },
2796         "Address": {
2797           "type": "object",
2798           "properties": {
2799             "Scope": {
2800               "type": "string"
2801             },
2802             "SpaceName": {
2803               "type": "string"
2804             },
2805             "Type": {
2806               "type": "string"
2807             },
2808             "Value": {
2809               "type": "string"
2810             }
2811           },
2812           "additionalProperties": false,
2813           "required": [
2814             "Value",
2815             "Type",
2816             "Scope"
2817           ]
2818         },
2819         "AgentVersionResult": {
2820           "type": "object",
2821           "properties": {
2822             "Version": {
2823               "$ref": "#/definitions/Number"
2824             }
2825           },
2826           "additionalProperties": false,
2827           "required": [
2828             "Version"
2829           ]
2830         },
2831         "AllWatcherId": {
2832           "type": "object",
2833           "properties": {
2834             "AllWatcherId": {
2835               "type": "string"
2836             }
2837           },
2838           "additionalProperties": false,
2839           "required": [
2840             "AllWatcherId"
2841           ]
2842         },
2843         "Binary": {
2844           "type": "object",
2845           "properties": {
2846             "Arch": {
2847               "type": "string"
2848             },
2849             "Number": {
2850               "$ref": "#/definitions/Number"
2851             },
2852             "Series": {
2853               "type": "string"
2854             }
2855           },
2856           "additionalProperties": false,
2857           "required": [
2858             "Number",
2859             "Series",
2860             "Arch"
2861           ]
2862         },
2863         "BundleChangesChange": {
2864           "type": "object",
2865           "properties": {
2866             "args": {
2867               "type": "array",
2868               "items": {
2869                 "type": "object",
2870                 "additionalProperties": true
2871               }
2872             },
2873             "id": {
2874               "type": "string"
2875             },
2876             "method": {
2877               "type": "string"
2878             },
2879             "requires": {
2880               "type": "array",
2881               "items": {
2882                 "type": "string"
2883               }
2884             }
2885           },
2886           "additionalProperties": false,
2887           "required": [
2888             "id",
2889             "method",
2890             "args",
2891             "requires"
2892           ]
2893         },
2894         "CharmInfo": {
2895           "type": "object",
2896           "properties": {
2897             "CharmURL": {
2898               "type": "string"
2899             }
2900           },
2901           "additionalProperties": false,
2902           "required": [
2903             "CharmURL"
2904           ]
2905         },
2906         "Constraints": {
2907           "type": "object",
2908           "properties": {
2909             "Count": {
2910               "type": "integer"
2911             },
2912             "Pool": {
2913               "type": "string"
2914             },
2915             "Size": {
2916               "type": "integer"
2917             }
2918           },
2919           "additionalProperties": false,
2920           "required": [
2921             "Pool",
2922             "Size",
2923             "Count"
2924           ]
2925         },
2926         "DestroyMachines": {
2927           "type": "object",
2928           "properties": {
2929             "Force": {
2930               "type": "boolean"
2931             },
2932             "MachineNames": {
2933               "type": "array",
2934               "items": {
2935                 "type": "string"
2936               }
2937             }
2938           },
2939           "additionalProperties": false,
2940           "required": [
2941             "MachineNames",
2942             "Force"
2943           ]
2944         },
2945         "DetailedStatus": {
2946           "type": "object",
2947           "properties": {
2948             "Data": {
2949               "type": "object",
2950               "patternProperties": {
2951                 ".*": {
2952                   "type": "object",
2953                   "additionalProperties": true
2954                 }
2955               }
2956             },
2957             "Err": {
2958               "type": "object",
2959               "additionalProperties": true
2960             },
2961             "Info": {
2962               "type": "string"
2963             },
2964             "Kind": {
2965               "type": "string"
2966             },
2967             "Life": {
2968               "type": "string"
2969             },
2970             "Since": {
2971               "type": "string",
2972               "format": "date-time"
2973             },
2974             "Status": {
2975               "type": "string"
2976             },
2977             "Version": {
2978               "type": "string"
2979             }
2980           },
2981           "additionalProperties": false,
2982           "required": [
2983             "Status",
2984             "Info",
2985             "Data",
2986             "Since",
2987             "Kind",
2988             "Version",
2989             "Life",
2990             "Err"
2991           ]
2992         },
2993         "EndpointStatus": {
2994           "type": "object",
2995           "properties": {
2996             "Name": {
2997               "type": "string"
2998             },
2999             "Role": {
3000               "type": "string"
3001             },
3002             "ServiceName": {
3003               "type": "string"
3004             },
3005             "Subordinate": {
3006               "type": "boolean"
3007             }
3008           },
3009           "additionalProperties": false,
3010           "required": [
3011             "ServiceName",
3012             "Name",
3013             "Role",
3014             "Subordinate"
3015           ]
3016         },
3017         "Entities": {
3018           "type": "object",
3019           "properties": {
3020             "Entities": {
3021               "type": "array",
3022               "items": {
3023                 "$ref": "#/definitions/Entity"
3024               }
3025             }
3026           },
3027           "additionalProperties": false,
3028           "required": [
3029             "Entities"
3030           ]
3031         },
3032         "Entity": {
3033           "type": "object",
3034           "properties": {
3035             "Tag": {
3036               "type": "string"
3037             }
3038           },
3039           "additionalProperties": false,
3040           "required": [
3041             "Tag"
3042           ]
3043         },
3044         "EntityStatus": {
3045           "type": "object",
3046           "properties": {
3047             "Data": {
3048               "type": "object",
3049               "patternProperties": {
3050                 ".*": {
3051                   "type": "object",
3052                   "additionalProperties": true
3053                 }
3054               }
3055             },
3056             "Info": {
3057               "type": "string"
3058             },
3059             "Since": {
3060               "type": "string",
3061               "format": "date-time"
3062             },
3063             "Status": {
3064               "type": "string"
3065             }
3066           },
3067           "additionalProperties": false,
3068           "required": [
3069             "Status",
3070             "Info",
3071             "Data",
3072             "Since"
3073           ]
3074         },
3075         "Error": {
3076           "type": "object",
3077           "properties": {
3078             "Code": {
3079               "type": "string"
3080             },
3081             "Info": {
3082               "$ref": "#/definitions/ErrorInfo"
3083             },
3084             "Message": {
3085               "type": "string"
3086             }
3087           },
3088           "additionalProperties": false,
3089           "required": [
3090             "Message",
3091             "Code"
3092           ]
3093         },
3094         "ErrorInfo": {
3095           "type": "object",
3096           "properties": {
3097             "Macaroon": {
3098               "$ref": "#/definitions/Macaroon"
3099             },
3100             "MacaroonPath": {
3101               "type": "string"
3102             }
3103           },
3104           "additionalProperties": false
3105         },
3106         "ErrorResult": {
3107           "type": "object",
3108           "properties": {
3109             "Error": {
3110               "$ref": "#/definitions/Error"
3111             }
3112           },
3113           "additionalProperties": false,
3114           "required": [
3115             "Error"
3116           ]
3117         },
3118         "ErrorResults": {
3119           "type": "object",
3120           "properties": {
3121             "Results": {
3122               "type": "array",
3123               "items": {
3124                 "$ref": "#/definitions/ErrorResult"
3125               }
3126             }
3127           },
3128           "additionalProperties": false,
3129           "required": [
3130             "Results"
3131           ]
3132         },
3133         "FindToolsParams": {
3134           "type": "object",
3135           "properties": {
3136             "Arch": {
3137               "type": "string"
3138             },
3139             "MajorVersion": {
3140               "type": "integer"
3141             },
3142             "MinorVersion": {
3143               "type": "integer"
3144             },
3145             "Number": {
3146               "$ref": "#/definitions/Number"
3147             },
3148             "Series": {
3149               "type": "string"
3150             }
3151           },
3152           "additionalProperties": false,
3153           "required": [
3154             "Number",
3155             "MajorVersion",
3156             "MinorVersion",
3157             "Arch",
3158             "Series"
3159           ]
3160         },
3161         "FindToolsResult": {
3162           "type": "object",
3163           "properties": {
3164             "Error": {
3165               "$ref": "#/definitions/Error"
3166             },
3167             "List": {
3168               "type": "array",
3169               "items": {
3170                 "$ref": "#/definitions/Tools"
3171               }
3172             }
3173           },
3174           "additionalProperties": false,
3175           "required": [
3176             "List",
3177             "Error"
3178           ]
3179         },
3180         "FullStatus": {
3181           "type": "object",
3182           "properties": {
3183             "AvailableVersion": {
3184               "type": "string"
3185             },
3186             "Machines": {
3187               "type": "object",
3188               "patternProperties": {
3189                 ".*": {
3190                   "$ref": "#/definitions/MachineStatus"
3191                 }
3192               }
3193             },
3194             "ModelName": {
3195               "type": "string"
3196             },
3197             "Relations": {
3198               "type": "array",
3199               "items": {
3200                 "$ref": "#/definitions/RelationStatus"
3201               }
3202             },
3203             "Services": {
3204               "type": "object",
3205               "patternProperties": {
3206                 ".*": {
3207                   "$ref": "#/definitions/ServiceStatus"
3208                 }
3209               }
3210             }
3211           },
3212           "additionalProperties": false,
3213           "required": [
3214             "ModelName",
3215             "AvailableVersion",
3216             "Machines",
3217             "Services",
3218             "Relations"
3219           ]
3220         },
3221         "GetBundleChangesParams": {
3222           "type": "object",
3223           "properties": {
3224             "yaml": {
3225               "type": "string"
3226             }
3227           },
3228           "additionalProperties": false,
3229           "required": [
3230             "yaml"
3231           ]
3232         },
3233         "GetBundleChangesResults": {
3234           "type": "object",
3235           "properties": {
3236             "changes": {
3237               "type": "array",
3238               "items": {
3239                 "$ref": "#/definitions/BundleChangesChange"
3240               }
3241             },
3242             "errors": {
3243               "type": "array",
3244               "items": {
3245                 "type": "string"
3246               }
3247             }
3248           },
3249           "additionalProperties": false
3250         },
3251         "GetConstraintsResults": {
3252           "type": "object",
3253           "properties": {
3254             "Constraints": {
3255               "$ref": "#/definitions/Value"
3256             }
3257           },
3258           "additionalProperties": false,
3259           "required": [
3260             "Constraints"
3261           ]
3262         },
3263         "HardwareCharacteristics": {
3264           "type": "object",
3265           "properties": {
3266             "Arch": {
3267               "type": "string"
3268             },
3269             "AvailabilityZone": {
3270               "type": "string"
3271             },
3272             "CpuCores": {
3273               "type": "integer"
3274             },
3275             "CpuPower": {
3276               "type": "integer"
3277             },
3278             "Mem": {
3279               "type": "integer"
3280             },
3281             "RootDisk": {
3282               "type": "integer"
3283             },
3284             "Tags": {
3285               "type": "array",
3286               "items": {
3287                 "type": "string"
3288               }
3289             }
3290           },
3291           "additionalProperties": false
3292         },
3293         "HostPort": {
3294           "type": "object",
3295           "properties": {
3296             "Address": {
3297               "$ref": "#/definitions/Address"
3298             },
3299             "Port": {
3300               "type": "integer"
3301             }
3302           },
3303           "additionalProperties": false,
3304           "required": [
3305             "Address",
3306             "Port"
3307           ]
3308         },
3309         "Macaroon": {
3310           "type": "object",
3311           "properties": {
3312             "caveats": {
3313               "type": "array",
3314               "items": {
3315                 "$ref": "#/definitions/caveat"
3316               }
3317             },
3318             "data": {
3319               "type": "array",
3320               "items": {
3321                 "type": "integer"
3322               }
3323             },
3324             "id": {
3325               "$ref": "#/definitions/packet"
3326             },
3327             "location": {
3328               "$ref": "#/definitions/packet"
3329             },
3330             "sig": {
3331               "type": "array",
3332               "items": {
3333                 "type": "integer"
3334               }
3335             }
3336           },
3337           "additionalProperties": false,
3338           "required": [
3339             "data",
3340             "location",
3341             "id",
3342             "caveats",
3343             "sig"
3344           ]
3345         },
3346         "MachineStatus": {
3347           "type": "object",
3348           "properties": {
3349             "AgentStatus": {
3350               "$ref": "#/definitions/DetailedStatus"
3351             },
3352             "Containers": {
3353               "type": "object",
3354               "patternProperties": {
3355                 ".*": {
3356                   "$ref": "#/definitions/MachineStatus"
3357                 }
3358               }
3359             },
3360             "DNSName": {
3361               "type": "string"
3362             },
3363             "Hardware": {
3364               "type": "string"
3365             },
3366             "HasVote": {
3367               "type": "boolean"
3368             },
3369             "Id": {
3370               "type": "string"
3371             },
3372             "InstanceId": {
3373               "type": "string"
3374             },
3375             "InstanceStatus": {
3376               "$ref": "#/definitions/DetailedStatus"
3377             },
3378             "Jobs": {
3379               "type": "array",
3380               "items": {
3381                 "type": "string"
3382               }
3383             },
3384             "Series": {
3385               "type": "string"
3386             },
3387             "WantsVote": {
3388               "type": "boolean"
3389             }
3390           },
3391           "additionalProperties": false,
3392           "required": [
3393             "AgentStatus",
3394             "InstanceStatus",
3395             "DNSName",
3396             "InstanceId",
3397             "Series",
3398             "Id",
3399             "Containers",
3400             "Hardware",
3401             "Jobs",
3402             "HasVote",
3403             "WantsVote"
3404           ]
3405         },
3406         "MeterStatus": {
3407           "type": "object",
3408           "properties": {
3409             "Color": {
3410               "type": "string"
3411             },
3412             "Message": {
3413               "type": "string"
3414             }
3415           },
3416           "additionalProperties": false,
3417           "required": [
3418             "Color",
3419             "Message"
3420           ]
3421         },
3422         "ModelConfigResults": {
3423           "type": "object",
3424           "properties": {
3425             "Config": {
3426               "type": "object",
3427               "patternProperties": {
3428                 ".*": {
3429                   "type": "object",
3430                   "additionalProperties": true
3431                 }
3432               }
3433             }
3434           },
3435           "additionalProperties": false,
3436           "required": [
3437             "Config"
3438           ]
3439         },
3440         "ModelInfo": {
3441           "type": "object",
3442           "properties": {
3443             "DefaultSeries": {
3444               "type": "string"
3445             },
3446             "Life": {
3447               "type": "string"
3448             },
3449             "Name": {
3450               "type": "string"
3451             },
3452             "OwnerTag": {
3453               "type": "string"
3454             },
3455             "ProviderType": {
3456               "type": "string"
3457             },
3458             "ServerUUID": {
3459               "type": "string"
3460             },
3461             "Status": {
3462               "$ref": "#/definitions/EntityStatus"
3463             },
3464             "UUID": {
3465               "type": "string"
3466             },
3467             "Users": {
3468               "type": "array",
3469               "items": {
3470                 "$ref": "#/definitions/ModelUserInfo"
3471               }
3472             }
3473           },
3474           "additionalProperties": false,
3475           "required": [
3476             "Name",
3477             "UUID",
3478             "ServerUUID",
3479             "ProviderType",
3480             "DefaultSeries",
3481             "OwnerTag",
3482             "Life",
3483             "Status",
3484             "Users"
3485           ]
3486         },
3487         "ModelSet": {
3488           "type": "object",
3489           "properties": {
3490             "Config": {
3491               "type": "object",
3492               "patternProperties": {
3493                 ".*": {
3494                   "type": "object",
3495                   "additionalProperties": true
3496                 }
3497               }
3498             }
3499           },
3500           "additionalProperties": false,
3501           "required": [
3502             "Config"
3503           ]
3504         },
3505         "ModelUnset": {
3506           "type": "object",
3507           "properties": {
3508             "Keys": {
3509               "type": "array",
3510               "items": {
3511                 "type": "string"
3512               }
3513             }
3514           },
3515           "additionalProperties": false,
3516           "required": [
3517             "Keys"
3518           ]
3519         },
3520         "ModelUserInfo": {
3521           "type": "object",
3522           "properties": {
3523             "access": {
3524               "type": "string"
3525             },
3526             "displayname": {
3527               "type": "string"
3528             },
3529             "lastconnection": {
3530               "type": "string",
3531               "format": "date-time"
3532             },
3533             "user": {
3534               "type": "string"
3535             }
3536           },
3537           "additionalProperties": false,
3538           "required": [
3539             "user",
3540             "displayname",
3541             "lastconnection",
3542             "access"
3543           ]
3544         },
3545         "ModelUserInfoResult": {
3546           "type": "object",
3547           "properties": {
3548             "error": {
3549               "$ref": "#/definitions/Error"
3550             },
3551             "result": {
3552               "$ref": "#/definitions/ModelUserInfo"
3553             }
3554           },
3555           "additionalProperties": false
3556         },
3557         "ModelUserInfoResults": {
3558           "type": "object",
3559           "properties": {
3560             "results": {
3561               "type": "array",
3562               "items": {
3563                 "$ref": "#/definitions/ModelUserInfoResult"
3564               }
3565             }
3566           },
3567           "additionalProperties": false,
3568           "required": [
3569             "results"
3570           ]
3571         },
3572         "Number": {
3573           "type": "object",
3574           "properties": {
3575             "Build": {
3576               "type": "integer"
3577             },
3578             "Major": {
3579               "type": "integer"
3580             },
3581             "Minor": {
3582               "type": "integer"
3583             },
3584             "Patch": {
3585               "type": "integer"
3586             },
3587             "Tag": {
3588               "type": "string"
3589             }
3590           },
3591           "additionalProperties": false,
3592           "required": [
3593             "Major",
3594             "Minor",
3595             "Tag",
3596             "Patch",
3597             "Build"
3598           ]
3599         },
3600         "Placement": {
3601           "type": "object",
3602           "properties": {
3603             "Directive": {
3604               "type": "string"
3605             },
3606             "Scope": {
3607               "type": "string"
3608             }
3609           },
3610           "additionalProperties": false,
3611           "required": [
3612             "Scope",
3613             "Directive"
3614           ]
3615         },
3616         "PrivateAddress": {
3617           "type": "object",
3618           "properties": {
3619             "Target": {
3620               "type": "string"
3621             }
3622           },
3623           "additionalProperties": false,
3624           "required": [
3625             "Target"
3626           ]
3627         },
3628         "PrivateAddressResults": {
3629           "type": "object",
3630           "properties": {
3631             "PrivateAddress": {
3632               "type": "string"
3633             }
3634           },
3635           "additionalProperties": false,
3636           "required": [
3637             "PrivateAddress"
3638           ]
3639         },
3640         "ProvisioningScriptParams": {
3641           "type": "object",
3642           "properties": {
3643             "DataDir": {
3644               "type": "string"
3645             },
3646             "DisablePackageCommands": {
3647               "type": "boolean"
3648             },
3649             "MachineId": {
3650               "type": "string"
3651             },
3652             "Nonce": {
3653               "type": "string"
3654             }
3655           },
3656           "additionalProperties": false,
3657           "required": [
3658             "MachineId",
3659             "Nonce",
3660             "DataDir",
3661             "DisablePackageCommands"
3662           ]
3663         },
3664         "ProvisioningScriptResult": {
3665           "type": "object",
3666           "properties": {
3667             "Script": {
3668               "type": "string"
3669             }
3670           },
3671           "additionalProperties": false,
3672           "required": [
3673             "Script"
3674           ]
3675         },
3676         "PublicAddress": {
3677           "type": "object",
3678           "properties": {
3679             "Target": {
3680               "type": "string"
3681             }
3682           },
3683           "additionalProperties": false,
3684           "required": [
3685             "Target"
3686           ]
3687         },
3688         "PublicAddressResults": {
3689           "type": "object",
3690           "properties": {
3691             "PublicAddress": {
3692               "type": "string"
3693             }
3694           },
3695           "additionalProperties": false,
3696           "required": [
3697             "PublicAddress"
3698           ]
3699         },
3700         "RelationStatus": {
3701           "type": "object",
3702           "properties": {
3703             "Endpoints": {
3704               "type": "array",
3705               "items": {
3706                 "$ref": "#/definitions/EndpointStatus"
3707               }
3708             },
3709             "Id": {
3710               "type": "integer"
3711             },
3712             "Interface": {
3713               "type": "string"
3714             },
3715             "Key": {
3716               "type": "string"
3717             },
3718             "Scope": {
3719               "type": "string"
3720             }
3721           },
3722           "additionalProperties": false,
3723           "required": [
3724             "Id",
3725             "Key",
3726             "Interface",
3727             "Scope",
3728             "Endpoints"
3729           ]
3730         },
3731         "ResolveCharmResult": {
3732           "type": "object",
3733           "properties": {
3734             "Error": {
3735               "type": "string"
3736             },
3737             "URL": {
3738               "$ref": "#/definitions/URL"
3739             }
3740           },
3741           "additionalProperties": false
3742         },
3743         "ResolveCharmResults": {
3744           "type": "object",
3745           "properties": {
3746             "URLs": {
3747               "type": "array",
3748               "items": {
3749                 "$ref": "#/definitions/ResolveCharmResult"
3750               }
3751             }
3752           },
3753           "additionalProperties": false,
3754           "required": [
3755             "URLs"
3756           ]
3757         },
3758         "ResolveCharms": {
3759           "type": "object",
3760           "properties": {
3761             "References": {
3762               "type": "array",
3763               "items": {
3764                 "$ref": "#/definitions/URL"
3765               }
3766             }
3767           },
3768           "additionalProperties": false,
3769           "required": [
3770             "References"
3771           ]
3772         },
3773         "Resolved": {
3774           "type": "object",
3775           "properties": {
3776             "Retry": {
3777               "type": "boolean"
3778             },
3779             "UnitName": {
3780               "type": "string"
3781             }
3782           },
3783           "additionalProperties": false,
3784           "required": [
3785             "UnitName",
3786             "Retry"
3787           ]
3788         },
3789         "ServiceStatus": {
3790           "type": "object",
3791           "properties": {
3792             "CanUpgradeTo": {
3793               "type": "string"
3794             },
3795             "Charm": {
3796               "type": "string"
3797             },
3798             "Err": {
3799               "type": "object",
3800               "additionalProperties": true
3801             },
3802             "Exposed": {
3803               "type": "boolean"
3804             },
3805             "Life": {
3806               "type": "string"
3807             },
3808             "MeterStatuses": {
3809               "type": "object",
3810               "patternProperties": {
3811                 ".*": {
3812                   "$ref": "#/definitions/MeterStatus"
3813                 }
3814               }
3815             },
3816             "Relations": {
3817               "type": "object",
3818               "patternProperties": {
3819                 ".*": {
3820                   "type": "array",
3821                   "items": {
3822                     "type": "string"
3823                   }
3824                 }
3825               }
3826             },
3827             "Status": {
3828               "$ref": "#/definitions/DetailedStatus"
3829             },
3830             "SubordinateTo": {
3831               "type": "array",
3832               "items": {
3833                 "type": "string"
3834               }
3835             },
3836             "Units": {
3837               "type": "object",
3838               "patternProperties": {
3839                 ".*": {
3840                   "$ref": "#/definitions/UnitStatus"
3841                 }
3842               }
3843             }
3844           },
3845           "additionalProperties": false,
3846           "required": [
3847             "Err",
3848             "Charm",
3849             "Exposed",
3850             "Life",
3851             "Relations",
3852             "CanUpgradeTo",
3853             "SubordinateTo",
3854             "Units",
3855             "MeterStatuses",
3856             "Status"
3857           ]
3858         },
3859         "SetConstraints": {
3860           "type": "object",
3861           "properties": {
3862             "Constraints": {
3863               "$ref": "#/definitions/Value"
3864             },
3865             "ServiceName": {
3866               "type": "string"
3867             }
3868           },
3869           "additionalProperties": false,
3870           "required": [
3871             "ServiceName",
3872             "Constraints"
3873           ]
3874         },
3875         "SetModelAgentVersion": {
3876           "type": "object",
3877           "properties": {
3878             "Version": {
3879               "$ref": "#/definitions/Number"
3880             }
3881           },
3882           "additionalProperties": false,
3883           "required": [
3884             "Version"
3885           ]
3886         },
3887         "StatusHistoryArgs": {
3888           "type": "object",
3889           "properties": {
3890             "Kind": {
3891               "type": "string"
3892             },
3893             "Name": {
3894               "type": "string"
3895             },
3896             "Size": {
3897               "type": "integer"
3898             }
3899           },
3900           "additionalProperties": false,
3901           "required": [
3902             "Kind",
3903             "Size",
3904             "Name"
3905           ]
3906         },
3907         "StatusHistoryResults": {
3908           "type": "object",
3909           "properties": {
3910             "Statuses": {
3911               "type": "array",
3912               "items": {
3913                 "$ref": "#/definitions/DetailedStatus"
3914               }
3915             }
3916           },
3917           "additionalProperties": false,
3918           "required": [
3919             "Statuses"
3920           ]
3921         },
3922         "StatusParams": {
3923           "type": "object",
3924           "properties": {
3925             "Patterns": {
3926               "type": "array",
3927               "items": {
3928                 "type": "string"
3929               }
3930             }
3931           },
3932           "additionalProperties": false,
3933           "required": [
3934             "Patterns"
3935           ]
3936         },
3937         "Tools": {
3938           "type": "object",
3939           "properties": {
3940             "sha256": {
3941               "type": "string"
3942             },
3943             "size": {
3944               "type": "integer"
3945             },
3946             "url": {
3947               "type": "string"
3948             },
3949             "version": {
3950               "$ref": "#/definitions/Binary"
3951             }
3952           },
3953           "additionalProperties": false,
3954           "required": [
3955             "version",
3956             "url",
3957             "size"
3958           ]
3959         },
3960         "URL": {
3961           "type": "object",
3962           "properties": {
3963             "Channel": {
3964               "type": "string"
3965             },
3966             "Name": {
3967               "type": "string"
3968             },
3969             "Revision": {
3970               "type": "integer"
3971             },
3972             "Schema": {
3973               "type": "string"
3974             },
3975             "Series": {
3976               "type": "string"
3977             },
3978             "User": {
3979               "type": "string"
3980             }
3981           },
3982           "additionalProperties": false,
3983           "required": [
3984             "Schema",
3985             "User",
3986             "Name",
3987             "Revision",
3988             "Series",
3989             "Channel"
3990           ]
3991         },
3992         "UnitStatus": {
3993           "type": "object",
3994           "properties": {
3995             "AgentStatus": {
3996               "$ref": "#/definitions/DetailedStatus"
3997             },
3998             "Charm": {
3999               "type": "string"
4000             },
4001             "Machine": {
4002               "type": "string"
4003             },
4004             "OpenedPorts": {
4005               "type": "array",
4006               "items": {
4007                 "type": "string"
4008               }
4009             },
4010             "PublicAddress": {
4011               "type": "string"
4012             },
4013             "Subordinates": {
4014               "type": "object",
4015               "patternProperties": {
4016                 ".*": {
4017                   "$ref": "#/definitions/UnitStatus"
4018                 }
4019               }
4020             },
4021             "WorkloadStatus": {
4022               "$ref": "#/definitions/DetailedStatus"
4023             }
4024           },
4025           "additionalProperties": false,
4026           "required": [
4027             "AgentStatus",
4028             "WorkloadStatus",
4029             "Machine",
4030             "OpenedPorts",
4031             "PublicAddress",
4032             "Charm",
4033             "Subordinates"
4034           ]
4035         },
4036         "Value": {
4037           "type": "object",
4038           "properties": {
4039             "arch": {
4040               "type": "string"
4041             },
4042             "container": {
4043               "type": "string"
4044             },
4045             "cpu-cores": {
4046               "type": "integer"
4047             },
4048             "cpu-power": {
4049               "type": "integer"
4050             },
4051             "instance-type": {
4052               "type": "string"
4053             },
4054             "mem": {
4055               "type": "integer"
4056             },
4057             "root-disk": {
4058               "type": "integer"
4059             },
4060             "spaces": {
4061               "type": "array",
4062               "items": {
4063                 "type": "string"
4064               }
4065             },
4066             "tags": {
4067               "type": "array",
4068               "items": {
4069                 "type": "string"
4070               }
4071             },
4072             "virt-type": {
4073               "type": "string"
4074             }
4075           },
4076           "additionalProperties": false
4077         },
4078         "caveat": {
4079           "type": "object",
4080           "properties": {
4081             "caveatId": {
4082               "$ref": "#/definitions/packet"
4083             },
4084             "location": {
4085               "$ref": "#/definitions/packet"
4086             },
4087             "verificationId": {
4088               "$ref": "#/definitions/packet"
4089             }
4090           },
4091           "additionalProperties": false,
4092           "required": [
4093             "location",
4094             "caveatId",
4095             "verificationId"
4096           ]
4097         },
4098         "packet": {
4099           "type": "object",
4100           "properties": {
4101             "headerLen": {
4102               "type": "integer"
4103             },
4104             "start": {
4105               "type": "integer"
4106             },
4107             "totalLen": {
4108               "type": "integer"
4109             }
4110           },
4111           "additionalProperties": false,
4112           "required": [
4113             "start",
4114             "totalLen",
4115             "headerLen"
4116           ]
4117         }
4118       }
4119     }
4120   },
4121   {
4122     "Name": "Controller",
4123     "Version": 2,
4124     "Schema": {
4125       "type": "object",
4126       "properties": {
4127         "AllModels": {
4128           "type": "object",
4129           "properties": {
4130             "Result": {
4131               "$ref": "#/definitions/UserModelList"
4132             }
4133           }
4134         },
4135         "DestroyController": {
4136           "type": "object",
4137           "properties": {
4138             "Params": {
4139               "$ref": "#/definitions/DestroyControllerArgs"
4140             }
4141           }
4142         },
4143         "InitiateModelMigration": {
4144           "type": "object",
4145           "properties": {
4146             "Params": {
4147               "$ref": "#/definitions/InitiateModelMigrationArgs"
4148             },
4149             "Result": {
4150               "$ref": "#/definitions/InitiateModelMigrationResults"
4151             }
4152           }
4153         },
4154         "ListBlockedModels": {
4155           "type": "object",
4156           "properties": {
4157             "Result": {
4158               "$ref": "#/definitions/ModelBlockInfoList"
4159             }
4160           }
4161         },
4162         "ModelConfig": {
4163           "type": "object",
4164           "properties": {
4165             "Result": {
4166               "$ref": "#/definitions/ModelConfigResults"
4167             }
4168           }
4169         },
4170         "ModelStatus": {
4171           "type": "object",
4172           "properties": {
4173             "Params": {
4174               "$ref": "#/definitions/Entities"
4175             },
4176             "Result": {
4177               "$ref": "#/definitions/ModelStatusResults"
4178             }
4179           }
4180         },
4181         "RemoveBlocks": {
4182           "type": "object",
4183           "properties": {
4184             "Params": {
4185               "$ref": "#/definitions/RemoveBlocksArgs"
4186             }
4187           }
4188         },
4189         "WatchAllModels": {
4190           "type": "object",
4191           "properties": {
4192             "Result": {
4193               "$ref": "#/definitions/AllWatcherId"
4194             }
4195           }
4196         }
4197       },
4198       "definitions": {
4199         "AllWatcherId": {
4200           "type": "object",
4201           "properties": {
4202             "AllWatcherId": {
4203               "type": "string"
4204             }
4205           },
4206           "additionalProperties": false,
4207           "required": [
4208             "AllWatcherId"
4209           ]
4210         },
4211         "DestroyControllerArgs": {
4212           "type": "object",
4213           "properties": {
4214             "destroy-models": {
4215               "type": "boolean"
4216             }
4217           },
4218           "additionalProperties": false,
4219           "required": [
4220             "destroy-models"
4221           ]
4222         },
4223         "Entities": {
4224           "type": "object",
4225           "properties": {
4226             "Entities": {
4227               "type": "array",
4228               "items": {
4229                 "$ref": "#/definitions/Entity"
4230               }
4231             }
4232           },
4233           "additionalProperties": false,
4234           "required": [
4235             "Entities"
4236           ]
4237         },
4238         "Entity": {
4239           "type": "object",
4240           "properties": {
4241             "Tag": {
4242               "type": "string"
4243             }
4244           },
4245           "additionalProperties": false,
4246           "required": [
4247             "Tag"
4248           ]
4249         },
4250         "Error": {
4251           "type": "object",
4252           "properties": {
4253             "Code": {
4254               "type": "string"
4255             },
4256             "Info": {
4257               "$ref": "#/definitions/ErrorInfo"
4258             },
4259             "Message": {
4260               "type": "string"
4261             }
4262           },
4263           "additionalProperties": false,
4264           "required": [
4265             "Message",
4266             "Code"
4267           ]
4268         },
4269         "ErrorInfo": {
4270           "type": "object",
4271           "properties": {
4272             "Macaroon": {
4273               "$ref": "#/definitions/Macaroon"
4274             },
4275             "MacaroonPath": {
4276               "type": "string"
4277             }
4278           },
4279           "additionalProperties": false
4280         },
4281         "InitiateModelMigrationArgs": {
4282           "type": "object",
4283           "properties": {
4284             "specs": {
4285               "type": "array",
4286               "items": {
4287                 "$ref": "#/definitions/ModelMigrationSpec"
4288               }
4289             }
4290           },
4291           "additionalProperties": false,
4292           "required": [
4293             "specs"
4294           ]
4295         },
4296         "InitiateModelMigrationResult": {
4297           "type": "object",
4298           "properties": {
4299             "error": {
4300               "$ref": "#/definitions/Error"
4301             },
4302             "id": {
4303               "type": "string"
4304             },
4305             "model-tag": {
4306               "type": "string"
4307             }
4308           },
4309           "additionalProperties": false,
4310           "required": [
4311             "model-tag",
4312             "error",
4313             "id"
4314           ]
4315         },
4316         "InitiateModelMigrationResults": {
4317           "type": "object",
4318           "properties": {
4319             "results": {
4320               "type": "array",
4321               "items": {
4322                 "$ref": "#/definitions/InitiateModelMigrationResult"
4323               }
4324             }
4325           },
4326           "additionalProperties": false,
4327           "required": [
4328             "results"
4329           ]
4330         },
4331         "Macaroon": {
4332           "type": "object",
4333           "properties": {
4334             "caveats": {
4335               "type": "array",
4336               "items": {
4337                 "$ref": "#/definitions/caveat"
4338               }
4339             },
4340             "data": {
4341               "type": "array",
4342               "items": {
4343                 "type": "integer"
4344               }
4345             },
4346             "id": {
4347               "$ref": "#/definitions/packet"
4348             },
4349             "location": {
4350               "$ref": "#/definitions/packet"
4351             },
4352             "sig": {
4353               "type": "array",
4354               "items": {
4355                 "type": "integer"
4356               }
4357             }
4358           },
4359           "additionalProperties": false,
4360           "required": [
4361             "data",
4362             "location",
4363             "id",
4364             "caveats",
4365             "sig"
4366           ]
4367         },
4368         "Model": {
4369           "type": "object",
4370           "properties": {
4371             "Name": {
4372               "type": "string"
4373             },
4374             "OwnerTag": {
4375               "type": "string"
4376             },
4377             "UUID": {
4378               "type": "string"
4379             }
4380           },
4381           "additionalProperties": false,
4382           "required": [
4383             "Name",
4384             "UUID",
4385             "OwnerTag"
4386           ]
4387         },
4388         "ModelBlockInfo": {
4389           "type": "object",
4390           "properties": {
4391             "blocks": {
4392               "type": "array",
4393               "items": {
4394                 "type": "string"
4395               }
4396             },
4397             "model-uuid": {
4398               "type": "string"
4399             },
4400             "name": {
4401               "type": "string"
4402             },
4403             "owner-tag": {
4404               "type": "string"
4405             }
4406           },
4407           "additionalProperties": false,
4408           "required": [
4409             "name",
4410             "model-uuid",
4411             "owner-tag",
4412             "blocks"
4413           ]
4414         },
4415         "ModelBlockInfoList": {
4416           "type": "object",
4417           "properties": {
4418             "models": {
4419               "type": "array",
4420               "items": {
4421                 "$ref": "#/definitions/ModelBlockInfo"
4422               }
4423             }
4424           },
4425           "additionalProperties": false
4426         },
4427         "ModelConfigResults": {
4428           "type": "object",
4429           "properties": {
4430             "Config": {
4431               "type": "object",
4432               "patternProperties": {
4433                 ".*": {
4434                   "type": "object",
4435                   "additionalProperties": true
4436                 }
4437               }
4438             }
4439           },
4440           "additionalProperties": false,
4441           "required": [
4442             "Config"
4443           ]
4444         },
4445         "ModelMigrationSpec": {
4446           "type": "object",
4447           "properties": {
4448             "model-tag": {
4449               "type": "string"
4450             },
4451             "target-info": {
4452               "$ref": "#/definitions/ModelMigrationTargetInfo"
4453             }
4454           },
4455           "additionalProperties": false,
4456           "required": [
4457             "model-tag",
4458             "target-info"
4459           ]
4460         },
4461         "ModelMigrationTargetInfo": {
4462           "type": "object",
4463           "properties": {
4464             "addrs": {
4465               "type": "array",
4466               "items": {
4467                 "type": "string"
4468               }
4469             },
4470             "auth-tag": {
4471               "type": "string"
4472             },
4473             "ca-cert": {
4474               "type": "string"
4475             },
4476             "controller-tag": {
4477               "type": "string"
4478             },
4479             "password": {
4480               "type": "string"
4481             }
4482           },
4483           "additionalProperties": false,
4484           "required": [
4485             "controller-tag",
4486             "addrs",
4487             "ca-cert",
4488             "auth-tag",
4489             "password"
4490           ]
4491         },
4492         "ModelStatus": {
4493           "type": "object",
4494           "properties": {
4495             "hosted-machine-count": {
4496               "type": "integer"
4497             },
4498             "life": {
4499               "type": "string"
4500             },
4501             "model-tag": {
4502               "type": "string"
4503             },
4504             "owner-tag": {
4505               "type": "string"
4506             },
4507             "service-count": {
4508               "type": "integer"
4509             }
4510           },
4511           "additionalProperties": false,
4512           "required": [
4513             "model-tag",
4514             "life",
4515             "hosted-machine-count",
4516             "service-count",
4517             "owner-tag"
4518           ]
4519         },
4520         "ModelStatusResults": {
4521           "type": "object",
4522           "properties": {
4523             "models": {
4524               "type": "array",
4525               "items": {
4526                 "$ref": "#/definitions/ModelStatus"
4527               }
4528             }
4529           },
4530           "additionalProperties": false,
4531           "required": [
4532             "models"
4533           ]
4534         },
4535         "RemoveBlocksArgs": {
4536           "type": "object",
4537           "properties": {
4538             "all": {
4539               "type": "boolean"
4540             }
4541           },
4542           "additionalProperties": false,
4543           "required": [
4544             "all"
4545           ]
4546         },
4547         "UserModel": {
4548           "type": "object",
4549           "properties": {
4550             "LastConnection": {
4551               "type": "string",
4552               "format": "date-time"
4553             },
4554             "Model": {
4555               "$ref": "#/definitions/Model"
4556             }
4557           },
4558           "additionalProperties": false,
4559           "required": [
4560             "Model",
4561             "LastConnection"
4562           ]
4563         },
4564         "UserModelList": {
4565           "type": "object",
4566           "properties": {
4567             "UserModels": {
4568               "type": "array",
4569               "items": {
4570                 "$ref": "#/definitions/UserModel"
4571               }
4572             }
4573           },
4574           "additionalProperties": false,
4575           "required": [
4576             "UserModels"
4577           ]
4578         },
4579         "caveat": {
4580           "type": "object",
4581           "properties": {
4582             "caveatId": {
4583               "$ref": "#/definitions/packet"
4584             },
4585             "location": {
4586               "$ref": "#/definitions/packet"
4587             },
4588             "verificationId": {
4589               "$ref": "#/definitions/packet"
4590             }
4591           },
4592           "additionalProperties": false,
4593           "required": [
4594             "location",
4595             "caveatId",
4596             "verificationId"
4597           ]
4598         },
4599         "packet": {
4600           "type": "object",
4601           "properties": {
4602             "headerLen": {
4603               "type": "integer"
4604             },
4605             "start": {
4606               "type": "integer"
4607             },
4608             "totalLen": {
4609               "type": "integer"
4610             }
4611           },
4612           "additionalProperties": false,
4613           "required": [
4614             "start",
4615             "totalLen",
4616             "headerLen"
4617           ]
4618         }
4619       }
4620     }
4621   },
4622   {
4623     "Name": "Deployer",
4624     "Version": 1,
4625     "Schema": {
4626       "type": "object",
4627       "properties": {
4628         "APIAddresses": {
4629           "type": "object",
4630           "properties": {
4631             "Result": {
4632               "$ref": "#/definitions/StringsResult"
4633             }
4634           }
4635         },
4636         "APIHostPorts": {
4637           "type": "object",
4638           "properties": {
4639             "Result": {
4640               "$ref": "#/definitions/APIHostPortsResult"
4641             }
4642           }
4643         },
4644         "CACert": {
4645           "type": "object",
4646           "properties": {
4647             "Result": {
4648               "$ref": "#/definitions/BytesResult"
4649             }
4650           }
4651         },
4652         "ConnectionInfo": {
4653           "type": "object",
4654           "properties": {
4655             "Result": {
4656               "$ref": "#/definitions/DeployerConnectionValues"
4657             }
4658           }
4659         },
4660         "Life": {
4661           "type": "object",
4662           "properties": {
4663             "Params": {
4664               "$ref": "#/definitions/Entities"
4665             },
4666             "Result": {
4667               "$ref": "#/definitions/LifeResults"
4668             }
4669           }
4670         },
4671         "ModelUUID": {
4672           "type": "object",
4673           "properties": {
4674             "Result": {
4675               "$ref": "#/definitions/StringResult"
4676             }
4677           }
4678         },
4679         "Remove": {
4680           "type": "object",
4681           "properties": {
4682             "Params": {
4683               "$ref": "#/definitions/Entities"
4684             },
4685             "Result": {
4686               "$ref": "#/definitions/ErrorResults"
4687             }
4688           }
4689         },
4690         "SetPasswords": {
4691           "type": "object",
4692           "properties": {
4693             "Params": {
4694               "$ref": "#/definitions/EntityPasswords"
4695             },
4696             "Result": {
4697               "$ref": "#/definitions/ErrorResults"
4698             }
4699           }
4700         },
4701         "StateAddresses": {
4702           "type": "object",
4703           "properties": {
4704             "Result": {
4705               "$ref": "#/definitions/StringsResult"
4706             }
4707           }
4708         },
4709         "WatchAPIHostPorts": {
4710           "type": "object",
4711           "properties": {
4712             "Result": {
4713               "$ref": "#/definitions/NotifyWatchResult"
4714             }
4715           }
4716         },
4717         "WatchUnits": {
4718           "type": "object",
4719           "properties": {
4720             "Params": {
4721               "$ref": "#/definitions/Entities"
4722             },
4723             "Result": {
4724               "$ref": "#/definitions/StringsWatchResults"
4725             }
4726           }
4727         }
4728       },
4729       "definitions": {
4730         "APIHostPortsResult": {
4731           "type": "object",
4732           "properties": {
4733             "Servers": {
4734               "type": "array",
4735               "items": {
4736                 "type": "array",
4737                 "items": {
4738                   "$ref": "#/definitions/HostPort"
4739                 }
4740               }
4741             }
4742           },
4743           "additionalProperties": false,
4744           "required": [
4745             "Servers"
4746           ]
4747         },
4748         "Address": {
4749           "type": "object",
4750           "properties": {
4751             "Scope": {
4752               "type": "string"
4753             },
4754             "SpaceName": {
4755               "type": "string"
4756             },
4757             "Type": {
4758               "type": "string"
4759             },
4760             "Value": {
4761               "type": "string"
4762             }
4763           },
4764           "additionalProperties": false,
4765           "required": [
4766             "Value",
4767             "Type",
4768             "Scope"
4769           ]
4770         },
4771         "BytesResult": {
4772           "type": "object",
4773           "properties": {
4774             "Result": {
4775               "type": "array",
4776               "items": {
4777                 "type": "integer"
4778               }
4779             }
4780           },
4781           "additionalProperties": false,
4782           "required": [
4783             "Result"
4784           ]
4785         },
4786         "DeployerConnectionValues": {
4787           "type": "object",
4788           "properties": {
4789             "APIAddresses": {
4790               "type": "array",
4791               "items": {
4792                 "type": "string"
4793               }
4794             },
4795             "StateAddresses": {
4796               "type": "array",
4797               "items": {
4798                 "type": "string"
4799               }
4800             }
4801           },
4802           "additionalProperties": false,
4803           "required": [
4804             "StateAddresses",
4805             "APIAddresses"
4806           ]
4807         },
4808         "Entities": {
4809           "type": "object",
4810           "properties": {
4811             "Entities": {
4812               "type": "array",
4813               "items": {
4814                 "$ref": "#/definitions/Entity"
4815               }
4816             }
4817           },
4818           "additionalProperties": false,
4819           "required": [
4820             "Entities"
4821           ]
4822         },
4823         "Entity": {
4824           "type": "object",
4825           "properties": {
4826             "Tag": {
4827               "type": "string"
4828             }
4829           },
4830           "additionalProperties": false,
4831           "required": [
4832             "Tag"
4833           ]
4834         },
4835         "EntityPassword": {
4836           "type": "object",
4837           "properties": {
4838             "Password": {
4839               "type": "string"
4840             },
4841             "Tag": {
4842               "type": "string"
4843             }
4844           },
4845           "additionalProperties": false,
4846           "required": [
4847             "Tag",
4848             "Password"
4849           ]
4850         },
4851         "EntityPasswords": {
4852           "type": "object",
4853           "properties": {
4854             "Changes": {
4855               "type": "array",
4856               "items": {
4857                 "$ref": "#/definitions/EntityPassword"
4858               }
4859             }
4860           },
4861           "additionalProperties": false,
4862           "required": [
4863             "Changes"
4864           ]
4865         },
4866         "Error": {
4867           "type": "object",
4868           "properties": {
4869             "Code": {
4870               "type": "string"
4871             },
4872             "Info": {
4873               "$ref": "#/definitions/ErrorInfo"
4874             },
4875             "Message": {
4876               "type": "string"
4877             }
4878           },
4879           "additionalProperties": false,
4880           "required": [
4881             "Message",
4882             "Code"
4883           ]
4884         },
4885         "ErrorInfo": {
4886           "type": "object",
4887           "properties": {
4888             "Macaroon": {
4889               "$ref": "#/definitions/Macaroon"
4890             },
4891             "MacaroonPath": {
4892               "type": "string"
4893             }
4894           },
4895           "additionalProperties": false
4896         },
4897         "ErrorResult": {
4898           "type": "object",
4899           "properties": {
4900             "Error": {
4901               "$ref": "#/definitions/Error"
4902             }
4903           },
4904           "additionalProperties": false,
4905           "required": [
4906             "Error"
4907           ]
4908         },
4909         "ErrorResults": {
4910           "type": "object",
4911           "properties": {
4912             "Results": {
4913               "type": "array",
4914               "items": {
4915                 "$ref": "#/definitions/ErrorResult"
4916               }
4917             }
4918           },
4919           "additionalProperties": false,
4920           "required": [
4921             "Results"
4922           ]
4923         },
4924         "HostPort": {
4925           "type": "object",
4926           "properties": {
4927             "Address": {
4928               "$ref": "#/definitions/Address"
4929             },
4930             "Port": {
4931               "type": "integer"
4932             }
4933           },
4934           "additionalProperties": false,
4935           "required": [
4936             "Address",
4937             "Port"
4938           ]
4939         },
4940         "LifeResult": {
4941           "type": "object",
4942           "properties": {
4943             "Error": {
4944               "$ref": "#/definitions/Error"
4945             },
4946             "Life": {
4947               "type": "string"
4948             }
4949           },
4950           "additionalProperties": false,
4951           "required": [
4952             "Life",
4953             "Error"
4954           ]
4955         },
4956         "LifeResults": {
4957           "type": "object",
4958           "properties": {
4959             "Results": {
4960               "type": "array",
4961               "items": {
4962                 "$ref": "#/definitions/LifeResult"
4963               }
4964             }
4965           },
4966           "additionalProperties": false,
4967           "required": [
4968             "Results"
4969           ]
4970         },
4971         "Macaroon": {
4972           "type": "object",
4973           "properties": {
4974             "caveats": {
4975               "type": "array",
4976               "items": {
4977                 "$ref": "#/definitions/caveat"
4978               }
4979             },
4980             "data": {
4981               "type": "array",
4982               "items": {
4983                 "type": "integer"
4984               }
4985             },
4986             "id": {
4987               "$ref": "#/definitions/packet"
4988             },
4989             "location": {
4990               "$ref": "#/definitions/packet"
4991             },
4992             "sig": {
4993               "type": "array",
4994               "items": {
4995                 "type": "integer"
4996               }
4997             }
4998           },
4999           "additionalProperties": false,
5000           "required": [
5001             "data",
5002             "location",
5003             "id",
5004             "caveats",
5005             "sig"
5006           ]
5007         },
5008         "NotifyWatchResult": {
5009           "type": "object",
5010           "properties": {
5011             "Error": {
5012               "$ref": "#/definitions/Error"
5013             },
5014             "NotifyWatcherId": {
5015               "type": "string"
5016             }
5017           },
5018           "additionalProperties": false,
5019           "required": [
5020             "NotifyWatcherId",
5021             "Error"
5022           ]
5023         },
5024         "StringResult": {
5025           "type": "object",
5026           "properties": {
5027             "Error": {
5028               "$ref": "#/definitions/Error"
5029             },
5030             "Result": {
5031               "type": "string"
5032             }
5033           },
5034           "additionalProperties": false,
5035           "required": [
5036             "Error",
5037             "Result"
5038           ]
5039         },
5040         "StringsResult": {
5041           "type": "object",
5042           "properties": {
5043             "Error": {
5044               "$ref": "#/definitions/Error"
5045             },
5046             "Result": {
5047               "type": "array",
5048               "items": {
5049                 "type": "string"
5050               }
5051             }
5052           },
5053           "additionalProperties": false,
5054           "required": [
5055             "Error",
5056             "Result"
5057           ]
5058         },
5059         "StringsWatchResult": {
5060           "type": "object",
5061           "properties": {
5062             "Changes": {
5063               "type": "array",
5064               "items": {
5065                 "type": "string"
5066               }
5067             },
5068             "Error": {
5069               "$ref": "#/definitions/Error"
5070             },
5071             "StringsWatcherId": {
5072               "type": "string"
5073             }
5074           },
5075           "additionalProperties": false,
5076           "required": [
5077             "StringsWatcherId",
5078             "Changes",
5079             "Error"
5080           ]
5081         },
5082         "StringsWatchResults": {
5083           "type": "object",
5084           "properties": {
5085             "Results": {
5086               "type": "array",
5087               "items": {
5088                 "$ref": "#/definitions/StringsWatchResult"
5089               }
5090             }
5091           },
5092           "additionalProperties": false,
5093           "required": [
5094             "Results"
5095           ]
5096         },
5097         "caveat": {
5098           "type": "object",
5099           "properties": {
5100             "caveatId": {
5101               "$ref": "#/definitions/packet"
5102             },
5103             "location": {
5104               "$ref": "#/definitions/packet"
5105             },
5106             "verificationId": {
5107               "$ref": "#/definitions/packet"
5108             }
5109           },
5110           "additionalProperties": false,
5111           "required": [
5112             "location",
5113             "caveatId",
5114             "verificationId"
5115           ]
5116         },
5117         "packet": {
5118           "type": "object",
5119           "properties": {
5120             "headerLen": {
5121               "type": "integer"
5122             },
5123             "start": {
5124               "type": "integer"
5125             },
5126             "totalLen": {
5127               "type": "integer"
5128             }
5129           },
5130           "additionalProperties": false,
5131           "required": [
5132             "start",
5133             "totalLen",
5134             "headerLen"
5135           ]
5136         }
5137       }
5138     }
5139   },
5140   {
5141     "Name": "DiscoverSpaces",
5142     "Version": 2,
5143     "Schema": {
5144       "type": "object",
5145       "properties": {
5146         "AddSubnets": {
5147           "type": "object",
5148           "properties": {
5149             "Params": {
5150               "$ref": "#/definitions/AddSubnetsParams"
5151             },
5152             "Result": {
5153               "$ref": "#/definitions/ErrorResults"
5154             }
5155           }
5156         },
5157         "CreateSpaces": {
5158           "type": "object",
5159           "properties": {
5160             "Params": {
5161               "$ref": "#/definitions/CreateSpacesParams"
5162             },
5163             "Result": {
5164               "$ref": "#/definitions/ErrorResults"
5165             }
5166           }
5167         },
5168         "ListSpaces": {
5169           "type": "object",
5170           "properties": {
5171             "Result": {
5172               "$ref": "#/definitions/DiscoverSpacesResults"
5173             }
5174           }
5175         },
5176         "ListSubnets": {
5177           "type": "object",
5178           "properties": {
5179             "Params": {
5180               "$ref": "#/definitions/SubnetsFilters"
5181             },
5182             "Result": {
5183               "$ref": "#/definitions/ListSubnetsResults"
5184             }
5185           }
5186         },
5187         "ModelConfig": {
5188           "type": "object",
5189           "properties": {
5190             "Result": {
5191               "$ref": "#/definitions/ModelConfigResult"
5192             }
5193           }
5194         }
5195       },
5196       "definitions": {
5197         "AddSubnetParams": {
5198           "type": "object",
5199           "properties": {
5200             "SpaceTag": {
5201               "type": "string"
5202             },
5203             "SubnetProviderId": {
5204               "type": "string"
5205             },
5206             "SubnetTag": {
5207               "type": "string"
5208             },
5209             "Zones": {
5210               "type": "array",
5211               "items": {
5212                 "type": "string"
5213               }
5214             }
5215           },
5216           "additionalProperties": false,
5217           "required": [
5218             "SpaceTag"
5219           ]
5220         },
5221         "AddSubnetsParams": {
5222           "type": "object",
5223           "properties": {
5224             "Subnets": {
5225               "type": "array",
5226               "items": {
5227                 "$ref": "#/definitions/AddSubnetParams"
5228               }
5229             }
5230           },
5231           "additionalProperties": false,
5232           "required": [
5233             "Subnets"
5234           ]
5235         },
5236         "CreateSpaceParams": {
5237           "type": "object",
5238           "properties": {
5239             "ProviderId": {
5240               "type": "string"
5241             },
5242             "Public": {
5243               "type": "boolean"
5244             },
5245             "SpaceTag": {
5246               "type": "string"
5247             },
5248             "SubnetTags": {
5249               "type": "array",
5250               "items": {
5251                 "type": "string"
5252               }
5253             }
5254           },
5255           "additionalProperties": false,
5256           "required": [
5257             "SubnetTags",
5258             "SpaceTag",
5259             "Public"
5260           ]
5261         },
5262         "CreateSpacesParams": {
5263           "type": "object",
5264           "properties": {
5265             "Spaces": {
5266               "type": "array",
5267               "items": {
5268                 "$ref": "#/definitions/CreateSpaceParams"
5269               }
5270             }
5271           },
5272           "additionalProperties": false,
5273           "required": [
5274             "Spaces"
5275           ]
5276         },
5277         "DiscoverSpacesResults": {
5278           "type": "object",
5279           "properties": {
5280             "Results": {
5281               "type": "array",
5282               "items": {
5283                 "$ref": "#/definitions/ProviderSpace"
5284               }
5285             }
5286           },
5287           "additionalProperties": false,
5288           "required": [
5289             "Results"
5290           ]
5291         },
5292         "Error": {
5293           "type": "object",
5294           "properties": {
5295             "Code": {
5296               "type": "string"
5297             },
5298             "Info": {
5299               "$ref": "#/definitions/ErrorInfo"
5300             },
5301             "Message": {
5302               "type": "string"
5303             }
5304           },
5305           "additionalProperties": false,
5306           "required": [
5307             "Message",
5308             "Code"
5309           ]
5310         },
5311         "ErrorInfo": {
5312           "type": "object",
5313           "properties": {
5314             "Macaroon": {
5315               "$ref": "#/definitions/Macaroon"
5316             },
5317             "MacaroonPath": {
5318               "type": "string"
5319             }
5320           },
5321           "additionalProperties": false
5322         },
5323         "ErrorResult": {
5324           "type": "object",
5325           "properties": {
5326             "Error": {
5327               "$ref": "#/definitions/Error"
5328             }
5329           },
5330           "additionalProperties": false,
5331           "required": [
5332             "Error"
5333           ]
5334         },
5335         "ErrorResults": {
5336           "type": "object",
5337           "properties": {
5338             "Results": {
5339               "type": "array",
5340               "items": {
5341                 "$ref": "#/definitions/ErrorResult"
5342               }
5343             }
5344           },
5345           "additionalProperties": false,
5346           "required": [
5347             "Results"
5348           ]
5349         },
5350         "ListSubnetsResults": {
5351           "type": "object",
5352           "properties": {
5353             "Results": {
5354               "type": "array",
5355               "items": {
5356                 "$ref": "#/definitions/Subnet"
5357               }
5358             }
5359           },
5360           "additionalProperties": false,
5361           "required": [
5362             "Results"
5363           ]
5364         },
5365         "Macaroon": {
5366           "type": "object",
5367           "properties": {
5368             "caveats": {
5369               "type": "array",
5370               "items": {
5371                 "$ref": "#/definitions/caveat"
5372               }
5373             },
5374             "data": {
5375               "type": "array",
5376               "items": {
5377                 "type": "integer"
5378               }
5379             },
5380             "id": {
5381               "$ref": "#/definitions/packet"
5382             },
5383             "location": {
5384               "$ref": "#/definitions/packet"
5385             },
5386             "sig": {
5387               "type": "array",
5388               "items": {
5389                 "type": "integer"
5390               }
5391             }
5392           },
5393           "additionalProperties": false,
5394           "required": [
5395             "data",
5396             "location",
5397             "id",
5398             "caveats",
5399             "sig"
5400           ]
5401         },
5402         "ModelConfigResult": {
5403           "type": "object",
5404           "properties": {
5405             "Config": {
5406               "type": "object",
5407               "patternProperties": {
5408                 ".*": {
5409                   "type": "object",
5410                   "additionalProperties": true
5411                 }
5412               }
5413             }
5414           },
5415           "additionalProperties": false,
5416           "required": [
5417             "Config"
5418           ]
5419         },
5420         "ProviderSpace": {
5421           "type": "object",
5422           "properties": {
5423             "Error": {
5424               "$ref": "#/definitions/Error"
5425             },
5426             "Name": {
5427               "type": "string"
5428             },
5429             "ProviderId": {
5430               "type": "string"
5431             },
5432             "Subnets": {
5433               "type": "array",
5434               "items": {
5435                 "$ref": "#/definitions/Subnet"
5436               }
5437             }
5438           },
5439           "additionalProperties": false,
5440           "required": [
5441             "Name",
5442             "ProviderId",
5443             "Subnets"
5444           ]
5445         },
5446         "Subnet": {
5447           "type": "object",
5448           "properties": {
5449             "CIDR": {
5450               "type": "string"
5451             },
5452             "Life": {
5453               "type": "string"
5454             },
5455             "ProviderId": {
5456               "type": "string"
5457             },
5458             "SpaceTag": {
5459               "type": "string"
5460             },
5461             "StaticRangeHighIP": {
5462               "type": "array",
5463               "items": {
5464                 "type": "integer"
5465               }
5466             },
5467             "StaticRangeLowIP": {
5468               "type": "array",
5469               "items": {
5470                 "type": "integer"
5471               }
5472             },
5473             "Status": {
5474               "type": "string"
5475             },
5476             "VLANTag": {
5477               "type": "integer"
5478             },
5479             "Zones": {
5480               "type": "array",
5481               "items": {
5482                 "type": "string"
5483               }
5484             }
5485           },
5486           "additionalProperties": false,
5487           "required": [
5488             "CIDR",
5489             "VLANTag",
5490             "Life",
5491             "SpaceTag",
5492             "Zones"
5493           ]
5494         },
5495         "SubnetsFilters": {
5496           "type": "object",
5497           "properties": {
5498             "SpaceTag": {
5499               "type": "string"
5500             },
5501             "Zone": {
5502               "type": "string"
5503             }
5504           },
5505           "additionalProperties": false
5506         },
5507         "caveat": {
5508           "type": "object",
5509           "properties": {
5510             "caveatId": {
5511               "$ref": "#/definitions/packet"
5512             },
5513             "location": {
5514               "$ref": "#/definitions/packet"
5515             },
5516             "verificationId": {
5517               "$ref": "#/definitions/packet"
5518             }
5519           },
5520           "additionalProperties": false,
5521           "required": [
5522             "location",
5523             "caveatId",
5524             "verificationId"
5525           ]
5526         },
5527         "packet": {
5528           "type": "object",
5529           "properties": {
5530             "headerLen": {
5531               "type": "integer"
5532             },
5533             "start": {
5534               "type": "integer"
5535             },
5536             "totalLen": {
5537               "type": "integer"
5538             }
5539           },
5540           "additionalProperties": false,
5541           "required": [
5542             "start",
5543             "totalLen",
5544             "headerLen"
5545           ]
5546         }
5547       }
5548     }
5549   },
5550   {
5551     "Name": "DiskManager",
5552     "Version": 2,
5553     "Schema": {
5554       "type": "object",
5555       "properties": {
5556         "SetMachineBlockDevices": {
5557           "type": "object",
5558           "properties": {
5559             "Params": {
5560               "$ref": "#/definitions/SetMachineBlockDevices"
5561             },
5562             "Result": {
5563               "$ref": "#/definitions/ErrorResults"
5564             }
5565           }
5566         }
5567       },
5568       "definitions": {
5569         "BlockDevice": {
5570           "type": "object",
5571           "properties": {
5572             "BusAddress": {
5573               "type": "string"
5574             },
5575             "DeviceLinks": {
5576               "type": "array",
5577               "items": {
5578                 "type": "string"
5579               }
5580             },
5581             "DeviceName": {
5582               "type": "string"
5583             },
5584             "FilesystemType": {
5585               "type": "string"
5586             },
5587             "HardwareId": {
5588               "type": "string"
5589             },
5590             "InUse": {
5591               "type": "boolean"
5592             },
5593             "Label": {
5594               "type": "string"
5595             },
5596             "MountPoint": {
5597               "type": "string"
5598             },
5599             "Size": {
5600               "type": "integer"
5601             },
5602             "UUID": {
5603               "type": "string"
5604             }
5605           },
5606           "additionalProperties": false,
5607           "required": [
5608             "DeviceName",
5609             "DeviceLinks",
5610             "Label",
5611             "UUID",
5612             "HardwareId",
5613             "BusAddress",
5614             "Size",
5615             "FilesystemType",
5616             "InUse",
5617             "MountPoint"
5618           ]
5619         },
5620         "Error": {
5621           "type": "object",
5622           "properties": {
5623             "Code": {
5624               "type": "string"
5625             },
5626             "Info": {
5627               "$ref": "#/definitions/ErrorInfo"
5628             },
5629             "Message": {
5630               "type": "string"
5631             }
5632           },
5633           "additionalProperties": false,
5634           "required": [
5635             "Message",
5636             "Code"
5637           ]
5638         },
5639         "ErrorInfo": {
5640           "type": "object",
5641           "properties": {
5642             "Macaroon": {
5643               "$ref": "#/definitions/Macaroon"
5644             },
5645             "MacaroonPath": {
5646               "type": "string"
5647             }
5648           },
5649           "additionalProperties": false
5650         },
5651         "ErrorResult": {
5652           "type": "object",
5653           "properties": {
5654             "Error": {
5655               "$ref": "#/definitions/Error"
5656             }
5657           },
5658           "additionalProperties": false,
5659           "required": [
5660             "Error"
5661           ]
5662         },
5663         "ErrorResults": {
5664           "type": "object",
5665           "properties": {
5666             "Results": {
5667               "type": "array",
5668               "items": {
5669                 "$ref": "#/definitions/ErrorResult"
5670               }
5671             }
5672           },
5673           "additionalProperties": false,
5674           "required": [
5675             "Results"
5676           ]
5677         },
5678         "Macaroon": {
5679           "type": "object",
5680           "properties": {
5681             "caveats": {
5682               "type": "array",
5683               "items": {
5684                 "$ref": "#/definitions/caveat"
5685               }
5686             },
5687             "data": {
5688               "type": "array",
5689               "items": {
5690                 "type": "integer"
5691               }
5692             },
5693             "id": {
5694               "$ref": "#/definitions/packet"
5695             },
5696             "location": {
5697               "$ref": "#/definitions/packet"
5698             },
5699             "sig": {
5700               "type": "array",
5701               "items": {
5702                 "type": "integer"
5703               }
5704             }
5705           },
5706           "additionalProperties": false,
5707           "required": [
5708             "data",
5709             "location",
5710             "id",
5711             "caveats",
5712             "sig"
5713           ]
5714         },
5715         "MachineBlockDevices": {
5716           "type": "object",
5717           "properties": {
5718             "blockdevices": {
5719               "type": "array",
5720               "items": {
5721                 "$ref": "#/definitions/BlockDevice"
5722               }
5723             },
5724             "machine": {
5725               "type": "string"
5726             }
5727           },
5728           "additionalProperties": false,
5729           "required": [
5730             "machine"
5731           ]
5732         },
5733         "SetMachineBlockDevices": {
5734           "type": "object",
5735           "properties": {
5736             "machineblockdevices": {
5737               "type": "array",
5738               "items": {
5739                 "$ref": "#/definitions/MachineBlockDevices"
5740               }
5741             }
5742           },
5743           "additionalProperties": false,
5744           "required": [
5745             "machineblockdevices"
5746           ]
5747         },
5748         "caveat": {
5749           "type": "object",
5750           "properties": {
5751             "caveatId": {
5752               "$ref": "#/definitions/packet"
5753             },
5754             "location": {
5755               "$ref": "#/definitions/packet"
5756             },
5757             "verificationId": {
5758               "$ref": "#/definitions/packet"
5759             }
5760           },
5761           "additionalProperties": false,
5762           "required": [
5763             "location",
5764             "caveatId",
5765             "verificationId"
5766           ]
5767         },
5768         "packet": {
5769           "type": "object",
5770           "properties": {
5771             "headerLen": {
5772               "type": "integer"
5773             },
5774             "start": {
5775               "type": "integer"
5776             },
5777             "totalLen": {
5778               "type": "integer"
5779             }
5780           },
5781           "additionalProperties": false,
5782           "required": [
5783             "start",
5784             "totalLen",
5785             "headerLen"
5786           ]
5787         }
5788       }
5789     }
5790   },
5791   {
5792     "Name": "EntityWatcher",
5793     "Version": 2,
5794     "Schema": {
5795       "type": "object",
5796       "properties": {
5797         "Next": {
5798           "type": "object",
5799           "properties": {
5800             "Result": {
5801               "$ref": "#/definitions/EntitiesWatchResult"
5802             }
5803           }
5804         },
5805         "Stop": {
5806           "type": "object"
5807         }
5808       },
5809       "definitions": {
5810         "EntitiesWatchResult": {
5811           "type": "object",
5812           "properties": {
5813             "Changes": {
5814               "type": "array",
5815               "items": {
5816                 "type": "string"
5817               }
5818             },
5819             "EntityWatcherId": {
5820               "type": "string"
5821             },
5822             "Error": {
5823               "$ref": "#/definitions/Error"
5824             }
5825           },
5826           "additionalProperties": false,
5827           "required": [
5828             "EntityWatcherId",
5829             "Changes",
5830             "Error"
5831           ]
5832         },
5833         "Error": {
5834           "type": "object",
5835           "properties": {
5836             "Code": {
5837               "type": "string"
5838             },
5839             "Info": {
5840               "$ref": "#/definitions/ErrorInfo"
5841             },
5842             "Message": {
5843               "type": "string"
5844             }
5845           },
5846           "additionalProperties": false,
5847           "required": [
5848             "Message",
5849             "Code"
5850           ]
5851         },
5852         "ErrorInfo": {
5853           "type": "object",
5854           "properties": {
5855             "Macaroon": {
5856               "$ref": "#/definitions/Macaroon"
5857             },
5858             "MacaroonPath": {
5859               "type": "string"
5860             }
5861           },
5862           "additionalProperties": false
5863         },
5864         "Macaroon": {
5865           "type": "object",
5866           "properties": {
5867             "caveats": {
5868               "type": "array",
5869               "items": {
5870                 "$ref": "#/definitions/caveat"
5871               }
5872             },
5873             "data": {
5874               "type": "array",
5875               "items": {
5876                 "type": "integer"
5877               }
5878             },
5879             "id": {
5880               "$ref": "#/definitions/packet"
5881             },
5882             "location": {
5883               "$ref": "#/definitions/packet"
5884             },
5885             "sig": {
5886               "type": "array",
5887               "items": {
5888                 "type": "integer"
5889               }
5890             }
5891           },
5892           "additionalProperties": false,
5893           "required": [
5894             "data",
5895             "location",
5896             "id",
5897             "caveats",
5898             "sig"
5899           ]
5900         },
5901         "caveat": {
5902           "type": "object",
5903           "properties": {
5904             "caveatId": {
5905               "$ref": "#/definitions/packet"
5906             },
5907             "location": {
5908               "$ref": "#/definitions/packet"
5909             },
5910             "verificationId": {
5911               "$ref": "#/definitions/packet"
5912             }
5913           },
5914           "additionalProperties": false,
5915           "required": [
5916             "location",
5917             "caveatId",
5918             "verificationId"
5919           ]
5920         },
5921         "packet": {
5922           "type": "object",
5923           "properties": {
5924             "headerLen": {
5925               "type": "integer"
5926             },
5927             "start": {
5928               "type": "integer"
5929             },
5930             "totalLen": {
5931               "type": "integer"
5932             }
5933           },
5934           "additionalProperties": false,
5935           "required": [
5936             "start",
5937             "totalLen",
5938             "headerLen"
5939           ]
5940         }
5941       }
5942     }
5943   },
5944   {
5945     "Name": "FilesystemAttachmentsWatcher",
5946     "Version": 2,
5947     "Schema": {
5948       "type": "object",
5949       "properties": {
5950         "Next": {
5951           "type": "object",
5952           "properties": {
5953             "Result": {
5954               "$ref": "#/definitions/MachineStorageIdsWatchResult"
5955             }
5956           }
5957         },
5958         "Stop": {
5959           "type": "object"
5960         }
5961       },
5962       "definitions": {
5963         "Error": {
5964           "type": "object",
5965           "properties": {
5966             "Code": {
5967               "type": "string"
5968             },
5969             "Info": {
5970               "$ref": "#/definitions/ErrorInfo"
5971             },
5972             "Message": {
5973               "type": "string"
5974             }
5975           },
5976           "additionalProperties": false,
5977           "required": [
5978             "Message",
5979             "Code"
5980           ]
5981         },
5982         "ErrorInfo": {
5983           "type": "object",
5984           "properties": {
5985             "Macaroon": {
5986               "$ref": "#/definitions/Macaroon"
5987             },
5988             "MacaroonPath": {
5989               "type": "string"
5990             }
5991           },
5992           "additionalProperties": false
5993         },
5994         "Macaroon": {
5995           "type": "object",
5996           "properties": {
5997             "caveats": {
5998               "type": "array",
5999               "items": {
6000                 "$ref": "#/definitions/caveat"
6001               }
6002             },
6003             "data": {
6004               "type": "array",
6005               "items": {
6006                 "type": "integer"
6007               }
6008             },
6009             "id": {
6010               "$ref": "#/definitions/packet"
6011             },
6012             "location": {
6013               "$ref": "#/definitions/packet"
6014             },
6015             "sig": {
6016               "type": "array",
6017               "items": {
6018                 "type": "integer"
6019               }
6020             }
6021           },
6022           "additionalProperties": false,
6023           "required": [
6024             "data",
6025             "location",
6026             "id",
6027             "caveats",
6028             "sig"
6029           ]
6030         },
6031         "MachineStorageId": {
6032           "type": "object",
6033           "properties": {
6034             "attachmenttag": {
6035               "type": "string"
6036             },
6037             "machinetag": {
6038               "type": "string"
6039             }
6040           },
6041           "additionalProperties": false,
6042           "required": [
6043             "machinetag",
6044             "attachmenttag"
6045           ]
6046         },
6047         "MachineStorageIdsWatchResult": {
6048           "type": "object",
6049           "properties": {
6050             "Changes": {
6051               "type": "array",
6052               "items": {
6053                 "$ref": "#/definitions/MachineStorageId"
6054               }
6055             },
6056             "Error": {
6057               "$ref": "#/definitions/Error"
6058             },
6059             "MachineStorageIdsWatcherId": {
6060               "type": "string"
6061             }
6062           },
6063           "additionalProperties": false,
6064           "required": [
6065             "MachineStorageIdsWatcherId",
6066             "Changes",
6067             "Error"
6068           ]
6069         },
6070         "caveat": {
6071           "type": "object",
6072           "properties": {
6073             "caveatId": {
6074               "$ref": "#/definitions/packet"
6075             },
6076             "location": {
6077               "$ref": "#/definitions/packet"
6078             },
6079             "verificationId": {
6080               "$ref": "#/definitions/packet"
6081             }
6082           },
6083           "additionalProperties": false,
6084           "required": [
6085             "location",
6086             "caveatId",
6087             "verificationId"
6088           ]
6089         },
6090         "packet": {
6091           "type": "object",
6092           "properties": {
6093             "headerLen": {
6094               "type": "integer"
6095             },
6096             "start": {
6097               "type": "integer"
6098             },
6099             "totalLen": {
6100               "type": "integer"
6101             }
6102           },
6103           "additionalProperties": false,
6104           "required": [
6105             "start",
6106             "totalLen",
6107             "headerLen"
6108           ]
6109         }
6110       }
6111     }
6112   },
6113   {
6114     "Name": "Firewaller",
6115     "Version": 2,
6116     "Schema": {
6117       "type": "object",
6118       "properties": {
6119         "GetAssignedMachine": {
6120           "type": "object",
6121           "properties": {
6122             "Params": {
6123               "$ref": "#/definitions/Entities"
6124             },
6125             "Result": {
6126               "$ref": "#/definitions/StringResults"
6127             }
6128           }
6129         },
6130         "GetExposed": {
6131           "type": "object",
6132           "properties": {
6133             "Params": {
6134               "$ref": "#/definitions/Entities"
6135             },
6136             "Result": {
6137               "$ref": "#/definitions/BoolResults"
6138             }
6139           }
6140         },
6141         "GetMachineActiveSubnets": {
6142           "type": "object",
6143           "properties": {
6144             "Params": {
6145               "$ref": "#/definitions/Entities"
6146             },
6147             "Result": {
6148               "$ref": "#/definitions/StringsResults"
6149             }
6150           }
6151         },
6152         "GetMachinePorts": {
6153           "type": "object",
6154           "properties": {
6155             "Params": {
6156               "$ref": "#/definitions/MachinePortsParams"
6157             },
6158             "Result": {
6159               "$ref": "#/definitions/MachinePortsResults"
6160             }
6161           }
6162         },
6163         "InstanceId": {
6164           "type": "object",
6165           "properties": {
6166             "Params": {
6167               "$ref": "#/definitions/Entities"
6168             },
6169             "Result": {
6170               "$ref": "#/definitions/StringResults"
6171             }
6172           }
6173         },
6174         "Life": {
6175           "type": "object",
6176           "properties": {
6177             "Params": {
6178               "$ref": "#/definitions/Entities"
6179             },
6180             "Result": {
6181               "$ref": "#/definitions/LifeResults"
6182             }
6183           }
6184         },
6185         "ModelConfig": {
6186           "type": "object",
6187           "properties": {
6188             "Result": {
6189               "$ref": "#/definitions/ModelConfigResult"
6190             }
6191           }
6192         },
6193         "Watch": {
6194           "type": "object",
6195           "properties": {
6196             "Params": {
6197               "$ref": "#/definitions/Entities"
6198             },
6199             "Result": {
6200               "$ref": "#/definitions/NotifyWatchResults"
6201             }
6202           }
6203         },
6204         "WatchForModelConfigChanges": {
6205           "type": "object",
6206           "properties": {
6207             "Result": {
6208               "$ref": "#/definitions/NotifyWatchResult"
6209             }
6210           }
6211         },
6212         "WatchModelMachines": {
6213           "type": "object",
6214           "properties": {
6215             "Result": {
6216               "$ref": "#/definitions/StringsWatchResult"
6217             }
6218           }
6219         },
6220         "WatchOpenedPorts": {
6221           "type": "object",
6222           "properties": {
6223             "Params": {
6224               "$ref": "#/definitions/Entities"
6225             },
6226             "Result": {
6227               "$ref": "#/definitions/StringsWatchResults"
6228             }
6229           }
6230         },
6231         "WatchUnits": {
6232           "type": "object",
6233           "properties": {
6234             "Params": {
6235               "$ref": "#/definitions/Entities"
6236             },
6237             "Result": {
6238               "$ref": "#/definitions/StringsWatchResults"
6239             }
6240           }
6241         }
6242       },
6243       "definitions": {
6244         "BoolResult": {
6245           "type": "object",
6246           "properties": {
6247             "Error": {
6248               "$ref": "#/definitions/Error"
6249             },
6250             "Result": {
6251               "type": "boolean"
6252             }
6253           },
6254           "additionalProperties": false,
6255           "required": [
6256             "Error",
6257             "Result"
6258           ]
6259         },
6260         "BoolResults": {
6261           "type": "object",
6262           "properties": {
6263             "Results": {
6264               "type": "array",
6265               "items": {
6266                 "$ref": "#/definitions/BoolResult"
6267               }
6268             }
6269           },
6270           "additionalProperties": false,
6271           "required": [
6272             "Results"
6273           ]
6274         },
6275         "Entities": {
6276           "type": "object",
6277           "properties": {
6278             "Entities": {
6279               "type": "array",
6280               "items": {
6281                 "$ref": "#/definitions/Entity"
6282               }
6283             }
6284           },
6285           "additionalProperties": false,
6286           "required": [
6287             "Entities"
6288           ]
6289         },
6290         "Entity": {
6291           "type": "object",
6292           "properties": {
6293             "Tag": {
6294               "type": "string"
6295             }
6296           },
6297           "additionalProperties": false,
6298           "required": [
6299             "Tag"
6300           ]
6301         },
6302         "Error": {
6303           "type": "object",
6304           "properties": {
6305             "Code": {
6306               "type": "string"
6307             },
6308             "Info": {
6309               "$ref": "#/definitions/ErrorInfo"
6310             },
6311             "Message": {
6312               "type": "string"
6313             }
6314           },
6315           "additionalProperties": false,
6316           "required": [
6317             "Message",
6318             "Code"
6319           ]
6320         },
6321         "ErrorInfo": {
6322           "type": "object",
6323           "properties": {
6324             "Macaroon": {
6325               "$ref": "#/definitions/Macaroon"
6326             },
6327             "MacaroonPath": {
6328               "type": "string"
6329             }
6330           },
6331           "additionalProperties": false
6332         },
6333         "LifeResult": {
6334           "type": "object",
6335           "properties": {
6336             "Error": {
6337               "$ref": "#/definitions/Error"
6338             },
6339             "Life": {
6340               "type": "string"
6341             }
6342           },
6343           "additionalProperties": false,
6344           "required": [
6345             "Life",
6346             "Error"
6347           ]
6348         },
6349         "LifeResults": {
6350           "type": "object",
6351           "properties": {
6352             "Results": {
6353               "type": "array",
6354               "items": {
6355                 "$ref": "#/definitions/LifeResult"
6356               }
6357             }
6358           },
6359           "additionalProperties": false,
6360           "required": [
6361             "Results"
6362           ]
6363         },
6364         "Macaroon": {
6365           "type": "object",
6366           "properties": {
6367             "caveats": {
6368               "type": "array",
6369               "items": {
6370                 "$ref": "#/definitions/caveat"
6371               }
6372             },
6373             "data": {
6374               "type": "array",
6375               "items": {
6376                 "type": "integer"
6377               }
6378             },
6379             "id": {
6380               "$ref": "#/definitions/packet"
6381             },
6382             "location": {
6383               "$ref": "#/definitions/packet"
6384             },
6385             "sig": {
6386               "type": "array",
6387               "items": {
6388                 "type": "integer"
6389               }
6390             }
6391           },
6392           "additionalProperties": false,
6393           "required": [
6394             "data",
6395             "location",
6396             "id",
6397             "caveats",
6398             "sig"
6399           ]
6400         },
6401         "MachinePortRange": {
6402           "type": "object",
6403           "properties": {
6404             "PortRange": {
6405               "$ref": "#/definitions/PortRange"
6406             },
6407             "RelationTag": {
6408               "type": "string"
6409             },
6410             "UnitTag": {
6411               "type": "string"
6412             }
6413           },
6414           "additionalProperties": false,
6415           "required": [
6416             "UnitTag",
6417             "RelationTag",
6418             "PortRange"
6419           ]
6420         },
6421         "MachinePorts": {
6422           "type": "object",
6423           "properties": {
6424             "MachineTag": {
6425               "type": "string"
6426             },
6427             "SubnetTag": {
6428               "type": "string"
6429             }
6430           },
6431           "additionalProperties": false,
6432           "required": [
6433             "MachineTag",
6434             "SubnetTag"
6435           ]
6436         },
6437         "MachinePortsParams": {
6438           "type": "object",
6439           "properties": {
6440             "Params": {
6441               "type": "array",
6442               "items": {
6443                 "$ref": "#/definitions/MachinePorts"
6444               }
6445             }
6446           },
6447           "additionalProperties": false,
6448           "required": [
6449             "Params"
6450           ]
6451         },
6452         "MachinePortsResult": {
6453           "type": "object",
6454           "properties": {
6455             "Error": {
6456               "$ref": "#/definitions/Error"
6457             },
6458             "Ports": {
6459               "type": "array",
6460               "items": {
6461                 "$ref": "#/definitions/MachinePortRange"
6462               }
6463             }
6464           },
6465           "additionalProperties": false,
6466           "required": [
6467             "Error",
6468             "Ports"
6469           ]
6470         },
6471         "MachinePortsResults": {
6472           "type": "object",
6473           "properties": {
6474             "Results": {
6475               "type": "array",
6476               "items": {
6477                 "$ref": "#/definitions/MachinePortsResult"
6478               }
6479             }
6480           },
6481           "additionalProperties": false,
6482           "required": [
6483             "Results"
6484           ]
6485         },
6486         "ModelConfigResult": {
6487           "type": "object",
6488           "properties": {
6489             "Config": {
6490               "type": "object",
6491               "patternProperties": {
6492                 ".*": {
6493                   "type": "object",
6494                   "additionalProperties": true
6495                 }
6496               }
6497             }
6498           },
6499           "additionalProperties": false,
6500           "required": [
6501             "Config"
6502           ]
6503         },
6504         "NotifyWatchResult": {
6505           "type": "object",
6506           "properties": {
6507             "Error": {
6508               "$ref": "#/definitions/Error"
6509             },
6510             "NotifyWatcherId": {
6511               "type": "string"
6512             }
6513           },
6514           "additionalProperties": false,
6515           "required": [
6516             "NotifyWatcherId",
6517             "Error"
6518           ]
6519         },
6520         "NotifyWatchResults": {
6521           "type": "object",
6522           "properties": {
6523             "Results": {
6524               "type": "array",
6525               "items": {
6526                 "$ref": "#/definitions/NotifyWatchResult"
6527               }
6528             }
6529           },
6530           "additionalProperties": false,
6531           "required": [
6532             "Results"
6533           ]
6534         },
6535         "PortRange": {
6536           "type": "object",
6537           "properties": {
6538             "FromPort": {
6539               "type": "integer"
6540             },
6541             "Protocol": {
6542               "type": "string"
6543             },
6544             "ToPort": {
6545               "type": "integer"
6546             }
6547           },
6548           "additionalProperties": false,
6549           "required": [
6550             "FromPort",
6551             "ToPort",
6552             "Protocol"
6553           ]
6554         },
6555         "StringResult": {
6556           "type": "object",
6557           "properties": {
6558             "Error": {
6559               "$ref": "#/definitions/Error"
6560             },
6561             "Result": {
6562               "type": "string"
6563             }
6564           },
6565           "additionalProperties": false,
6566           "required": [
6567             "Error",
6568             "Result"
6569           ]
6570         },
6571         "StringResults": {
6572           "type": "object",
6573           "properties": {
6574             "Results": {
6575               "type": "array",
6576               "items": {
6577                 "$ref": "#/definitions/StringResult"
6578               }
6579             }
6580           },
6581           "additionalProperties": false,
6582           "required": [
6583             "Results"
6584           ]
6585         },
6586         "StringsResult": {
6587           "type": "object",
6588           "properties": {
6589             "Error": {
6590               "$ref": "#/definitions/Error"
6591             },
6592             "Result": {
6593               "type": "array",
6594               "items": {
6595                 "type": "string"
6596               }
6597             }
6598           },
6599           "additionalProperties": false,
6600           "required": [
6601             "Error",
6602             "Result"
6603           ]
6604         },
6605         "StringsResults": {
6606           "type": "object",
6607           "properties": {
6608             "Results": {
6609               "type": "array",
6610               "items": {
6611                 "$ref": "#/definitions/StringsResult"
6612               }
6613             }
6614           },
6615           "additionalProperties": false,
6616           "required": [
6617             "Results"
6618           ]
6619         },
6620         "StringsWatchResult": {
6621           "type": "object",
6622           "properties": {
6623             "Changes": {
6624               "type": "array",
6625               "items": {
6626                 "type": "string"
6627               }
6628             },
6629             "Error": {
6630               "$ref": "#/definitions/Error"
6631             },
6632             "StringsWatcherId": {
6633               "type": "string"
6634             }
6635           },
6636           "additionalProperties": false,
6637           "required": [
6638             "StringsWatcherId",
6639             "Changes",
6640             "Error"
6641           ]
6642         },
6643         "StringsWatchResults": {
6644           "type": "object",
6645           "properties": {
6646             "Results": {
6647               "type": "array",
6648               "items": {
6649                 "$ref": "#/definitions/StringsWatchResult"
6650               }
6651             }
6652           },
6653           "additionalProperties": false,
6654           "required": [
6655             "Results"
6656           ]
6657         },
6658         "caveat": {
6659           "type": "object",
6660           "properties": {
6661             "caveatId": {
6662               "$ref": "#/definitions/packet"
6663             },
6664             "location": {
6665               "$ref": "#/definitions/packet"
6666             },
6667             "verificationId": {
6668               "$ref": "#/definitions/packet"
6669             }
6670           },
6671           "additionalProperties": false,
6672           "required": [
6673             "location",
6674             "caveatId",
6675             "verificationId"
6676           ]
6677         },
6678         "packet": {
6679           "type": "object",
6680           "properties": {
6681             "headerLen": {
6682               "type": "integer"
6683             },
6684             "start": {
6685               "type": "integer"
6686             },
6687             "totalLen": {
6688               "type": "integer"
6689             }
6690           },
6691           "additionalProperties": false,
6692           "required": [
6693             "start",
6694             "totalLen",
6695             "headerLen"
6696           ]
6697         }
6698       }
6699     }
6700   },
6701   {
6702     "Name": "HighAvailability",
6703     "Version": 2,
6704     "Schema": {
6705       "type": "object",
6706       "properties": {
6707         "EnableHA": {
6708           "type": "object",
6709           "properties": {
6710             "Params": {
6711               "$ref": "#/definitions/ControllersSpecs"
6712             },
6713             "Result": {
6714               "$ref": "#/definitions/ControllersChangeResults"
6715             }
6716           }
6717         },
6718         "ResumeHAReplicationAfterUpgrade": {
6719           "type": "object",
6720           "properties": {
6721             "Params": {
6722               "$ref": "#/definitions/ResumeReplicationParams"
6723             }
6724           }
6725         },
6726         "StopHAReplicationForUpgrade": {
6727           "type": "object",
6728           "properties": {
6729             "Params": {
6730               "$ref": "#/definitions/UpgradeMongoParams"
6731             },
6732             "Result": {
6733               "$ref": "#/definitions/MongoUpgradeResults"
6734             }
6735           }
6736         }
6737       },
6738       "definitions": {
6739         "Address": {
6740           "type": "object",
6741           "properties": {
6742             "Scope": {
6743               "type": "string"
6744             },
6745             "SpaceName": {
6746               "type": "string"
6747             },
6748             "SpaceProviderId": {
6749               "type": "string"
6750             },
6751             "Type": {
6752               "type": "string"
6753             },
6754             "Value": {
6755               "type": "string"
6756             }
6757           },
6758           "additionalProperties": false,
6759           "required": [
6760             "Value",
6761             "Type",
6762             "Scope",
6763             "SpaceName",
6764             "SpaceProviderId"
6765           ]
6766         },
6767         "ControllersChangeResult": {
6768           "type": "object",
6769           "properties": {
6770             "Error": {
6771               "$ref": "#/definitions/Error"
6772             },
6773             "Result": {
6774               "$ref": "#/definitions/ControllersChanges"
6775             }
6776           },
6777           "additionalProperties": false,
6778           "required": [
6779             "Result",
6780             "Error"
6781           ]
6782         },
6783         "ControllersChangeResults": {
6784           "type": "object",
6785           "properties": {
6786             "Results": {
6787               "type": "array",
6788               "items": {
6789                 "$ref": "#/definitions/ControllersChangeResult"
6790               }
6791             }
6792           },
6793           "additionalProperties": false,
6794           "required": [
6795             "Results"
6796           ]
6797         },
6798         "ControllersChanges": {
6799           "type": "object",
6800           "properties": {
6801             "added": {
6802               "type": "array",
6803               "items": {
6804                 "type": "string"
6805               }
6806             },
6807             "converted": {
6808               "type": "array",
6809               "items": {
6810                 "type": "string"
6811               }
6812             },
6813             "demoted": {
6814               "type": "array",
6815               "items": {
6816                 "type": "string"
6817               }
6818             },
6819             "maintained": {
6820               "type": "array",
6821               "items": {
6822                 "type": "string"
6823               }
6824             },
6825             "promoted": {
6826               "type": "array",
6827               "items": {
6828                 "type": "string"
6829               }
6830             },
6831             "removed": {
6832               "type": "array",
6833               "items": {
6834                 "type": "string"
6835               }
6836             }
6837           },
6838           "additionalProperties": false
6839         },
6840         "ControllersSpec": {
6841           "type": "object",
6842           "properties": {
6843             "ModelTag": {
6844               "type": "string"
6845             },
6846             "constraints": {
6847               "$ref": "#/definitions/Value"
6848             },
6849             "num-controllers": {
6850               "type": "integer"
6851             },
6852             "placement": {
6853               "type": "array",
6854               "items": {
6855                 "type": "string"
6856               }
6857             },
6858             "series": {
6859               "type": "string"
6860             }
6861           },
6862           "additionalProperties": false,
6863           "required": [
6864             "ModelTag",
6865             "num-controllers"
6866           ]
6867         },
6868         "ControllersSpecs": {
6869           "type": "object",
6870           "properties": {
6871             "Specs": {
6872               "type": "array",
6873               "items": {
6874                 "$ref": "#/definitions/ControllersSpec"
6875               }
6876             }
6877           },
6878           "additionalProperties": false,
6879           "required": [
6880             "Specs"
6881           ]
6882         },
6883         "Error": {
6884           "type": "object",
6885           "properties": {
6886             "Code": {
6887               "type": "string"
6888             },
6889             "Info": {
6890               "$ref": "#/definitions/ErrorInfo"
6891             },
6892             "Message": {
6893               "type": "string"
6894             }
6895           },
6896           "additionalProperties": false,
6897           "required": [
6898             "Message",
6899             "Code"
6900           ]
6901         },
6902         "ErrorInfo": {
6903           "type": "object",
6904           "properties": {
6905             "Macaroon": {
6906               "$ref": "#/definitions/Macaroon"
6907             },
6908             "MacaroonPath": {
6909               "type": "string"
6910             }
6911           },
6912           "additionalProperties": false
6913         },
6914         "HAMember": {
6915           "type": "object",
6916           "properties": {
6917             "PublicAddress": {
6918               "$ref": "#/definitions/Address"
6919             },
6920             "Series": {
6921               "type": "string"
6922             },
6923             "Tag": {
6924               "type": "string"
6925             }
6926           },
6927           "additionalProperties": false,
6928           "required": [
6929             "Tag",
6930             "PublicAddress",
6931             "Series"
6932           ]
6933         },
6934         "Macaroon": {
6935           "type": "object",
6936           "properties": {
6937             "caveats": {
6938               "type": "array",
6939               "items": {
6940                 "$ref": "#/definitions/caveat"
6941               }
6942             },
6943             "data": {
6944               "type": "array",
6945               "items": {
6946                 "type": "integer"
6947               }
6948             },
6949             "id": {
6950               "$ref": "#/definitions/packet"
6951             },
6952             "location": {
6953               "$ref": "#/definitions/packet"
6954             },
6955             "sig": {
6956               "type": "array",
6957               "items": {
6958                 "type": "integer"
6959               }
6960             }
6961           },
6962           "additionalProperties": false,
6963           "required": [
6964             "data",
6965             "location",
6966             "id",
6967             "caveats",
6968             "sig"
6969           ]
6970         },
6971         "Member": {
6972           "type": "object",
6973           "properties": {
6974             "Address": {
6975               "type": "string"
6976             },
6977             "Arbiter": {
6978               "type": "boolean"
6979             },
6980             "BuildIndexes": {
6981               "type": "boolean"
6982             },
6983             "Hidden": {
6984               "type": "boolean"
6985             },
6986             "Id": {
6987               "type": "integer"
6988             },
6989             "Priority": {
6990               "type": "number"
6991             },
6992             "SlaveDelay": {
6993               "type": "integer"
6994             },
6995             "Tags": {
6996               "type": "object",
6997               "patternProperties": {
6998                 ".*": {
6999                   "type": "string"
7000                 }
7001               }
7002             },
7003             "Votes": {
7004               "type": "integer"
7005             }
7006           },
7007           "additionalProperties": false,
7008           "required": [
7009             "Id",
7010             "Address",
7011             "Arbiter",
7012             "BuildIndexes",
7013             "Hidden",
7014             "Priority",
7015             "Tags",
7016             "SlaveDelay",
7017             "Votes"
7018           ]
7019         },
7020         "MongoUpgradeResults": {
7021           "type": "object",
7022           "properties": {
7023             "Master": {
7024               "$ref": "#/definitions/HAMember"
7025             },
7026             "Members": {
7027               "type": "array",
7028               "items": {
7029                 "$ref": "#/definitions/HAMember"
7030               }
7031             },
7032             "RsMembers": {
7033               "type": "array",
7034               "items": {
7035                 "$ref": "#/definitions/Member"
7036               }
7037             }
7038           },
7039           "additionalProperties": false,
7040           "required": [
7041             "RsMembers",
7042             "Master",
7043             "Members"
7044           ]
7045         },
7046         "ResumeReplicationParams": {
7047           "type": "object",
7048           "properties": {
7049             "Members": {
7050               "type": "array",
7051               "items": {
7052                 "$ref": "#/definitions/Member"
7053               }
7054             }
7055           },
7056           "additionalProperties": false,
7057           "required": [
7058             "Members"
7059           ]
7060         },
7061         "UpgradeMongoParams": {
7062           "type": "object",
7063           "properties": {
7064             "Target": {
7065               "$ref": "#/definitions/Version"
7066             }
7067           },
7068           "additionalProperties": false,
7069           "required": [
7070             "Target"
7071           ]
7072         },
7073         "Value": {
7074           "type": "object",
7075           "properties": {
7076             "arch": {
7077               "type": "string"
7078             },
7079             "container": {
7080               "type": "string"
7081             },
7082             "cpu-cores": {
7083               "type": "integer"
7084             },
7085             "cpu-power": {
7086               "type": "integer"
7087             },
7088             "instance-type": {
7089               "type": "string"
7090             },
7091             "mem": {
7092               "type": "integer"
7093             },
7094             "root-disk": {
7095               "type": "integer"
7096             },
7097             "spaces": {
7098               "type": "array",
7099               "items": {
7100                 "type": "string"
7101               }
7102             },
7103             "tags": {
7104               "type": "array",
7105               "items": {
7106                 "type": "string"
7107               }
7108             },
7109             "virt-type": {
7110               "type": "string"
7111             }
7112           },
7113           "additionalProperties": false
7114         },
7115         "Version": {
7116           "type": "object",
7117           "properties": {
7118             "Major": {
7119               "type": "integer"
7120             },
7121             "Minor": {
7122               "type": "integer"
7123             },
7124             "Patch": {
7125               "type": "string"
7126             },
7127             "StorageEngine": {
7128               "type": "string"
7129             }
7130           },
7131           "additionalProperties": false,
7132           "required": [
7133             "Major",
7134             "Minor",
7135             "Patch",
7136             "StorageEngine"
7137           ]
7138         },
7139         "caveat": {
7140           "type": "object",
7141           "properties": {
7142             "caveatId": {
7143               "$ref": "#/definitions/packet"
7144             },
7145             "location": {
7146               "$ref": "#/definitions/packet"
7147             },
7148             "verificationId": {
7149               "$ref": "#/definitions/packet"
7150             }
7151           },
7152           "additionalProperties": false,
7153           "required": [
7154             "location",
7155             "caveatId",
7156             "verificationId"
7157           ]
7158         },
7159         "packet": {
7160           "type": "object",
7161           "properties": {
7162             "headerLen": {
7163               "type": "integer"
7164             },
7165             "start": {
7166               "type": "integer"
7167             },
7168             "totalLen": {
7169               "type": "integer"
7170             }
7171           },
7172           "additionalProperties": false,
7173           "required": [
7174             "start",
7175             "totalLen",
7176             "headerLen"
7177           ]
7178         }
7179       }
7180     }
7181   },
7182   {
7183     "Name": "HostKeyReporter",
7184     "Version": 1,
7185     "Schema": {
7186       "type": "object",
7187       "properties": {
7188         "ReportKeys": {
7189           "type": "object",
7190           "properties": {
7191             "Params": {
7192               "$ref": "#/definitions/SSHHostKeySet"
7193             },
7194             "Result": {
7195               "$ref": "#/definitions/ErrorResults"
7196             }
7197           }
7198         }
7199       },
7200       "definitions": {
7201         "Error": {
7202           "type": "object",
7203           "properties": {
7204             "Code": {
7205               "type": "string"
7206             },
7207             "Info": {
7208               "$ref": "#/definitions/ErrorInfo"
7209             },
7210             "Message": {
7211               "type": "string"
7212             }
7213           },
7214           "additionalProperties": false,
7215           "required": [
7216             "Message",
7217             "Code"
7218           ]
7219         },
7220         "ErrorInfo": {
7221           "type": "object",
7222           "properties": {
7223             "Macaroon": {
7224               "$ref": "#/definitions/Macaroon"
7225             },
7226             "MacaroonPath": {
7227               "type": "string"
7228             }
7229           },
7230           "additionalProperties": false
7231         },
7232         "ErrorResult": {
7233           "type": "object",
7234           "properties": {
7235             "Error": {
7236               "$ref": "#/definitions/Error"
7237             }
7238           },
7239           "additionalProperties": false,
7240           "required": [
7241             "Error"
7242           ]
7243         },
7244         "ErrorResults": {
7245           "type": "object",
7246           "properties": {
7247             "Results": {
7248               "type": "array",
7249               "items": {
7250                 "$ref": "#/definitions/ErrorResult"
7251               }
7252             }
7253           },
7254           "additionalProperties": false,
7255           "required": [
7256             "Results"
7257           ]
7258         },
7259         "Macaroon": {
7260           "type": "object",
7261           "properties": {
7262             "caveats": {
7263               "type": "array",
7264               "items": {
7265                 "$ref": "#/definitions/caveat"
7266               }
7267             },
7268             "data": {
7269               "type": "array",
7270               "items": {
7271                 "type": "integer"
7272               }
7273             },
7274             "id": {
7275               "$ref": "#/definitions/packet"
7276             },
7277             "location": {
7278               "$ref": "#/definitions/packet"
7279             },
7280             "sig": {
7281               "type": "array",
7282               "items": {
7283                 "type": "integer"
7284               }
7285             }
7286           },
7287           "additionalProperties": false,
7288           "required": [
7289             "data",
7290             "location",
7291             "id",
7292             "caveats",
7293             "sig"
7294           ]
7295         },
7296         "SSHHostKeySet": {
7297           "type": "object",
7298           "properties": {
7299             "entity-keys": {
7300               "type": "array",
7301               "items": {
7302                 "$ref": "#/definitions/SSHHostKeys"
7303               }
7304             }
7305           },
7306           "additionalProperties": false,
7307           "required": [
7308             "entity-keys"
7309           ]
7310         },
7311         "SSHHostKeys": {
7312           "type": "object",
7313           "properties": {
7314             "public-keys": {
7315               "type": "array",
7316               "items": {
7317                 "type": "string"
7318               }
7319             },
7320             "tag": {
7321               "type": "string"
7322             }
7323           },
7324           "additionalProperties": false,
7325           "required": [
7326             "tag",
7327             "public-keys"
7328           ]
7329         },
7330         "caveat": {
7331           "type": "object",
7332           "properties": {
7333             "caveatId": {
7334               "$ref": "#/definitions/packet"
7335             },
7336             "location": {
7337               "$ref": "#/definitions/packet"
7338             },
7339             "verificationId": {
7340               "$ref": "#/definitions/packet"
7341             }
7342           },
7343           "additionalProperties": false,
7344           "required": [
7345             "location",
7346             "caveatId",
7347             "verificationId"
7348           ]
7349         },
7350         "packet": {
7351           "type": "object",
7352           "properties": {
7353             "headerLen": {
7354               "type": "integer"
7355             },
7356             "start": {
7357               "type": "integer"
7358             },
7359             "totalLen": {
7360               "type": "integer"
7361             }
7362           },
7363           "additionalProperties": false,
7364           "required": [
7365             "start",
7366             "totalLen",
7367             "headerLen"
7368           ]
7369         }
7370       }
7371     }
7372   },
7373   {
7374     "Name": "ImageManager",
7375     "Version": 2,
7376     "Schema": {
7377       "type": "object",
7378       "properties": {
7379         "DeleteImages": {
7380           "type": "object",
7381           "properties": {
7382             "Params": {
7383               "$ref": "#/definitions/ImageFilterParams"
7384             },
7385             "Result": {
7386               "$ref": "#/definitions/ErrorResults"
7387             }
7388           }
7389         },
7390         "ListImages": {
7391           "type": "object",
7392           "properties": {
7393             "Params": {
7394               "$ref": "#/definitions/ImageFilterParams"
7395             },
7396             "Result": {
7397               "$ref": "#/definitions/ListImageResult"
7398             }
7399           }
7400         }
7401       },
7402       "definitions": {
7403         "Error": {
7404           "type": "object",
7405           "properties": {
7406             "Code": {
7407               "type": "string"
7408             },
7409             "Info": {
7410               "$ref": "#/definitions/ErrorInfo"
7411             },
7412             "Message": {
7413               "type": "string"
7414             }
7415           },
7416           "additionalProperties": false,
7417           "required": [
7418             "Message",
7419             "Code"
7420           ]
7421         },
7422         "ErrorInfo": {
7423           "type": "object",
7424           "properties": {
7425             "Macaroon": {
7426               "$ref": "#/definitions/Macaroon"
7427             },
7428             "MacaroonPath": {
7429               "type": "string"
7430             }
7431           },
7432           "additionalProperties": false
7433         },
7434         "ErrorResult": {
7435           "type": "object",
7436           "properties": {
7437             "Error": {
7438               "$ref": "#/definitions/Error"
7439             }
7440           },
7441           "additionalProperties": false,
7442           "required": [
7443             "Error"
7444           ]
7445         },
7446         "ErrorResults": {
7447           "type": "object",
7448           "properties": {
7449             "Results": {
7450               "type": "array",
7451               "items": {
7452                 "$ref": "#/definitions/ErrorResult"
7453               }
7454             }
7455           },
7456           "additionalProperties": false,
7457           "required": [
7458             "Results"
7459           ]
7460         },
7461         "ImageFilterParams": {
7462           "type": "object",
7463           "properties": {
7464             "images": {
7465               "type": "array",
7466               "items": {
7467                 "$ref": "#/definitions/ImageSpec"
7468               }
7469             }
7470           },
7471           "additionalProperties": false,
7472           "required": [
7473             "images"
7474           ]
7475         },
7476         "ImageMetadata": {
7477           "type": "object",
7478           "properties": {
7479             "arch": {
7480               "type": "string"
7481             },
7482             "created": {
7483               "type": "string",
7484               "format": "date-time"
7485             },
7486             "kind": {
7487               "type": "string"
7488             },
7489             "series": {
7490               "type": "string"
7491             },
7492             "url": {
7493               "type": "string"
7494             }
7495           },
7496           "additionalProperties": false,
7497           "required": [
7498             "kind",
7499             "arch",
7500             "series",
7501             "url",
7502             "created"
7503           ]
7504         },
7505         "ImageSpec": {
7506           "type": "object",
7507           "properties": {
7508             "arch": {
7509               "type": "string"
7510             },
7511             "kind": {
7512               "type": "string"
7513             },
7514             "series": {
7515               "type": "string"
7516             }
7517           },
7518           "additionalProperties": false,
7519           "required": [
7520             "kind",
7521             "arch",
7522             "series"
7523           ]
7524         },
7525         "ListImageResult": {
7526           "type": "object",
7527           "properties": {
7528             "result": {
7529               "type": "array",
7530               "items": {
7531                 "$ref": "#/definitions/ImageMetadata"
7532               }
7533             }
7534           },
7535           "additionalProperties": false,
7536           "required": [
7537             "result"
7538           ]
7539         },
7540         "Macaroon": {
7541           "type": "object",
7542           "properties": {
7543             "caveats": {
7544               "type": "array",
7545               "items": {
7546                 "$ref": "#/definitions/caveat"
7547               }
7548             },
7549             "data": {
7550               "type": "array",
7551               "items": {
7552                 "type": "integer"
7553               }
7554             },
7555             "id": {
7556               "$ref": "#/definitions/packet"
7557             },
7558             "location": {
7559               "$ref": "#/definitions/packet"
7560             },
7561             "sig": {
7562               "type": "array",
7563               "items": {
7564                 "type": "integer"
7565               }
7566             }
7567           },
7568           "additionalProperties": false,
7569           "required": [
7570             "data",
7571             "location",
7572             "id",
7573             "caveats",
7574             "sig"
7575           ]
7576         },
7577         "caveat": {
7578           "type": "object",
7579           "properties": {
7580             "caveatId": {
7581               "$ref": "#/definitions/packet"
7582             },
7583             "location": {
7584               "$ref": "#/definitions/packet"
7585             },
7586             "verificationId": {
7587               "$ref": "#/definitions/packet"
7588             }
7589           },
7590           "additionalProperties": false,
7591           "required": [
7592             "location",
7593             "caveatId",
7594             "verificationId"
7595           ]
7596         },
7597         "packet": {
7598           "type": "object",
7599           "properties": {
7600             "headerLen": {
7601               "type": "integer"
7602             },
7603             "start": {
7604               "type": "integer"
7605             },
7606             "totalLen": {
7607               "type": "integer"
7608             }
7609           },
7610           "additionalProperties": false,
7611           "required": [
7612             "start",
7613             "totalLen",
7614             "headerLen"
7615           ]
7616         }
7617       }
7618     }
7619   },
7620   {
7621     "Name": "ImageMetadata",
7622     "Version": 2,
7623     "Schema": {
7624       "type": "object",
7625       "properties": {
7626         "Delete": {
7627           "type": "object",
7628           "properties": {
7629             "Params": {
7630               "$ref": "#/definitions/MetadataImageIds"
7631             },
7632             "Result": {
7633               "$ref": "#/definitions/ErrorResults"
7634             }
7635           }
7636         },
7637         "List": {
7638           "type": "object",
7639           "properties": {
7640             "Params": {
7641               "$ref": "#/definitions/ImageMetadataFilter"
7642             },
7643             "Result": {
7644               "$ref": "#/definitions/ListCloudImageMetadataResult"
7645             }
7646           }
7647         },
7648         "Save": {
7649           "type": "object",
7650           "properties": {
7651             "Params": {
7652               "$ref": "#/definitions/MetadataSaveParams"
7653             },
7654             "Result": {
7655               "$ref": "#/definitions/ErrorResults"
7656             }
7657           }
7658         },
7659         "UpdateFromPublishedImages": {
7660           "type": "object"
7661         }
7662       },
7663       "definitions": {
7664         "CloudImageMetadata": {
7665           "type": "object",
7666           "properties": {
7667             "arch": {
7668               "type": "string"
7669             },
7670             "image_id": {
7671               "type": "string"
7672             },
7673             "priority": {
7674               "type": "integer"
7675             },
7676             "region": {
7677               "type": "string"
7678             },
7679             "root_storage_size": {
7680               "type": "integer"
7681             },
7682             "root_storage_type": {
7683               "type": "string"
7684             },
7685             "series": {
7686               "type": "string"
7687             },
7688             "source": {
7689               "type": "string"
7690             },
7691             "stream": {
7692               "type": "string"
7693             },
7694             "version": {
7695               "type": "string"
7696             },
7697             "virt_type": {
7698               "type": "string"
7699             }
7700           },
7701           "additionalProperties": false,
7702           "required": [
7703             "image_id",
7704             "region",
7705             "version",
7706             "series",
7707             "arch",
7708             "source",
7709             "priority"
7710           ]
7711         },
7712         "CloudImageMetadataList": {
7713           "type": "object",
7714           "properties": {
7715             "metadata": {
7716               "type": "array",
7717               "items": {
7718                 "$ref": "#/definitions/CloudImageMetadata"
7719               }
7720             }
7721           },
7722           "additionalProperties": false
7723         },
7724         "Error": {
7725           "type": "object",
7726           "properties": {
7727             "Code": {
7728               "type": "string"
7729             },
7730             "Info": {
7731               "$ref": "#/definitions/ErrorInfo"
7732             },
7733             "Message": {
7734               "type": "string"
7735             }
7736           },
7737           "additionalProperties": false,
7738           "required": [
7739             "Message",
7740             "Code"
7741           ]
7742         },
7743         "ErrorInfo": {
7744           "type": "object",
7745           "properties": {
7746             "Macaroon": {
7747               "$ref": "#/definitions/Macaroon"
7748             },
7749             "MacaroonPath": {
7750               "type": "string"
7751             }
7752           },
7753           "additionalProperties": false
7754         },
7755         "ErrorResult": {
7756           "type": "object",
7757           "properties": {
7758             "Error": {
7759               "$ref": "#/definitions/Error"
7760             }
7761           },
7762           "additionalProperties": false,
7763           "required": [
7764             "Error"
7765           ]
7766         },
7767         "ErrorResults": {
7768           "type": "object",
7769           "properties": {
7770             "Results": {
7771               "type": "array",
7772               "items": {
7773                 "$ref": "#/definitions/ErrorResult"
7774               }
7775             }
7776           },
7777           "additionalProperties": false,
7778           "required": [
7779             "Results"
7780           ]
7781         },
7782         "ImageMetadataFilter": {
7783           "type": "object",
7784           "properties": {
7785             "arches": {
7786               "type": "array",
7787               "items": {
7788                 "type": "string"
7789               }
7790             },
7791             "region": {
7792               "type": "string"
7793             },
7794             "root-storage-type": {
7795               "type": "string"
7796             },
7797             "series": {
7798               "type": "array",
7799               "items": {
7800                 "type": "string"
7801               }
7802             },
7803             "stream": {
7804               "type": "string"
7805             },
7806             "virt_type": {
7807               "type": "string"
7808             }
7809           },
7810           "additionalProperties": false
7811         },
7812         "ListCloudImageMetadataResult": {
7813           "type": "object",
7814           "properties": {
7815             "result": {
7816               "type": "array",
7817               "items": {
7818                 "$ref": "#/definitions/CloudImageMetadata"
7819               }
7820             }
7821           },
7822           "additionalProperties": false,
7823           "required": [
7824             "result"
7825           ]
7826         },
7827         "Macaroon": {
7828           "type": "object",
7829           "properties": {
7830             "caveats": {
7831               "type": "array",
7832               "items": {
7833                 "$ref": "#/definitions/caveat"
7834               }
7835             },
7836             "data": {
7837               "type": "array",
7838               "items": {
7839                 "type": "integer"
7840               }
7841             },
7842             "id": {
7843               "$ref": "#/definitions/packet"
7844             },
7845             "location": {
7846               "$ref": "#/definitions/packet"
7847             },
7848             "sig": {
7849               "type": "array",
7850               "items": {
7851                 "type": "integer"
7852               }
7853             }
7854           },
7855           "additionalProperties": false,
7856           "required": [
7857             "data",
7858             "location",
7859             "id",
7860             "caveats",
7861             "sig"
7862           ]
7863         },
7864         "MetadataImageIds": {
7865           "type": "object",
7866           "properties": {
7867             "image_ids": {
7868               "type": "array",
7869               "items": {
7870                 "type": "string"
7871               }
7872             }
7873           },
7874           "additionalProperties": false,
7875           "required": [
7876             "image_ids"
7877           ]
7878         },
7879         "MetadataSaveParams": {
7880           "type": "object",
7881           "properties": {
7882             "metadata": {
7883               "type": "array",
7884               "items": {
7885                 "$ref": "#/definitions/CloudImageMetadataList"
7886               }
7887             }
7888           },
7889           "additionalProperties": false
7890         },
7891         "caveat": {
7892           "type": "object",
7893           "properties": {
7894             "caveatId": {
7895               "$ref": "#/definitions/packet"
7896             },
7897             "location": {
7898               "$ref": "#/definitions/packet"
7899             },
7900             "verificationId": {
7901               "$ref": "#/definitions/packet"
7902             }
7903           },
7904           "additionalProperties": false,
7905           "required": [
7906             "location",
7907             "caveatId",
7908             "verificationId"
7909           ]
7910         },
7911         "packet": {
7912           "type": "object",
7913           "properties": {
7914             "headerLen": {
7915               "type": "integer"
7916             },
7917             "start": {
7918               "type": "integer"
7919             },
7920             "totalLen": {
7921               "type": "integer"
7922             }
7923           },
7924           "additionalProperties": false,
7925           "required": [
7926             "start",
7927             "totalLen",
7928             "headerLen"
7929           ]
7930         }
7931       }
7932     }
7933   },
7934   {
7935     "Name": "InstancePoller",
7936     "Version": 2,
7937     "Schema": {
7938       "type": "object",
7939       "properties": {
7940         "AreManuallyProvisioned": {
7941           "type": "object",
7942           "properties": {
7943             "Params": {
7944               "$ref": "#/definitions/Entities"
7945             },
7946             "Result": {
7947               "$ref": "#/definitions/BoolResults"
7948             }
7949           }
7950         },
7951         "InstanceId": {
7952           "type": "object",
7953           "properties": {
7954             "Params": {
7955               "$ref": "#/definitions/Entities"
7956             },
7957             "Result": {
7958               "$ref": "#/definitions/StringResults"
7959             }
7960           }
7961         },
7962         "InstanceStatus": {
7963           "type": "object",
7964           "properties": {
7965             "Params": {
7966               "$ref": "#/definitions/Entities"
7967             },
7968             "Result": {
7969               "$ref": "#/definitions/StatusResults"
7970             }
7971           }
7972         },
7973         "Life": {
7974           "type": "object",
7975           "properties": {
7976             "Params": {
7977               "$ref": "#/definitions/Entities"
7978             },
7979             "Result": {
7980               "$ref": "#/definitions/LifeResults"
7981             }
7982           }
7983         },
7984         "ModelConfig": {
7985           "type": "object",
7986           "properties": {
7987             "Result": {
7988               "$ref": "#/definitions/ModelConfigResult"
7989             }
7990           }
7991         },
7992         "ProviderAddresses": {
7993           "type": "object",
7994           "properties": {
7995             "Params": {
7996               "$ref": "#/definitions/Entities"
7997             },
7998             "Result": {
7999               "$ref": "#/definitions/MachineAddressesResults"
8000             }
8001           }
8002         },
8003         "SetInstanceStatus": {
8004           "type": "object",
8005           "properties": {
8006             "Params": {
8007               "$ref": "#/definitions/SetStatus"
8008             },
8009             "Result": {
8010               "$ref": "#/definitions/ErrorResults"
8011             }
8012           }
8013         },
8014         "SetProviderAddresses": {
8015           "type": "object",
8016           "properties": {
8017             "Params": {
8018               "$ref": "#/definitions/SetMachinesAddresses"
8019             },
8020             "Result": {
8021               "$ref": "#/definitions/ErrorResults"
8022             }
8023           }
8024         },
8025         "Status": {
8026           "type": "object",
8027           "properties": {
8028             "Params": {
8029               "$ref": "#/definitions/Entities"
8030             },
8031             "Result": {
8032               "$ref": "#/definitions/StatusResults"
8033             }
8034           }
8035         },
8036         "WatchForModelConfigChanges": {
8037           "type": "object",
8038           "properties": {
8039             "Result": {
8040               "$ref": "#/definitions/NotifyWatchResult"
8041             }
8042           }
8043         },
8044         "WatchModelMachines": {
8045           "type": "object",
8046           "properties": {
8047             "Result": {
8048               "$ref": "#/definitions/StringsWatchResult"
8049             }
8050           }
8051         }
8052       },
8053       "definitions": {
8054         "Address": {
8055           "type": "object",
8056           "properties": {
8057             "Scope": {
8058               "type": "string"
8059             },
8060             "SpaceName": {
8061               "type": "string"
8062             },
8063             "Type": {
8064               "type": "string"
8065             },
8066             "Value": {
8067               "type": "string"
8068             }
8069           },
8070           "additionalProperties": false,
8071           "required": [
8072             "Value",
8073             "Type",
8074             "Scope"
8075           ]
8076         },
8077         "BoolResult": {
8078           "type": "object",
8079           "properties": {
8080             "Error": {
8081               "$ref": "#/definitions/Error"
8082             },
8083             "Result": {
8084               "type": "boolean"
8085             }
8086           },
8087           "additionalProperties": false,
8088           "required": [
8089             "Error",
8090             "Result"
8091           ]
8092         },
8093         "BoolResults": {
8094           "type": "object",
8095           "properties": {
8096             "Results": {
8097               "type": "array",
8098               "items": {
8099                 "$ref": "#/definitions/BoolResult"
8100               }
8101             }
8102           },
8103           "additionalProperties": false,
8104           "required": [
8105             "Results"
8106           ]
8107         },
8108         "Entities": {
8109           "type": "object",
8110           "properties": {
8111             "Entities": {
8112               "type": "array",
8113               "items": {
8114                 "$ref": "#/definitions/Entity"
8115               }
8116             }
8117           },
8118           "additionalProperties": false,
8119           "required": [
8120             "Entities"
8121           ]
8122         },
8123         "Entity": {
8124           "type": "object",
8125           "properties": {
8126             "Tag": {
8127               "type": "string"
8128             }
8129           },
8130           "additionalProperties": false,
8131           "required": [
8132             "Tag"
8133           ]
8134         },
8135         "EntityStatusArgs": {
8136           "type": "object",
8137           "properties": {
8138             "Data": {
8139               "type": "object",
8140               "patternProperties": {
8141                 ".*": {
8142                   "type": "object",
8143                   "additionalProperties": true
8144                 }
8145               }
8146             },
8147             "Info": {
8148               "type": "string"
8149             },
8150             "Status": {
8151               "type": "string"
8152             },
8153             "Tag": {
8154               "type": "string"
8155             }
8156           },
8157           "additionalProperties": false,
8158           "required": [
8159             "Tag",
8160             "Status",
8161             "Info",
8162             "Data"
8163           ]
8164         },
8165         "Error": {
8166           "type": "object",
8167           "properties": {
8168             "Code": {
8169               "type": "string"
8170             },
8171             "Info": {
8172               "$ref": "#/definitions/ErrorInfo"
8173             },
8174             "Message": {
8175               "type": "string"
8176             }
8177           },
8178           "additionalProperties": false,
8179           "required": [
8180             "Message",
8181             "Code"
8182           ]
8183         },
8184         "ErrorInfo": {
8185           "type": "object",
8186           "properties": {
8187             "Macaroon": {
8188               "$ref": "#/definitions/Macaroon"
8189             },
8190             "MacaroonPath": {
8191               "type": "string"
8192             }
8193           },
8194           "additionalProperties": false
8195         },
8196         "ErrorResult": {
8197           "type": "object",
8198           "properties": {
8199             "Error": {
8200               "$ref": "#/definitions/Error"
8201             }
8202           },
8203           "additionalProperties": false,
8204           "required": [
8205             "Error"
8206           ]
8207         },
8208         "ErrorResults": {
8209           "type": "object",
8210           "properties": {
8211             "Results": {
8212               "type": "array",
8213               "items": {
8214                 "$ref": "#/definitions/ErrorResult"
8215               }
8216             }
8217           },
8218           "additionalProperties": false,
8219           "required": [
8220             "Results"
8221           ]
8222         },
8223         "LifeResult": {
8224           "type": "object",
8225           "properties": {
8226             "Error": {
8227               "$ref": "#/definitions/Error"
8228             },
8229             "Life": {
8230               "type": "string"
8231             }
8232           },
8233           "additionalProperties": false,
8234           "required": [
8235             "Life",
8236             "Error"
8237           ]
8238         },
8239         "LifeResults": {
8240           "type": "object",
8241           "properties": {
8242             "Results": {
8243               "type": "array",
8244               "items": {
8245                 "$ref": "#/definitions/LifeResult"
8246               }
8247             }
8248           },
8249           "additionalProperties": false,
8250           "required": [
8251             "Results"
8252           ]
8253         },
8254         "Macaroon": {
8255           "type": "object",
8256           "properties": {
8257             "caveats": {
8258               "type": "array",
8259               "items": {
8260                 "$ref": "#/definitions/caveat"
8261               }
8262             },
8263             "data": {
8264               "type": "array",
8265               "items": {
8266                 "type": "integer"
8267               }
8268             },
8269             "id": {
8270               "$ref": "#/definitions/packet"
8271             },
8272             "location": {
8273               "$ref": "#/definitions/packet"
8274             },
8275             "sig": {
8276               "type": "array",
8277               "items": {
8278                 "type": "integer"
8279               }
8280             }
8281           },
8282           "additionalProperties": false,
8283           "required": [
8284             "data",
8285             "location",
8286             "id",
8287             "caveats",
8288             "sig"
8289           ]
8290         },
8291         "MachineAddresses": {
8292           "type": "object",
8293           "properties": {
8294             "Addresses": {
8295               "type": "array",
8296               "items": {
8297                 "$ref": "#/definitions/Address"
8298               }
8299             },
8300             "Tag": {
8301               "type": "string"
8302             }
8303           },
8304           "additionalProperties": false,
8305           "required": [
8306             "Tag",
8307             "Addresses"
8308           ]
8309         },
8310         "MachineAddressesResult": {
8311           "type": "object",
8312           "properties": {
8313             "Addresses": {
8314               "type": "array",
8315               "items": {
8316                 "$ref": "#/definitions/Address"
8317               }
8318             },
8319             "Error": {
8320               "$ref": "#/definitions/Error"
8321             }
8322           },
8323           "additionalProperties": false,
8324           "required": [
8325             "Error",
8326             "Addresses"
8327           ]
8328         },
8329         "MachineAddressesResults": {
8330           "type": "object",
8331           "properties": {
8332             "Results": {
8333               "type": "array",
8334               "items": {
8335                 "$ref": "#/definitions/MachineAddressesResult"
8336               }
8337             }
8338           },
8339           "additionalProperties": false,
8340           "required": [
8341             "Results"
8342           ]
8343         },
8344         "ModelConfigResult": {
8345           "type": "object",
8346           "properties": {
8347             "Config": {
8348               "type": "object",
8349               "patternProperties": {
8350                 ".*": {
8351                   "type": "object",
8352                   "additionalProperties": true
8353                 }
8354               }
8355             }
8356           },
8357           "additionalProperties": false,
8358           "required": [
8359             "Config"
8360           ]
8361         },
8362         "NotifyWatchResult": {
8363           "type": "object",
8364           "properties": {
8365             "Error": {
8366               "$ref": "#/definitions/Error"
8367             },
8368             "NotifyWatcherId": {
8369               "type": "string"
8370             }
8371           },
8372           "additionalProperties": false,
8373           "required": [
8374             "NotifyWatcherId",
8375             "Error"
8376           ]
8377         },
8378         "SetMachinesAddresses": {
8379           "type": "object",
8380           "properties": {
8381             "MachineAddresses": {
8382               "type": "array",
8383               "items": {
8384                 "$ref": "#/definitions/MachineAddresses"
8385               }
8386             }
8387           },
8388           "additionalProperties": false,
8389           "required": [
8390             "MachineAddresses"
8391           ]
8392         },
8393         "SetStatus": {
8394           "type": "object",
8395           "properties": {
8396             "Entities": {
8397               "type": "array",
8398               "items": {
8399                 "$ref": "#/definitions/EntityStatusArgs"
8400               }
8401             }
8402           },
8403           "additionalProperties": false,
8404           "required": [
8405             "Entities"
8406           ]
8407         },
8408         "StatusResult": {
8409           "type": "object",
8410           "properties": {
8411             "Data": {
8412               "type": "object",
8413               "patternProperties": {
8414                 ".*": {
8415                   "type": "object",
8416                   "additionalProperties": true
8417                 }
8418               }
8419             },
8420             "Error": {
8421               "$ref": "#/definitions/Error"
8422             },
8423             "Id": {
8424               "type": "string"
8425             },
8426             "Info": {
8427               "type": "string"
8428             },
8429             "Life": {
8430               "type": "string"
8431             },
8432             "Since": {
8433               "type": "string",
8434               "format": "date-time"
8435             },
8436             "Status": {
8437               "type": "string"
8438             }
8439           },
8440           "additionalProperties": false,
8441           "required": [
8442             "Error",
8443             "Id",
8444             "Life",
8445             "Status",
8446             "Info",
8447             "Data",
8448             "Since"
8449           ]
8450         },
8451         "StatusResults": {
8452           "type": "object",
8453           "properties": {
8454             "Results": {
8455               "type": "array",
8456               "items": {
8457                 "$ref": "#/definitions/StatusResult"
8458               }
8459             }
8460           },
8461           "additionalProperties": false,
8462           "required": [
8463             "Results"
8464           ]
8465         },
8466         "StringResult": {
8467           "type": "object",
8468           "properties": {
8469             "Error": {
8470               "$ref": "#/definitions/Error"
8471             },
8472             "Result": {
8473               "type": "string"
8474             }
8475           },
8476           "additionalProperties": false,
8477           "required": [
8478             "Error",
8479             "Result"
8480           ]
8481         },
8482         "StringResults": {
8483           "type": "object",
8484           "properties": {
8485             "Results": {
8486               "type": "array",
8487               "items": {
8488                 "$ref": "#/definitions/StringResult"
8489               }
8490             }
8491           },
8492           "additionalProperties": false,
8493           "required": [
8494             "Results"
8495           ]
8496         },
8497         "StringsWatchResult": {
8498           "type": "object",
8499           "properties": {
8500             "Changes": {
8501               "type": "array",
8502               "items": {
8503                 "type": "string"
8504               }
8505             },
8506             "Error": {
8507               "$ref": "#/definitions/Error"
8508             },
8509             "StringsWatcherId": {
8510               "type": "string"
8511             }
8512           },
8513           "additionalProperties": false,
8514           "required": [
8515             "StringsWatcherId",
8516             "Changes",
8517             "Error"
8518           ]
8519         },
8520         "caveat": {
8521           "type": "object",
8522           "properties": {
8523             "caveatId": {
8524               "$ref": "#/definitions/packet"
8525             },
8526             "location": {
8527               "$ref": "#/definitions/packet"
8528             },
8529             "verificationId": {
8530               "$ref": "#/definitions/packet"
8531             }
8532           },
8533           "additionalProperties": false,
8534           "required": [
8535             "location",
8536             "caveatId",
8537             "verificationId"
8538           ]
8539         },
8540         "packet": {
8541           "type": "object",
8542           "properties": {
8543             "headerLen": {
8544               "type": "integer"
8545             },
8546             "start": {
8547               "type": "integer"
8548             },
8549             "totalLen": {
8550               "type": "integer"
8551             }
8552           },
8553           "additionalProperties": false,
8554           "required": [
8555             "start",
8556             "totalLen",
8557             "headerLen"
8558           ]
8559         }
8560       }
8561     }
8562   },
8563   {
8564     "Name": "KeyManager",
8565     "Version": 1,
8566     "Schema": {
8567       "type": "object",
8568       "properties": {
8569         "AddKeys": {
8570           "type": "object",
8571           "properties": {
8572             "Params": {
8573               "$ref": "#/definitions/ModifyUserSSHKeys"
8574             },
8575             "Result": {
8576               "$ref": "#/definitions/ErrorResults"
8577             }
8578           }
8579         },
8580         "DeleteKeys": {
8581           "type": "object",
8582           "properties": {
8583             "Params": {
8584               "$ref": "#/definitions/ModifyUserSSHKeys"
8585             },
8586             "Result": {
8587               "$ref": "#/definitions/ErrorResults"
8588             }
8589           }
8590         },
8591         "ImportKeys": {
8592           "type": "object",
8593           "properties": {
8594             "Params": {
8595               "$ref": "#/definitions/ModifyUserSSHKeys"
8596             },
8597             "Result": {
8598               "$ref": "#/definitions/ErrorResults"
8599             }
8600           }
8601         },
8602         "ListKeys": {
8603           "type": "object",
8604           "properties": {
8605             "Params": {
8606               "$ref": "#/definitions/ListSSHKeys"
8607             },
8608             "Result": {
8609               "$ref": "#/definitions/StringsResults"
8610             }
8611           }
8612         }
8613       },
8614       "definitions": {
8615         "Entities": {
8616           "type": "object",
8617           "properties": {
8618             "Entities": {
8619               "type": "array",
8620               "items": {
8621                 "$ref": "#/definitions/Entity"
8622               }
8623             }
8624           },
8625           "additionalProperties": false,
8626           "required": [
8627             "Entities"
8628           ]
8629         },
8630         "Entity": {
8631           "type": "object",
8632           "properties": {
8633             "Tag": {
8634               "type": "string"
8635             }
8636           },
8637           "additionalProperties": false,
8638           "required": [
8639             "Tag"
8640           ]
8641         },
8642         "Error": {
8643           "type": "object",
8644           "properties": {
8645             "Code": {
8646               "type": "string"
8647             },
8648             "Info": {
8649               "$ref": "#/definitions/ErrorInfo"
8650             },
8651             "Message": {
8652               "type": "string"
8653             }
8654           },
8655           "additionalProperties": false,
8656           "required": [
8657             "Message",
8658             "Code"
8659           ]
8660         },
8661         "ErrorInfo": {
8662           "type": "object",
8663           "properties": {
8664             "Macaroon": {
8665               "$ref": "#/definitions/Macaroon"
8666             },
8667             "MacaroonPath": {
8668               "type": "string"
8669             }
8670           },
8671           "additionalProperties": false
8672         },
8673         "ErrorResult": {
8674           "type": "object",
8675           "properties": {
8676             "Error": {
8677               "$ref": "#/definitions/Error"
8678             }
8679           },
8680           "additionalProperties": false,
8681           "required": [
8682             "Error"
8683           ]
8684         },
8685         "ErrorResults": {
8686           "type": "object",
8687           "properties": {
8688             "Results": {
8689               "type": "array",
8690               "items": {
8691                 "$ref": "#/definitions/ErrorResult"
8692               }
8693             }
8694           },
8695           "additionalProperties": false,
8696           "required": [
8697             "Results"
8698           ]
8699         },
8700         "ListSSHKeys": {
8701           "type": "object",
8702           "properties": {
8703             "Entities": {
8704               "$ref": "#/definitions/Entities"
8705             },
8706             "Mode": {
8707               "type": "boolean"
8708             }
8709           },
8710           "additionalProperties": false,
8711           "required": [
8712             "Entities",
8713             "Mode"
8714           ]
8715         },
8716         "Macaroon": {
8717           "type": "object",
8718           "properties": {
8719             "caveats": {
8720               "type": "array",
8721               "items": {
8722                 "$ref": "#/definitions/caveat"
8723               }
8724             },
8725             "data": {
8726               "type": "array",
8727               "items": {
8728                 "type": "integer"
8729               }
8730             },
8731             "id": {
8732               "$ref": "#/definitions/packet"
8733             },
8734             "location": {
8735               "$ref": "#/definitions/packet"
8736             },
8737             "sig": {
8738               "type": "array",
8739               "items": {
8740                 "type": "integer"
8741               }
8742             }
8743           },
8744           "additionalProperties": false,
8745           "required": [
8746             "data",
8747             "location",
8748             "id",
8749             "caveats",
8750             "sig"
8751           ]
8752         },
8753         "ModifyUserSSHKeys": {
8754           "type": "object",
8755           "properties": {
8756             "Keys": {
8757               "type": "array",
8758               "items": {
8759                 "type": "string"
8760               }
8761             },
8762             "User": {
8763               "type": "string"
8764             }
8765           },
8766           "additionalProperties": false,
8767           "required": [
8768             "User",
8769             "Keys"
8770           ]
8771         },
8772         "StringsResult": {
8773           "type": "object",
8774           "properties": {
8775             "Error": {
8776               "$ref": "#/definitions/Error"
8777             },
8778             "Result": {
8779               "type": "array",
8780               "items": {
8781                 "type": "string"
8782               }
8783             }
8784           },
8785           "additionalProperties": false,
8786           "required": [
8787             "Error",
8788             "Result"
8789           ]
8790         },
8791         "StringsResults": {
8792           "type": "object",
8793           "properties": {
8794             "Results": {
8795               "type": "array",
8796               "items": {
8797                 "$ref": "#/definitions/StringsResult"
8798               }
8799             }
8800           },
8801           "additionalProperties": false,
8802           "required": [
8803             "Results"
8804           ]
8805         },
8806         "caveat": {
8807           "type": "object",
8808           "properties": {
8809             "caveatId": {
8810               "$ref": "#/definitions/packet"
8811             },
8812             "location": {
8813               "$ref": "#/definitions/packet"
8814             },
8815             "verificationId": {
8816               "$ref": "#/definitions/packet"
8817             }
8818           },
8819           "additionalProperties": false,
8820           "required": [
8821             "location",
8822             "caveatId",
8823             "verificationId"
8824           ]
8825         },
8826         "packet": {
8827           "type": "object",
8828           "properties": {
8829             "headerLen": {
8830               "type": "integer"
8831             },
8832             "start": {
8833               "type": "integer"
8834             },
8835             "totalLen": {
8836               "type": "integer"
8837             }
8838           },
8839           "additionalProperties": false,
8840           "required": [
8841             "start",
8842             "totalLen",
8843             "headerLen"
8844           ]
8845         }
8846       }
8847     }
8848   },
8849   {
8850     "Name": "KeyUpdater",
8851     "Version": 1,
8852     "Schema": {
8853       "type": "object",
8854       "properties": {
8855         "AuthorisedKeys": {
8856           "type": "object",
8857           "properties": {
8858             "Params": {
8859               "$ref": "#/definitions/Entities"
8860             },
8861             "Result": {
8862               "$ref": "#/definitions/StringsResults"
8863             }
8864           }
8865         },
8866         "WatchAuthorisedKeys": {
8867           "type": "object",
8868           "properties": {
8869             "Params": {
8870               "$ref": "#/definitions/Entities"
8871             },
8872             "Result": {
8873               "$ref": "#/definitions/NotifyWatchResults"
8874             }
8875           }
8876         }
8877       },
8878       "definitions": {
8879         "Entities": {
8880           "type": "object",
8881           "properties": {
8882             "Entities": {
8883               "type": "array",
8884               "items": {
8885                 "$ref": "#/definitions/Entity"
8886               }
8887             }
8888           },
8889           "additionalProperties": false,
8890           "required": [
8891             "Entities"
8892           ]
8893         },
8894         "Entity": {
8895           "type": "object",
8896           "properties": {
8897             "Tag": {
8898               "type": "string"
8899             }
8900           },
8901           "additionalProperties": false,
8902           "required": [
8903             "Tag"
8904           ]
8905         },
8906         "Error": {
8907           "type": "object",
8908           "properties": {
8909             "Code": {
8910               "type": "string"
8911             },
8912             "Info": {
8913               "$ref": "#/definitions/ErrorInfo"
8914             },
8915             "Message": {
8916               "type": "string"
8917             }
8918           },
8919           "additionalProperties": false,
8920           "required": [
8921             "Message",
8922             "Code"
8923           ]
8924         },
8925         "ErrorInfo": {
8926           "type": "object",
8927           "properties": {
8928             "Macaroon": {
8929               "$ref": "#/definitions/Macaroon"
8930             },
8931             "MacaroonPath": {
8932               "type": "string"
8933             }
8934           },
8935           "additionalProperties": false
8936         },
8937         "Macaroon": {
8938           "type": "object",
8939           "properties": {
8940             "caveats": {
8941               "type": "array",
8942               "items": {
8943                 "$ref": "#/definitions/caveat"
8944               }
8945             },
8946             "data": {
8947               "type": "array",
8948               "items": {
8949                 "type": "integer"
8950               }
8951             },
8952             "id": {
8953               "$ref": "#/definitions/packet"
8954             },
8955             "location": {
8956               "$ref": "#/definitions/packet"
8957             },
8958             "sig": {
8959               "type": "array",
8960               "items": {
8961                 "type": "integer"
8962               }
8963             }
8964           },
8965           "additionalProperties": false,
8966           "required": [
8967             "data",
8968             "location",
8969             "id",
8970             "caveats",
8971             "sig"
8972           ]
8973         },
8974         "NotifyWatchResult": {
8975           "type": "object",
8976           "properties": {
8977             "Error": {
8978               "$ref": "#/definitions/Error"
8979             },
8980             "NotifyWatcherId": {
8981               "type": "string"
8982             }
8983           },
8984           "additionalProperties": false,
8985           "required": [
8986             "NotifyWatcherId",
8987             "Error"
8988           ]
8989         },
8990         "NotifyWatchResults": {
8991           "type": "object",
8992           "properties": {
8993             "Results": {
8994               "type": "array",
8995               "items": {
8996                 "$ref": "#/definitions/NotifyWatchResult"
8997               }
8998             }
8999           },
9000           "additionalProperties": false,
9001           "required": [
9002             "Results"
9003           ]
9004         },
9005         "StringsResult": {
9006           "type": "object",
9007           "properties": {
9008             "Error": {
9009               "$ref": "#/definitions/Error"
9010             },
9011             "Result": {
9012               "type": "array",
9013               "items": {
9014                 "type": "string"
9015               }
9016             }
9017           },
9018           "additionalProperties": false,
9019           "required": [
9020             "Error",
9021             "Result"
9022           ]
9023         },
9024         "StringsResults": {
9025           "type": "object",
9026           "properties": {
9027             "Results": {
9028               "type": "array",
9029               "items": {
9030                 "$ref": "#/definitions/StringsResult"
9031               }
9032             }
9033           },
9034           "additionalProperties": false,
9035           "required": [
9036             "Results"
9037           ]
9038         },
9039         "caveat": {
9040           "type": "object",
9041           "properties": {
9042             "caveatId": {
9043               "$ref": "#/definitions/packet"
9044             },
9045             "location": {
9046               "$ref": "#/definitions/packet"
9047             },
9048             "verificationId": {
9049               "$ref": "#/definitions/packet"
9050             }
9051           },
9052           "additionalProperties": false,
9053           "required": [
9054             "location",
9055             "caveatId",
9056             "verificationId"
9057           ]
9058         },
9059         "packet": {
9060           "type": "object",
9061           "properties": {
9062             "headerLen": {
9063               "type": "integer"
9064             },
9065             "start": {
9066               "type": "integer"
9067             },
9068             "totalLen": {
9069               "type": "integer"
9070             }
9071           },
9072           "additionalProperties": false,
9073           "required": [
9074             "start",
9075             "totalLen",
9076             "headerLen"
9077           ]
9078         }
9079       }
9080     }
9081   },
9082   {
9083     "Name": "LeadershipService",
9084     "Version": 2,
9085     "Schema": {
9086       "type": "object",
9087       "properties": {
9088         "BlockUntilLeadershipReleased": {
9089           "type": "object",
9090           "properties": {
9091             "Params": {
9092               "$ref": "#/definitions/ServiceTag"
9093             },
9094             "Result": {
9095               "$ref": "#/definitions/ErrorResult"
9096             }
9097           }
9098         },
9099         "ClaimLeadership": {
9100           "type": "object",
9101           "properties": {
9102             "Params": {
9103               "$ref": "#/definitions/ClaimLeadershipBulkParams"
9104             },
9105             "Result": {
9106               "$ref": "#/definitions/ClaimLeadershipBulkResults"
9107             }
9108           }
9109         }
9110       },
9111       "definitions": {
9112         "ClaimLeadershipBulkParams": {
9113           "type": "object",
9114           "properties": {
9115             "Params": {
9116               "type": "array",
9117               "items": {
9118                 "$ref": "#/definitions/ClaimLeadershipParams"
9119               }
9120             }
9121           },
9122           "additionalProperties": false,
9123           "required": [
9124             "Params"
9125           ]
9126         },
9127         "ClaimLeadershipBulkResults": {
9128           "type": "object",
9129           "properties": {
9130             "Results": {
9131               "type": "array",
9132               "items": {
9133                 "$ref": "#/definitions/ErrorResult"
9134               }
9135             }
9136           },
9137           "additionalProperties": false,
9138           "required": [
9139             "Results"
9140           ]
9141         },
9142         "ClaimLeadershipParams": {
9143           "type": "object",
9144           "properties": {
9145             "DurationSeconds": {
9146               "type": "number"
9147             },
9148             "ServiceTag": {
9149               "type": "string"
9150             },
9151             "UnitTag": {
9152               "type": "string"
9153             }
9154           },
9155           "additionalProperties": false,
9156           "required": [
9157             "ServiceTag",
9158             "UnitTag",
9159             "DurationSeconds"
9160           ]
9161         },
9162         "Error": {
9163           "type": "object",
9164           "properties": {
9165             "Code": {
9166               "type": "string"
9167             },
9168             "Info": {
9169               "$ref": "#/definitions/ErrorInfo"
9170             },
9171             "Message": {
9172               "type": "string"
9173             }
9174           },
9175           "additionalProperties": false,
9176           "required": [
9177             "Message",
9178             "Code"
9179           ]
9180         },
9181         "ErrorInfo": {
9182           "type": "object",
9183           "properties": {
9184             "Macaroon": {
9185               "$ref": "#/definitions/Macaroon"
9186             },
9187             "MacaroonPath": {
9188               "type": "string"
9189             }
9190           },
9191           "additionalProperties": false
9192         },
9193         "ErrorResult": {
9194           "type": "object",
9195           "properties": {
9196             "Error": {
9197               "$ref": "#/definitions/Error"
9198             }
9199           },
9200           "additionalProperties": false,
9201           "required": [
9202             "Error"
9203           ]
9204         },
9205         "Macaroon": {
9206           "type": "object",
9207           "properties": {
9208             "caveats": {
9209               "type": "array",
9210               "items": {
9211                 "$ref": "#/definitions/caveat"
9212               }
9213             },
9214             "data": {
9215               "type": "array",
9216               "items": {
9217                 "type": "integer"
9218               }
9219             },
9220             "id": {
9221               "$ref": "#/definitions/packet"
9222             },
9223             "location": {
9224               "$ref": "#/definitions/packet"
9225             },
9226             "sig": {
9227               "type": "array",
9228               "items": {
9229                 "type": "integer"
9230               }
9231             }
9232           },
9233           "additionalProperties": false,
9234           "required": [
9235             "data",
9236             "location",
9237             "id",
9238             "caveats",
9239             "sig"
9240           ]
9241         },
9242         "ServiceTag": {
9243           "type": "object",
9244           "properties": {
9245             "Name": {
9246               "type": "string"
9247             }
9248           },
9249           "additionalProperties": false,
9250           "required": [
9251             "Name"
9252           ]
9253         },
9254         "caveat": {
9255           "type": "object",
9256           "properties": {
9257             "caveatId": {
9258               "$ref": "#/definitions/packet"
9259             },
9260             "location": {
9261               "$ref": "#/definitions/packet"
9262             },
9263             "verificationId": {
9264               "$ref": "#/definitions/packet"
9265             }
9266           },
9267           "additionalProperties": false,
9268           "required": [
9269             "location",
9270             "caveatId",
9271             "verificationId"
9272           ]
9273         },
9274         "packet": {
9275           "type": "object",
9276           "properties": {
9277             "headerLen": {
9278               "type": "integer"
9279             },
9280             "start": {
9281               "type": "integer"
9282             },
9283             "totalLen": {
9284               "type": "integer"
9285             }
9286           },
9287           "additionalProperties": false,
9288           "required": [
9289             "start",
9290             "totalLen",
9291             "headerLen"
9292           ]
9293         }
9294       }
9295     }
9296   },
9297   {
9298     "Name": "LifeFlag",
9299     "Version": 1,
9300     "Schema": {
9301       "type": "object",
9302       "properties": {
9303         "Life": {
9304           "type": "object",
9305           "properties": {
9306             "Params": {
9307               "$ref": "#/definitions/Entities"
9308             },
9309             "Result": {
9310               "$ref": "#/definitions/LifeResults"
9311             }
9312           }
9313         },
9314         "Watch": {
9315           "type": "object",
9316           "properties": {
9317             "Params": {
9318               "$ref": "#/definitions/Entities"
9319             },
9320             "Result": {
9321               "$ref": "#/definitions/NotifyWatchResults"
9322             }
9323           }
9324         }
9325       },
9326       "definitions": {
9327         "Entities": {
9328           "type": "object",
9329           "properties": {
9330             "Entities": {
9331               "type": "array",
9332               "items": {
9333                 "$ref": "#/definitions/Entity"
9334               }
9335             }
9336           },
9337           "additionalProperties": false,
9338           "required": [
9339             "Entities"
9340           ]
9341         },
9342         "Entity": {
9343           "type": "object",
9344           "properties": {
9345             "Tag": {
9346               "type": "string"
9347             }
9348           },
9349           "additionalProperties": false,
9350           "required": [
9351             "Tag"
9352           ]
9353         },
9354         "Error": {
9355           "type": "object",
9356           "properties": {
9357             "Code": {
9358               "type": "string"
9359             },
9360             "Info": {
9361               "$ref": "#/definitions/ErrorInfo"
9362             },
9363             "Message": {
9364               "type": "string"
9365             }
9366           },
9367           "additionalProperties": false,
9368           "required": [
9369             "Message",
9370             "Code"
9371           ]
9372         },
9373         "ErrorInfo": {
9374           "type": "object",
9375           "properties": {
9376             "Macaroon": {
9377               "$ref": "#/definitions/Macaroon"
9378             },
9379             "MacaroonPath": {
9380               "type": "string"
9381             }
9382           },
9383           "additionalProperties": false
9384         },
9385         "LifeResult": {
9386           "type": "object",
9387           "properties": {
9388             "Error": {
9389               "$ref": "#/definitions/Error"
9390             },
9391             "Life": {
9392               "type": "string"
9393             }
9394           },
9395           "additionalProperties": false,
9396           "required": [
9397             "Life",
9398             "Error"
9399           ]
9400         },
9401         "LifeResults": {
9402           "type": "object",
9403           "properties": {
9404             "Results": {
9405               "type": "array",
9406               "items": {
9407                 "$ref": "#/definitions/LifeResult"
9408               }
9409             }
9410           },
9411           "additionalProperties": false,
9412           "required": [
9413             "Results"
9414           ]
9415         },
9416         "Macaroon": {
9417           "type": "object",
9418           "properties": {
9419             "caveats": {
9420               "type": "array",
9421               "items": {
9422                 "$ref": "#/definitions/caveat"
9423               }
9424             },
9425             "data": {
9426               "type": "array",
9427               "items": {
9428                 "type": "integer"
9429               }
9430             },
9431             "id": {
9432               "$ref": "#/definitions/packet"
9433             },
9434             "location": {
9435               "$ref": "#/definitions/packet"
9436             },
9437             "sig": {
9438               "type": "array",
9439               "items": {
9440                 "type": "integer"
9441               }
9442             }
9443           },
9444           "additionalProperties": false,
9445           "required": [
9446             "data",
9447             "location",
9448             "id",
9449             "caveats",
9450             "sig"
9451           ]
9452         },
9453         "NotifyWatchResult": {
9454           "type": "object",
9455           "properties": {
9456             "Error": {
9457               "$ref": "#/definitions/Error"
9458             },
9459             "NotifyWatcherId": {
9460               "type": "string"
9461             }
9462           },
9463           "additionalProperties": false,
9464           "required": [
9465             "NotifyWatcherId",
9466             "Error"
9467           ]
9468         },
9469         "NotifyWatchResults": {
9470           "type": "object",
9471           "properties": {
9472             "Results": {
9473               "type": "array",
9474               "items": {
9475                 "$ref": "#/definitions/NotifyWatchResult"
9476               }
9477             }
9478           },
9479           "additionalProperties": false,
9480           "required": [
9481             "Results"
9482           ]
9483         },
9484         "caveat": {
9485           "type": "object",
9486           "properties": {
9487             "caveatId": {
9488               "$ref": "#/definitions/packet"
9489             },
9490             "location": {
9491               "$ref": "#/definitions/packet"
9492             },
9493             "verificationId": {
9494               "$ref": "#/definitions/packet"
9495             }
9496           },
9497           "additionalProperties": false,
9498           "required": [
9499             "location",
9500             "caveatId",
9501             "verificationId"
9502           ]
9503         },
9504         "packet": {
9505           "type": "object",
9506           "properties": {
9507             "headerLen": {
9508               "type": "integer"
9509             },
9510             "start": {
9511               "type": "integer"
9512             },
9513             "totalLen": {
9514               "type": "integer"
9515             }
9516           },
9517           "additionalProperties": false,
9518           "required": [
9519             "start",
9520             "totalLen",
9521             "headerLen"
9522           ]
9523         }
9524       }
9525     }
9526   },
9527   {
9528     "Name": "Logger",
9529     "Version": 1,
9530     "Schema": {
9531       "type": "object",
9532       "properties": {
9533         "LoggingConfig": {
9534           "type": "object",
9535           "properties": {
9536             "Params": {
9537               "$ref": "#/definitions/Entities"
9538             },
9539             "Result": {
9540               "$ref": "#/definitions/StringResults"
9541             }
9542           }
9543         },
9544         "WatchLoggingConfig": {
9545           "type": "object",
9546           "properties": {
9547             "Params": {
9548               "$ref": "#/definitions/Entities"
9549             },
9550             "Result": {
9551               "$ref": "#/definitions/NotifyWatchResults"
9552             }
9553           }
9554         }
9555       },
9556       "definitions": {
9557         "Entities": {
9558           "type": "object",
9559           "properties": {
9560             "Entities": {
9561               "type": "array",
9562               "items": {
9563                 "$ref": "#/definitions/Entity"
9564               }
9565             }
9566           },
9567           "additionalProperties": false,
9568           "required": [
9569             "Entities"
9570           ]
9571         },
9572         "Entity": {
9573           "type": "object",
9574           "properties": {
9575             "Tag": {
9576               "type": "string"
9577             }
9578           },
9579           "additionalProperties": false,
9580           "required": [
9581             "Tag"
9582           ]
9583         },
9584         "Error": {
9585           "type": "object",
9586           "properties": {
9587             "Code": {
9588               "type": "string"
9589             },
9590             "Info": {
9591               "$ref": "#/definitions/ErrorInfo"
9592             },
9593             "Message": {
9594               "type": "string"
9595             }
9596           },
9597           "additionalProperties": false,
9598           "required": [
9599             "Message",
9600             "Code"
9601           ]
9602         },
9603         "ErrorInfo": {
9604           "type": "object",
9605           "properties": {
9606             "Macaroon": {
9607               "$ref": "#/definitions/Macaroon"
9608             },
9609             "MacaroonPath": {
9610               "type": "string"
9611             }
9612           },
9613           "additionalProperties": false
9614         },
9615         "Macaroon": {
9616           "type": "object",
9617           "properties": {
9618             "caveats": {
9619               "type": "array",
9620               "items": {
9621                 "$ref": "#/definitions/caveat"
9622               }
9623             },
9624             "data": {
9625               "type": "array",
9626               "items": {
9627                 "type": "integer"
9628               }
9629             },
9630             "id": {
9631               "$ref": "#/definitions/packet"
9632             },
9633             "location": {
9634               "$ref": "#/definitions/packet"
9635             },
9636             "sig": {
9637               "type": "array",
9638               "items": {
9639                 "type": "integer"
9640               }
9641             }
9642           },
9643           "additionalProperties": false,
9644           "required": [
9645             "data",
9646             "location",
9647             "id",
9648             "caveats",
9649             "sig"
9650           ]
9651         },
9652         "NotifyWatchResult": {
9653           "type": "object",
9654           "properties": {
9655             "Error": {
9656               "$ref": "#/definitions/Error"
9657             },
9658             "NotifyWatcherId": {
9659               "type": "string"
9660             }
9661           },
9662           "additionalProperties": false,
9663           "required": [
9664             "NotifyWatcherId",
9665             "Error"
9666           ]
9667         },
9668         "NotifyWatchResults": {
9669           "type": "object",
9670           "properties": {
9671             "Results": {
9672               "type": "array",
9673               "items": {
9674                 "$ref": "#/definitions/NotifyWatchResult"
9675               }
9676             }
9677           },
9678           "additionalProperties": false,
9679           "required": [
9680             "Results"
9681           ]
9682         },
9683         "StringResult": {
9684           "type": "object",
9685           "properties": {
9686             "Error": {
9687               "$ref": "#/definitions/Error"
9688             },
9689             "Result": {
9690               "type": "string"
9691             }
9692           },
9693           "additionalProperties": false,
9694           "required": [
9695             "Error",
9696             "Result"
9697           ]
9698         },
9699         "StringResults": {
9700           "type": "object",
9701           "properties": {
9702             "Results": {
9703               "type": "array",
9704               "items": {
9705                 "$ref": "#/definitions/StringResult"
9706               }
9707             }
9708           },
9709           "additionalProperties": false,
9710           "required": [
9711             "Results"
9712           ]
9713         },
9714         "caveat": {
9715           "type": "object",
9716           "properties": {
9717             "caveatId": {
9718               "$ref": "#/definitions/packet"
9719             },
9720             "location": {
9721               "$ref": "#/definitions/packet"
9722             },
9723             "verificationId": {
9724               "$ref": "#/definitions/packet"
9725             }
9726           },
9727           "additionalProperties": false,
9728           "required": [
9729             "location",
9730             "caveatId",
9731             "verificationId"
9732           ]
9733         },
9734         "packet": {
9735           "type": "object",
9736           "properties": {
9737             "headerLen": {
9738               "type": "integer"
9739             },
9740             "start": {
9741               "type": "integer"
9742             },
9743             "totalLen": {
9744               "type": "integer"
9745             }
9746           },
9747           "additionalProperties": false,
9748           "required": [
9749             "start",
9750             "totalLen",
9751             "headerLen"
9752           ]
9753         }
9754       }
9755     }
9756   },
9757   {
9758     "Name": "MachineActions",
9759     "Version": 1,
9760     "Schema": {
9761       "type": "object",
9762       "properties": {
9763         "Actions": {
9764           "type": "object",
9765           "properties": {
9766             "Params": {
9767               "$ref": "#/definitions/Entities"
9768             },
9769             "Result": {
9770               "$ref": "#/definitions/ActionResults"
9771             }
9772           }
9773         },
9774         "BeginActions": {
9775           "type": "object",
9776           "properties": {
9777             "Params": {
9778               "$ref": "#/definitions/Entities"
9779             },
9780             "Result": {
9781               "$ref": "#/definitions/ErrorResults"
9782             }
9783           }
9784         },
9785         "FinishActions": {
9786           "type": "object",
9787           "properties": {
9788             "Params": {
9789               "$ref": "#/definitions/ActionExecutionResults"
9790             },
9791             "Result": {
9792               "$ref": "#/definitions/ErrorResults"
9793             }
9794           }
9795         },
9796         "RunningActions": {
9797           "type": "object",
9798           "properties": {
9799             "Params": {
9800               "$ref": "#/definitions/Entities"
9801             },
9802             "Result": {
9803               "$ref": "#/definitions/ActionsByReceivers"
9804             }
9805           }
9806         },
9807         "WatchActionNotifications": {
9808           "type": "object",
9809           "properties": {
9810             "Params": {
9811               "$ref": "#/definitions/Entities"
9812             },
9813             "Result": {
9814               "$ref": "#/definitions/StringsWatchResults"
9815             }
9816           }
9817         }
9818       },
9819       "definitions": {
9820         "Action": {
9821           "type": "object",
9822           "properties": {
9823             "name": {
9824               "type": "string"
9825             },
9826             "parameters": {
9827               "type": "object",
9828               "patternProperties": {
9829                 ".*": {
9830                   "type": "object",
9831                   "additionalProperties": true
9832                 }
9833               }
9834             },
9835             "receiver": {
9836               "type": "string"
9837             },
9838             "tag": {
9839               "type": "string"
9840             }
9841           },
9842           "additionalProperties": false,
9843           "required": [
9844             "tag",
9845             "receiver",
9846             "name"
9847           ]
9848         },
9849         "ActionExecutionResult": {
9850           "type": "object",
9851           "properties": {
9852             "actiontag": {
9853               "type": "string"
9854             },
9855             "message": {
9856               "type": "string"
9857             },
9858             "results": {
9859               "type": "object",
9860               "patternProperties": {
9861                 ".*": {
9862                   "type": "object",
9863                   "additionalProperties": true
9864                 }
9865               }
9866             },
9867             "status": {
9868               "type": "string"
9869             }
9870           },
9871           "additionalProperties": false,
9872           "required": [
9873             "actiontag",
9874             "status"
9875           ]
9876         },
9877         "ActionExecutionResults": {
9878           "type": "object",
9879           "properties": {
9880             "results": {
9881               "type": "array",
9882               "items": {
9883                 "$ref": "#/definitions/ActionExecutionResult"
9884               }
9885             }
9886           },
9887           "additionalProperties": false
9888         },
9889         "ActionResult": {
9890           "type": "object",
9891           "properties": {
9892             "action": {
9893               "$ref": "#/definitions/Action"
9894             },
9895             "completed": {
9896               "type": "string",
9897               "format": "date-time"
9898             },
9899             "enqueued": {
9900               "type": "string",
9901               "format": "date-time"
9902             },
9903             "error": {
9904               "$ref": "#/definitions/Error"
9905             },
9906             "message": {
9907               "type": "string"
9908             },
9909             "output": {
9910               "type": "object",
9911               "patternProperties": {
9912                 ".*": {
9913                   "type": "object",
9914                   "additionalProperties": true
9915                 }
9916               }
9917             },
9918             "started": {
9919               "type": "string",
9920               "format": "date-time"
9921             },
9922             "status": {
9923               "type": "string"
9924             }
9925           },
9926           "additionalProperties": false
9927         },
9928         "ActionResults": {
9929           "type": "object",
9930           "properties": {
9931             "results": {
9932               "type": "array",
9933               "items": {
9934                 "$ref": "#/definitions/ActionResult"
9935               }
9936             }
9937           },
9938           "additionalProperties": false
9939         },
9940         "ActionsByReceiver": {
9941           "type": "object",
9942           "properties": {
9943             "actions": {
9944               "type": "array",
9945               "items": {
9946                 "$ref": "#/definitions/ActionResult"
9947               }
9948             },
9949             "error": {
9950               "$ref": "#/definitions/Error"
9951             },
9952             "receiver": {
9953               "type": "string"
9954             }
9955           },
9956           "additionalProperties": false
9957         },
9958         "ActionsByReceivers": {
9959           "type": "object",
9960           "properties": {
9961             "actions": {
9962               "type": "array",
9963               "items": {
9964                 "$ref": "#/definitions/ActionsByReceiver"
9965               }
9966             }
9967           },
9968           "additionalProperties": false
9969         },
9970         "Entities": {
9971           "type": "object",
9972           "properties": {
9973             "Entities": {
9974               "type": "array",
9975               "items": {
9976                 "$ref": "#/definitions/Entity"
9977               }
9978             }
9979           },
9980           "additionalProperties": false,
9981           "required": [
9982             "Entities"
9983           ]
9984         },
9985         "Entity": {
9986           "type": "object",
9987           "properties": {
9988             "Tag": {
9989               "type": "string"
9990             }
9991           },
9992           "additionalProperties": false,
9993           "required": [
9994             "Tag"
9995           ]
9996         },
9997         "Error": {
9998           "type": "object",
9999           "properties": {
10000             "Code": {
10001               "type": "string"
10002             },
10003             "Info": {
10004               "$ref": "#/definitions/ErrorInfo"
10005             },
10006             "Message": {
10007               "type": "string"
10008             }
10009           },
10010           "additionalProperties": false,
10011           "required": [
10012             "Message",
10013             "Code"
10014           ]
10015         },
10016         "ErrorInfo": {
10017           "type": "object",
10018           "properties": {
10019             "Macaroon": {
10020               "$ref": "#/definitions/Macaroon"
10021             },
10022             "MacaroonPath": {
10023               "type": "string"
10024             }
10025           },
10026           "additionalProperties": false
10027         },
10028         "ErrorResult": {
10029           "type": "object",
10030           "properties": {
10031             "Error": {
10032               "$ref": "#/definitions/Error"
10033             }
10034           },
10035           "additionalProperties": false,
10036           "required": [
10037             "Error"
10038           ]
10039         },
10040         "ErrorResults": {
10041           "type": "object",
10042           "properties": {
10043             "Results": {
10044               "type": "array",
10045               "items": {
10046                 "$ref": "#/definitions/ErrorResult"
10047               }
10048             }
10049           },
10050           "additionalProperties": false,
10051           "required": [
10052             "Results"
10053           ]
10054         },
10055         "Macaroon": {
10056           "type": "object",
10057           "properties": {
10058             "caveats": {
10059               "type": "array",
10060               "items": {
10061                 "$ref": "#/definitions/caveat"
10062               }
10063             },
10064             "data": {
10065               "type": "array",
10066               "items": {
10067                 "type": "integer"
10068               }
10069             },
10070             "id": {
10071               "$ref": "#/definitions/packet"
10072             },
10073             "location": {
10074               "$ref": "#/definitions/packet"
10075             },
10076             "sig": {
10077               "type": "array",
10078               "items": {
10079                 "type": "integer"
10080               }
10081             }
10082           },
10083           "additionalProperties": false,
10084           "required": [
10085             "data",
10086             "location",
10087             "id",
10088             "caveats",
10089             "sig"
10090           ]
10091         },
10092         "StringsWatchResult": {
10093           "type": "object",
10094           "properties": {
10095             "Changes": {
10096               "type": "array",
10097               "items": {
10098                 "type": "string"
10099               }
10100             },
10101             "Error": {
10102               "$ref": "#/definitions/Error"
10103             },
10104             "StringsWatcherId": {
10105               "type": "string"
10106             }
10107           },
10108           "additionalProperties": false,
10109           "required": [
10110             "StringsWatcherId",
10111             "Changes",
10112             "Error"
10113           ]
10114         },
10115         "StringsWatchResults": {
10116           "type": "object",
10117           "properties": {
10118             "Results": {
10119               "type": "array",
10120               "items": {
10121                 "$ref": "#/definitions/StringsWatchResult"
10122               }
10123             }
10124           },
10125           "additionalProperties": false,
10126           "required": [
10127             "Results"
10128           ]
10129         },
10130         "caveat": {
10131           "type": "object",
10132           "properties": {
10133             "caveatId": {
10134               "$ref": "#/definitions/packet"
10135             },
10136             "location": {
10137               "$ref": "#/definitions/packet"
10138             },
10139             "verificationId": {
10140               "$ref": "#/definitions/packet"
10141             }
10142           },
10143           "additionalProperties": false,
10144           "required": [
10145             "location",
10146             "caveatId",
10147             "verificationId"
10148           ]
10149         },
10150         "packet": {
10151           "type": "object",
10152           "properties": {
10153             "headerLen": {
10154               "type": "integer"
10155             },
10156             "start": {
10157               "type": "integer"
10158             },
10159             "totalLen": {
10160               "type": "integer"
10161             }
10162           },
10163           "additionalProperties": false,
10164           "required": [
10165             "start",
10166             "totalLen",
10167             "headerLen"
10168           ]
10169         }
10170       }
10171     }
10172   },
10173   {
10174     "Name": "MachineManager",
10175     "Version": 2,
10176     "Schema": {
10177       "type": "object",
10178       "properties": {
10179         "AddMachines": {
10180           "type": "object",
10181           "properties": {
10182             "Params": {
10183               "$ref": "#/definitions/AddMachines"
10184             },
10185             "Result": {
10186               "$ref": "#/definitions/AddMachinesResults"
10187             }
10188           }
10189         }
10190       },
10191       "definitions": {
10192         "AddMachineParams": {
10193           "type": "object",
10194           "properties": {
10195             "Addrs": {
10196               "type": "array",
10197               "items": {
10198                 "$ref": "#/definitions/Address"
10199               }
10200             },
10201             "Constraints": {
10202               "$ref": "#/definitions/Value"
10203             },
10204             "ContainerType": {
10205               "type": "string"
10206             },
10207             "Disks": {
10208               "type": "array",
10209               "items": {
10210                 "$ref": "#/definitions/Constraints"
10211               }
10212             },
10213             "HardwareCharacteristics": {
10214               "$ref": "#/definitions/HardwareCharacteristics"
10215             },
10216             "InstanceId": {
10217               "type": "string"
10218             },
10219             "Jobs": {
10220               "type": "array",
10221               "items": {
10222                 "type": "string"
10223               }
10224             },
10225             "Nonce": {
10226               "type": "string"
10227             },
10228             "ParentId": {
10229               "type": "string"
10230             },
10231             "Placement": {
10232               "$ref": "#/definitions/Placement"
10233             },
10234             "Series": {
10235               "type": "string"
10236             }
10237           },
10238           "additionalProperties": false,
10239           "required": [
10240             "Series",
10241             "Constraints",
10242             "Jobs",
10243             "Disks",
10244             "Placement",
10245             "ParentId",
10246             "ContainerType",
10247             "InstanceId",
10248             "Nonce",
10249             "HardwareCharacteristics",
10250             "Addrs"
10251           ]
10252         },
10253         "AddMachines": {
10254           "type": "object",
10255           "properties": {
10256             "MachineParams": {
10257               "type": "array",
10258               "items": {
10259                 "$ref": "#/definitions/AddMachineParams"
10260               }
10261             }
10262           },
10263           "additionalProperties": false,
10264           "required": [
10265             "MachineParams"
10266           ]
10267         },
10268         "AddMachinesResult": {
10269           "type": "object",
10270           "properties": {
10271             "Error": {
10272               "$ref": "#/definitions/Error"
10273             },
10274             "Machine": {
10275               "type": "string"
10276             }
10277           },
10278           "additionalProperties": false,
10279           "required": [
10280             "Machine",
10281             "Error"
10282           ]
10283         },
10284         "AddMachinesResults": {
10285           "type": "object",
10286           "properties": {
10287             "Machines": {
10288               "type": "array",
10289               "items": {
10290                 "$ref": "#/definitions/AddMachinesResult"
10291               }
10292             }
10293           },
10294           "additionalProperties": false,
10295           "required": [
10296             "Machines"
10297           ]
10298         },
10299         "Address": {
10300           "type": "object",
10301           "properties": {
10302             "Scope": {
10303               "type": "string"
10304             },
10305             "SpaceName": {
10306               "type": "string"
10307             },
10308             "Type": {
10309               "type": "string"
10310             },
10311             "Value": {
10312               "type": "string"
10313             }
10314           },
10315           "additionalProperties": false,
10316           "required": [
10317             "Value",
10318             "Type",
10319             "Scope"
10320           ]
10321         },
10322         "Constraints": {
10323           "type": "object",
10324           "properties": {
10325             "Count": {
10326               "type": "integer"
10327             },
10328             "Pool": {
10329               "type": "string"
10330             },
10331             "Size": {
10332               "type": "integer"
10333             }
10334           },
10335           "additionalProperties": false,
10336           "required": [
10337             "Pool",
10338             "Size",
10339             "Count"
10340           ]
10341         },
10342         "Error": {
10343           "type": "object",
10344           "properties": {
10345             "Code": {
10346               "type": "string"
10347             },
10348             "Info": {
10349               "$ref": "#/definitions/ErrorInfo"
10350             },
10351             "Message": {
10352               "type": "string"
10353             }
10354           },
10355           "additionalProperties": false,
10356           "required": [
10357             "Message",
10358             "Code"
10359           ]
10360         },
10361         "ErrorInfo": {
10362           "type": "object",
10363           "properties": {
10364             "Macaroon": {
10365               "$ref": "#/definitions/Macaroon"
10366             },
10367             "MacaroonPath": {
10368               "type": "string"
10369             }
10370           },
10371           "additionalProperties": false
10372         },
10373         "HardwareCharacteristics": {
10374           "type": "object",
10375           "properties": {
10376             "Arch": {
10377               "type": "string"
10378             },
10379             "AvailabilityZone": {
10380               "type": "string"
10381             },
10382             "CpuCores": {
10383               "type": "integer"
10384             },
10385             "CpuPower": {
10386               "type": "integer"
10387             },
10388             "Mem": {
10389               "type": "integer"
10390             },
10391             "RootDisk": {
10392               "type": "integer"
10393             },
10394             "Tags": {
10395               "type": "array",
10396               "items": {
10397                 "type": "string"
10398               }
10399             }
10400           },
10401           "additionalProperties": false
10402         },
10403         "Macaroon": {
10404           "type": "object",
10405           "properties": {
10406             "caveats": {
10407               "type": "array",
10408               "items": {
10409                 "$ref": "#/definitions/caveat"
10410               }
10411             },
10412             "data": {
10413               "type": "array",
10414               "items": {
10415                 "type": "integer"
10416               }
10417             },
10418             "id": {
10419               "$ref": "#/definitions/packet"
10420             },
10421             "location": {
10422               "$ref": "#/definitions/packet"
10423             },
10424             "sig": {
10425               "type": "array",
10426               "items": {
10427                 "type": "integer"
10428               }
10429             }
10430           },
10431           "additionalProperties": false,
10432           "required": [
10433             "data",
10434             "location",
10435             "id",
10436             "caveats",
10437             "sig"
10438           ]
10439         },
10440         "Placement": {
10441           "type": "object",
10442           "properties": {
10443             "Directive": {
10444               "type": "string"
10445             },
10446             "Scope": {
10447               "type": "string"
10448             }
10449           },
10450           "additionalProperties": false,
10451           "required": [
10452             "Scope",
10453             "Directive"
10454           ]
10455         },
10456         "Value": {
10457           "type": "object",
10458           "properties": {
10459             "arch": {
10460               "type": "string"
10461             },
10462             "container": {
10463               "type": "string"
10464             },
10465             "cpu-cores": {
10466               "type": "integer"
10467             },
10468             "cpu-power": {
10469               "type": "integer"
10470             },
10471             "instance-type": {
10472               "type": "string"
10473             },
10474             "mem": {
10475               "type": "integer"
10476             },
10477             "root-disk": {
10478               "type": "integer"
10479             },
10480             "spaces": {
10481               "type": "array",
10482               "items": {
10483                 "type": "string"
10484               }
10485             },
10486             "tags": {
10487               "type": "array",
10488               "items": {
10489                 "type": "string"
10490               }
10491             },
10492             "virt-type": {
10493               "type": "string"
10494             }
10495           },
10496           "additionalProperties": false
10497         },
10498         "caveat": {
10499           "type": "object",
10500           "properties": {
10501             "caveatId": {
10502               "$ref": "#/definitions/packet"
10503             },
10504             "location": {
10505               "$ref": "#/definitions/packet"
10506             },
10507             "verificationId": {
10508               "$ref": "#/definitions/packet"
10509             }
10510           },
10511           "additionalProperties": false,
10512           "required": [
10513             "location",
10514             "caveatId",
10515             "verificationId"
10516           ]
10517         },
10518         "packet": {
10519           "type": "object",
10520           "properties": {
10521             "headerLen": {
10522               "type": "integer"
10523             },
10524             "start": {
10525               "type": "integer"
10526             },
10527             "totalLen": {
10528               "type": "integer"
10529             }
10530           },
10531           "additionalProperties": false,
10532           "required": [
10533             "start",
10534             "totalLen",
10535             "headerLen"
10536           ]
10537         }
10538       }
10539     }
10540   },
10541   {
10542     "Name": "Machiner",
10543     "Version": 1,
10544     "Schema": {
10545       "type": "object",
10546       "properties": {
10547         "APIAddresses": {
10548           "type": "object",
10549           "properties": {
10550             "Result": {
10551               "$ref": "#/definitions/StringsResult"
10552             }
10553           }
10554         },
10555         "APIHostPorts": {
10556           "type": "object",
10557           "properties": {
10558             "Result": {
10559               "$ref": "#/definitions/APIHostPortsResult"
10560             }
10561           }
10562         },
10563         "CACert": {
10564           "type": "object",
10565           "properties": {
10566             "Result": {
10567               "$ref": "#/definitions/BytesResult"
10568             }
10569           }
10570         },
10571         "EnsureDead": {
10572           "type": "object",
10573           "properties": {
10574             "Params": {
10575               "$ref": "#/definitions/Entities"
10576             },
10577             "Result": {
10578               "$ref": "#/definitions/ErrorResults"
10579             }
10580           }
10581         },
10582         "Jobs": {
10583           "type": "object",
10584           "properties": {
10585             "Params": {
10586               "$ref": "#/definitions/Entities"
10587             },
10588             "Result": {
10589               "$ref": "#/definitions/JobsResults"
10590             }
10591           }
10592         },
10593         "Life": {
10594           "type": "object",
10595           "properties": {
10596             "Params": {
10597               "$ref": "#/definitions/Entities"
10598             },
10599             "Result": {
10600               "$ref": "#/definitions/LifeResults"
10601             }
10602           }
10603         },
10604         "ModelUUID": {
10605           "type": "object",
10606           "properties": {
10607             "Result": {
10608               "$ref": "#/definitions/StringResult"
10609             }
10610           }
10611         },
10612         "SetMachineAddresses": {
10613           "type": "object",
10614           "properties": {
10615             "Params": {
10616               "$ref": "#/definitions/SetMachinesAddresses"
10617             },
10618             "Result": {
10619               "$ref": "#/definitions/ErrorResults"
10620             }
10621           }
10622         },
10623         "SetObservedNetworkConfig": {
10624           "type": "object",
10625           "properties": {
10626             "Params": {
10627               "$ref": "#/definitions/SetMachineNetworkConfig"
10628             }
10629           }
10630         },
10631         "SetProviderNetworkConfig": {
10632           "type": "object",
10633           "properties": {
10634             "Params": {
10635               "$ref": "#/definitions/Entities"
10636             },
10637             "Result": {
10638               "$ref": "#/definitions/ErrorResults"
10639             }
10640           }
10641         },
10642         "SetStatus": {
10643           "type": "object",
10644           "properties": {
10645             "Params": {
10646               "$ref": "#/definitions/SetStatus"
10647             },
10648             "Result": {
10649               "$ref": "#/definitions/ErrorResults"
10650             }
10651           }
10652         },
10653         "UpdateStatus": {
10654           "type": "object",
10655           "properties": {
10656             "Params": {
10657               "$ref": "#/definitions/SetStatus"
10658             },
10659             "Result": {
10660               "$ref": "#/definitions/ErrorResults"
10661             }
10662           }
10663         },
10664         "Watch": {
10665           "type": "object",
10666           "properties": {
10667             "Params": {
10668               "$ref": "#/definitions/Entities"
10669             },
10670             "Result": {
10671               "$ref": "#/definitions/NotifyWatchResults"
10672             }
10673           }
10674         },
10675         "WatchAPIHostPorts": {
10676           "type": "object",
10677           "properties": {
10678             "Result": {
10679               "$ref": "#/definitions/NotifyWatchResult"
10680             }
10681           }
10682         }
10683       },
10684       "definitions": {
10685         "APIHostPortsResult": {
10686           "type": "object",
10687           "properties": {
10688             "Servers": {
10689               "type": "array",
10690               "items": {
10691                 "type": "array",
10692                 "items": {
10693                   "$ref": "#/definitions/HostPort"
10694                 }
10695               }
10696             }
10697           },
10698           "additionalProperties": false,
10699           "required": [
10700             "Servers"
10701           ]
10702         },
10703         "Address": {
10704           "type": "object",
10705           "properties": {
10706             "Scope": {
10707               "type": "string"
10708             },
10709             "SpaceName": {
10710               "type": "string"
10711             },
10712             "Type": {
10713               "type": "string"
10714             },
10715             "Value": {
10716               "type": "string"
10717             }
10718           },
10719           "additionalProperties": false,
10720           "required": [
10721             "Value",
10722             "Type",
10723             "Scope"
10724           ]
10725         },
10726         "BytesResult": {
10727           "type": "object",
10728           "properties": {
10729             "Result": {
10730               "type": "array",
10731               "items": {
10732                 "type": "integer"
10733               }
10734             }
10735           },
10736           "additionalProperties": false,
10737           "required": [
10738             "Result"
10739           ]
10740         },
10741         "Entities": {
10742           "type": "object",
10743           "properties": {
10744             "Entities": {
10745               "type": "array",
10746               "items": {
10747                 "$ref": "#/definitions/Entity"
10748               }
10749             }
10750           },
10751           "additionalProperties": false,
10752           "required": [
10753             "Entities"
10754           ]
10755         },
10756         "Entity": {
10757           "type": "object",
10758           "properties": {
10759             "Tag": {
10760               "type": "string"
10761             }
10762           },
10763           "additionalProperties": false,
10764           "required": [
10765             "Tag"
10766           ]
10767         },
10768         "EntityStatusArgs": {
10769           "type": "object",
10770           "properties": {
10771             "Data": {
10772               "type": "object",
10773               "patternProperties": {
10774                 ".*": {
10775                   "type": "object",
10776                   "additionalProperties": true
10777                 }
10778               }
10779             },
10780             "Info": {
10781               "type": "string"
10782             },
10783             "Status": {
10784               "type": "string"
10785             },
10786             "Tag": {
10787               "type": "string"
10788             }
10789           },
10790           "additionalProperties": false,
10791           "required": [
10792             "Tag",
10793             "Status",
10794             "Info",
10795             "Data"
10796           ]
10797         },
10798         "Error": {
10799           "type": "object",
10800           "properties": {
10801             "Code": {
10802               "type": "string"
10803             },
10804             "Info": {
10805               "$ref": "#/definitions/ErrorInfo"
10806             },
10807             "Message": {
10808               "type": "string"
10809             }
10810           },
10811           "additionalProperties": false,
10812           "required": [
10813             "Message",
10814             "Code"
10815           ]
10816         },
10817         "ErrorInfo": {
10818           "type": "object",
10819           "properties": {
10820             "Macaroon": {
10821               "$ref": "#/definitions/Macaroon"
10822             },
10823             "MacaroonPath": {
10824               "type": "string"
10825             }
10826           },
10827           "additionalProperties": false
10828         },
10829         "ErrorResult": {
10830           "type": "object",
10831           "properties": {
10832             "Error": {
10833               "$ref": "#/definitions/Error"
10834             }
10835           },
10836           "additionalProperties": false,
10837           "required": [
10838             "Error"
10839           ]
10840         },
10841         "ErrorResults": {
10842           "type": "object",
10843           "properties": {
10844             "Results": {
10845               "type": "array",
10846               "items": {
10847                 "$ref": "#/definitions/ErrorResult"
10848               }
10849             }
10850           },
10851           "additionalProperties": false,
10852           "required": [
10853             "Results"
10854           ]
10855         },
10856         "HostPort": {
10857           "type": "object",
10858           "properties": {
10859             "Address": {
10860               "$ref": "#/definitions/Address"
10861             },
10862             "Port": {
10863               "type": "integer"
10864             }
10865           },
10866           "additionalProperties": false,
10867           "required": [
10868             "Address",
10869             "Port"
10870           ]
10871         },
10872         "JobsResult": {
10873           "type": "object",
10874           "properties": {
10875             "Error": {
10876               "$ref": "#/definitions/Error"
10877             },
10878             "Jobs": {
10879               "type": "array",
10880               "items": {
10881                 "type": "string"
10882               }
10883             }
10884           },
10885           "additionalProperties": false,
10886           "required": [
10887             "Jobs",
10888             "Error"
10889           ]
10890         },
10891         "JobsResults": {
10892           "type": "object",
10893           "properties": {
10894             "Results": {
10895               "type": "array",
10896               "items": {
10897                 "$ref": "#/definitions/JobsResult"
10898               }
10899             }
10900           },
10901           "additionalProperties": false,
10902           "required": [
10903             "Results"
10904           ]
10905         },
10906         "LifeResult": {
10907           "type": "object",
10908           "properties": {
10909             "Error": {
10910               "$ref": "#/definitions/Error"
10911             },
10912             "Life": {
10913               "type": "string"
10914             }
10915           },
10916           "additionalProperties": false,
10917           "required": [
10918             "Life",
10919             "Error"
10920           ]
10921         },
10922         "LifeResults": {
10923           "type": "object",
10924           "properties": {
10925             "Results": {
10926               "type": "array",
10927               "items": {
10928                 "$ref": "#/definitions/LifeResult"
10929               }
10930             }
10931           },
10932           "additionalProperties": false,
10933           "required": [
10934             "Results"
10935           ]
10936         },
10937         "Macaroon": {
10938           "type": "object",
10939           "properties": {
10940             "caveats": {
10941               "type": "array",
10942               "items": {
10943                 "$ref": "#/definitions/caveat"
10944               }
10945             },
10946             "data": {
10947               "type": "array",
10948               "items": {
10949                 "type": "integer"
10950               }
10951             },
10952             "id": {
10953               "$ref": "#/definitions/packet"
10954             },
10955             "location": {
10956               "$ref": "#/definitions/packet"
10957             },
10958             "sig": {
10959               "type": "array",
10960               "items": {
10961                 "type": "integer"
10962               }
10963             }
10964           },
10965           "additionalProperties": false,
10966           "required": [
10967             "data",
10968             "location",
10969             "id",
10970             "caveats",
10971             "sig"
10972           ]
10973         },
10974         "MachineAddresses": {
10975           "type": "object",
10976           "properties": {
10977             "Addresses": {
10978               "type": "array",
10979               "items": {
10980                 "$ref": "#/definitions/Address"
10981               }
10982             },
10983             "Tag": {
10984               "type": "string"
10985             }
10986           },
10987           "additionalProperties": false,
10988           "required": [
10989             "Tag",
10990             "Addresses"
10991           ]
10992         },
10993         "NetworkConfig": {
10994           "type": "object",
10995           "properties": {
10996             "Address": {
10997               "type": "string"
10998             },
10999             "CIDR": {
11000               "type": "string"
11001             },
11002             "ConfigType": {
11003               "type": "string"
11004             },
11005             "DNSSearchDomains": {
11006               "type": "array",
11007               "items": {
11008                 "type": "string"
11009               }
11010             },
11011             "DNSServers": {
11012               "type": "array",
11013               "items": {
11014                 "type": "string"
11015               }
11016             },
11017             "DeviceIndex": {
11018               "type": "integer"
11019             },
11020             "Disabled": {
11021               "type": "boolean"
11022             },
11023             "GatewayAddress": {
11024               "type": "string"
11025             },
11026             "InterfaceName": {
11027               "type": "string"
11028             },
11029             "InterfaceType": {
11030               "type": "string"
11031             },
11032             "MACAddress": {
11033               "type": "string"
11034             },
11035             "MTU": {
11036               "type": "integer"
11037             },
11038             "NoAutoStart": {
11039               "type": "boolean"
11040             },
11041             "ParentInterfaceName": {
11042               "type": "string"
11043             },
11044             "ProviderAddressId": {
11045               "type": "string"
11046             },
11047             "ProviderId": {
11048               "type": "string"
11049             },
11050             "ProviderSpaceId": {
11051               "type": "string"
11052             },
11053             "ProviderSubnetId": {
11054               "type": "string"
11055             },
11056             "ProviderVLANId": {
11057               "type": "string"
11058             },
11059             "VLANTag": {
11060               "type": "integer"
11061             }
11062           },
11063           "additionalProperties": false,
11064           "required": [
11065             "DeviceIndex",
11066             "MACAddress",
11067             "CIDR",
11068             "MTU",
11069             "ProviderId",
11070             "ProviderSubnetId",
11071             "ProviderSpaceId",
11072             "ProviderAddressId",
11073             "ProviderVLANId",
11074             "VLANTag",
11075             "InterfaceName",
11076             "ParentInterfaceName",
11077             "InterfaceType",
11078             "Disabled"
11079           ]
11080         },
11081         "NotifyWatchResult": {
11082           "type": "object",
11083           "properties": {
11084             "Error": {
11085               "$ref": "#/definitions/Error"
11086             },
11087             "NotifyWatcherId": {
11088               "type": "string"
11089             }
11090           },
11091           "additionalProperties": false,
11092           "required": [
11093             "NotifyWatcherId",
11094             "Error"
11095           ]
11096         },
11097         "NotifyWatchResults": {
11098           "type": "object",
11099           "properties": {
11100             "Results": {
11101               "type": "array",
11102               "items": {
11103                 "$ref": "#/definitions/NotifyWatchResult"
11104               }
11105             }
11106           },
11107           "additionalProperties": false,
11108           "required": [
11109             "Results"
11110           ]
11111         },
11112         "SetMachineNetworkConfig": {
11113           "type": "object",
11114           "properties": {
11115             "Config": {
11116               "type": "array",
11117               "items": {
11118                 "$ref": "#/definitions/NetworkConfig"
11119               }
11120             },
11121             "Tag": {
11122               "type": "string"
11123             }
11124           },
11125           "additionalProperties": false,
11126           "required": [
11127             "Tag",
11128             "Config"
11129           ]
11130         },
11131         "SetMachinesAddresses": {
11132           "type": "object",
11133           "properties": {
11134             "MachineAddresses": {
11135               "type": "array",
11136               "items": {
11137                 "$ref": "#/definitions/MachineAddresses"
11138               }
11139             }
11140           },
11141           "additionalProperties": false,
11142           "required": [
11143             "MachineAddresses"
11144           ]
11145         },
11146         "SetStatus": {
11147           "type": "object",
11148           "properties": {
11149             "Entities": {
11150               "type": "array",
11151               "items": {
11152                 "$ref": "#/definitions/EntityStatusArgs"
11153               }
11154             }
11155           },
11156           "additionalProperties": false,
11157           "required": [
11158             "Entities"
11159           ]
11160         },
11161         "StringResult": {
11162           "type": "object",
11163           "properties": {
11164             "Error": {
11165               "$ref": "#/definitions/Error"
11166             },
11167             "Result": {
11168               "type": "string"
11169             }
11170           },
11171           "additionalProperties": false,
11172           "required": [
11173             "Error",
11174             "Result"
11175           ]
11176         },
11177         "StringsResult": {
11178           "type": "object",
11179           "properties": {
11180             "Error": {
11181               "$ref": "#/definitions/Error"
11182             },
11183             "Result": {
11184               "type": "array",
11185               "items": {
11186                 "type": "string"
11187               }
11188             }
11189           },
11190           "additionalProperties": false,
11191           "required": [
11192             "Error",
11193             "Result"
11194           ]
11195         },
11196         "caveat": {
11197           "type": "object",
11198           "properties": {
11199             "caveatId": {
11200               "$ref": "#/definitions/packet"
11201             },
11202             "location": {
11203               "$ref": "#/definitions/packet"
11204             },
11205             "verificationId": {
11206               "$ref": "#/definitions/packet"
11207             }
11208           },
11209           "additionalProperties": false,
11210           "required": [
11211             "location",
11212             "caveatId",
11213             "verificationId"
11214           ]
11215         },
11216         "packet": {
11217           "type": "object",
11218           "properties": {
11219             "headerLen": {
11220               "type": "integer"
11221             },
11222             "start": {
11223               "type": "integer"
11224             },
11225             "totalLen": {
11226               "type": "integer"
11227             }
11228           },
11229           "additionalProperties": false,
11230           "required": [
11231             "start",
11232             "totalLen",
11233             "headerLen"
11234           ]
11235         }
11236       }
11237     }
11238   },
11239   {
11240     "Name": "MeterStatus",
11241     "Version": 1,
11242     "Schema": {
11243       "type": "object",
11244       "properties": {
11245         "GetMeterStatus": {
11246           "type": "object",
11247           "properties": {
11248             "Params": {
11249               "$ref": "#/definitions/Entities"
11250             },
11251             "Result": {
11252               "$ref": "#/definitions/MeterStatusResults"
11253             }
11254           }
11255         },
11256         "WatchMeterStatus": {
11257           "type": "object",
11258           "properties": {
11259             "Params": {
11260               "$ref": "#/definitions/Entities"
11261             },
11262             "Result": {
11263               "$ref": "#/definitions/NotifyWatchResults"
11264             }
11265           }
11266         }
11267       },
11268       "definitions": {
11269         "Entities": {
11270           "type": "object",
11271           "properties": {
11272             "Entities": {
11273               "type": "array",
11274               "items": {
11275                 "$ref": "#/definitions/Entity"
11276               }
11277             }
11278           },
11279           "additionalProperties": false,
11280           "required": [
11281             "Entities"
11282           ]
11283         },
11284         "Entity": {
11285           "type": "object",
11286           "properties": {
11287             "Tag": {
11288               "type": "string"
11289             }
11290           },
11291           "additionalProperties": false,
11292           "required": [
11293             "Tag"
11294           ]
11295         },
11296         "Error": {
11297           "type": "object",
11298           "properties": {
11299             "Code": {
11300               "type": "string"
11301             },
11302             "Info": {
11303               "$ref": "#/definitions/ErrorInfo"
11304             },
11305             "Message": {
11306               "type": "string"
11307             }
11308           },
11309           "additionalProperties": false,
11310           "required": [
11311             "Message",
11312             "Code"
11313           ]
11314         },
11315         "ErrorInfo": {
11316           "type": "object",
11317           "properties": {
11318             "Macaroon": {
11319               "$ref": "#/definitions/Macaroon"
11320             },
11321             "MacaroonPath": {
11322               "type": "string"
11323             }
11324           },
11325           "additionalProperties": false
11326         },
11327         "Macaroon": {
11328           "type": "object",
11329           "properties": {
11330             "caveats": {
11331               "type": "array",
11332               "items": {
11333                 "$ref": "#/definitions/caveat"
11334               }
11335             },
11336             "data": {
11337               "type": "array",
11338               "items": {
11339                 "type": "integer"
11340               }
11341             },
11342             "id": {
11343               "$ref": "#/definitions/packet"
11344             },
11345             "location": {
11346               "$ref": "#/definitions/packet"
11347             },
11348             "sig": {
11349               "type": "array",
11350               "items": {
11351                 "type": "integer"
11352               }
11353             }
11354           },
11355           "additionalProperties": false,
11356           "required": [
11357             "data",
11358             "location",
11359             "id",
11360             "caveats",
11361             "sig"
11362           ]
11363         },
11364         "MeterStatusResult": {
11365           "type": "object",
11366           "properties": {
11367             "Code": {
11368               "type": "string"
11369             },
11370             "Error": {
11371               "$ref": "#/definitions/Error"
11372             },
11373             "Info": {
11374               "type": "string"
11375             }
11376           },
11377           "additionalProperties": false,
11378           "required": [
11379             "Code",
11380             "Info",
11381             "Error"
11382           ]
11383         },
11384         "MeterStatusResults": {
11385           "type": "object",
11386           "properties": {
11387             "Results": {
11388               "type": "array",
11389               "items": {
11390                 "$ref": "#/definitions/MeterStatusResult"
11391               }
11392             }
11393           },
11394           "additionalProperties": false,
11395           "required": [
11396             "Results"
11397           ]
11398         },
11399         "NotifyWatchResult": {
11400           "type": "object",
11401           "properties": {
11402             "Error": {
11403               "$ref": "#/definitions/Error"
11404             },
11405             "NotifyWatcherId": {
11406               "type": "string"
11407             }
11408           },
11409           "additionalProperties": false,
11410           "required": [
11411             "NotifyWatcherId",
11412             "Error"
11413           ]
11414         },
11415         "NotifyWatchResults": {
11416           "type": "object",
11417           "properties": {
11418             "Results": {
11419               "type": "array",
11420               "items": {
11421                 "$ref": "#/definitions/NotifyWatchResult"
11422               }
11423             }
11424           },
11425           "additionalProperties": false,
11426           "required": [
11427             "Results"
11428           ]
11429         },
11430         "caveat": {
11431           "type": "object",
11432           "properties": {
11433             "caveatId": {
11434               "$ref": "#/definitions/packet"
11435             },
11436             "location": {
11437               "$ref": "#/definitions/packet"
11438             },
11439             "verificationId": {
11440               "$ref": "#/definitions/packet"
11441             }
11442           },
11443           "additionalProperties": false,
11444           "required": [
11445             "location",
11446             "caveatId",
11447             "verificationId"
11448           ]
11449         },
11450         "packet": {
11451           "type": "object",
11452           "properties": {
11453             "headerLen": {
11454               "type": "integer"
11455             },
11456             "start": {
11457               "type": "integer"
11458             },
11459             "totalLen": {
11460               "type": "integer"
11461             }
11462           },
11463           "additionalProperties": false,
11464           "required": [
11465             "start",
11466             "totalLen",
11467             "headerLen"
11468           ]
11469         }
11470       }
11471     }
11472   },
11473   {
11474     "Name": "MetricsAdder",
11475     "Version": 2,
11476     "Schema": {
11477       "type": "object",
11478       "properties": {
11479         "AddMetricBatches": {
11480           "type": "object",
11481           "properties": {
11482             "Params": {
11483               "$ref": "#/definitions/MetricBatchParams"
11484             },
11485             "Result": {
11486               "$ref": "#/definitions/ErrorResults"
11487             }
11488           }
11489         }
11490       },
11491       "definitions": {
11492         "Error": {
11493           "type": "object",
11494           "properties": {
11495             "Code": {
11496               "type": "string"
11497             },
11498             "Info": {
11499               "$ref": "#/definitions/ErrorInfo"
11500             },
11501             "Message": {
11502               "type": "string"
11503             }
11504           },
11505           "additionalProperties": false,
11506           "required": [
11507             "Message",
11508             "Code"
11509           ]
11510         },
11511         "ErrorInfo": {
11512           "type": "object",
11513           "properties": {
11514             "Macaroon": {
11515               "$ref": "#/definitions/Macaroon"
11516             },
11517             "MacaroonPath": {
11518               "type": "string"
11519             }
11520           },
11521           "additionalProperties": false
11522         },
11523         "ErrorResult": {
11524           "type": "object",
11525           "properties": {
11526             "Error": {
11527               "$ref": "#/definitions/Error"
11528             }
11529           },
11530           "additionalProperties": false,
11531           "required": [
11532             "Error"
11533           ]
11534         },
11535         "ErrorResults": {
11536           "type": "object",
11537           "properties": {
11538             "Results": {
11539               "type": "array",
11540               "items": {
11541                 "$ref": "#/definitions/ErrorResult"
11542               }
11543             }
11544           },
11545           "additionalProperties": false,
11546           "required": [
11547             "Results"
11548           ]
11549         },
11550         "Macaroon": {
11551           "type": "object",
11552           "properties": {
11553             "caveats": {
11554               "type": "array",
11555               "items": {
11556                 "$ref": "#/definitions/caveat"
11557               }
11558             },
11559             "data": {
11560               "type": "array",
11561               "items": {
11562                 "type": "integer"
11563               }
11564             },
11565             "id": {
11566               "$ref": "#/definitions/packet"
11567             },
11568             "location": {
11569               "$ref": "#/definitions/packet"
11570             },
11571             "sig": {
11572               "type": "array",
11573               "items": {
11574                 "type": "integer"
11575               }
11576             }
11577           },
11578           "additionalProperties": false,
11579           "required": [
11580             "data",
11581             "location",
11582             "id",
11583             "caveats",
11584             "sig"
11585           ]
11586         },
11587         "Metric": {
11588           "type": "object",
11589           "properties": {
11590             "Key": {
11591               "type": "string"
11592             },
11593             "Time": {
11594               "type": "string",
11595               "format": "date-time"
11596             },
11597             "Value": {
11598               "type": "string"
11599             }
11600           },
11601           "additionalProperties": false,
11602           "required": [
11603             "Key",
11604             "Value",
11605             "Time"
11606           ]
11607         },
11608         "MetricBatch": {
11609           "type": "object",
11610           "properties": {
11611             "CharmURL": {
11612               "type": "string"
11613             },
11614             "Created": {
11615               "type": "string",
11616               "format": "date-time"
11617             },
11618             "Metrics": {
11619               "type": "array",
11620               "items": {
11621                 "$ref": "#/definitions/Metric"
11622               }
11623             },
11624             "UUID": {
11625               "type": "string"
11626             }
11627           },
11628           "additionalProperties": false,
11629           "required": [
11630             "UUID",
11631             "CharmURL",
11632             "Created",
11633             "Metrics"
11634           ]
11635         },
11636         "MetricBatchParam": {
11637           "type": "object",
11638           "properties": {
11639             "Batch": {
11640               "$ref": "#/definitions/MetricBatch"
11641             },
11642             "Tag": {
11643               "type": "string"
11644             }
11645           },
11646           "additionalProperties": false,
11647           "required": [
11648             "Tag",
11649             "Batch"
11650           ]
11651         },
11652         "MetricBatchParams": {
11653           "type": "object",
11654           "properties": {
11655             "Batches": {
11656               "type": "array",
11657               "items": {
11658                 "$ref": "#/definitions/MetricBatchParam"
11659               }
11660             }
11661           },
11662           "additionalProperties": false,
11663           "required": [
11664             "Batches"
11665           ]
11666         },
11667         "caveat": {
11668           "type": "object",
11669           "properties": {
11670             "caveatId": {
11671               "$ref": "#/definitions/packet"
11672             },
11673             "location": {
11674               "$ref": "#/definitions/packet"
11675             },
11676             "verificationId": {
11677               "$ref": "#/definitions/packet"
11678             }
11679           },
11680           "additionalProperties": false,
11681           "required": [
11682             "location",
11683             "caveatId",
11684             "verificationId"
11685           ]
11686         },
11687         "packet": {
11688           "type": "object",
11689           "properties": {
11690             "headerLen": {
11691               "type": "integer"
11692             },
11693             "start": {
11694               "type": "integer"
11695             },
11696             "totalLen": {
11697               "type": "integer"
11698             }
11699           },
11700           "additionalProperties": false,
11701           "required": [
11702             "start",
11703             "totalLen",
11704             "headerLen"
11705           ]
11706         }
11707       }
11708     }
11709   },
11710   {
11711     "Name": "MetricsDebug",
11712     "Version": 1,
11713     "Schema": {
11714       "type": "object",
11715       "properties": {
11716         "GetMetrics": {
11717           "type": "object",
11718           "properties": {
11719             "Params": {
11720               "$ref": "#/definitions/Entities"
11721             },
11722             "Result": {
11723               "$ref": "#/definitions/MetricResults"
11724             }
11725           }
11726         },
11727         "SetMeterStatus": {
11728           "type": "object",
11729           "properties": {
11730             "Params": {
11731               "$ref": "#/definitions/MeterStatusParams"
11732             },
11733             "Result": {
11734               "$ref": "#/definitions/ErrorResults"
11735             }
11736           }
11737         }
11738       },
11739       "definitions": {
11740         "Entities": {
11741           "type": "object",
11742           "properties": {
11743             "Entities": {
11744               "type": "array",
11745               "items": {
11746                 "$ref": "#/definitions/Entity"
11747               }
11748             }
11749           },
11750           "additionalProperties": false,
11751           "required": [
11752             "Entities"
11753           ]
11754         },
11755         "Entity": {
11756           "type": "object",
11757           "properties": {
11758             "Tag": {
11759               "type": "string"
11760             }
11761           },
11762           "additionalProperties": false,
11763           "required": [
11764             "Tag"
11765           ]
11766         },
11767         "EntityMetrics": {
11768           "type": "object",
11769           "properties": {
11770             "error": {
11771               "$ref": "#/definitions/Error"
11772             },
11773             "metrics": {
11774               "type": "array",
11775               "items": {
11776                 "$ref": "#/definitions/MetricResult"
11777               }
11778             }
11779           },
11780           "additionalProperties": false
11781         },
11782         "Error": {
11783           "type": "object",
11784           "properties": {
11785             "Code": {
11786               "type": "string"
11787             },
11788             "Info": {
11789               "$ref": "#/definitions/ErrorInfo"
11790             },
11791             "Message": {
11792               "type": "string"
11793             }
11794           },
11795           "additionalProperties": false,
11796           "required": [
11797             "Message",
11798             "Code"
11799           ]
11800         },
11801         "ErrorInfo": {
11802           "type": "object",
11803           "properties": {
11804             "Macaroon": {
11805               "$ref": "#/definitions/Macaroon"
11806             },
11807             "MacaroonPath": {
11808               "type": "string"
11809             }
11810           },
11811           "additionalProperties": false
11812         },
11813         "ErrorResult": {
11814           "type": "object",
11815           "properties": {
11816             "Error": {
11817               "$ref": "#/definitions/Error"
11818             }
11819           },
11820           "additionalProperties": false,
11821           "required": [
11822             "Error"
11823           ]
11824         },
11825         "ErrorResults": {
11826           "type": "object",
11827           "properties": {
11828             "Results": {
11829               "type": "array",
11830               "items": {
11831                 "$ref": "#/definitions/ErrorResult"
11832               }
11833             }
11834           },
11835           "additionalProperties": false,
11836           "required": [
11837             "Results"
11838           ]
11839         },
11840         "Macaroon": {
11841           "type": "object",
11842           "properties": {
11843             "caveats": {
11844               "type": "array",
11845               "items": {
11846                 "$ref": "#/definitions/caveat"
11847               }
11848             },
11849             "data": {
11850               "type": "array",
11851               "items": {
11852                 "type": "integer"
11853               }
11854             },
11855             "id": {
11856               "$ref": "#/definitions/packet"
11857             },
11858             "location": {
11859               "$ref": "#/definitions/packet"
11860             },
11861             "sig": {
11862               "type": "array",
11863               "items": {
11864                 "type": "integer"
11865               }
11866             }
11867           },
11868           "additionalProperties": false,
11869           "required": [
11870             "data",
11871             "location",
11872             "id",
11873             "caveats",
11874             "sig"
11875           ]
11876         },
11877         "MeterStatusParam": {
11878           "type": "object",
11879           "properties": {
11880             "code": {
11881               "type": "string"
11882             },
11883             "info": {
11884               "type": "string"
11885             },
11886             "tag": {
11887               "type": "string"
11888             }
11889           },
11890           "additionalProperties": false,
11891           "required": [
11892             "tag",
11893             "code",
11894             "info"
11895           ]
11896         },
11897         "MeterStatusParams": {
11898           "type": "object",
11899           "properties": {
11900             "statues": {
11901               "type": "array",
11902               "items": {
11903                 "$ref": "#/definitions/MeterStatusParam"
11904               }
11905             }
11906           },
11907           "additionalProperties": false,
11908           "required": [
11909             "statues"
11910           ]
11911         },
11912         "MetricResult": {
11913           "type": "object",
11914           "properties": {
11915             "key": {
11916               "type": "string"
11917             },
11918             "time": {
11919               "type": "string",
11920               "format": "date-time"
11921             },
11922             "value": {
11923               "type": "string"
11924             }
11925           },
11926           "additionalProperties": false,
11927           "required": [
11928             "time",
11929             "key",
11930             "value"
11931           ]
11932         },
11933         "MetricResults": {
11934           "type": "object",
11935           "properties": {
11936             "results": {
11937               "type": "array",
11938               "items": {
11939                 "$ref": "#/definitions/EntityMetrics"
11940               }
11941             }
11942           },
11943           "additionalProperties": false,
11944           "required": [
11945             "results"
11946           ]
11947         },
11948         "caveat": {
11949           "type": "object",
11950           "properties": {
11951             "caveatId": {
11952               "$ref": "#/definitions/packet"
11953             },
11954             "location": {
11955               "$ref": "#/definitions/packet"
11956             },
11957             "verificationId": {
11958               "$ref": "#/definitions/packet"
11959             }
11960           },
11961           "additionalProperties": false,
11962           "required": [
11963             "location",
11964             "caveatId",
11965             "verificationId"
11966           ]
11967         },
11968         "packet": {
11969           "type": "object",
11970           "properties": {
11971             "headerLen": {
11972               "type": "integer"
11973             },
11974             "start": {
11975               "type": "integer"
11976             },
11977             "totalLen": {
11978               "type": "integer"
11979             }
11980           },
11981           "additionalProperties": false,
11982           "required": [
11983             "start",
11984             "totalLen",
11985             "headerLen"
11986           ]
11987         }
11988       }
11989     }
11990   },
11991   {
11992     "Name": "MetricsManager",
11993     "Version": 1,
11994     "Schema": {
11995       "type": "object",
11996       "properties": {
11997         "CleanupOldMetrics": {
11998           "type": "object",
11999           "properties": {
12000             "Params": {
12001               "$ref": "#/definitions/Entities"
12002             },
12003             "Result": {
12004               "$ref": "#/definitions/ErrorResults"
12005             }
12006           }
12007         },
12008         "SendMetrics": {
12009           "type": "object",
12010           "properties": {
12011             "Params": {
12012               "$ref": "#/definitions/Entities"
12013             },
12014             "Result": {
12015               "$ref": "#/definitions/ErrorResults"
12016             }
12017           }
12018         }
12019       },
12020       "definitions": {
12021         "Entities": {
12022           "type": "object",
12023           "properties": {
12024             "Entities": {
12025               "type": "array",
12026               "items": {
12027                 "$ref": "#/definitions/Entity"
12028               }
12029             }
12030           },
12031           "additionalProperties": false,
12032           "required": [
12033             "Entities"
12034           ]
12035         },
12036         "Entity": {
12037           "type": "object",
12038           "properties": {
12039             "Tag": {
12040               "type": "string"
12041             }
12042           },
12043           "additionalProperties": false,
12044           "required": [
12045             "Tag"
12046           ]
12047         },
12048         "Error": {
12049           "type": "object",
12050           "properties": {
12051             "Code": {
12052               "type": "string"
12053             },
12054             "Info": {
12055               "$ref": "#/definitions/ErrorInfo"
12056             },
12057             "Message": {
12058               "type": "string"
12059             }
12060           },
12061           "additionalProperties": false,
12062           "required": [
12063             "Message",
12064             "Code"
12065           ]
12066         },
12067         "ErrorInfo": {
12068           "type": "object",
12069           "properties": {
12070             "Macaroon": {
12071               "$ref": "#/definitions/Macaroon"
12072             },
12073             "MacaroonPath": {
12074               "type": "string"
12075             }
12076           },
12077           "additionalProperties": false
12078         },
12079         "ErrorResult": {
12080           "type": "object",
12081           "properties": {
12082             "Error": {
12083               "$ref": "#/definitions/Error"
12084             }
12085           },
12086           "additionalProperties": false,
12087           "required": [
12088             "Error"
12089           ]
12090         },
12091         "ErrorResults": {
12092           "type": "object",
12093           "properties": {
12094             "Results": {
12095               "type": "array",
12096               "items": {
12097                 "$ref": "#/definitions/ErrorResult"
12098               }
12099             }
12100           },
12101           "additionalProperties": false,
12102           "required": [
12103             "Results"
12104           ]
12105         },
12106         "Macaroon": {
12107           "type": "object",
12108           "properties": {
12109             "caveats": {
12110               "type": "array",
12111               "items": {
12112                 "$ref": "#/definitions/caveat"
12113               }
12114             },
12115             "data": {
12116               "type": "array",
12117               "items": {
12118                 "type": "integer"
12119               }
12120             },
12121             "id": {
12122               "$ref": "#/definitions/packet"
12123             },
12124             "location": {
12125               "$ref": "#/definitions/packet"
12126             },
12127             "sig": {
12128               "type": "array",
12129               "items": {
12130                 "type": "integer"
12131               }
12132             }
12133           },
12134           "additionalProperties": false,
12135           "required": [
12136             "data",
12137             "location",
12138             "id",
12139             "caveats",
12140             "sig"
12141           ]
12142         },
12143         "caveat": {
12144           "type": "object",
12145           "properties": {
12146             "caveatId": {
12147               "$ref": "#/definitions/packet"
12148             },
12149             "location": {
12150               "$ref": "#/definitions/packet"
12151             },
12152             "verificationId": {
12153               "$ref": "#/definitions/packet"
12154             }
12155           },
12156           "additionalProperties": false,
12157           "required": [
12158             "location",
12159             "caveatId",
12160             "verificationId"
12161           ]
12162         },
12163         "packet": {
12164           "type": "object",
12165           "properties": {
12166             "headerLen": {
12167               "type": "integer"
12168             },
12169             "start": {
12170               "type": "integer"
12171             },
12172             "totalLen": {
12173               "type": "integer"
12174             }
12175           },
12176           "additionalProperties": false,
12177           "required": [
12178             "start",
12179             "totalLen",
12180             "headerLen"
12181           ]
12182         }
12183       }
12184     }
12185   },
12186   {
12187     "Name": "MigrationFlag",
12188     "Version": 1,
12189     "Schema": {
12190       "type": "object",
12191       "properties": {
12192         "Phase": {
12193           "type": "object",
12194           "properties": {
12195             "Params": {
12196               "$ref": "#/definitions/Entities"
12197             },
12198             "Result": {
12199               "$ref": "#/definitions/PhaseResults"
12200             }
12201           }
12202         },
12203         "Watch": {
12204           "type": "object",
12205           "properties": {
12206             "Params": {
12207               "$ref": "#/definitions/Entities"
12208             },
12209             "Result": {
12210               "$ref": "#/definitions/NotifyWatchResults"
12211             }
12212           }
12213         }
12214       },
12215       "definitions": {
12216         "Entities": {
12217           "type": "object",
12218           "properties": {
12219             "Entities": {
12220               "type": "array",
12221               "items": {
12222                 "$ref": "#/definitions/Entity"
12223               }
12224             }
12225           },
12226           "additionalProperties": false,
12227           "required": [
12228             "Entities"
12229           ]
12230         },
12231         "Entity": {
12232           "type": "object",
12233           "properties": {
12234             "Tag": {
12235               "type": "string"
12236             }
12237           },
12238           "additionalProperties": false,
12239           "required": [
12240             "Tag"
12241           ]
12242         },
12243         "Error": {
12244           "type": "object",
12245           "properties": {
12246             "Code": {
12247               "type": "string"
12248             },
12249             "Info": {
12250               "$ref": "#/definitions/ErrorInfo"
12251             },
12252             "Message": {
12253               "type": "string"
12254             }
12255           },
12256           "additionalProperties": false,
12257           "required": [
12258             "Message",
12259             "Code"
12260           ]
12261         },
12262         "ErrorInfo": {
12263           "type": "object",
12264           "properties": {
12265             "Macaroon": {
12266               "$ref": "#/definitions/Macaroon"
12267             },
12268             "MacaroonPath": {
12269               "type": "string"
12270             }
12271           },
12272           "additionalProperties": false
12273         },
12274         "Macaroon": {
12275           "type": "object",
12276           "properties": {
12277             "caveats": {
12278               "type": "array",
12279               "items": {
12280                 "$ref": "#/definitions/caveat"
12281               }
12282             },
12283             "data": {
12284               "type": "array",
12285               "items": {
12286                 "type": "integer"
12287               }
12288             },
12289             "id": {
12290               "$ref": "#/definitions/packet"
12291             },
12292             "location": {
12293               "$ref": "#/definitions/packet"
12294             },
12295             "sig": {
12296               "type": "array",
12297               "items": {
12298                 "type": "integer"
12299               }
12300             }
12301           },
12302           "additionalProperties": false,
12303           "required": [
12304             "data",
12305             "location",
12306             "id",
12307             "caveats",
12308             "sig"
12309           ]
12310         },
12311         "NotifyWatchResult": {
12312           "type": "object",
12313           "properties": {
12314             "Error": {
12315               "$ref": "#/definitions/Error"
12316             },
12317             "NotifyWatcherId": {
12318               "type": "string"
12319             }
12320           },
12321           "additionalProperties": false,
12322           "required": [
12323             "NotifyWatcherId",
12324             "Error"
12325           ]
12326         },
12327         "NotifyWatchResults": {
12328           "type": "object",
12329           "properties": {
12330             "Results": {
12331               "type": "array",
12332               "items": {
12333                 "$ref": "#/definitions/NotifyWatchResult"
12334               }
12335             }
12336           },
12337           "additionalProperties": false,
12338           "required": [
12339             "Results"
12340           ]
12341         },
12342         "PhaseResult": {
12343           "type": "object",
12344           "properties": {
12345             "Error": {
12346               "$ref": "#/definitions/Error"
12347             },
12348             "phase": {
12349               "type": "string"
12350             }
12351           },
12352           "additionalProperties": false,
12353           "required": [
12354             "phase",
12355             "Error"
12356           ]
12357         },
12358         "PhaseResults": {
12359           "type": "object",
12360           "properties": {
12361             "Results": {
12362               "type": "array",
12363               "items": {
12364                 "$ref": "#/definitions/PhaseResult"
12365               }
12366             }
12367           },
12368           "additionalProperties": false,
12369           "required": [
12370             "Results"
12371           ]
12372         },
12373         "caveat": {
12374           "type": "object",
12375           "properties": {
12376             "caveatId": {
12377               "$ref": "#/definitions/packet"
12378             },
12379             "location": {
12380               "$ref": "#/definitions/packet"
12381             },
12382             "verificationId": {
12383               "$ref": "#/definitions/packet"
12384             }
12385           },
12386           "additionalProperties": false,
12387           "required": [
12388             "location",
12389             "caveatId",
12390             "verificationId"
12391           ]
12392         },
12393         "packet": {
12394           "type": "object",
12395           "properties": {
12396             "headerLen": {
12397               "type": "integer"
12398             },
12399             "start": {
12400               "type": "integer"
12401             },
12402             "totalLen": {
12403               "type": "integer"
12404             }
12405           },
12406           "additionalProperties": false,
12407           "required": [
12408             "start",
12409             "totalLen",
12410             "headerLen"
12411           ]
12412         }
12413       }
12414     }
12415   },
12416   {
12417     "Name": "MigrationMaster",
12418     "Version": 1,
12419     "Schema": {
12420       "type": "object",
12421       "properties": {
12422         "Export": {
12423           "type": "object",
12424           "properties": {
12425             "Result": {
12426               "$ref": "#/definitions/SerializedModel"
12427             }
12428           }
12429         },
12430         "GetMigrationStatus": {
12431           "type": "object",
12432           "properties": {
12433             "Result": {
12434               "$ref": "#/definitions/FullMigrationStatus"
12435             }
12436           }
12437         },
12438         "SetPhase": {
12439           "type": "object",
12440           "properties": {
12441             "Params": {
12442               "$ref": "#/definitions/SetMigrationPhaseArgs"
12443             }
12444           }
12445         },
12446         "Watch": {
12447           "type": "object",
12448           "properties": {
12449             "Result": {
12450               "$ref": "#/definitions/NotifyWatchResult"
12451             }
12452           }
12453         }
12454       },
12455       "definitions": {
12456         "Error": {
12457           "type": "object",
12458           "properties": {
12459             "Code": {
12460               "type": "string"
12461             },
12462             "Info": {
12463               "$ref": "#/definitions/ErrorInfo"
12464             },
12465             "Message": {
12466               "type": "string"
12467             }
12468           },
12469           "additionalProperties": false,
12470           "required": [
12471             "Message",
12472             "Code"
12473           ]
12474         },
12475         "ErrorInfo": {
12476           "type": "object",
12477           "properties": {
12478             "Macaroon": {
12479               "$ref": "#/definitions/Macaroon"
12480             },
12481             "MacaroonPath": {
12482               "type": "string"
12483             }
12484           },
12485           "additionalProperties": false
12486         },
12487         "FullMigrationStatus": {
12488           "type": "object",
12489           "properties": {
12490             "attempt": {
12491               "type": "integer"
12492             },
12493             "phase": {
12494               "type": "string"
12495             },
12496             "spec": {
12497               "$ref": "#/definitions/ModelMigrationSpec"
12498             }
12499           },
12500           "additionalProperties": false,
12501           "required": [
12502             "spec",
12503             "attempt",
12504             "phase"
12505           ]
12506         },
12507         "Macaroon": {
12508           "type": "object",
12509           "properties": {
12510             "caveats": {
12511               "type": "array",
12512               "items": {
12513                 "$ref": "#/definitions/caveat"
12514               }
12515             },
12516             "data": {
12517               "type": "array",
12518               "items": {
12519                 "type": "integer"
12520               }
12521             },
12522             "id": {
12523               "$ref": "#/definitions/packet"
12524             },
12525             "location": {
12526               "$ref": "#/definitions/packet"
12527             },
12528             "sig": {
12529               "type": "array",
12530               "items": {
12531                 "type": "integer"
12532               }
12533             }
12534           },
12535           "additionalProperties": false,
12536           "required": [
12537             "data",
12538             "location",
12539             "id",
12540             "caveats",
12541             "sig"
12542           ]
12543         },
12544         "ModelMigrationSpec": {
12545           "type": "object",
12546           "properties": {
12547             "model-tag": {
12548               "type": "string"
12549             },
12550             "target-info": {
12551               "$ref": "#/definitions/ModelMigrationTargetInfo"
12552             }
12553           },
12554           "additionalProperties": false,
12555           "required": [
12556             "model-tag",
12557             "target-info"
12558           ]
12559         },
12560         "ModelMigrationTargetInfo": {
12561           "type": "object",
12562           "properties": {
12563             "addrs": {
12564               "type": "array",
12565               "items": {
12566                 "type": "string"
12567               }
12568             },
12569             "auth-tag": {
12570               "type": "string"
12571             },
12572             "ca-cert": {
12573               "type": "string"
12574             },
12575             "controller-tag": {
12576               "type": "string"
12577             },
12578             "password": {
12579               "type": "string"
12580             }
12581           },
12582           "additionalProperties": false,
12583           "required": [
12584             "controller-tag",
12585             "addrs",
12586             "ca-cert",
12587             "auth-tag",
12588             "password"
12589           ]
12590         },
12591         "NotifyWatchResult": {
12592           "type": "object",
12593           "properties": {
12594             "Error": {
12595               "$ref": "#/definitions/Error"
12596             },
12597             "NotifyWatcherId": {
12598               "type": "string"
12599             }
12600           },
12601           "additionalProperties": false,
12602           "required": [
12603             "NotifyWatcherId",
12604             "Error"
12605           ]
12606         },
12607         "SerializedModel": {
12608           "type": "object",
12609           "properties": {
12610             "bytes": {
12611               "type": "array",
12612               "items": {
12613                 "type": "integer"
12614               }
12615             }
12616           },
12617           "additionalProperties": false,
12618           "required": [
12619             "bytes"
12620           ]
12621         },
12622         "SetMigrationPhaseArgs": {
12623           "type": "object",
12624           "properties": {
12625             "phase": {
12626               "type": "string"
12627             }
12628           },
12629           "additionalProperties": false,
12630           "required": [
12631             "phase"
12632           ]
12633         },
12634         "caveat": {
12635           "type": "object",
12636           "properties": {
12637             "caveatId": {
12638               "$ref": "#/definitions/packet"
12639             },
12640             "location": {
12641               "$ref": "#/definitions/packet"
12642             },
12643             "verificationId": {
12644               "$ref": "#/definitions/packet"
12645             }
12646           },
12647           "additionalProperties": false,
12648           "required": [
12649             "location",
12650             "caveatId",
12651             "verificationId"
12652           ]
12653         },
12654         "packet": {
12655           "type": "object",
12656           "properties": {
12657             "headerLen": {
12658               "type": "integer"
12659             },
12660             "start": {
12661               "type": "integer"
12662             },
12663             "totalLen": {
12664               "type": "integer"
12665             }
12666           },
12667           "additionalProperties": false,
12668           "required": [
12669             "start",
12670             "totalLen",
12671             "headerLen"
12672           ]
12673         }
12674       }
12675     }
12676   },
12677   {
12678     "Name": "MigrationMinion",
12679     "Version": 1,
12680     "Schema": {
12681       "type": "object",
12682       "properties": {
12683         "Watch": {
12684           "type": "object",
12685           "properties": {
12686             "Result": {
12687               "$ref": "#/definitions/NotifyWatchResult"
12688             }
12689           }
12690         }
12691       },
12692       "definitions": {
12693         "Error": {
12694           "type": "object",
12695           "properties": {
12696             "Code": {
12697               "type": "string"
12698             },
12699             "Info": {
12700               "$ref": "#/definitions/ErrorInfo"
12701             },
12702             "Message": {
12703               "type": "string"
12704             }
12705           },
12706           "additionalProperties": false,
12707           "required": [
12708             "Message",
12709             "Code"
12710           ]
12711         },
12712         "ErrorInfo": {
12713           "type": "object",
12714           "properties": {
12715             "Macaroon": {
12716               "$ref": "#/definitions/Macaroon"
12717             },
12718             "MacaroonPath": {
12719               "type": "string"
12720             }
12721           },
12722           "additionalProperties": false
12723         },
12724         "Macaroon": {
12725           "type": "object",
12726           "properties": {
12727             "caveats": {
12728               "type": "array",
12729               "items": {
12730                 "$ref": "#/definitions/caveat"
12731               }
12732             },
12733             "data": {
12734               "type": "array",
12735               "items": {
12736                 "type": "integer"
12737               }
12738             },
12739             "id": {
12740               "$ref": "#/definitions/packet"
12741             },
12742             "location": {
12743               "$ref": "#/definitions/packet"
12744             },
12745             "sig": {
12746               "type": "array",
12747               "items": {
12748                 "type": "integer"
12749               }
12750             }
12751           },
12752           "additionalProperties": false,
12753           "required": [
12754             "data",
12755             "location",
12756             "id",
12757             "caveats",
12758             "sig"
12759           ]
12760         },
12761         "NotifyWatchResult": {
12762           "type": "object",
12763           "properties": {
12764             "Error": {
12765               "$ref": "#/definitions/Error"
12766             },
12767             "NotifyWatcherId": {
12768               "type": "string"
12769             }
12770           },
12771           "additionalProperties": false,
12772           "required": [
12773             "NotifyWatcherId",
12774             "Error"
12775           ]
12776         },
12777         "caveat": {
12778           "type": "object",
12779           "properties": {
12780             "caveatId": {
12781               "$ref": "#/definitions/packet"
12782             },
12783             "location": {
12784               "$ref": "#/definitions/packet"
12785             },
12786             "verificationId": {
12787               "$ref": "#/definitions/packet"
12788             }
12789           },
12790           "additionalProperties": false,
12791           "required": [
12792             "location",
12793             "caveatId",
12794             "verificationId"
12795           ]
12796         },
12797         "packet": {
12798           "type": "object",
12799           "properties": {
12800             "headerLen": {
12801               "type": "integer"
12802             },
12803             "start": {
12804               "type": "integer"
12805             },
12806             "totalLen": {
12807               "type": "integer"
12808             }
12809           },
12810           "additionalProperties": false,
12811           "required": [
12812             "start",
12813             "totalLen",
12814             "headerLen"
12815           ]
12816         }
12817       }
12818     }
12819   },
12820   {
12821     "Name": "MigrationStatusWatcher",
12822     "Version": 1,
12823     "Schema": {
12824       "type": "object",
12825       "properties": {
12826         "Next": {
12827           "type": "object",
12828           "properties": {
12829             "Result": {
12830               "$ref": "#/definitions/MigrationStatus"
12831             }
12832           }
12833         },
12834         "Stop": {
12835           "type": "object"
12836         }
12837       },
12838       "definitions": {
12839         "MigrationStatus": {
12840           "type": "object",
12841           "properties": {
12842             "attempt": {
12843               "type": "integer"
12844             },
12845             "phase": {
12846               "type": "string"
12847             },
12848             "source-api-addrs": {
12849               "type": "array",
12850               "items": {
12851                 "type": "string"
12852               }
12853             },
12854             "source-ca-cert": {
12855               "type": "string"
12856             },
12857             "target-api-addrs": {
12858               "type": "array",
12859               "items": {
12860                 "type": "string"
12861               }
12862             },
12863             "target-ca-cert": {
12864               "type": "string"
12865             }
12866           },
12867           "additionalProperties": false,
12868           "required": [
12869             "attempt",
12870             "phase",
12871             "source-api-addrs",
12872             "source-ca-cert",
12873             "target-api-addrs",
12874             "target-ca-cert"
12875           ]
12876         }
12877       }
12878     }
12879   },
12880   {
12881     "Name": "MigrationTarget",
12882     "Version": 1,
12883     "Schema": {
12884       "type": "object",
12885       "properties": {
12886         "Abort": {
12887           "type": "object",
12888           "properties": {
12889             "Params": {
12890               "$ref": "#/definitions/ModelArgs"
12891             }
12892           }
12893         },
12894         "Activate": {
12895           "type": "object",
12896           "properties": {
12897             "Params": {
12898               "$ref": "#/definitions/ModelArgs"
12899             }
12900           }
12901         },
12902         "Import": {
12903           "type": "object",
12904           "properties": {
12905             "Params": {
12906               "$ref": "#/definitions/SerializedModel"
12907             }
12908           }
12909         }
12910       },
12911       "definitions": {
12912         "ModelArgs": {
12913           "type": "object",
12914           "properties": {
12915             "model-tag": {
12916               "type": "string"
12917             }
12918           },
12919           "additionalProperties": false,
12920           "required": [
12921             "model-tag"
12922           ]
12923         },
12924         "SerializedModel": {
12925           "type": "object",
12926           "properties": {
12927             "bytes": {
12928               "type": "array",
12929               "items": {
12930                 "type": "integer"
12931               }
12932             }
12933           },
12934           "additionalProperties": false,
12935           "required": [
12936             "bytes"
12937           ]
12938         }
12939       }
12940     }
12941   },
12942   {
12943     "Name": "ModelManager",
12944     "Version": 2,
12945     "Schema": {
12946       "type": "object",
12947       "properties": {
12948         "ConfigSkeleton": {
12949           "type": "object",
12950           "properties": {
12951             "Params": {
12952               "$ref": "#/definitions/ModelSkeletonConfigArgs"
12953             },
12954             "Result": {
12955               "$ref": "#/definitions/ModelConfigResult"
12956             }
12957           }
12958         },
12959         "CreateModel": {
12960           "type": "object",
12961           "properties": {
12962             "Params": {
12963               "$ref": "#/definitions/ModelCreateArgs"
12964             },
12965             "Result": {
12966               "$ref": "#/definitions/Model"
12967             }
12968           }
12969         },
12970         "ListModels": {
12971           "type": "object",
12972           "properties": {
12973             "Params": {
12974               "$ref": "#/definitions/Entity"
12975             },
12976             "Result": {
12977               "$ref": "#/definitions/UserModelList"
12978             }
12979           }
12980         },
12981         "ModelInfo": {
12982           "type": "object",
12983           "properties": {
12984             "Params": {
12985               "$ref": "#/definitions/Entities"
12986             },
12987             "Result": {
12988               "$ref": "#/definitions/ModelInfoResults"
12989             }
12990           }
12991         },
12992         "ModifyModelAccess": {
12993           "type": "object",
12994           "properties": {
12995             "Params": {
12996               "$ref": "#/definitions/ModifyModelAccessRequest"
12997             },
12998             "Result": {
12999               "$ref": "#/definitions/ErrorResults"
13000             }
13001           }
13002         }
13003       },
13004       "definitions": {
13005         "Entities": {
13006           "type": "object",
13007           "properties": {
13008             "Entities": {
13009               "type": "array",
13010               "items": {
13011                 "$ref": "#/definitions/Entity"
13012               }
13013             }
13014           },
13015           "additionalProperties": false,
13016           "required": [
13017             "Entities"
13018           ]
13019         },
13020         "Entity": {
13021           "type": "object",
13022           "properties": {
13023             "Tag": {
13024               "type": "string"
13025             }
13026           },
13027           "additionalProperties": false,
13028           "required": [
13029             "Tag"
13030           ]
13031         },
13032         "EntityStatus": {
13033           "type": "object",
13034           "properties": {
13035             "Data": {
13036               "type": "object",
13037               "patternProperties": {
13038                 ".*": {
13039                   "type": "object",
13040                   "additionalProperties": true
13041                 }
13042               }
13043             },
13044             "Info": {
13045               "type": "string"
13046             },
13047             "Since": {
13048               "type": "string",
13049               "format": "date-time"
13050             },
13051             "Status": {
13052               "type": "string"
13053             }
13054           },
13055           "additionalProperties": false,
13056           "required": [
13057             "Status",
13058             "Info",
13059             "Data",
13060             "Since"
13061           ]
13062         },
13063         "Error": {
13064           "type": "object",
13065           "properties": {
13066             "Code": {
13067               "type": "string"
13068             },
13069             "Info": {
13070               "$ref": "#/definitions/ErrorInfo"
13071             },
13072             "Message": {
13073               "type": "string"
13074             }
13075           },
13076           "additionalProperties": false,
13077           "required": [
13078             "Message",
13079             "Code"
13080           ]
13081         },
13082         "ErrorInfo": {
13083           "type": "object",
13084           "properties": {
13085             "Macaroon": {
13086               "$ref": "#/definitions/Macaroon"
13087             },
13088             "MacaroonPath": {
13089               "type": "string"
13090             }
13091           },
13092           "additionalProperties": false
13093         },
13094         "ErrorResult": {
13095           "type": "object",
13096           "properties": {
13097             "Error": {
13098               "$ref": "#/definitions/Error"
13099             }
13100           },
13101           "additionalProperties": false,
13102           "required": [
13103             "Error"
13104           ]
13105         },
13106         "ErrorResults": {
13107           "type": "object",
13108           "properties": {
13109             "Results": {
13110               "type": "array",
13111               "items": {
13112                 "$ref": "#/definitions/ErrorResult"
13113               }
13114             }
13115           },
13116           "additionalProperties": false,
13117           "required": [
13118             "Results"
13119           ]
13120         },
13121         "Macaroon": {
13122           "type": "object",
13123           "properties": {
13124             "caveats": {
13125               "type": "array",
13126               "items": {
13127                 "$ref": "#/definitions/caveat"
13128               }
13129             },
13130             "data": {
13131               "type": "array",
13132               "items": {
13133                 "type": "integer"
13134               }
13135             },
13136             "id": {
13137               "$ref": "#/definitions/packet"
13138             },
13139             "location": {
13140               "$ref": "#/definitions/packet"
13141             },
13142             "sig": {
13143               "type": "array",
13144               "items": {
13145                 "type": "integer"
13146               }
13147             }
13148           },
13149           "additionalProperties": false,
13150           "required": [
13151             "data",
13152             "location",
13153             "id",
13154             "caveats",
13155             "sig"
13156           ]
13157         },
13158         "Model": {
13159           "type": "object",
13160           "properties": {
13161             "Name": {
13162               "type": "string"
13163             },
13164             "OwnerTag": {
13165               "type": "string"
13166             },
13167             "UUID": {
13168               "type": "string"
13169             }
13170           },
13171           "additionalProperties": false,
13172           "required": [
13173             "Name",
13174             "UUID",
13175             "OwnerTag"
13176           ]
13177         },
13178         "ModelConfigResult": {
13179           "type": "object",
13180           "properties": {
13181             "Config": {
13182               "type": "object",
13183               "patternProperties": {
13184                 ".*": {
13185                   "type": "object",
13186                   "additionalProperties": true
13187                 }
13188               }
13189             }
13190           },
13191           "additionalProperties": false,
13192           "required": [
13193             "Config"
13194           ]
13195         },
13196         "ModelCreateArgs": {
13197           "type": "object",
13198           "properties": {
13199             "Account": {
13200               "type": "object",
13201               "patternProperties": {
13202                 ".*": {
13203                   "type": "object",
13204                   "additionalProperties": true
13205                 }
13206               }
13207             },
13208             "Config": {
13209               "type": "object",
13210               "patternProperties": {
13211                 ".*": {
13212                   "type": "object",
13213                   "additionalProperties": true
13214                 }
13215               }
13216             },
13217             "OwnerTag": {
13218               "type": "string"
13219             }
13220           },
13221           "additionalProperties": false,
13222           "required": [
13223             "OwnerTag",
13224             "Account",
13225             "Config"
13226           ]
13227         },
13228         "ModelInfo": {
13229           "type": "object",
13230           "properties": {
13231             "DefaultSeries": {
13232               "type": "string"
13233             },
13234             "Life": {
13235               "type": "string"
13236             },
13237             "Name": {
13238               "type": "string"
13239             },
13240             "OwnerTag": {
13241               "type": "string"
13242             },
13243             "ProviderType": {
13244               "type": "string"
13245             },
13246             "ServerUUID": {
13247               "type": "string"
13248             },
13249             "Status": {
13250               "$ref": "#/definitions/EntityStatus"
13251             },
13252             "UUID": {
13253               "type": "string"
13254             },
13255             "Users": {
13256               "type": "array",
13257               "items": {
13258                 "$ref": "#/definitions/ModelUserInfo"
13259               }
13260             }
13261           },
13262           "additionalProperties": false,
13263           "required": [
13264             "Name",
13265             "UUID",
13266             "ServerUUID",
13267             "ProviderType",
13268             "DefaultSeries",
13269             "OwnerTag",
13270             "Life",
13271             "Status",
13272             "Users"
13273           ]
13274         },
13275         "ModelInfoResult": {
13276           "type": "object",
13277           "properties": {
13278             "error": {
13279               "$ref": "#/definitions/Error"
13280             },
13281             "result": {
13282               "$ref": "#/definitions/ModelInfo"
13283             }
13284           },
13285           "additionalProperties": false
13286         },
13287         "ModelInfoResults": {
13288           "type": "object",
13289           "properties": {
13290             "results": {
13291               "type": "array",
13292               "items": {
13293                 "$ref": "#/definitions/ModelInfoResult"
13294               }
13295             }
13296           },
13297           "additionalProperties": false,
13298           "required": [
13299             "results"
13300           ]
13301         },
13302         "ModelSkeletonConfigArgs": {
13303           "type": "object",
13304           "properties": {
13305             "Provider": {
13306               "type": "string"
13307             },
13308             "Region": {
13309               "type": "string"
13310             }
13311           },
13312           "additionalProperties": false,
13313           "required": [
13314             "Provider",
13315             "Region"
13316           ]
13317         },
13318         "ModelUserInfo": {
13319           "type": "object",
13320           "properties": {
13321             "access": {
13322               "type": "string"
13323             },
13324             "displayname": {
13325               "type": "string"
13326             },
13327             "lastconnection": {
13328               "type": "string",
13329               "format": "date-time"
13330             },
13331             "user": {
13332               "type": "string"
13333             }
13334           },
13335           "additionalProperties": false,
13336           "required": [
13337             "user",
13338             "displayname",
13339             "lastconnection",
13340             "access"
13341           ]
13342         },
13343         "ModifyModelAccess": {
13344           "type": "object",
13345           "properties": {
13346             "access": {
13347               "type": "string"
13348             },
13349             "action": {
13350               "type": "string"
13351             },
13352             "model-tag": {
13353               "type": "string"
13354             },
13355             "user-tag": {
13356               "type": "string"
13357             }
13358           },
13359           "additionalProperties": false,
13360           "required": [
13361             "user-tag",
13362             "action",
13363             "access",
13364             "model-tag"
13365           ]
13366         },
13367         "ModifyModelAccessRequest": {
13368           "type": "object",
13369           "properties": {
13370             "changes": {
13371               "type": "array",
13372               "items": {
13373                 "$ref": "#/definitions/ModifyModelAccess"
13374               }
13375             }
13376           },
13377           "additionalProperties": false,
13378           "required": [
13379             "changes"
13380           ]
13381         },
13382         "UserModel": {
13383           "type": "object",
13384           "properties": {
13385             "LastConnection": {
13386               "type": "string",
13387               "format": "date-time"
13388             },
13389             "Model": {
13390               "$ref": "#/definitions/Model"
13391             }
13392           },
13393           "additionalProperties": false,
13394           "required": [
13395             "Model",
13396             "LastConnection"
13397           ]
13398         },
13399         "UserModelList": {
13400           "type": "object",
13401           "properties": {
13402             "UserModels": {
13403               "type": "array",
13404               "items": {
13405                 "$ref": "#/definitions/UserModel"
13406               }
13407             }
13408           },
13409           "additionalProperties": false,
13410           "required": [
13411             "UserModels"
13412           ]
13413         },
13414         "caveat": {
13415           "type": "object",
13416           "properties": {
13417             "caveatId": {
13418               "$ref": "#/definitions/packet"
13419             },
13420             "location": {
13421               "$ref": "#/definitions/packet"
13422             },
13423             "verificationId": {
13424               "$ref": "#/definitions/packet"
13425             }
13426           },
13427           "additionalProperties": false,
13428           "required": [
13429             "location",
13430             "caveatId",
13431             "verificationId"
13432           ]
13433         },
13434         "packet": {
13435           "type": "object",
13436           "properties": {
13437             "headerLen": {
13438               "type": "integer"
13439             },
13440             "start": {
13441               "type": "integer"
13442             },
13443             "totalLen": {
13444               "type": "integer"
13445             }
13446           },
13447           "additionalProperties": false,
13448           "required": [
13449             "start",
13450             "totalLen",
13451             "headerLen"
13452           ]
13453         }
13454       }
13455     }
13456   },
13457   {
13458     "Name": "NotifyWatcher",
13459     "Version": 1,
13460     "Schema": {
13461       "type": "object",
13462       "properties": {
13463         "Next": {
13464           "type": "object"
13465         },
13466         "Stop": {
13467           "type": "object"
13468         }
13469       }
13470     }
13471   },
13472   {
13473     "Name": "Pinger",
13474     "Version": 1,
13475     "Schema": {
13476       "type": "object",
13477       "properties": {
13478         "Ping": {
13479           "type": "object"
13480         },
13481         "Stop": {
13482           "type": "object"
13483         }
13484       }
13485     }
13486   },
13487   {
13488     "Name": "Provisioner",
13489     "Version": 2,
13490     "Schema": {
13491       "type": "object",
13492       "properties": {
13493         "APIAddresses": {
13494           "type": "object",
13495           "properties": {
13496             "Result": {
13497               "$ref": "#/definitions/StringsResult"
13498             }
13499           }
13500         },
13501         "APIHostPorts": {
13502           "type": "object",
13503           "properties": {
13504             "Result": {
13505               "$ref": "#/definitions/APIHostPortsResult"
13506             }
13507           }
13508         },
13509         "CACert": {
13510           "type": "object",
13511           "properties": {
13512             "Result": {
13513               "$ref": "#/definitions/BytesResult"
13514             }
13515           }
13516         },
13517         "Constraints": {
13518           "type": "object",
13519           "properties": {
13520             "Params": {
13521               "$ref": "#/definitions/Entities"
13522             },
13523             "Result": {
13524               "$ref": "#/definitions/ConstraintsResults"
13525             }
13526           }
13527         },
13528         "ContainerConfig": {
13529           "type": "object",
13530           "properties": {
13531             "Result": {
13532               "$ref": "#/definitions/ContainerConfig"
13533             }
13534           }
13535         },
13536         "ContainerManagerConfig": {
13537           "type": "object",
13538           "properties": {
13539             "Params": {
13540               "$ref": "#/definitions/ContainerManagerConfigParams"
13541             },
13542             "Result": {
13543               "$ref": "#/definitions/ContainerManagerConfig"
13544             }
13545           }
13546         },
13547         "DistributionGroup": {
13548           "type": "object",
13549           "properties": {
13550             "Params": {
13551               "$ref": "#/definitions/Entities"
13552             },
13553             "Result": {
13554               "$ref": "#/definitions/DistributionGroupResults"
13555             }
13556           }
13557         },
13558         "EnsureDead": {
13559           "type": "object",
13560           "properties": {
13561             "Params": {
13562               "$ref": "#/definitions/Entities"
13563             },
13564             "Result": {
13565               "$ref": "#/definitions/ErrorResults"
13566             }
13567           }
13568         },
13569         "FindTools": {
13570           "type": "object",
13571           "properties": {
13572             "Params": {
13573               "$ref": "#/definitions/FindToolsParams"
13574             },
13575             "Result": {
13576               "$ref": "#/definitions/FindToolsResult"
13577             }
13578           }
13579         },
13580         "GetContainerInterfaceInfo": {
13581           "type": "object",
13582           "properties": {
13583             "Params": {
13584               "$ref": "#/definitions/Entities"
13585             },
13586             "Result": {
13587               "$ref": "#/definitions/MachineNetworkConfigResults"
13588             }
13589           }
13590         },
13591         "InstanceId": {
13592           "type": "object",
13593           "properties": {
13594             "Params": {
13595               "$ref": "#/definitions/Entities"
13596             },
13597             "Result": {
13598               "$ref": "#/definitions/StringResults"
13599             }
13600           }
13601         },
13602         "InstanceStatus": {
13603           "type": "object",
13604           "properties": {
13605             "Params": {
13606               "$ref": "#/definitions/Entities"
13607             },
13608             "Result": {
13609               "$ref": "#/definitions/StatusResults"
13610             }
13611           }
13612         },
13613         "Life": {
13614           "type": "object",
13615           "properties": {
13616             "Params": {
13617               "$ref": "#/definitions/Entities"
13618             },
13619             "Result": {
13620               "$ref": "#/definitions/LifeResults"
13621             }
13622           }
13623         },
13624         "MachinesWithTransientErrors": {
13625           "type": "object",
13626           "properties": {
13627             "Result": {
13628               "$ref": "#/definitions/StatusResults"
13629             }
13630           }
13631         },
13632         "ModelConfig": {
13633           "type": "object",
13634           "properties": {
13635             "Result": {
13636               "$ref": "#/definitions/ModelConfigResult"
13637             }
13638           }
13639         },
13640         "ModelUUID": {
13641           "type": "object",
13642           "properties": {
13643             "Result": {
13644               "$ref": "#/definitions/StringResult"
13645             }
13646           }
13647         },
13648         "PrepareContainerInterfaceInfo": {
13649           "type": "object",
13650           "properties": {
13651             "Params": {
13652               "$ref": "#/definitions/Entities"
13653             },
13654             "Result": {
13655               "$ref": "#/definitions/MachineNetworkConfigResults"
13656             }
13657           }
13658         },
13659         "ProvisioningInfo": {
13660           "type": "object",
13661           "properties": {
13662             "Params": {
13663               "$ref": "#/definitions/Entities"
13664             },
13665             "Result": {
13666               "$ref": "#/definitions/ProvisioningInfoResults"
13667             }
13668           }
13669         },
13670         "ReleaseContainerAddresses": {
13671           "type": "object",
13672           "properties": {
13673             "Params": {
13674               "$ref": "#/definitions/Entities"
13675             },
13676             "Result": {
13677               "$ref": "#/definitions/ErrorResults"
13678             }
13679           }
13680         },
13681         "Remove": {
13682           "type": "object",
13683           "properties": {
13684             "Params": {
13685               "$ref": "#/definitions/Entities"
13686             },
13687             "Result": {
13688               "$ref": "#/definitions/ErrorResults"
13689             }
13690           }
13691         },
13692         "Series": {
13693           "type": "object",
13694           "properties": {
13695             "Params": {
13696               "$ref": "#/definitions/Entities"
13697             },
13698             "Result": {
13699               "$ref": "#/definitions/StringResults"
13700             }
13701           }
13702         },
13703         "SetInstanceInfo": {
13704           "type": "object",
13705           "properties": {
13706             "Params": {
13707               "$ref": "#/definitions/InstancesInfo"
13708             },
13709             "Result": {
13710               "$ref": "#/definitions/ErrorResults"
13711             }
13712           }
13713         },
13714         "SetInstanceStatus": {
13715           "type": "object",
13716           "properties": {
13717             "Params": {
13718               "$ref": "#/definitions/SetStatus"
13719             },
13720             "Result": {
13721               "$ref": "#/definitions/ErrorResults"
13722             }
13723           }
13724         },
13725         "SetPasswords": {
13726           "type": "object",
13727           "properties": {
13728             "Params": {
13729               "$ref": "#/definitions/EntityPasswords"
13730             },
13731             "Result": {
13732               "$ref": "#/definitions/ErrorResults"
13733             }
13734           }
13735         },
13736         "SetStatus": {
13737           "type": "object",
13738           "properties": {
13739             "Params": {
13740               "$ref": "#/definitions/SetStatus"
13741             },
13742             "Result": {
13743               "$ref": "#/definitions/ErrorResults"
13744             }
13745           }
13746         },
13747         "SetSupportedContainers": {
13748           "type": "object",
13749           "properties": {
13750             "Params": {
13751               "$ref": "#/definitions/MachineContainersParams"
13752             },
13753             "Result": {
13754               "$ref": "#/definitions/ErrorResults"
13755             }
13756           }
13757         },
13758         "StateAddresses": {
13759           "type": "object",
13760           "properties": {
13761             "Result": {
13762               "$ref": "#/definitions/StringsResult"
13763             }
13764           }
13765         },
13766         "Status": {
13767           "type": "object",
13768           "properties": {
13769             "Params": {
13770               "$ref": "#/definitions/Entities"
13771             },
13772             "Result": {
13773               "$ref": "#/definitions/StatusResults"
13774             }
13775           }
13776         },
13777         "Tools": {
13778           "type": "object",
13779           "properties": {
13780             "Params": {
13781               "$ref": "#/definitions/Entities"
13782             },
13783             "Result": {
13784               "$ref": "#/definitions/ToolsResults"
13785             }
13786           }
13787         },
13788         "UpdateStatus": {
13789           "type": "object",
13790           "properties": {
13791             "Params": {
13792               "$ref": "#/definitions/SetStatus"
13793             },
13794             "Result": {
13795               "$ref": "#/definitions/ErrorResults"
13796             }
13797           }
13798         },
13799         "WatchAPIHostPorts": {
13800           "type": "object",
13801           "properties": {
13802             "Result": {
13803               "$ref": "#/definitions/NotifyWatchResult"
13804             }
13805           }
13806         },
13807         "WatchAllContainers": {
13808           "type": "object",
13809           "properties": {
13810             "Params": {
13811               "$ref": "#/definitions/WatchContainers"
13812             },
13813             "Result": {
13814               "$ref": "#/definitions/StringsWatchResults"
13815             }
13816           }
13817         },
13818         "WatchContainers": {
13819           "type": "object",
13820           "properties": {
13821             "Params": {
13822               "$ref": "#/definitions/WatchContainers"
13823             },
13824             "Result": {
13825               "$ref": "#/definitions/StringsWatchResults"
13826             }
13827           }
13828         },
13829         "WatchForModelConfigChanges": {
13830           "type": "object",
13831           "properties": {
13832             "Result": {
13833               "$ref": "#/definitions/NotifyWatchResult"
13834             }
13835           }
13836         },
13837         "WatchMachineErrorRetry": {
13838           "type": "object",
13839           "properties": {
13840             "Result": {
13841               "$ref": "#/definitions/NotifyWatchResult"
13842             }
13843           }
13844         },
13845         "WatchModelMachines": {
13846           "type": "object",
13847           "properties": {
13848             "Result": {
13849               "$ref": "#/definitions/StringsWatchResult"
13850             }
13851           }
13852         }
13853       },
13854       "definitions": {
13855         "APIHostPortsResult": {
13856           "type": "object",
13857           "properties": {
13858             "Servers": {
13859               "type": "array",
13860               "items": {
13861                 "type": "array",
13862                 "items": {
13863                   "$ref": "#/definitions/HostPort"
13864                 }
13865               }
13866             }
13867           },
13868           "additionalProperties": false,
13869           "required": [
13870             "Servers"
13871           ]
13872         },
13873         "Address": {
13874           "type": "object",
13875           "properties": {
13876             "Scope": {
13877               "type": "string"
13878             },
13879             "SpaceName": {
13880               "type": "string"
13881             },
13882             "Type": {
13883               "type": "string"
13884             },
13885             "Value": {
13886               "type": "string"
13887             }
13888           },
13889           "additionalProperties": false,
13890           "required": [
13891             "Value",
13892             "Type",
13893             "Scope"
13894           ]
13895         },
13896         "Binary": {
13897           "type": "object",
13898           "properties": {
13899             "Arch": {
13900               "type": "string"
13901             },
13902             "Number": {
13903               "$ref": "#/definitions/Number"
13904             },
13905             "Series": {
13906               "type": "string"
13907             }
13908           },
13909           "additionalProperties": false,
13910           "required": [
13911             "Number",
13912             "Series",
13913             "Arch"
13914           ]
13915         },
13916         "BytesResult": {
13917           "type": "object",
13918           "properties": {
13919             "Result": {
13920               "type": "array",
13921               "items": {
13922                 "type": "integer"
13923               }
13924             }
13925           },
13926           "additionalProperties": false,
13927           "required": [
13928             "Result"
13929           ]
13930         },
13931         "CloudImageMetadata": {
13932           "type": "object",
13933           "properties": {
13934             "arch": {
13935               "type": "string"
13936             },
13937             "image_id": {
13938               "type": "string"
13939             },
13940             "priority": {
13941               "type": "integer"
13942             },
13943             "region": {
13944               "type": "string"
13945             },
13946             "root_storage_size": {
13947               "type": "integer"
13948             },
13949             "root_storage_type": {
13950               "type": "string"
13951             },
13952             "series": {
13953               "type": "string"
13954             },
13955             "source": {
13956               "type": "string"
13957             },
13958             "stream": {
13959               "type": "string"
13960             },
13961             "version": {
13962               "type": "string"
13963             },
13964             "virt_type": {
13965               "type": "string"
13966             }
13967           },
13968           "additionalProperties": false,
13969           "required": [
13970             "image_id",
13971             "region",
13972             "version",
13973             "series",
13974             "arch",
13975             "source",
13976             "priority"
13977           ]
13978         },
13979         "ConstraintsResult": {
13980           "type": "object",
13981           "properties": {
13982             "Constraints": {
13983               "$ref": "#/definitions/Value"
13984             },
13985             "Error": {
13986               "$ref": "#/definitions/Error"
13987             }
13988           },
13989           "additionalProperties": false,
13990           "required": [
13991             "Error",
13992             "Constraints"
13993           ]
13994         },
13995         "ConstraintsResults": {
13996           "type": "object",
13997           "properties": {
13998             "Results": {
13999               "type": "array",
14000               "items": {
14001                 "$ref": "#/definitions/ConstraintsResult"
14002               }
14003             }
14004           },
14005           "additionalProperties": false,
14006           "required": [
14007             "Results"
14008           ]
14009         },
14010         "ContainerConfig": {
14011           "type": "object",
14012           "properties": {
14013             "AllowLXCLoopMounts": {
14014               "type": "boolean"
14015             },
14016             "AptMirror": {
14017               "type": "string"
14018             },
14019             "AptProxy": {
14020               "$ref": "#/definitions/Settings"
14021             },
14022             "AuthorizedKeys": {
14023               "type": "string"
14024             },
14025             "PreferIPv6": {
14026               "type": "boolean"
14027             },
14028             "ProviderType": {
14029               "type": "string"
14030             },
14031             "Proxy": {
14032               "$ref": "#/definitions/Settings"
14033             },
14034             "SSLHostnameVerification": {
14035               "type": "boolean"
14036             },
14037             "UpdateBehavior": {
14038               "$ref": "#/definitions/UpdateBehavior"
14039             }
14040           },
14041           "additionalProperties": false,
14042           "required": [
14043             "ProviderType",
14044             "AuthorizedKeys",
14045             "SSLHostnameVerification",
14046             "Proxy",
14047             "AptProxy",
14048             "AptMirror",
14049             "PreferIPv6",
14050             "AllowLXCLoopMounts",
14051             "UpdateBehavior"
14052           ]
14053         },
14054         "ContainerManagerConfig": {
14055           "type": "object",
14056           "properties": {
14057             "ManagerConfig": {
14058               "type": "object",
14059               "patternProperties": {
14060                 ".*": {
14061                   "type": "string"
14062                 }
14063               }
14064             }
14065           },
14066           "additionalProperties": false,
14067           "required": [
14068             "ManagerConfig"
14069           ]
14070         },
14071         "ContainerManagerConfigParams": {
14072           "type": "object",
14073           "properties": {
14074             "Type": {
14075               "type": "string"
14076             }
14077           },
14078           "additionalProperties": false,
14079           "required": [
14080             "Type"
14081           ]
14082         },
14083         "DistributionGroupResult": {
14084           "type": "object",
14085           "properties": {
14086             "Error": {
14087               "$ref": "#/definitions/Error"
14088             },
14089             "Result": {
14090               "type": "array",
14091               "items": {
14092                 "type": "string"
14093               }
14094             }
14095           },
14096           "additionalProperties": false,
14097           "required": [
14098             "Error",
14099             "Result"
14100           ]
14101         },
14102         "DistributionGroupResults": {
14103           "type": "object",
14104           "properties": {
14105             "Results": {
14106               "type": "array",
14107               "items": {
14108                 "$ref": "#/definitions/DistributionGroupResult"
14109               }
14110             }
14111           },
14112           "additionalProperties": false,
14113           "required": [
14114             "Results"
14115           ]
14116         },
14117         "Entities": {
14118           "type": "object",
14119           "properties": {
14120             "Entities": {
14121               "type": "array",
14122               "items": {
14123                 "$ref": "#/definitions/Entity"
14124               }
14125             }
14126           },
14127           "additionalProperties": false,
14128           "required": [
14129             "Entities"
14130           ]
14131         },
14132         "Entity": {
14133           "type": "object",
14134           "properties": {
14135             "Tag": {
14136               "type": "string"
14137             }
14138           },
14139           "additionalProperties": false,
14140           "required": [
14141             "Tag"
14142           ]
14143         },
14144         "EntityPassword": {
14145           "type": "object",
14146           "properties": {
14147             "Password": {
14148               "type": "string"
14149             },
14150             "Tag": {
14151               "type": "string"
14152             }
14153           },
14154           "additionalProperties": false,
14155           "required": [
14156             "Tag",
14157             "Password"
14158           ]
14159         },
14160         "EntityPasswords": {
14161           "type": "object",
14162           "properties": {
14163             "Changes": {
14164               "type": "array",
14165               "items": {
14166                 "$ref": "#/definitions/EntityPassword"
14167               }
14168             }
14169           },
14170           "additionalProperties": false,
14171           "required": [
14172             "Changes"
14173           ]
14174         },
14175         "EntityStatusArgs": {
14176           "type": "object",
14177           "properties": {
14178             "Data": {
14179               "type": "object",
14180               "patternProperties": {
14181                 ".*": {
14182                   "type": "object",
14183                   "additionalProperties": true
14184                 }
14185               }
14186             },
14187             "Info": {
14188               "type": "string"
14189             },
14190             "Status": {
14191               "type": "string"
14192             },
14193             "Tag": {
14194               "type": "string"
14195             }
14196           },
14197           "additionalProperties": false,
14198           "required": [
14199             "Tag",
14200             "Status",
14201             "Info",
14202             "Data"
14203           ]
14204         },
14205         "Error": {
14206           "type": "object",
14207           "properties": {
14208             "Code": {
14209               "type": "string"
14210             },
14211             "Info": {
14212               "$ref": "#/definitions/ErrorInfo"
14213             },
14214             "Message": {
14215               "type": "string"
14216             }
14217           },
14218           "additionalProperties": false,
14219           "required": [
14220             "Message",
14221             "Code"
14222           ]
14223         },
14224         "ErrorInfo": {
14225           "type": "object",
14226           "properties": {
14227             "Macaroon": {
14228               "$ref": "#/definitions/Macaroon"
14229             },
14230             "MacaroonPath": {
14231               "type": "string"
14232             }
14233           },
14234           "additionalProperties": false
14235         },
14236         "ErrorResult": {
14237           "type": "object",
14238           "properties": {
14239             "Error": {
14240               "$ref": "#/definitions/Error"
14241             }
14242           },
14243           "additionalProperties": false,
14244           "required": [
14245             "Error"
14246           ]
14247         },
14248         "ErrorResults": {
14249           "type": "object",
14250           "properties": {
14251             "Results": {
14252               "type": "array",
14253               "items": {
14254                 "$ref": "#/definitions/ErrorResult"
14255               }
14256             }
14257           },
14258           "additionalProperties": false,
14259           "required": [
14260             "Results"
14261           ]
14262         },
14263         "FindToolsParams": {
14264           "type": "object",
14265           "properties": {
14266             "Arch": {
14267               "type": "string"
14268             },
14269             "MajorVersion": {
14270               "type": "integer"
14271             },
14272             "MinorVersion": {
14273               "type": "integer"
14274             },
14275             "Number": {
14276               "$ref": "#/definitions/Number"
14277             },
14278             "Series": {
14279               "type": "string"
14280             }
14281           },
14282           "additionalProperties": false,
14283           "required": [
14284             "Number",
14285             "MajorVersion",
14286             "MinorVersion",
14287             "Arch",
14288             "Series"
14289           ]
14290         },
14291         "FindToolsResult": {
14292           "type": "object",
14293           "properties": {
14294             "Error": {
14295               "$ref": "#/definitions/Error"
14296             },
14297             "List": {
14298               "type": "array",
14299               "items": {
14300                 "$ref": "#/definitions/Tools"
14301               }
14302             }
14303           },
14304           "additionalProperties": false,
14305           "required": [
14306             "List",
14307             "Error"
14308           ]
14309         },
14310         "HardwareCharacteristics": {
14311           "type": "object",
14312           "properties": {
14313             "Arch": {
14314               "type": "string"
14315             },
14316             "AvailabilityZone": {
14317               "type": "string"
14318             },
14319             "CpuCores": {
14320               "type": "integer"
14321             },
14322             "CpuPower": {
14323               "type": "integer"
14324             },
14325             "Mem": {
14326               "type": "integer"
14327             },
14328             "RootDisk": {
14329               "type": "integer"
14330             },
14331             "Tags": {
14332               "type": "array",
14333               "items": {
14334                 "type": "string"
14335               }
14336             }
14337           },
14338           "additionalProperties": false
14339         },
14340         "HostPort": {
14341           "type": "object",
14342           "properties": {
14343             "Address": {
14344               "$ref": "#/definitions/Address"
14345             },
14346             "Port": {
14347               "type": "integer"
14348             }
14349           },
14350           "additionalProperties": false,
14351           "required": [
14352             "Address",
14353             "Port"
14354           ]
14355         },
14356         "InstanceInfo": {
14357           "type": "object",
14358           "properties": {
14359             "Characteristics": {
14360               "$ref": "#/definitions/HardwareCharacteristics"
14361             },
14362             "InstanceId": {
14363               "type": "string"
14364             },
14365             "NetworkConfig": {
14366               "type": "array",
14367               "items": {
14368                 "$ref": "#/definitions/NetworkConfig"
14369               }
14370             },
14371             "Nonce": {
14372               "type": "string"
14373             },
14374             "Tag": {
14375               "type": "string"
14376             },
14377             "VolumeAttachments": {
14378               "type": "object",
14379               "patternProperties": {
14380                 ".*": {
14381                   "$ref": "#/definitions/VolumeAttachmentInfo"
14382                 }
14383               }
14384             },
14385             "Volumes": {
14386               "type": "array",
14387               "items": {
14388                 "$ref": "#/definitions/Volume"
14389               }
14390             }
14391           },
14392           "additionalProperties": false,
14393           "required": [
14394             "Tag",
14395             "InstanceId",
14396             "Nonce",
14397             "Characteristics",
14398             "Volumes",
14399             "VolumeAttachments",
14400             "NetworkConfig"
14401           ]
14402         },
14403         "InstancesInfo": {
14404           "type": "object",
14405           "properties": {
14406             "Machines": {
14407               "type": "array",
14408               "items": {
14409                 "$ref": "#/definitions/InstanceInfo"
14410               }
14411             }
14412           },
14413           "additionalProperties": false,
14414           "required": [
14415             "Machines"
14416           ]
14417         },
14418         "LifeResult": {
14419           "type": "object",
14420           "properties": {
14421             "Error": {
14422               "$ref": "#/definitions/Error"
14423             },
14424             "Life": {
14425               "type": "string"
14426             }
14427           },
14428           "additionalProperties": false,
14429           "required": [
14430             "Life",
14431             "Error"
14432           ]
14433         },
14434         "LifeResults": {
14435           "type": "object",
14436           "properties": {
14437             "Results": {
14438               "type": "array",
14439               "items": {
14440                 "$ref": "#/definitions/LifeResult"
14441               }
14442             }
14443           },
14444           "additionalProperties": false,
14445           "required": [
14446             "Results"
14447           ]
14448         },
14449         "Macaroon": {
14450           "type": "object",
14451           "properties": {
14452             "caveats": {
14453               "type": "array",
14454               "items": {
14455                 "$ref": "#/definitions/caveat"
14456               }
14457             },
14458             "data": {
14459               "type": "array",
14460               "items": {
14461                 "type": "integer"
14462               }
14463             },
14464             "id": {
14465               "$ref": "#/definitions/packet"
14466             },
14467             "location": {
14468               "$ref": "#/definitions/packet"
14469             },
14470             "sig": {
14471               "type": "array",
14472               "items": {
14473                 "type": "integer"
14474               }
14475             }
14476           },
14477           "additionalProperties": false,
14478           "required": [
14479             "data",
14480             "location",
14481             "id",
14482             "caveats",
14483             "sig"
14484           ]
14485         },
14486         "MachineContainers": {
14487           "type": "object",
14488           "properties": {
14489             "ContainerTypes": {
14490               "type": "array",
14491               "items": {
14492                 "type": "string"
14493               }
14494             },
14495             "MachineTag": {
14496               "type": "string"
14497             }
14498           },
14499           "additionalProperties": false,
14500           "required": [
14501             "MachineTag",
14502             "ContainerTypes"
14503           ]
14504         },
14505         "MachineContainersParams": {
14506           "type": "object",
14507           "properties": {
14508             "Params": {
14509               "type": "array",
14510               "items": {
14511                 "$ref": "#/definitions/MachineContainers"
14512               }
14513             }
14514           },
14515           "additionalProperties": false,
14516           "required": [
14517             "Params"
14518           ]
14519         },
14520         "MachineNetworkConfigResult": {
14521           "type": "object",
14522           "properties": {
14523             "Error": {
14524               "$ref": "#/definitions/Error"
14525             },
14526             "Info": {
14527               "type": "array",
14528               "items": {
14529                 "$ref": "#/definitions/NetworkConfig"
14530               }
14531             }
14532           },
14533           "additionalProperties": false,
14534           "required": [
14535             "Error",
14536             "Info"
14537           ]
14538         },
14539         "MachineNetworkConfigResults": {
14540           "type": "object",
14541           "properties": {
14542             "Results": {
14543               "type": "array",
14544               "items": {
14545                 "$ref": "#/definitions/MachineNetworkConfigResult"
14546               }
14547             }
14548           },
14549           "additionalProperties": false,
14550           "required": [
14551             "Results"
14552           ]
14553         },
14554         "ModelConfigResult": {
14555           "type": "object",
14556           "properties": {
14557             "Config": {
14558               "type": "object",
14559               "patternProperties": {
14560                 ".*": {
14561                   "type": "object",
14562                   "additionalProperties": true
14563                 }
14564               }
14565             }
14566           },
14567           "additionalProperties": false,
14568           "required": [
14569             "Config"
14570           ]
14571         },
14572         "NetworkConfig": {
14573           "type": "object",
14574           "properties": {
14575             "Address": {
14576               "type": "string"
14577             },
14578             "CIDR": {
14579               "type": "string"
14580             },
14581             "ConfigType": {
14582               "type": "string"
14583             },
14584             "DNSSearchDomains": {
14585               "type": "array",
14586               "items": {
14587                 "type": "string"
14588               }
14589             },
14590             "DNSServers": {
14591               "type": "array",
14592               "items": {
14593                 "type": "string"
14594               }
14595             },
14596             "DeviceIndex": {
14597               "type": "integer"
14598             },
14599             "Disabled": {
14600               "type": "boolean"
14601             },
14602             "GatewayAddress": {
14603               "type": "string"
14604             },
14605             "InterfaceName": {
14606               "type": "string"
14607             },
14608             "InterfaceType": {
14609               "type": "string"
14610             },
14611             "MACAddress": {
14612               "type": "string"
14613             },
14614             "MTU": {
14615               "type": "integer"
14616             },
14617             "NoAutoStart": {
14618               "type": "boolean"
14619             },
14620             "ParentInterfaceName": {
14621               "type": "string"
14622             },
14623             "ProviderAddressId": {
14624               "type": "string"
14625             },
14626             "ProviderId": {
14627               "type": "string"
14628             },
14629             "ProviderSpaceId": {
14630               "type": "string"
14631             },
14632             "ProviderSubnetId": {
14633               "type": "string"
14634             },
14635             "ProviderVLANId": {
14636               "type": "string"
14637             },
14638             "VLANTag": {
14639               "type": "integer"
14640             }
14641           },
14642           "additionalProperties": false,
14643           "required": [
14644             "DeviceIndex",
14645             "MACAddress",
14646             "CIDR",
14647             "MTU",
14648             "ProviderId",
14649             "ProviderSubnetId",
14650             "ProviderSpaceId",
14651             "ProviderAddressId",
14652             "ProviderVLANId",
14653             "VLANTag",
14654             "InterfaceName",
14655             "ParentInterfaceName",
14656             "InterfaceType",
14657             "Disabled"
14658           ]
14659         },
14660         "NotifyWatchResult": {
14661           "type": "object",
14662           "properties": {
14663             "Error": {
14664               "$ref": "#/definitions/Error"
14665             },
14666             "NotifyWatcherId": {
14667               "type": "string"
14668             }
14669           },
14670           "additionalProperties": false,
14671           "required": [
14672             "NotifyWatcherId",
14673             "Error"
14674           ]
14675         },
14676         "Number": {
14677           "type": "object",
14678           "properties": {
14679             "Build": {
14680               "type": "integer"
14681             },
14682             "Major": {
14683               "type": "integer"
14684             },
14685             "Minor": {
14686               "type": "integer"
14687             },
14688             "Patch": {
14689               "type": "integer"
14690             },
14691             "Tag": {
14692               "type": "string"
14693             }
14694           },
14695           "additionalProperties": false,
14696           "required": [
14697             "Major",
14698             "Minor",
14699             "Tag",
14700             "Patch",
14701             "Build"
14702           ]
14703         },
14704         "ProvisioningInfo": {
14705           "type": "object",
14706           "properties": {
14707             "Constraints": {
14708               "$ref": "#/definitions/Value"
14709             },
14710             "EndpointBindings": {
14711               "type": "object",
14712               "patternProperties": {
14713                 ".*": {
14714                   "type": "string"
14715                 }
14716               }
14717             },
14718             "ImageMetadata": {
14719               "type": "array",
14720               "items": {
14721                 "$ref": "#/definitions/CloudImageMetadata"
14722               }
14723             },
14724             "Jobs": {
14725               "type": "array",
14726               "items": {
14727                 "type": "string"
14728               }
14729             },
14730             "Placement": {
14731               "type": "string"
14732             },
14733             "Series": {
14734               "type": "string"
14735             },
14736             "SubnetsToZones": {
14737               "type": "object",
14738               "patternProperties": {
14739                 ".*": {
14740                   "type": "array",
14741                   "items": {
14742                     "type": "string"
14743                   }
14744                 }
14745               }
14746             },
14747             "Tags": {
14748               "type": "object",
14749               "patternProperties": {
14750                 ".*": {
14751                   "type": "string"
14752                 }
14753               }
14754             },
14755             "Volumes": {
14756               "type": "array",
14757               "items": {
14758                 "$ref": "#/definitions/VolumeParams"
14759               }
14760             }
14761           },
14762           "additionalProperties": false,
14763           "required": [
14764             "Constraints",
14765             "Series",
14766             "Placement",
14767             "Jobs",
14768             "Volumes",
14769             "Tags",
14770             "SubnetsToZones",
14771             "ImageMetadata",
14772             "EndpointBindings"
14773           ]
14774         },
14775         "ProvisioningInfoResult": {
14776           "type": "object",
14777           "properties": {
14778             "Error": {
14779               "$ref": "#/definitions/Error"
14780             },
14781             "Result": {
14782               "$ref": "#/definitions/ProvisioningInfo"
14783             }
14784           },
14785           "additionalProperties": false,
14786           "required": [
14787             "Error",
14788             "Result"
14789           ]
14790         },
14791         "ProvisioningInfoResults": {
14792           "type": "object",
14793           "properties": {
14794             "Results": {
14795               "type": "array",
14796               "items": {
14797                 "$ref": "#/definitions/ProvisioningInfoResult"
14798               }
14799             }
14800           },
14801           "additionalProperties": false,
14802           "required": [
14803             "Results"
14804           ]
14805         },
14806         "SetStatus": {
14807           "type": "object",
14808           "properties": {
14809             "Entities": {
14810               "type": "array",
14811               "items": {
14812                 "$ref": "#/definitions/EntityStatusArgs"
14813               }
14814             }
14815           },
14816           "additionalProperties": false,
14817           "required": [
14818             "Entities"
14819           ]
14820         },
14821         "Settings": {
14822           "type": "object",
14823           "properties": {
14824             "Ftp": {
14825               "type": "string"
14826             },
14827             "Http": {
14828               "type": "string"
14829             },
14830             "Https": {
14831               "type": "string"
14832             },
14833             "NoProxy": {
14834               "type": "string"
14835             }
14836           },
14837           "additionalProperties": false,
14838           "required": [
14839             "Http",
14840             "Https",
14841             "Ftp",
14842             "NoProxy"
14843           ]
14844         },
14845         "StatusResult": {
14846           "type": "object",
14847           "properties": {
14848             "Data": {
14849               "type": "object",
14850               "patternProperties": {
14851                 ".*": {
14852                   "type": "object",
14853                   "additionalProperties": true
14854                 }
14855               }
14856             },
14857             "Error": {
14858               "$ref": "#/definitions/Error"
14859             },
14860             "Id": {
14861               "type": "string"
14862             },
14863             "Info": {
14864               "type": "string"
14865             },
14866             "Life": {
14867               "type": "string"
14868             },
14869             "Since": {
14870               "type": "string",
14871               "format": "date-time"
14872             },
14873             "Status": {
14874               "type": "string"
14875             }
14876           },
14877           "additionalProperties": false,
14878           "required": [
14879             "Error",
14880             "Id",
14881             "Life",
14882             "Status",
14883             "Info",
14884             "Data",
14885             "Since"
14886           ]
14887         },
14888         "StatusResults": {
14889           "type": "object",
14890           "properties": {
14891             "Results": {
14892               "type": "array",
14893               "items": {
14894                 "$ref": "#/definitions/StatusResult"
14895               }
14896             }
14897           },
14898           "additionalProperties": false,
14899           "required": [
14900             "Results"
14901           ]
14902         },
14903         "StringResult": {
14904           "type": "object",
14905           "properties": {
14906             "Error": {
14907               "$ref": "#/definitions/Error"
14908             },
14909             "Result": {
14910               "type": "string"
14911             }
14912           },
14913           "additionalProperties": false,
14914           "required": [
14915             "Error",
14916             "Result"
14917           ]
14918         },
14919         "StringResults": {
14920           "type": "object",
14921           "properties": {
14922             "Results": {
14923               "type": "array",
14924               "items": {
14925                 "$ref": "#/definitions/StringResult"
14926               }
14927             }
14928           },
14929           "additionalProperties": false,
14930           "required": [
14931             "Results"
14932           ]
14933         },
14934         "StringsResult": {
14935           "type": "object",
14936           "properties": {
14937             "Error": {
14938               "$ref": "#/definitions/Error"
14939             },
14940             "Result": {
14941               "type": "array",
14942               "items": {
14943                 "type": "string"
14944               }
14945             }
14946           },
14947           "additionalProperties": false,
14948           "required": [
14949             "Error",
14950             "Result"
14951           ]
14952         },
14953         "StringsWatchResult": {
14954           "type": "object",
14955           "properties": {
14956             "Changes": {
14957               "type": "array",
14958               "items": {
14959                 "type": "string"
14960               }
14961             },
14962             "Error": {
14963               "$ref": "#/definitions/Error"
14964             },
14965             "StringsWatcherId": {
14966               "type": "string"
14967             }
14968           },
14969           "additionalProperties": false,
14970           "required": [
14971             "StringsWatcherId",
14972             "Changes",
14973             "Error"
14974           ]
14975         },
14976         "StringsWatchResults": {
14977           "type": "object",
14978           "properties": {
14979             "Results": {
14980               "type": "array",
14981               "items": {
14982                 "$ref": "#/definitions/StringsWatchResult"
14983               }
14984             }
14985           },
14986           "additionalProperties": false,
14987           "required": [
14988             "Results"
14989           ]
14990         },
14991         "Tools": {
14992           "type": "object",
14993           "properties": {
14994             "sha256": {
14995               "type": "string"
14996             },
14997             "size": {
14998               "type": "integer"
14999             },
15000             "url": {
15001               "type": "string"
15002             },
15003             "version": {
15004               "$ref": "#/definitions/Binary"
15005             }
15006           },
15007           "additionalProperties": false,
15008           "required": [
15009             "version",
15010             "url",
15011             "size"
15012           ]
15013         },
15014         "ToolsResult": {
15015           "type": "object",
15016           "properties": {
15017             "DisableSSLHostnameVerification": {
15018               "type": "boolean"
15019             },
15020             "Error": {
15021               "$ref": "#/definitions/Error"
15022             },
15023             "ToolsList": {
15024               "type": "array",
15025               "items": {
15026                 "$ref": "#/definitions/Tools"
15027               }
15028             }
15029           },
15030           "additionalProperties": false,
15031           "required": [
15032             "ToolsList",
15033             "DisableSSLHostnameVerification",
15034             "Error"
15035           ]
15036         },
15037         "ToolsResults": {
15038           "type": "object",
15039           "properties": {
15040             "Results": {
15041               "type": "array",
15042               "items": {
15043                 "$ref": "#/definitions/ToolsResult"
15044               }
15045             }
15046           },
15047           "additionalProperties": false,
15048           "required": [
15049             "Results"
15050           ]
15051         },
15052         "UpdateBehavior": {
15053           "type": "object",
15054           "properties": {
15055             "EnableOSRefreshUpdate": {
15056               "type": "boolean"
15057             },
15058             "EnableOSUpgrade": {
15059               "type": "boolean"
15060             }
15061           },
15062           "additionalProperties": false,
15063           "required": [
15064             "EnableOSRefreshUpdate",
15065             "EnableOSUpgrade"
15066           ]
15067         },
15068         "Value": {
15069           "type": "object",
15070           "properties": {
15071             "arch": {
15072               "type": "string"
15073             },
15074             "container": {
15075               "type": "string"
15076             },
15077             "cpu-cores": {
15078               "type": "integer"
15079             },
15080             "cpu-power": {
15081               "type": "integer"
15082             },
15083             "instance-type": {
15084               "type": "string"
15085             },
15086             "mem": {
15087               "type": "integer"
15088             },
15089             "root-disk": {
15090               "type": "integer"
15091             },
15092             "spaces": {
15093               "type": "array",
15094               "items": {
15095                 "type": "string"
15096               }
15097             },
15098             "tags": {
15099               "type": "array",
15100               "items": {
15101                 "type": "string"
15102               }
15103             },
15104             "virt-type": {
15105               "type": "string"
15106             }
15107           },
15108           "additionalProperties": false
15109         },
15110         "Volume": {
15111           "type": "object",
15112           "properties": {
15113             "info": {
15114               "$ref": "#/definitions/VolumeInfo"
15115             },
15116             "volumetag": {
15117               "type": "string"
15118             }
15119           },
15120           "additionalProperties": false,
15121           "required": [
15122             "volumetag",
15123             "info"
15124           ]
15125         },
15126         "VolumeAttachmentInfo": {
15127           "type": "object",
15128           "properties": {
15129             "busaddress": {
15130               "type": "string"
15131             },
15132             "devicelink": {
15133               "type": "string"
15134             },
15135             "devicename": {
15136               "type": "string"
15137             },
15138             "read-only": {
15139               "type": "boolean"
15140             }
15141           },
15142           "additionalProperties": false
15143         },
15144         "VolumeAttachmentParams": {
15145           "type": "object",
15146           "properties": {
15147             "instanceid": {
15148               "type": "string"
15149             },
15150             "machinetag": {
15151               "type": "string"
15152             },
15153             "provider": {
15154               "type": "string"
15155             },
15156             "read-only": {
15157               "type": "boolean"
15158             },
15159             "volumeid": {
15160               "type": "string"
15161             },
15162             "volumetag": {
15163               "type": "string"
15164             }
15165           },
15166           "additionalProperties": false,
15167           "required": [
15168             "volumetag",
15169             "machinetag",
15170             "provider"
15171           ]
15172         },
15173         "VolumeInfo": {
15174           "type": "object",
15175           "properties": {
15176             "hardwareid": {
15177               "type": "string"
15178             },
15179             "persistent": {
15180               "type": "boolean"
15181             },
15182             "size": {
15183               "type": "integer"
15184             },
15185             "volumeid": {
15186               "type": "string"
15187             }
15188           },
15189           "additionalProperties": false,
15190           "required": [
15191             "volumeid",
15192             "size",
15193             "persistent"
15194           ]
15195         },
15196         "VolumeParams": {
15197           "type": "object",
15198           "properties": {
15199             "attachment": {
15200               "$ref": "#/definitions/VolumeAttachmentParams"
15201             },
15202             "attributes": {
15203               "type": "object",
15204               "patternProperties": {
15205                 ".*": {
15206                   "type": "object",
15207                   "additionalProperties": true
15208                 }
15209               }
15210             },
15211             "provider": {
15212               "type": "string"
15213             },
15214             "size": {
15215               "type": "integer"
15216             },
15217             "tags": {
15218               "type": "object",
15219               "patternProperties": {
15220                 ".*": {
15221                   "type": "string"
15222                 }
15223               }
15224             },
15225             "volumetag": {
15226               "type": "string"
15227             }
15228           },
15229           "additionalProperties": false,
15230           "required": [
15231             "volumetag",
15232             "size",
15233             "provider"
15234           ]
15235         },
15236         "WatchContainer": {
15237           "type": "object",
15238           "properties": {
15239             "ContainerType": {
15240               "type": "string"
15241             },
15242             "MachineTag": {
15243               "type": "string"
15244             }
15245           },
15246           "additionalProperties": false,
15247           "required": [
15248             "MachineTag",
15249             "ContainerType"
15250           ]
15251         },
15252         "WatchContainers": {
15253           "type": "object",
15254           "properties": {
15255             "Params": {
15256               "type": "array",
15257               "items": {
15258                 "$ref": "#/definitions/WatchContainer"
15259               }
15260             }
15261           },
15262           "additionalProperties": false,
15263           "required": [
15264             "Params"
15265           ]
15266         },
15267         "caveat": {
15268           "type": "object",
15269           "properties": {
15270             "caveatId": {
15271               "$ref": "#/definitions/packet"
15272             },
15273             "location": {
15274               "$ref": "#/definitions/packet"
15275             },
15276             "verificationId": {
15277               "$ref": "#/definitions/packet"
15278             }
15279           },
15280           "additionalProperties": false,
15281           "required": [
15282             "location",
15283             "caveatId",
15284             "verificationId"
15285           ]
15286         },
15287         "packet": {
15288           "type": "object",
15289           "properties": {
15290             "headerLen": {
15291               "type": "integer"
15292             },
15293             "start": {
15294               "type": "integer"
15295             },
15296             "totalLen": {
15297               "type": "integer"
15298             }
15299           },
15300           "additionalProperties": false,
15301           "required": [
15302             "start",
15303             "totalLen",
15304             "headerLen"
15305           ]
15306         }
15307       }
15308     }
15309   },
15310   {
15311     "Name": "ProxyUpdater",
15312     "Version": 1,
15313     "Schema": {
15314       "type": "object",
15315       "properties": {
15316         "ProxyConfig": {
15317           "type": "object",
15318           "properties": {
15319             "Params": {
15320               "$ref": "#/definitions/Entities"
15321             },
15322             "Result": {
15323               "$ref": "#/definitions/ProxyConfigResults"
15324             }
15325           }
15326         },
15327         "WatchForProxyConfigAndAPIHostPortChanges": {
15328           "type": "object",
15329           "properties": {
15330             "Params": {
15331               "$ref": "#/definitions/Entities"
15332             },
15333             "Result": {
15334               "$ref": "#/definitions/NotifyWatchResults"
15335             }
15336           }
15337         }
15338       },
15339       "definitions": {
15340         "Entities": {
15341           "type": "object",
15342           "properties": {
15343             "Entities": {
15344               "type": "array",
15345               "items": {
15346                 "$ref": "#/definitions/Entity"
15347               }
15348             }
15349           },
15350           "additionalProperties": false,
15351           "required": [
15352             "Entities"
15353           ]
15354         },
15355         "Entity": {
15356           "type": "object",
15357           "properties": {
15358             "Tag": {
15359               "type": "string"
15360             }
15361           },
15362           "additionalProperties": false,
15363           "required": [
15364             "Tag"
15365           ]
15366         },
15367         "Error": {
15368           "type": "object",
15369           "properties": {
15370             "Code": {
15371               "type": "string"
15372             },
15373             "Info": {
15374               "$ref": "#/definitions/ErrorInfo"
15375             },
15376             "Message": {
15377               "type": "string"
15378             }
15379           },
15380           "additionalProperties": false,
15381           "required": [
15382             "Message",
15383             "Code"
15384           ]
15385         },
15386         "ErrorInfo": {
15387           "type": "object",
15388           "properties": {
15389             "Macaroon": {
15390               "$ref": "#/definitions/Macaroon"
15391             },
15392             "MacaroonPath": {
15393               "type": "string"
15394             }
15395           },
15396           "additionalProperties": false
15397         },
15398         "Macaroon": {
15399           "type": "object",
15400           "properties": {
15401             "caveats": {
15402               "type": "array",
15403               "items": {
15404                 "$ref": "#/definitions/caveat"
15405               }
15406             },
15407             "data": {
15408               "type": "array",
15409               "items": {
15410                 "type": "integer"
15411               }
15412             },
15413             "id": {
15414               "$ref": "#/definitions/packet"
15415             },
15416             "location": {
15417               "$ref": "#/definitions/packet"
15418             },
15419             "sig": {
15420               "type": "array",
15421               "items": {
15422                 "type": "integer"
15423               }
15424             }
15425           },
15426           "additionalProperties": false,
15427           "required": [
15428             "data",
15429             "location",
15430             "id",
15431             "caveats",
15432             "sig"
15433           ]
15434         },
15435         "NotifyWatchResult": {
15436           "type": "object",
15437           "properties": {
15438             "Error": {
15439               "$ref": "#/definitions/Error"
15440             },
15441             "NotifyWatcherId": {
15442               "type": "string"
15443             }
15444           },
15445           "additionalProperties": false,
15446           "required": [
15447             "NotifyWatcherId",
15448             "Error"
15449           ]
15450         },
15451         "NotifyWatchResults": {
15452           "type": "object",
15453           "properties": {
15454             "Results": {
15455               "type": "array",
15456               "items": {
15457                 "$ref": "#/definitions/NotifyWatchResult"
15458               }
15459             }
15460           },
15461           "additionalProperties": false,
15462           "required": [
15463             "Results"
15464           ]
15465         },
15466         "ProxyConfig": {
15467           "type": "object",
15468           "properties": {
15469             "FTP": {
15470               "type": "string"
15471             },
15472             "HTTP": {
15473               "type": "string"
15474             },
15475             "HTTPS": {
15476               "type": "string"
15477             },
15478             "NoProxy": {
15479               "type": "string"
15480             }
15481           },
15482           "additionalProperties": false,
15483           "required": [
15484             "HTTP",
15485             "HTTPS",
15486             "FTP",
15487             "NoProxy"
15488           ]
15489         },
15490         "ProxyConfigResult": {
15491           "type": "object",
15492           "properties": {
15493             "APTProxySettings": {
15494               "$ref": "#/definitions/ProxyConfig"
15495             },
15496             "Error": {
15497               "$ref": "#/definitions/Error"
15498             },
15499             "ProxySettings": {
15500               "$ref": "#/definitions/ProxyConfig"
15501             }
15502           },
15503           "additionalProperties": false,
15504           "required": [
15505             "ProxySettings",
15506             "APTProxySettings"
15507           ]
15508         },
15509         "ProxyConfigResults": {
15510           "type": "object",
15511           "properties": {
15512             "Results": {
15513               "type": "array",
15514               "items": {
15515                 "$ref": "#/definitions/ProxyConfigResult"
15516               }
15517             }
15518           },
15519           "additionalProperties": false,
15520           "required": [
15521             "Results"
15522           ]
15523         },
15524         "caveat": {
15525           "type": "object",
15526           "properties": {
15527             "caveatId": {
15528               "$ref": "#/definitions/packet"
15529             },
15530             "location": {
15531               "$ref": "#/definitions/packet"
15532             },
15533             "verificationId": {
15534               "$ref": "#/definitions/packet"
15535             }
15536           },
15537           "additionalProperties": false,
15538           "required": [
15539             "location",
15540             "caveatId",
15541             "verificationId"
15542           ]
15543         },
15544         "packet": {
15545           "type": "object",
15546           "properties": {
15547             "headerLen": {
15548               "type": "integer"
15549             },
15550             "start": {
15551               "type": "integer"
15552             },
15553             "totalLen": {
15554               "type": "integer"
15555             }
15556           },
15557           "additionalProperties": false,
15558           "required": [
15559             "start",
15560             "totalLen",
15561             "headerLen"
15562           ]
15563         }
15564       }
15565     }
15566   },
15567   {
15568     "Name": "Reboot",
15569     "Version": 2,
15570     "Schema": {
15571       "type": "object",
15572       "properties": {
15573         "ClearReboot": {
15574           "type": "object",
15575           "properties": {
15576             "Params": {
15577               "$ref": "#/definitions/Entities"
15578             },
15579             "Result": {
15580               "$ref": "#/definitions/ErrorResults"
15581             }
15582           }
15583         },
15584         "GetRebootAction": {
15585           "type": "object",
15586           "properties": {
15587             "Params": {
15588               "$ref": "#/definitions/Entities"
15589             },
15590             "Result": {
15591               "$ref": "#/definitions/RebootActionResults"
15592             }
15593           }
15594         },
15595         "RequestReboot": {
15596           "type": "object",
15597           "properties": {
15598             "Params": {
15599               "$ref": "#/definitions/Entities"
15600             },
15601             "Result": {
15602               "$ref": "#/definitions/ErrorResults"
15603             }
15604           }
15605         },
15606         "WatchForRebootEvent": {
15607           "type": "object",
15608           "properties": {
15609             "Result": {
15610               "$ref": "#/definitions/NotifyWatchResult"
15611             }
15612           }
15613         }
15614       },
15615       "definitions": {
15616         "Entities": {
15617           "type": "object",
15618           "properties": {
15619             "Entities": {
15620               "type": "array",
15621               "items": {
15622                 "$ref": "#/definitions/Entity"
15623               }
15624             }
15625           },
15626           "additionalProperties": false,
15627           "required": [
15628             "Entities"
15629           ]
15630         },
15631         "Entity": {
15632           "type": "object",
15633           "properties": {
15634             "Tag": {
15635               "type": "string"
15636             }
15637           },
15638           "additionalProperties": false,
15639           "required": [
15640             "Tag"
15641           ]
15642         },
15643         "Error": {
15644           "type": "object",
15645           "properties": {
15646             "Code": {
15647               "type": "string"
15648             },
15649             "Info": {
15650               "$ref": "#/definitions/ErrorInfo"
15651             },
15652             "Message": {
15653               "type": "string"
15654             }
15655           },
15656           "additionalProperties": false,
15657           "required": [
15658             "Message",
15659             "Code"
15660           ]
15661         },
15662         "ErrorInfo": {
15663           "type": "object",
15664           "properties": {
15665             "Macaroon": {
15666               "$ref": "#/definitions/Macaroon"
15667             },
15668             "MacaroonPath": {
15669               "type": "string"
15670             }
15671           },
15672           "additionalProperties": false
15673         },
15674         "ErrorResult": {
15675           "type": "object",
15676           "properties": {
15677             "Error": {
15678               "$ref": "#/definitions/Error"
15679             }
15680           },
15681           "additionalProperties": false,
15682           "required": [
15683             "Error"
15684           ]
15685         },
15686         "ErrorResults": {
15687           "type": "object",
15688           "properties": {
15689             "Results": {
15690               "type": "array",
15691               "items": {
15692                 "$ref": "#/definitions/ErrorResult"
15693               }
15694             }
15695           },
15696           "additionalProperties": false,
15697           "required": [
15698             "Results"
15699           ]
15700         },
15701         "Macaroon": {
15702           "type": "object",
15703           "properties": {
15704             "caveats": {
15705               "type": "array",
15706               "items": {
15707                 "$ref": "#/definitions/caveat"
15708               }
15709             },
15710             "data": {
15711               "type": "array",
15712               "items": {
15713                 "type": "integer"
15714               }
15715             },
15716             "id": {
15717               "$ref": "#/definitions/packet"
15718             },
15719             "location": {
15720               "$ref": "#/definitions/packet"
15721             },
15722             "sig": {
15723               "type": "array",
15724               "items": {
15725                 "type": "integer"
15726               }
15727             }
15728           },
15729           "additionalProperties": false,
15730           "required": [
15731             "data",
15732             "location",
15733             "id",
15734             "caveats",
15735             "sig"
15736           ]
15737         },
15738         "NotifyWatchResult": {
15739           "type": "object",
15740           "properties": {
15741             "Error": {
15742               "$ref": "#/definitions/Error"
15743             },
15744             "NotifyWatcherId": {
15745               "type": "string"
15746             }
15747           },
15748           "additionalProperties": false,
15749           "required": [
15750             "NotifyWatcherId",
15751             "Error"
15752           ]
15753         },
15754         "RebootActionResult": {
15755           "type": "object",
15756           "properties": {
15757             "error": {
15758               "$ref": "#/definitions/Error"
15759             },
15760             "result": {
15761               "type": "string"
15762             }
15763           },
15764           "additionalProperties": false
15765         },
15766         "RebootActionResults": {
15767           "type": "object",
15768           "properties": {
15769             "results": {
15770               "type": "array",
15771               "items": {
15772                 "$ref": "#/definitions/RebootActionResult"
15773               }
15774             }
15775           },
15776           "additionalProperties": false
15777         },
15778         "caveat": {
15779           "type": "object",
15780           "properties": {
15781             "caveatId": {
15782               "$ref": "#/definitions/packet"
15783             },
15784             "location": {
15785               "$ref": "#/definitions/packet"
15786             },
15787             "verificationId": {
15788               "$ref": "#/definitions/packet"
15789             }
15790           },
15791           "additionalProperties": false,
15792           "required": [
15793             "location",
15794             "caveatId",
15795             "verificationId"
15796           ]
15797         },
15798         "packet": {
15799           "type": "object",
15800           "properties": {
15801             "headerLen": {
15802               "type": "integer"
15803             },
15804             "start": {
15805               "type": "integer"
15806             },
15807             "totalLen": {
15808               "type": "integer"
15809             }
15810           },
15811           "additionalProperties": false,
15812           "required": [
15813             "start",
15814             "totalLen",
15815             "headerLen"
15816           ]
15817         }
15818       }
15819     }
15820   },
15821   {
15822     "Name": "RelationUnitsWatcher",
15823     "Version": 1,
15824     "Schema": {
15825       "type": "object",
15826       "properties": {
15827         "Next": {
15828           "type": "object",
15829           "properties": {
15830             "Result": {
15831               "$ref": "#/definitions/RelationUnitsWatchResult"
15832             }
15833           }
15834         },
15835         "Stop": {
15836           "type": "object"
15837         }
15838       },
15839       "definitions": {
15840         "Error": {
15841           "type": "object",
15842           "properties": {
15843             "Code": {
15844               "type": "string"
15845             },
15846             "Info": {
15847               "$ref": "#/definitions/ErrorInfo"
15848             },
15849             "Message": {
15850               "type": "string"
15851             }
15852           },
15853           "additionalProperties": false,
15854           "required": [
15855             "Message",
15856             "Code"
15857           ]
15858         },
15859         "ErrorInfo": {
15860           "type": "object",
15861           "properties": {
15862             "Macaroon": {
15863               "$ref": "#/definitions/Macaroon"
15864             },
15865             "MacaroonPath": {
15866               "type": "string"
15867             }
15868           },
15869           "additionalProperties": false
15870         },
15871         "Macaroon": {
15872           "type": "object",
15873           "properties": {
15874             "caveats": {
15875               "type": "array",
15876               "items": {
15877                 "$ref": "#/definitions/caveat"
15878               }
15879             },
15880             "data": {
15881               "type": "array",
15882               "items": {
15883                 "type": "integer"
15884               }
15885             },
15886             "id": {
15887               "$ref": "#/definitions/packet"
15888             },
15889             "location": {
15890               "$ref": "#/definitions/packet"
15891             },
15892             "sig": {
15893               "type": "array",
15894               "items": {
15895                 "type": "integer"
15896               }
15897             }
15898           },
15899           "additionalProperties": false,
15900           "required": [
15901             "data",
15902             "location",
15903             "id",
15904             "caveats",
15905             "sig"
15906           ]
15907         },
15908         "RelationUnitsChange": {
15909           "type": "object",
15910           "properties": {
15911             "Changed": {
15912               "type": "object",
15913               "patternProperties": {
15914                 ".*": {
15915                   "$ref": "#/definitions/UnitSettings"
15916                 }
15917               }
15918             },
15919             "Departed": {
15920               "type": "array",
15921               "items": {
15922                 "type": "string"
15923               }
15924             }
15925           },
15926           "additionalProperties": false,
15927           "required": [
15928             "Changed",
15929             "Departed"
15930           ]
15931         },
15932         "RelationUnitsWatchResult": {
15933           "type": "object",
15934           "properties": {
15935             "Changes": {
15936               "$ref": "#/definitions/RelationUnitsChange"
15937             },
15938             "Error": {
15939               "$ref": "#/definitions/Error"
15940             },
15941             "RelationUnitsWatcherId": {
15942               "type": "string"
15943             }
15944           },
15945           "additionalProperties": false,
15946           "required": [
15947             "RelationUnitsWatcherId",
15948             "Changes",
15949             "Error"
15950           ]
15951         },
15952         "UnitSettings": {
15953           "type": "object",
15954           "properties": {
15955             "Version": {
15956               "type": "integer"
15957             }
15958           },
15959           "additionalProperties": false,
15960           "required": [
15961             "Version"
15962           ]
15963         },
15964         "caveat": {
15965           "type": "object",
15966           "properties": {
15967             "caveatId": {
15968               "$ref": "#/definitions/packet"
15969             },
15970             "location": {
15971               "$ref": "#/definitions/packet"
15972             },
15973             "verificationId": {
15974               "$ref": "#/definitions/packet"
15975             }
15976           },
15977           "additionalProperties": false,
15978           "required": [
15979             "location",
15980             "caveatId",
15981             "verificationId"
15982           ]
15983         },
15984         "packet": {
15985           "type": "object",
15986           "properties": {
15987             "headerLen": {
15988               "type": "integer"
15989             },
15990             "start": {
15991               "type": "integer"
15992             },
15993             "totalLen": {
15994               "type": "integer"
15995             }
15996           },
15997           "additionalProperties": false,
15998           "required": [
15999             "start",
16000             "totalLen",
16001             "headerLen"
16002           ]
16003         }
16004       }
16005     }
16006   },
16007   {
16008     "Name": "Resumer",
16009     "Version": 2,
16010     "Schema": {
16011       "type": "object",
16012       "properties": {
16013         "ResumeTransactions": {
16014           "type": "object"
16015         }
16016       }
16017     }
16018   },
16019   {
16020     "Name": "RetryStrategy",
16021     "Version": 1,
16022     "Schema": {
16023       "type": "object",
16024       "properties": {
16025         "RetryStrategy": {
16026           "type": "object",
16027           "properties": {
16028             "Params": {
16029               "$ref": "#/definitions/Entities"
16030             },
16031             "Result": {
16032               "$ref": "#/definitions/RetryStrategyResults"
16033             }
16034           }
16035         },
16036         "WatchRetryStrategy": {
16037           "type": "object",
16038           "properties": {
16039             "Params": {
16040               "$ref": "#/definitions/Entities"
16041             },
16042             "Result": {
16043               "$ref": "#/definitions/NotifyWatchResults"
16044             }
16045           }
16046         }
16047       },
16048       "definitions": {
16049         "Entities": {
16050           "type": "object",
16051           "properties": {
16052             "Entities": {
16053               "type": "array",
16054               "items": {
16055                 "$ref": "#/definitions/Entity"
16056               }
16057             }
16058           },
16059           "additionalProperties": false,
16060           "required": [
16061             "Entities"
16062           ]
16063         },
16064         "Entity": {
16065           "type": "object",
16066           "properties": {
16067             "Tag": {
16068               "type": "string"
16069             }
16070           },
16071           "additionalProperties": false,
16072           "required": [
16073             "Tag"
16074           ]
16075         },
16076         "Error": {
16077           "type": "object",
16078           "properties": {
16079             "Code": {
16080               "type": "string"
16081             },
16082             "Info": {
16083               "$ref": "#/definitions/ErrorInfo"
16084             },
16085             "Message": {
16086               "type": "string"
16087             }
16088           },
16089           "additionalProperties": false,
16090           "required": [
16091             "Message",
16092             "Code"
16093           ]
16094         },
16095         "ErrorInfo": {
16096           "type": "object",
16097           "properties": {
16098             "Macaroon": {
16099               "$ref": "#/definitions/Macaroon"
16100             },
16101             "MacaroonPath": {
16102               "type": "string"
16103             }
16104           },
16105           "additionalProperties": false
16106         },
16107         "Macaroon": {
16108           "type": "object",
16109           "properties": {
16110             "caveats": {
16111               "type": "array",
16112               "items": {
16113                 "$ref": "#/definitions/caveat"
16114               }
16115             },
16116             "data": {
16117               "type": "array",
16118               "items": {
16119                 "type": "integer"
16120               }
16121             },
16122             "id": {
16123               "$ref": "#/definitions/packet"
16124             },
16125             "location": {
16126               "$ref": "#/definitions/packet"
16127             },
16128             "sig": {
16129               "type": "array",
16130               "items": {
16131                 "type": "integer"
16132               }
16133             }
16134           },
16135           "additionalProperties": false,
16136           "required": [
16137             "data",
16138             "location",
16139             "id",
16140             "caveats",
16141             "sig"
16142           ]
16143         },
16144         "NotifyWatchResult": {
16145           "type": "object",
16146           "properties": {
16147             "Error": {
16148               "$ref": "#/definitions/Error"
16149             },
16150             "NotifyWatcherId": {
16151               "type": "string"
16152             }
16153           },
16154           "additionalProperties": false,
16155           "required": [
16156             "NotifyWatcherId",
16157             "Error"
16158           ]
16159         },
16160         "NotifyWatchResults": {
16161           "type": "object",
16162           "properties": {
16163             "Results": {
16164               "type": "array",
16165               "items": {
16166                 "$ref": "#/definitions/NotifyWatchResult"
16167               }
16168             }
16169           },
16170           "additionalProperties": false,
16171           "required": [
16172             "Results"
16173           ]
16174         },
16175         "RetryStrategy": {
16176           "type": "object",
16177           "properties": {
16178             "JitterRetryTime": {
16179               "type": "boolean"
16180             },
16181             "MaxRetryTime": {
16182               "type": "integer"
16183             },
16184             "MinRetryTime": {
16185               "type": "integer"
16186             },
16187             "RetryTimeFactor": {
16188               "type": "integer"
16189             },
16190             "ShouldRetry": {
16191               "type": "boolean"
16192             }
16193           },
16194           "additionalProperties": false,
16195           "required": [
16196             "ShouldRetry",
16197             "MinRetryTime",
16198             "MaxRetryTime",
16199             "JitterRetryTime",
16200             "RetryTimeFactor"
16201           ]
16202         },
16203         "RetryStrategyResult": {
16204           "type": "object",
16205           "properties": {
16206             "Error": {
16207               "$ref": "#/definitions/Error"
16208             },
16209             "Result": {
16210               "$ref": "#/definitions/RetryStrategy"
16211             }
16212           },
16213           "additionalProperties": false,
16214           "required": [
16215             "Error",
16216             "Result"
16217           ]
16218         },
16219         "RetryStrategyResults": {
16220           "type": "object",
16221           "properties": {
16222             "Results": {
16223               "type": "array",
16224               "items": {
16225                 "$ref": "#/definitions/RetryStrategyResult"
16226               }
16227             }
16228           },
16229           "additionalProperties": false,
16230           "required": [
16231             "Results"
16232           ]
16233         },
16234         "caveat": {
16235           "type": "object",
16236           "properties": {
16237             "caveatId": {
16238               "$ref": "#/definitions/packet"
16239             },
16240             "location": {
16241               "$ref": "#/definitions/packet"
16242             },
16243             "verificationId": {
16244               "$ref": "#/definitions/packet"
16245             }
16246           },
16247           "additionalProperties": false,
16248           "required": [
16249             "location",
16250             "caveatId",
16251             "verificationId"
16252           ]
16253         },
16254         "packet": {
16255           "type": "object",
16256           "properties": {
16257             "headerLen": {
16258               "type": "integer"
16259             },
16260             "start": {
16261               "type": "integer"
16262             },
16263             "totalLen": {
16264               "type": "integer"
16265             }
16266           },
16267           "additionalProperties": false,
16268           "required": [
16269             "start",
16270             "totalLen",
16271             "headerLen"
16272           ]
16273         }
16274       }
16275     }
16276   },
16277   {
16278     "Name": "SSHClient",
16279     "Version": 1,
16280     "Schema": {
16281       "type": "object",
16282       "properties": {
16283         "PrivateAddress": {
16284           "type": "object",
16285           "properties": {
16286             "Params": {
16287               "$ref": "#/definitions/Entities"
16288             },
16289             "Result": {
16290               "$ref": "#/definitions/SSHAddressResults"
16291             }
16292           }
16293         },
16294         "Proxy": {
16295           "type": "object",
16296           "properties": {
16297             "Result": {
16298               "$ref": "#/definitions/SSHProxyResult"
16299             }
16300           }
16301         },
16302         "PublicAddress": {
16303           "type": "object",
16304           "properties": {
16305             "Params": {
16306               "$ref": "#/definitions/Entities"
16307             },
16308             "Result": {
16309               "$ref": "#/definitions/SSHAddressResults"
16310             }
16311           }
16312         },
16313         "PublicKeys": {
16314           "type": "object",
16315           "properties": {
16316             "Params": {
16317               "$ref": "#/definitions/Entities"
16318             },
16319             "Result": {
16320               "$ref": "#/definitions/SSHPublicKeysResults"
16321             }
16322           }
16323         }
16324       },
16325       "definitions": {
16326         "Entities": {
16327           "type": "object",
16328           "properties": {
16329             "Entities": {
16330               "type": "array",
16331               "items": {
16332                 "$ref": "#/definitions/Entity"
16333               }
16334             }
16335           },
16336           "additionalProperties": false,
16337           "required": [
16338             "Entities"
16339           ]
16340         },
16341         "Entity": {
16342           "type": "object",
16343           "properties": {
16344             "Tag": {
16345               "type": "string"
16346             }
16347           },
16348           "additionalProperties": false,
16349           "required": [
16350             "Tag"
16351           ]
16352         },
16353         "Error": {
16354           "type": "object",
16355           "properties": {
16356             "Code": {
16357               "type": "string"
16358             },
16359             "Info": {
16360               "$ref": "#/definitions/ErrorInfo"
16361             },
16362             "Message": {
16363               "type": "string"
16364             }
16365           },
16366           "additionalProperties": false,
16367           "required": [
16368             "Message",
16369             "Code"
16370           ]
16371         },
16372         "ErrorInfo": {
16373           "type": "object",
16374           "properties": {
16375             "Macaroon": {
16376               "$ref": "#/definitions/Macaroon"
16377             },
16378             "MacaroonPath": {
16379               "type": "string"
16380             }
16381           },
16382           "additionalProperties": false
16383         },
16384         "Macaroon": {
16385           "type": "object",
16386           "properties": {
16387             "caveats": {
16388               "type": "array",
16389               "items": {
16390                 "$ref": "#/definitions/caveat"
16391               }
16392             },
16393             "data": {
16394               "type": "array",
16395               "items": {
16396                 "type": "integer"
16397               }
16398             },
16399             "id": {
16400               "$ref": "#/definitions/packet"
16401             },
16402             "location": {
16403               "$ref": "#/definitions/packet"
16404             },
16405             "sig": {
16406               "type": "array",
16407               "items": {
16408                 "type": "integer"
16409               }
16410             }
16411           },
16412           "additionalProperties": false,
16413           "required": [
16414             "data",
16415             "location",
16416             "id",
16417             "caveats",
16418             "sig"
16419           ]
16420         },
16421         "SSHAddressResult": {
16422           "type": "object",
16423           "properties": {
16424             "address": {
16425               "type": "string"
16426             },
16427             "error": {
16428               "$ref": "#/definitions/Error"
16429             }
16430           },
16431           "additionalProperties": false
16432         },
16433         "SSHAddressResults": {
16434           "type": "object",
16435           "properties": {
16436             "results": {
16437               "type": "array",
16438               "items": {
16439                 "$ref": "#/definitions/SSHAddressResult"
16440               }
16441             }
16442           },
16443           "additionalProperties": false,
16444           "required": [
16445             "results"
16446           ]
16447         },
16448         "SSHProxyResult": {
16449           "type": "object",
16450           "properties": {
16451             "use-proxy": {
16452               "type": "boolean"
16453             }
16454           },
16455           "additionalProperties": false,
16456           "required": [
16457             "use-proxy"
16458           ]
16459         },
16460         "SSHPublicKeysResult": {
16461           "type": "object",
16462           "properties": {
16463             "error": {
16464               "$ref": "#/definitions/Error"
16465             },
16466             "public-keys": {
16467               "type": "array",
16468               "items": {
16469                 "type": "string"
16470               }
16471             }
16472           },
16473           "additionalProperties": false
16474         },
16475         "SSHPublicKeysResults": {
16476           "type": "object",
16477           "properties": {
16478             "results": {
16479               "type": "array",
16480               "items": {
16481                 "$ref": "#/definitions/SSHPublicKeysResult"
16482               }
16483             }
16484           },
16485           "additionalProperties": false,
16486           "required": [
16487             "results"
16488           ]
16489         },
16490         "caveat": {
16491           "type": "object",
16492           "properties": {
16493             "caveatId": {
16494               "$ref": "#/definitions/packet"
16495             },
16496             "location": {
16497               "$ref": "#/definitions/packet"
16498             },
16499             "verificationId": {
16500               "$ref": "#/definitions/packet"
16501             }
16502           },
16503           "additionalProperties": false,
16504           "required": [
16505             "location",
16506             "caveatId",
16507             "verificationId"
16508           ]
16509         },
16510         "packet": {
16511           "type": "object",
16512           "properties": {
16513             "headerLen": {
16514               "type": "integer"
16515             },
16516             "start": {
16517               "type": "integer"
16518             },
16519             "totalLen": {
16520               "type": "integer"
16521             }
16522           },
16523           "additionalProperties": false,
16524           "required": [
16525             "start",
16526             "totalLen",
16527             "headerLen"
16528           ]
16529         }
16530       }
16531     }
16532   },
16533   {
16534     "Name": "Service",
16535     "Version": 3,
16536     "Schema": {
16537       "type": "object",
16538       "properties": {
16539         "AddRelation": {
16540           "type": "object",
16541           "properties": {
16542             "Params": {
16543               "$ref": "#/definitions/AddRelation"
16544             },
16545             "Result": {
16546               "$ref": "#/definitions/AddRelationResults"
16547             }
16548           }
16549         },
16550         "AddUnits": {
16551           "type": "object",
16552           "properties": {
16553             "Params": {
16554               "$ref": "#/definitions/AddServiceUnits"
16555             },
16556             "Result": {
16557               "$ref": "#/definitions/AddServiceUnitsResults"
16558             }
16559           }
16560         },
16561         "CharmRelations": {
16562           "type": "object",
16563           "properties": {
16564             "Params": {
16565               "$ref": "#/definitions/ServiceCharmRelations"
16566             },
16567             "Result": {
16568               "$ref": "#/definitions/ServiceCharmRelationsResults"
16569             }
16570           }
16571         },
16572         "Deploy": {
16573           "type": "object",
16574           "properties": {
16575             "Params": {
16576               "$ref": "#/definitions/ServicesDeploy"
16577             },
16578             "Result": {
16579               "$ref": "#/definitions/ErrorResults"
16580             }
16581           }
16582         },
16583         "Destroy": {
16584           "type": "object",
16585           "properties": {
16586             "Params": {
16587               "$ref": "#/definitions/ServiceDestroy"
16588             }
16589           }
16590         },
16591         "DestroyRelation": {
16592           "type": "object",
16593           "properties": {
16594             "Params": {
16595               "$ref": "#/definitions/DestroyRelation"
16596             }
16597           }
16598         },
16599         "DestroyUnits": {
16600           "type": "object",
16601           "properties": {
16602             "Params": {
16603               "$ref": "#/definitions/DestroyServiceUnits"
16604             }
16605           }
16606         },
16607         "Expose": {
16608           "type": "object",
16609           "properties": {
16610             "Params": {
16611               "$ref": "#/definitions/ServiceExpose"
16612             }
16613           }
16614         },
16615         "Get": {
16616           "type": "object",
16617           "properties": {
16618             "Params": {
16619               "$ref": "#/definitions/ServiceGet"
16620             },
16621             "Result": {
16622               "$ref": "#/definitions/ServiceGetResults"
16623             }
16624           }
16625         },
16626         "GetCharmURL": {
16627           "type": "object",
16628           "properties": {
16629             "Params": {
16630               "$ref": "#/definitions/ServiceGet"
16631             },
16632             "Result": {
16633               "$ref": "#/definitions/StringResult"
16634             }
16635           }
16636         },
16637         "GetConstraints": {
16638           "type": "object",
16639           "properties": {
16640             "Params": {
16641               "$ref": "#/definitions/GetServiceConstraints"
16642             },
16643             "Result": {
16644               "$ref": "#/definitions/GetConstraintsResults"
16645             }
16646           }
16647         },
16648         "Set": {
16649           "type": "object",
16650           "properties": {
16651             "Params": {
16652               "$ref": "#/definitions/ServiceSet"
16653             }
16654           }
16655         },
16656         "SetCharm": {
16657           "type": "object",
16658           "properties": {
16659             "Params": {
16660               "$ref": "#/definitions/ServiceSetCharm"
16661             }
16662           }
16663         },
16664         "SetConstraints": {
16665           "type": "object",
16666           "properties": {
16667             "Params": {
16668               "$ref": "#/definitions/SetConstraints"
16669             }
16670           }
16671         },
16672         "SetMetricCredentials": {
16673           "type": "object",
16674           "properties": {
16675             "Params": {
16676               "$ref": "#/definitions/ServiceMetricCredentials"
16677             },
16678             "Result": {
16679               "$ref": "#/definitions/ErrorResults"
16680             }
16681           }
16682         },
16683         "Unexpose": {
16684           "type": "object",
16685           "properties": {
16686             "Params": {
16687               "$ref": "#/definitions/ServiceUnexpose"
16688             }
16689           }
16690         },
16691         "Unset": {
16692           "type": "object",
16693           "properties": {
16694             "Params": {
16695               "$ref": "#/definitions/ServiceUnset"
16696             }
16697           }
16698         },
16699         "Update": {
16700           "type": "object",
16701           "properties": {
16702             "Params": {
16703               "$ref": "#/definitions/ServiceUpdate"
16704             }
16705           }
16706         }
16707       },
16708       "definitions": {
16709         "AddRelation": {
16710           "type": "object",
16711           "properties": {
16712             "Endpoints": {
16713               "type": "array",
16714               "items": {
16715                 "type": "string"
16716               }
16717             }
16718           },
16719           "additionalProperties": false,
16720           "required": [
16721             "Endpoints"
16722           ]
16723         },
16724         "AddRelationResults": {
16725           "type": "object",
16726           "properties": {
16727             "Endpoints": {
16728               "type": "object",
16729               "patternProperties": {
16730                 ".*": {
16731                   "$ref": "#/definitions/Relation"
16732                 }
16733               }
16734             }
16735           },
16736           "additionalProperties": false,
16737           "required": [
16738             "Endpoints"
16739           ]
16740         },
16741         "AddServiceUnits": {
16742           "type": "object",
16743           "properties": {
16744             "NumUnits": {
16745               "type": "integer"
16746             },
16747             "Placement": {
16748               "type": "array",
16749               "items": {
16750                 "$ref": "#/definitions/Placement"
16751               }
16752             },
16753             "ServiceName": {
16754               "type": "string"
16755             }
16756           },
16757           "additionalProperties": false,
16758           "required": [
16759             "ServiceName",
16760             "NumUnits",
16761             "Placement"
16762           ]
16763         },
16764         "AddServiceUnitsResults": {
16765           "type": "object",
16766           "properties": {
16767             "Units": {
16768               "type": "array",
16769               "items": {
16770                 "type": "string"
16771               }
16772             }
16773           },
16774           "additionalProperties": false,
16775           "required": [
16776             "Units"
16777           ]
16778         },
16779         "Constraints": {
16780           "type": "object",
16781           "properties": {
16782             "Count": {
16783               "type": "integer"
16784             },
16785             "Pool": {
16786               "type": "string"
16787             },
16788             "Size": {
16789               "type": "integer"
16790             }
16791           },
16792           "additionalProperties": false,
16793           "required": [
16794             "Pool",
16795             "Size",
16796             "Count"
16797           ]
16798         },
16799         "DestroyRelation": {
16800           "type": "object",
16801           "properties": {
16802             "Endpoints": {
16803               "type": "array",
16804               "items": {
16805                 "type": "string"
16806               }
16807             }
16808           },
16809           "additionalProperties": false,
16810           "required": [
16811             "Endpoints"
16812           ]
16813         },
16814         "DestroyServiceUnits": {
16815           "type": "object",
16816           "properties": {
16817             "UnitNames": {
16818               "type": "array",
16819               "items": {
16820                 "type": "string"
16821               }
16822             }
16823           },
16824           "additionalProperties": false,
16825           "required": [
16826             "UnitNames"
16827           ]
16828         },
16829         "Error": {
16830           "type": "object",
16831           "properties": {
16832             "Code": {
16833               "type": "string"
16834             },
16835             "Info": {
16836               "$ref": "#/definitions/ErrorInfo"
16837             },
16838             "Message": {
16839               "type": "string"
16840             }
16841           },
16842           "additionalProperties": false,
16843           "required": [
16844             "Message",
16845             "Code"
16846           ]
16847         },
16848         "ErrorInfo": {
16849           "type": "object",
16850           "properties": {
16851             "Macaroon": {
16852               "$ref": "#/definitions/Macaroon"
16853             },
16854             "MacaroonPath": {
16855               "type": "string"
16856             }
16857           },
16858           "additionalProperties": false
16859         },
16860         "ErrorResult": {
16861           "type": "object",
16862           "properties": {
16863             "Error": {
16864               "$ref": "#/definitions/Error"
16865             }
16866           },
16867           "additionalProperties": false,
16868           "required": [
16869             "Error"
16870           ]
16871         },
16872         "ErrorResults": {
16873           "type": "object",
16874           "properties": {
16875             "Results": {
16876               "type": "array",
16877               "items": {
16878                 "$ref": "#/definitions/ErrorResult"
16879               }
16880             }
16881           },
16882           "additionalProperties": false,
16883           "required": [
16884             "Results"
16885           ]
16886         },
16887         "GetConstraintsResults": {
16888           "type": "object",
16889           "properties": {
16890             "Constraints": {
16891               "$ref": "#/definitions/Value"
16892             }
16893           },
16894           "additionalProperties": false,
16895           "required": [
16896             "Constraints"
16897           ]
16898         },
16899         "GetServiceConstraints": {
16900           "type": "object",
16901           "properties": {
16902             "ServiceName": {
16903               "type": "string"
16904             }
16905           },
16906           "additionalProperties": false,
16907           "required": [
16908             "ServiceName"
16909           ]
16910         },
16911         "Macaroon": {
16912           "type": "object",
16913           "properties": {
16914             "caveats": {
16915               "type": "array",
16916               "items": {
16917                 "$ref": "#/definitions/caveat"
16918               }
16919             },
16920             "data": {
16921               "type": "array",
16922               "items": {
16923                 "type": "integer"
16924               }
16925             },
16926             "id": {
16927               "$ref": "#/definitions/packet"
16928             },
16929             "location": {
16930               "$ref": "#/definitions/packet"
16931             },
16932             "sig": {
16933               "type": "array",
16934               "items": {
16935                 "type": "integer"
16936               }
16937             }
16938           },
16939           "additionalProperties": false,
16940           "required": [
16941             "data",
16942             "location",
16943             "id",
16944             "caveats",
16945             "sig"
16946           ]
16947         },
16948         "Placement": {
16949           "type": "object",
16950           "properties": {
16951             "Directive": {
16952               "type": "string"
16953             },
16954             "Scope": {
16955               "type": "string"
16956             }
16957           },
16958           "additionalProperties": false,
16959           "required": [
16960             "Scope",
16961             "Directive"
16962           ]
16963         },
16964         "Relation": {
16965           "type": "object",
16966           "properties": {
16967             "Interface": {
16968               "type": "string"
16969             },
16970             "Limit": {
16971               "type": "integer"
16972             },
16973             "Name": {
16974               "type": "string"
16975             },
16976             "Optional": {
16977               "type": "boolean"
16978             },
16979             "Role": {
16980               "type": "string"
16981             },
16982             "Scope": {
16983               "type": "string"
16984             }
16985           },
16986           "additionalProperties": false,
16987           "required": [
16988             "Name",
16989             "Role",
16990             "Interface",
16991             "Optional",
16992             "Limit",
16993             "Scope"
16994           ]
16995         },
16996         "ServiceCharmRelations": {
16997           "type": "object",
16998           "properties": {
16999             "ServiceName": {
17000               "type": "string"
17001             }
17002           },
17003           "additionalProperties": false,
17004           "required": [
17005             "ServiceName"
17006           ]
17007         },
17008         "ServiceCharmRelationsResults": {
17009           "type": "object",
17010           "properties": {
17011             "CharmRelations": {
17012               "type": "array",
17013               "items": {
17014                 "type": "string"
17015               }
17016             }
17017           },
17018           "additionalProperties": false,
17019           "required": [
17020             "CharmRelations"
17021           ]
17022         },
17023         "ServiceDeploy": {
17024           "type": "object",
17025           "properties": {
17026             "Channel": {
17027               "type": "string"
17028             },
17029             "CharmUrl": {
17030               "type": "string"
17031             },
17032             "Config": {
17033               "type": "object",
17034               "patternProperties": {
17035                 ".*": {
17036                   "type": "string"
17037                 }
17038               }
17039             },
17040             "ConfigYAML": {
17041               "type": "string"
17042             },
17043             "Constraints": {
17044               "$ref": "#/definitions/Value"
17045             },
17046             "EndpointBindings": {
17047               "type": "object",
17048               "patternProperties": {
17049                 ".*": {
17050                   "type": "string"
17051                 }
17052               }
17053             },
17054             "NumUnits": {
17055               "type": "integer"
17056             },
17057             "Placement": {
17058               "type": "array",
17059               "items": {
17060                 "$ref": "#/definitions/Placement"
17061               }
17062             },
17063             "Resources": {
17064               "type": "object",
17065               "patternProperties": {
17066                 ".*": {
17067                   "type": "string"
17068                 }
17069               }
17070             },
17071             "Series": {
17072               "type": "string"
17073             },
17074             "ServiceName": {
17075               "type": "string"
17076             },
17077             "Storage": {
17078               "type": "object",
17079               "patternProperties": {
17080                 ".*": {
17081                   "$ref": "#/definitions/Constraints"
17082                 }
17083               }
17084             }
17085           },
17086           "additionalProperties": false,
17087           "required": [
17088             "ServiceName",
17089             "Series",
17090             "CharmUrl",
17091             "Channel",
17092             "NumUnits",
17093             "Config",
17094             "ConfigYAML",
17095             "Constraints",
17096             "Placement",
17097             "Storage",
17098             "EndpointBindings",
17099             "Resources"
17100           ]
17101         },
17102         "ServiceDestroy": {
17103           "type": "object",
17104           "properties": {
17105             "ServiceName": {
17106               "type": "string"
17107             }
17108           },
17109           "additionalProperties": false,
17110           "required": [
17111             "ServiceName"
17112           ]
17113         },
17114         "ServiceExpose": {
17115           "type": "object",
17116           "properties": {
17117             "ServiceName": {
17118               "type": "string"
17119             }
17120           },
17121           "additionalProperties": false,
17122           "required": [
17123             "ServiceName"
17124           ]
17125         },
17126         "ServiceGet": {
17127           "type": "object",
17128           "properties": {
17129             "ServiceName": {
17130               "type": "string"
17131             }
17132           },
17133           "additionalProperties": false,
17134           "required": [
17135             "ServiceName"
17136           ]
17137         },
17138         "ServiceGetResults": {
17139           "type": "object",
17140           "properties": {
17141             "Charm": {
17142               "type": "string"
17143             },
17144             "Config": {
17145               "type": "object",
17146               "patternProperties": {
17147                 ".*": {
17148                   "type": "object",
17149                   "additionalProperties": true
17150                 }
17151               }
17152             },
17153             "Constraints": {
17154               "$ref": "#/definitions/Value"
17155             },
17156             "Service": {
17157               "type": "string"
17158             }
17159           },
17160           "additionalProperties": false,
17161           "required": [
17162             "Service",
17163             "Charm",
17164             "Config",
17165             "Constraints"
17166           ]
17167         },
17168         "ServiceMetricCredential": {
17169           "type": "object",
17170           "properties": {
17171             "MetricCredentials": {
17172               "type": "array",
17173               "items": {
17174                 "type": "integer"
17175               }
17176             },
17177             "ServiceName": {
17178               "type": "string"
17179             }
17180           },
17181           "additionalProperties": false,
17182           "required": [
17183             "ServiceName",
17184             "MetricCredentials"
17185           ]
17186         },
17187         "ServiceMetricCredentials": {
17188           "type": "object",
17189           "properties": {
17190             "Creds": {
17191               "type": "array",
17192               "items": {
17193                 "$ref": "#/definitions/ServiceMetricCredential"
17194               }
17195             }
17196           },
17197           "additionalProperties": false,
17198           "required": [
17199             "Creds"
17200           ]
17201         },
17202         "ServiceSet": {
17203           "type": "object",
17204           "properties": {
17205             "Options": {
17206               "type": "object",
17207               "patternProperties": {
17208                 ".*": {
17209                   "type": "string"
17210                 }
17211               }
17212             },
17213             "ServiceName": {
17214               "type": "string"
17215             }
17216           },
17217           "additionalProperties": false,
17218           "required": [
17219             "ServiceName",
17220             "Options"
17221           ]
17222         },
17223         "ServiceSetCharm": {
17224           "type": "object",
17225           "properties": {
17226             "charmurl": {
17227               "type": "string"
17228             },
17229             "cs-channel": {
17230               "type": "string"
17231             },
17232             "forceseries": {
17233               "type": "boolean"
17234             },
17235             "forceunits": {
17236               "type": "boolean"
17237             },
17238             "resourceids": {
17239               "type": "object",
17240               "patternProperties": {
17241                 ".*": {
17242                   "type": "string"
17243                 }
17244               }
17245             },
17246             "servicename": {
17247               "type": "string"
17248             }
17249           },
17250           "additionalProperties": false,
17251           "required": [
17252             "servicename",
17253             "charmurl",
17254             "cs-channel",
17255             "forceunits",
17256             "forceseries",
17257             "resourceids"
17258           ]
17259         },
17260         "ServiceUnexpose": {
17261           "type": "object",
17262           "properties": {
17263             "ServiceName": {
17264               "type": "string"
17265             }
17266           },
17267           "additionalProperties": false,
17268           "required": [
17269             "ServiceName"
17270           ]
17271         },
17272         "ServiceUnset": {
17273           "type": "object",
17274           "properties": {
17275             "Options": {
17276               "type": "array",
17277               "items": {
17278                 "type": "string"
17279               }
17280             },
17281             "ServiceName": {
17282               "type": "string"
17283             }
17284           },
17285           "additionalProperties": false,
17286           "required": [
17287             "ServiceName",
17288             "Options"
17289           ]
17290         },
17291         "ServiceUpdate": {
17292           "type": "object",
17293           "properties": {
17294             "CharmUrl": {
17295               "type": "string"
17296             },
17297             "Constraints": {
17298               "$ref": "#/definitions/Value"
17299             },
17300             "ForceCharmUrl": {
17301               "type": "boolean"
17302             },
17303             "ForceSeries": {
17304               "type": "boolean"
17305             },
17306             "MinUnits": {
17307               "type": "integer"
17308             },
17309             "ServiceName": {
17310               "type": "string"
17311             },
17312             "SettingsStrings": {
17313               "type": "object",
17314               "patternProperties": {
17315                 ".*": {
17316                   "type": "string"
17317                 }
17318               }
17319             },
17320             "SettingsYAML": {
17321               "type": "string"
17322             }
17323           },
17324           "additionalProperties": false,
17325           "required": [
17326             "ServiceName",
17327             "CharmUrl",
17328             "ForceCharmUrl",
17329             "ForceSeries",
17330             "MinUnits",
17331             "SettingsStrings",
17332             "SettingsYAML",
17333             "Constraints"
17334           ]
17335         },
17336         "ServicesDeploy": {
17337           "type": "object",
17338           "properties": {
17339             "Services": {
17340               "type": "array",
17341               "items": {
17342                 "$ref": "#/definitions/ServiceDeploy"
17343               }
17344             }
17345           },
17346           "additionalProperties": false,
17347           "required": [
17348             "Services"
17349           ]
17350         },
17351         "SetConstraints": {
17352           "type": "object",
17353           "properties": {
17354             "Constraints": {
17355               "$ref": "#/definitions/Value"
17356             },
17357             "ServiceName": {
17358               "type": "string"
17359             }
17360           },
17361           "additionalProperties": false,
17362           "required": [
17363             "ServiceName",
17364             "Constraints"
17365           ]
17366         },
17367         "StringResult": {
17368           "type": "object",
17369           "properties": {
17370             "Error": {
17371               "$ref": "#/definitions/Error"
17372             },
17373             "Result": {
17374               "type": "string"
17375             }
17376           },
17377           "additionalProperties": false,
17378           "required": [
17379             "Error",
17380             "Result"
17381           ]
17382         },
17383         "Value": {
17384           "type": "object",
17385           "properties": {
17386             "arch": {
17387               "type": "string"
17388             },
17389             "container": {
17390               "type": "string"
17391             },
17392             "cpu-cores": {
17393               "type": "integer"
17394             },
17395             "cpu-power": {
17396               "type": "integer"
17397             },
17398             "instance-type": {
17399               "type": "string"
17400             },
17401             "mem": {
17402               "type": "integer"
17403             },
17404             "root-disk": {
17405               "type": "integer"
17406             },
17407             "spaces": {
17408               "type": "array",
17409               "items": {
17410                 "type": "string"
17411               }
17412             },
17413             "tags": {
17414               "type": "array",
17415               "items": {
17416                 "type": "string"
17417               }
17418             },
17419             "virt-type": {
17420               "type": "string"
17421             }
17422           },
17423           "additionalProperties": false
17424         },
17425         "caveat": {
17426           "type": "object",
17427           "properties": {
17428             "caveatId": {
17429               "$ref": "#/definitions/packet"
17430             },
17431             "location": {
17432               "$ref": "#/definitions/packet"
17433             },
17434             "verificationId": {
17435               "$ref": "#/definitions/packet"
17436             }
17437           },
17438           "additionalProperties": false,
17439           "required": [
17440             "location",
17441             "caveatId",
17442             "verificationId"
17443           ]
17444         },
17445         "packet": {
17446           "type": "object",
17447           "properties": {
17448             "headerLen": {
17449               "type": "integer"
17450             },
17451             "start": {
17452               "type": "integer"
17453             },
17454             "totalLen": {
17455               "type": "integer"
17456             }
17457           },
17458           "additionalProperties": false,
17459           "required": [
17460             "start",
17461             "totalLen",
17462             "headerLen"
17463           ]
17464         }
17465       }
17466     }
17467   },
17468   {
17469     "Name": "ServiceScaler",
17470     "Version": 1,
17471     "Schema": {
17472       "type": "object",
17473       "properties": {
17474         "Rescale": {
17475           "type": "object",
17476           "properties": {
17477             "Params": {
17478               "$ref": "#/definitions/Entities"
17479             },
17480             "Result": {
17481               "$ref": "#/definitions/ErrorResults"
17482             }
17483           }
17484         },
17485         "Watch": {
17486           "type": "object",
17487           "properties": {
17488             "Result": {
17489               "$ref": "#/definitions/StringsWatchResult"
17490             }
17491           }
17492         }
17493       },
17494       "definitions": {
17495         "Entities": {
17496           "type": "object",
17497           "properties": {
17498             "Entities": {
17499               "type": "array",
17500               "items": {
17501                 "$ref": "#/definitions/Entity"
17502               }
17503             }
17504           },
17505           "additionalProperties": false,
17506           "required": [
17507             "Entities"
17508           ]
17509         },
17510         "Entity": {
17511           "type": "object",
17512           "properties": {
17513             "Tag": {
17514               "type": "string"
17515             }
17516           },
17517           "additionalProperties": false,
17518           "required": [
17519             "Tag"
17520           ]
17521         },
17522         "Error": {
17523           "type": "object",
17524           "properties": {
17525             "Code": {
17526               "type": "string"
17527             },
17528             "Info": {
17529               "$ref": "#/definitions/ErrorInfo"
17530             },
17531             "Message": {
17532               "type": "string"
17533             }
17534           },
17535           "additionalProperties": false,
17536           "required": [
17537             "Message",
17538             "Code"
17539           ]
17540         },
17541         "ErrorInfo": {
17542           "type": "object",
17543           "properties": {
17544             "Macaroon": {
17545               "$ref": "#/definitions/Macaroon"
17546             },
17547             "MacaroonPath": {
17548               "type": "string"
17549             }
17550           },
17551           "additionalProperties": false
17552         },
17553         "ErrorResult": {
17554           "type": "object",
17555           "properties": {
17556             "Error": {
17557               "$ref": "#/definitions/Error"
17558             }
17559           },
17560           "additionalProperties": false,
17561           "required": [
17562             "Error"
17563           ]
17564         },
17565         "ErrorResults": {
17566           "type": "object",
17567           "properties": {
17568             "Results": {
17569               "type": "array",
17570               "items": {
17571                 "$ref": "#/definitions/ErrorResult"
17572               }
17573             }
17574           },
17575           "additionalProperties": false,
17576           "required": [
17577             "Results"
17578           ]
17579         },
17580         "Macaroon": {
17581           "type": "object",
17582           "properties": {
17583             "caveats": {
17584               "type": "array",
17585               "items": {
17586                 "$ref": "#/definitions/caveat"
17587               }
17588             },
17589             "data": {
17590               "type": "array",
17591               "items": {
17592                 "type": "integer"
17593               }
17594             },
17595             "id": {
17596               "$ref": "#/definitions/packet"
17597             },
17598             "location": {
17599               "$ref": "#/definitions/packet"
17600             },
17601             "sig": {
17602               "type": "array",
17603               "items": {
17604                 "type": "integer"
17605               }
17606             }
17607           },
17608           "additionalProperties": false,
17609           "required": [
17610             "data",
17611             "location",
17612             "id",
17613             "caveats",
17614             "sig"
17615           ]
17616         },
17617         "StringsWatchResult": {
17618           "type": "object",
17619           "properties": {
17620             "Changes": {
17621               "type": "array",
17622               "items": {
17623                 "type": "string"
17624               }
17625             },
17626             "Error": {
17627               "$ref": "#/definitions/Error"
17628             },
17629             "StringsWatcherId": {
17630               "type": "string"
17631             }
17632           },
17633           "additionalProperties": false,
17634           "required": [
17635             "StringsWatcherId",
17636             "Changes",
17637             "Error"
17638           ]
17639         },
17640         "caveat": {
17641           "type": "object",
17642           "properties": {
17643             "caveatId": {
17644               "$ref": "#/definitions/packet"
17645             },
17646             "location": {
17647               "$ref": "#/definitions/packet"
17648             },
17649             "verificationId": {
17650               "$ref": "#/definitions/packet"
17651             }
17652           },
17653           "additionalProperties": false,
17654           "required": [
17655             "location",
17656             "caveatId",
17657             "verificationId"
17658           ]
17659         },
17660         "packet": {
17661           "type": "object",
17662           "properties": {
17663             "headerLen": {
17664               "type": "integer"
17665             },
17666             "start": {
17667               "type": "integer"
17668             },
17669             "totalLen": {
17670               "type": "integer"
17671             }
17672           },
17673           "additionalProperties": false,
17674           "required": [
17675             "start",
17676             "totalLen",
17677             "headerLen"
17678           ]
17679         }
17680       }
17681     }
17682   },
17683   {
17684     "Name": "Singular",
17685     "Version": 1,
17686     "Schema": {
17687       "type": "object",
17688       "properties": {
17689         "Claim": {
17690           "type": "object",
17691           "properties": {
17692             "Params": {
17693               "$ref": "#/definitions/SingularClaims"
17694             },
17695             "Result": {
17696               "$ref": "#/definitions/ErrorResults"
17697             }
17698           }
17699         },
17700         "Wait": {
17701           "type": "object",
17702           "properties": {
17703             "Params": {
17704               "$ref": "#/definitions/Entities"
17705             },
17706             "Result": {
17707               "$ref": "#/definitions/ErrorResults"
17708             }
17709           }
17710         }
17711       },
17712       "definitions": {
17713         "Entities": {
17714           "type": "object",
17715           "properties": {
17716             "Entities": {
17717               "type": "array",
17718               "items": {
17719                 "$ref": "#/definitions/Entity"
17720               }
17721             }
17722           },
17723           "additionalProperties": false,
17724           "required": [
17725             "Entities"
17726           ]
17727         },
17728         "Entity": {
17729           "type": "object",
17730           "properties": {
17731             "Tag": {
17732               "type": "string"
17733             }
17734           },
17735           "additionalProperties": false,
17736           "required": [
17737             "Tag"
17738           ]
17739         },
17740         "Error": {
17741           "type": "object",
17742           "properties": {
17743             "Code": {
17744               "type": "string"
17745             },
17746             "Info": {
17747               "$ref": "#/definitions/ErrorInfo"
17748             },
17749             "Message": {
17750               "type": "string"
17751             }
17752           },
17753           "additionalProperties": false,
17754           "required": [
17755             "Message",
17756             "Code"
17757           ]
17758         },
17759         "ErrorInfo": {
17760           "type": "object",
17761           "properties": {
17762             "Macaroon": {
17763               "$ref": "#/definitions/Macaroon"
17764             },
17765             "MacaroonPath": {
17766               "type": "string"
17767             }
17768           },
17769           "additionalProperties": false
17770         },
17771         "ErrorResult": {
17772           "type": "object",
17773           "properties": {
17774             "Error": {
17775               "$ref": "#/definitions/Error"
17776             }
17777           },
17778           "additionalProperties": false,
17779           "required": [
17780             "Error"
17781           ]
17782         },
17783         "ErrorResults": {
17784           "type": "object",
17785           "properties": {
17786             "Results": {
17787               "type": "array",
17788               "items": {
17789                 "$ref": "#/definitions/ErrorResult"
17790               }
17791             }
17792           },
17793           "additionalProperties": false,
17794           "required": [
17795             "Results"
17796           ]
17797         },
17798         "Macaroon": {
17799           "type": "object",
17800           "properties": {
17801             "caveats": {
17802               "type": "array",
17803               "items": {
17804                 "$ref": "#/definitions/caveat"
17805               }
17806             },
17807             "data": {
17808               "type": "array",
17809               "items": {
17810                 "type": "integer"
17811               }
17812             },
17813             "id": {
17814               "$ref": "#/definitions/packet"
17815             },
17816             "location": {
17817               "$ref": "#/definitions/packet"
17818             },
17819             "sig": {
17820               "type": "array",
17821               "items": {
17822                 "type": "integer"
17823               }
17824             }
17825           },
17826           "additionalProperties": false,
17827           "required": [
17828             "data",
17829             "location",
17830             "id",
17831             "caveats",
17832             "sig"
17833           ]
17834         },
17835         "SingularClaim": {
17836           "type": "object",
17837           "properties": {
17838             "ControllerTag": {
17839               "type": "string"
17840             },
17841             "Duration": {
17842               "type": "integer"
17843             },
17844             "ModelTag": {
17845               "type": "string"
17846             }
17847           },
17848           "additionalProperties": false,
17849           "required": [
17850             "ModelTag",
17851             "ControllerTag",
17852             "Duration"
17853           ]
17854         },
17855         "SingularClaims": {
17856           "type": "object",
17857           "properties": {
17858             "Claims": {
17859               "type": "array",
17860               "items": {
17861                 "$ref": "#/definitions/SingularClaim"
17862               }
17863             }
17864           },
17865           "additionalProperties": false,
17866           "required": [
17867             "Claims"
17868           ]
17869         },
17870         "caveat": {
17871           "type": "object",
17872           "properties": {
17873             "caveatId": {
17874               "$ref": "#/definitions/packet"
17875             },
17876             "location": {
17877               "$ref": "#/definitions/packet"
17878             },
17879             "verificationId": {
17880               "$ref": "#/definitions/packet"
17881             }
17882           },
17883           "additionalProperties": false,
17884           "required": [
17885             "location",
17886             "caveatId",
17887             "verificationId"
17888           ]
17889         },
17890         "packet": {
17891           "type": "object",
17892           "properties": {
17893             "headerLen": {
17894               "type": "integer"
17895             },
17896             "start": {
17897               "type": "integer"
17898             },
17899             "totalLen": {
17900               "type": "integer"
17901             }
17902           },
17903           "additionalProperties": false,
17904           "required": [
17905             "start",
17906             "totalLen",
17907             "headerLen"
17908           ]
17909         }
17910       }
17911     }
17912   },
17913   {
17914     "Name": "Spaces",
17915     "Version": 2,
17916     "Schema": {
17917       "type": "object",
17918       "properties": {
17919         "CreateSpaces": {
17920           "type": "object",
17921           "properties": {
17922             "Params": {
17923               "$ref": "#/definitions/CreateSpacesParams"
17924             },
17925             "Result": {
17926               "$ref": "#/definitions/ErrorResults"
17927             }
17928           }
17929         },
17930         "ListSpaces": {
17931           "type": "object",
17932           "properties": {
17933             "Result": {
17934               "$ref": "#/definitions/ListSpacesResults"
17935             }
17936           }
17937         }
17938       },
17939       "definitions": {
17940         "CreateSpaceParams": {
17941           "type": "object",
17942           "properties": {
17943             "ProviderId": {
17944               "type": "string"
17945             },
17946             "Public": {
17947               "type": "boolean"
17948             },
17949             "SpaceTag": {
17950               "type": "string"
17951             },
17952             "SubnetTags": {
17953               "type": "array",
17954               "items": {
17955                 "type": "string"
17956               }
17957             }
17958           },
17959           "additionalProperties": false,
17960           "required": [
17961             "SubnetTags",
17962             "SpaceTag",
17963             "Public"
17964           ]
17965         },
17966         "CreateSpacesParams": {
17967           "type": "object",
17968           "properties": {
17969             "Spaces": {
17970               "type": "array",
17971               "items": {
17972                 "$ref": "#/definitions/CreateSpaceParams"
17973               }
17974             }
17975           },
17976           "additionalProperties": false,
17977           "required": [
17978             "Spaces"
17979           ]
17980         },
17981         "Error": {
17982           "type": "object",
17983           "properties": {
17984             "Code": {
17985               "type": "string"
17986             },
17987             "Info": {
17988               "$ref": "#/definitions/ErrorInfo"
17989             },
17990             "Message": {
17991               "type": "string"
17992             }
17993           },
17994           "additionalProperties": false,
17995           "required": [
17996             "Message",
17997             "Code"
17998           ]
17999         },
18000         "ErrorInfo": {
18001           "type": "object",
18002           "properties": {
18003             "Macaroon": {
18004               "$ref": "#/definitions/Macaroon"
18005             },
18006             "MacaroonPath": {
18007               "type": "string"
18008             }
18009           },
18010           "additionalProperties": false
18011         },
18012         "ErrorResult": {
18013           "type": "object",
18014           "properties": {
18015             "Error": {
18016               "$ref": "#/definitions/Error"
18017             }
18018           },
18019           "additionalProperties": false,
18020           "required": [
18021             "Error"
18022           ]
18023         },
18024         "ErrorResults": {
18025           "type": "object",
18026           "properties": {
18027             "Results": {
18028               "type": "array",
18029               "items": {
18030                 "$ref": "#/definitions/ErrorResult"
18031               }
18032             }
18033           },
18034           "additionalProperties": false,
18035           "required": [
18036             "Results"
18037           ]
18038         },
18039         "ListSpacesResults": {
18040           "type": "object",
18041           "properties": {
18042             "Results": {
18043               "type": "array",
18044               "items": {
18045                 "$ref": "#/definitions/Space"
18046               }
18047             }
18048           },
18049           "additionalProperties": false,
18050           "required": [
18051             "Results"
18052           ]
18053         },
18054         "Macaroon": {
18055           "type": "object",
18056           "properties": {
18057             "caveats": {
18058               "type": "array",
18059               "items": {
18060                 "$ref": "#/definitions/caveat"
18061               }
18062             },
18063             "data": {
18064               "type": "array",
18065               "items": {
18066                 "type": "integer"
18067               }
18068             },
18069             "id": {
18070               "$ref": "#/definitions/packet"
18071             },
18072             "location": {
18073               "$ref": "#/definitions/packet"
18074             },
18075             "sig": {
18076               "type": "array",
18077               "items": {
18078                 "type": "integer"
18079               }
18080             }
18081           },
18082           "additionalProperties": false,
18083           "required": [
18084             "data",
18085             "location",
18086             "id",
18087             "caveats",
18088             "sig"
18089           ]
18090         },
18091         "Space": {
18092           "type": "object",
18093           "properties": {
18094             "Error": {
18095               "$ref": "#/definitions/Error"
18096             },
18097             "Name": {
18098               "type": "string"
18099             },
18100             "Subnets": {
18101               "type": "array",
18102               "items": {
18103                 "$ref": "#/definitions/Subnet"
18104               }
18105             }
18106           },
18107           "additionalProperties": false,
18108           "required": [
18109             "Name",
18110             "Subnets"
18111           ]
18112         },
18113         "Subnet": {
18114           "type": "object",
18115           "properties": {
18116             "CIDR": {
18117               "type": "string"
18118             },
18119             "Life": {
18120               "type": "string"
18121             },
18122             "ProviderId": {
18123               "type": "string"
18124             },
18125             "SpaceTag": {
18126               "type": "string"
18127             },
18128             "StaticRangeHighIP": {
18129               "type": "array",
18130               "items": {
18131                 "type": "integer"
18132               }
18133             },
18134             "StaticRangeLowIP": {
18135               "type": "array",
18136               "items": {
18137                 "type": "integer"
18138               }
18139             },
18140             "Status": {
18141               "type": "string"
18142             },
18143             "VLANTag": {
18144               "type": "integer"
18145             },
18146             "Zones": {
18147               "type": "array",
18148               "items": {
18149                 "type": "string"
18150               }
18151             }
18152           },
18153           "additionalProperties": false,
18154           "required": [
18155             "CIDR",
18156             "VLANTag",
18157             "Life",
18158             "SpaceTag",
18159             "Zones"
18160           ]
18161         },
18162         "caveat": {
18163           "type": "object",
18164           "properties": {
18165             "caveatId": {
18166               "$ref": "#/definitions/packet"
18167             },
18168             "location": {
18169               "$ref": "#/definitions/packet"
18170             },
18171             "verificationId": {
18172               "$ref": "#/definitions/packet"
18173             }
18174           },
18175           "additionalProperties": false,
18176           "required": [
18177             "location",
18178             "caveatId",
18179             "verificationId"
18180           ]
18181         },
18182         "packet": {
18183           "type": "object",
18184           "properties": {
18185             "headerLen": {
18186               "type": "integer"
18187             },
18188             "start": {
18189               "type": "integer"
18190             },
18191             "totalLen": {
18192               "type": "integer"
18193             }
18194           },
18195           "additionalProperties": false,
18196           "required": [
18197             "start",
18198             "totalLen",
18199             "headerLen"
18200           ]
18201         }
18202       }
18203     }
18204   },
18205   {
18206     "Name": "StatusHistory",
18207     "Version": 2,
18208     "Schema": {
18209       "type": "object",
18210       "properties": {
18211         "Prune": {
18212           "type": "object",
18213           "properties": {
18214             "Params": {
18215               "$ref": "#/definitions/StatusHistoryPruneArgs"
18216             }
18217           }
18218         }
18219       },
18220       "definitions": {
18221         "StatusHistoryPruneArgs": {
18222           "type": "object",
18223           "properties": {
18224             "MaxLogsPerEntity": {
18225               "type": "integer"
18226             }
18227           },
18228           "additionalProperties": false,
18229           "required": [
18230             "MaxLogsPerEntity"
18231           ]
18232         }
18233       }
18234     }
18235   },
18236   {
18237     "Name": "Storage",
18238     "Version": 2,
18239     "Schema": {
18240       "type": "object",
18241       "properties": {
18242         "AddToUnit": {
18243           "type": "object",
18244           "properties": {
18245             "Params": {
18246               "$ref": "#/definitions/StoragesAddParams"
18247             },
18248             "Result": {
18249               "$ref": "#/definitions/ErrorResults"
18250             }
18251           }
18252         },
18253         "CreatePool": {
18254           "type": "object",
18255           "properties": {
18256             "Params": {
18257               "$ref": "#/definitions/StoragePool"
18258             }
18259           }
18260         },
18261         "ListFilesystems": {
18262           "type": "object",
18263           "properties": {
18264             "Params": {
18265               "$ref": "#/definitions/FilesystemFilters"
18266             },
18267             "Result": {
18268               "$ref": "#/definitions/FilesystemDetailsListResults"
18269             }
18270           }
18271         },
18272         "ListPools": {
18273           "type": "object",
18274           "properties": {
18275             "Params": {
18276               "$ref": "#/definitions/StoragePoolFilters"
18277             },
18278             "Result": {
18279               "$ref": "#/definitions/StoragePoolsResults"
18280             }
18281           }
18282         },
18283         "ListStorageDetails": {
18284           "type": "object",
18285           "properties": {
18286             "Params": {
18287               "$ref": "#/definitions/StorageFilters"
18288             },
18289             "Result": {
18290               "$ref": "#/definitions/StorageDetailsListResults"
18291             }
18292           }
18293         },
18294         "ListVolumes": {
18295           "type": "object",
18296           "properties": {
18297             "Params": {
18298               "$ref": "#/definitions/VolumeFilters"
18299             },
18300             "Result": {
18301               "$ref": "#/definitions/VolumeDetailsListResults"
18302             }
18303           }
18304         },
18305         "StorageDetails": {
18306           "type": "object",
18307           "properties": {
18308             "Params": {
18309               "$ref": "#/definitions/Entities"
18310             },
18311             "Result": {
18312               "$ref": "#/definitions/StorageDetailsResults"
18313             }
18314           }
18315         }
18316       },
18317       "definitions": {
18318         "Entities": {
18319           "type": "object",
18320           "properties": {
18321             "Entities": {
18322               "type": "array",
18323               "items": {
18324                 "$ref": "#/definitions/Entity"
18325               }
18326             }
18327           },
18328           "additionalProperties": false,
18329           "required": [
18330             "Entities"
18331           ]
18332         },
18333         "Entity": {
18334           "type": "object",
18335           "properties": {
18336             "Tag": {
18337               "type": "string"
18338             }
18339           },
18340           "additionalProperties": false,
18341           "required": [
18342             "Tag"
18343           ]
18344         },
18345         "EntityStatus": {
18346           "type": "object",
18347           "properties": {
18348             "Data": {
18349               "type": "object",
18350               "patternProperties": {
18351                 ".*": {
18352                   "type": "object",
18353                   "additionalProperties": true
18354                 }
18355               }
18356             },
18357             "Info": {
18358               "type": "string"
18359             },
18360             "Since": {
18361               "type": "string",
18362               "format": "date-time"
18363             },
18364             "Status": {
18365               "type": "string"
18366             }
18367           },
18368           "additionalProperties": false,
18369           "required": [
18370             "Status",
18371             "Info",
18372             "Data",
18373             "Since"
18374           ]
18375         },
18376         "Error": {
18377           "type": "object",
18378           "properties": {
18379             "Code": {
18380               "type": "string"
18381             },
18382             "Info": {
18383               "$ref": "#/definitions/ErrorInfo"
18384             },
18385             "Message": {
18386               "type": "string"
18387             }
18388           },
18389           "additionalProperties": false,
18390           "required": [
18391             "Message",
18392             "Code"
18393           ]
18394         },
18395         "ErrorInfo": {
18396           "type": "object",
18397           "properties": {
18398             "Macaroon": {
18399               "$ref": "#/definitions/Macaroon"
18400             },
18401             "MacaroonPath": {
18402               "type": "string"
18403             }
18404           },
18405           "additionalProperties": false
18406         },
18407         "ErrorResult": {
18408           "type": "object",
18409           "properties": {
18410             "Error": {
18411               "$ref": "#/definitions/Error"
18412             }
18413           },
18414           "additionalProperties": false,
18415           "required": [
18416             "Error"
18417           ]
18418         },
18419         "ErrorResults": {
18420           "type": "object",
18421           "properties": {
18422             "Results": {
18423               "type": "array",
18424               "items": {
18425                 "$ref": "#/definitions/ErrorResult"
18426               }
18427             }
18428           },
18429           "additionalProperties": false,
18430           "required": [
18431             "Results"
18432           ]
18433         },
18434         "FilesystemAttachmentInfo": {
18435           "type": "object",
18436           "properties": {
18437             "mountpoint": {
18438               "type": "string"
18439             },
18440             "read-only": {
18441               "type": "boolean"
18442             }
18443           },
18444           "additionalProperties": false
18445         },
18446         "FilesystemDetails": {
18447           "type": "object",
18448           "properties": {
18449             "filesystemtag": {
18450               "type": "string"
18451             },
18452             "info": {
18453               "$ref": "#/definitions/FilesystemInfo"
18454             },
18455             "machineattachments": {
18456               "type": "object",
18457               "patternProperties": {
18458                 ".*": {
18459                   "$ref": "#/definitions/FilesystemAttachmentInfo"
18460                 }
18461               }
18462             },
18463             "status": {
18464               "$ref": "#/definitions/EntityStatus"
18465             },
18466             "storage": {
18467               "$ref": "#/definitions/StorageDetails"
18468             },
18469             "volumetag": {
18470               "type": "string"
18471             }
18472           },
18473           "additionalProperties": false,
18474           "required": [
18475             "filesystemtag",
18476             "info",
18477             "status"
18478           ]
18479         },
18480         "FilesystemDetailsListResult": {
18481           "type": "object",
18482           "properties": {
18483             "error": {
18484               "$ref": "#/definitions/Error"
18485             },
18486             "result": {
18487               "type": "array",
18488               "items": {
18489                 "$ref": "#/definitions/FilesystemDetails"
18490               }
18491             }
18492           },
18493           "additionalProperties": false
18494         },
18495         "FilesystemDetailsListResults": {
18496           "type": "object",
18497           "properties": {
18498             "results": {
18499               "type": "array",
18500               "items": {
18501                 "$ref": "#/definitions/FilesystemDetailsListResult"
18502               }
18503             }
18504           },
18505           "additionalProperties": false
18506         },
18507         "FilesystemFilter": {
18508           "type": "object",
18509           "properties": {
18510             "machines": {
18511               "type": "array",
18512               "items": {
18513                 "type": "string"
18514               }
18515             }
18516           },
18517           "additionalProperties": false
18518         },
18519         "FilesystemFilters": {
18520           "type": "object",
18521           "properties": {
18522             "filters": {
18523               "type": "array",
18524               "items": {
18525                 "$ref": "#/definitions/FilesystemFilter"
18526               }
18527             }
18528           },
18529           "additionalProperties": false
18530         },
18531         "FilesystemInfo": {
18532           "type": "object",
18533           "properties": {
18534             "filesystemid": {
18535               "type": "string"
18536             },
18537             "size": {
18538               "type": "integer"
18539             }
18540           },
18541           "additionalProperties": false,
18542           "required": [
18543             "filesystemid",
18544             "size"
18545           ]
18546         },
18547         "Macaroon": {
18548           "type": "object",
18549           "properties": {
18550             "caveats": {
18551               "type": "array",
18552               "items": {
18553                 "$ref": "#/definitions/caveat"
18554               }
18555             },
18556             "data": {
18557               "type": "array",
18558               "items": {
18559                 "type": "integer"
18560               }
18561             },
18562             "id": {
18563               "$ref": "#/definitions/packet"
18564             },
18565             "location": {
18566               "$ref": "#/definitions/packet"
18567             },
18568             "sig": {
18569               "type": "array",
18570               "items": {
18571                 "type": "integer"
18572               }
18573             }
18574           },
18575           "additionalProperties": false,
18576           "required": [
18577             "data",
18578             "location",
18579             "id",
18580             "caveats",
18581             "sig"
18582           ]
18583         },
18584         "StorageAddParams": {
18585           "type": "object",
18586           "properties": {
18587             "StorageName": {
18588               "type": "string"
18589             },
18590             "storage": {
18591               "$ref": "#/definitions/StorageConstraints"
18592             },
18593             "unit": {
18594               "type": "string"
18595             }
18596           },
18597           "additionalProperties": false,
18598           "required": [
18599             "unit",
18600             "StorageName",
18601             "storage"
18602           ]
18603         },
18604         "StorageAttachmentDetails": {
18605           "type": "object",
18606           "properties": {
18607             "location": {
18608               "type": "string"
18609             },
18610             "machinetag": {
18611               "type": "string"
18612             },
18613             "storagetag": {
18614               "type": "string"
18615             },
18616             "unittag": {
18617               "type": "string"
18618             }
18619           },
18620           "additionalProperties": false,
18621           "required": [
18622             "storagetag",
18623             "unittag",
18624             "machinetag"
18625           ]
18626         },
18627         "StorageConstraints": {
18628           "type": "object",
18629           "properties": {
18630             "Count": {
18631               "type": "integer"
18632             },
18633             "Pool": {
18634               "type": "string"
18635             },
18636             "Size": {
18637               "type": "integer"
18638             }
18639           },
18640           "additionalProperties": false,
18641           "required": [
18642             "Pool",
18643             "Size",
18644             "Count"
18645           ]
18646         },
18647         "StorageDetails": {
18648           "type": "object",
18649           "properties": {
18650             "Persistent": {
18651               "type": "boolean"
18652             },
18653             "attachments": {
18654               "type": "object",
18655               "patternProperties": {
18656                 ".*": {
18657                   "$ref": "#/definitions/StorageAttachmentDetails"
18658                 }
18659               }
18660             },
18661             "kind": {
18662               "type": "integer"
18663             },
18664             "ownertag": {
18665               "type": "string"
18666             },
18667             "status": {
18668               "$ref": "#/definitions/EntityStatus"
18669             },
18670             "storagetag": {
18671               "type": "string"
18672             }
18673           },
18674           "additionalProperties": false,
18675           "required": [
18676             "storagetag",
18677             "ownertag",
18678             "kind",
18679             "status",
18680             "Persistent"
18681           ]
18682         },
18683         "StorageDetailsListResult": {
18684           "type": "object",
18685           "properties": {
18686             "error": {
18687               "$ref": "#/definitions/Error"
18688             },
18689             "result": {
18690               "type": "array",
18691               "items": {
18692                 "$ref": "#/definitions/StorageDetails"
18693               }
18694             }
18695           },
18696           "additionalProperties": false
18697         },
18698         "StorageDetailsListResults": {
18699           "type": "object",
18700           "properties": {
18701             "results": {
18702               "type": "array",
18703               "items": {
18704                 "$ref": "#/definitions/StorageDetailsListResult"
18705               }
18706             }
18707           },
18708           "additionalProperties": false
18709         },
18710         "StorageDetailsResult": {
18711           "type": "object",
18712           "properties": {
18713             "error": {
18714               "$ref": "#/definitions/Error"
18715             },
18716             "result": {
18717               "$ref": "#/definitions/StorageDetails"
18718             }
18719           },
18720           "additionalProperties": false
18721         },
18722         "StorageDetailsResults": {
18723           "type": "object",
18724           "properties": {
18725             "results": {
18726               "type": "array",
18727               "items": {
18728                 "$ref": "#/definitions/StorageDetailsResult"
18729               }
18730             }
18731           },
18732           "additionalProperties": false
18733         },
18734         "StorageFilter": {
18735           "type": "object",
18736           "additionalProperties": false
18737         },
18738         "StorageFilters": {
18739           "type": "object",
18740           "properties": {
18741             "filters": {
18742               "type": "array",
18743               "items": {
18744                 "$ref": "#/definitions/StorageFilter"
18745               }
18746             }
18747           },
18748           "additionalProperties": false
18749         },
18750         "StoragePool": {
18751           "type": "object",
18752           "properties": {
18753             "attrs": {
18754               "type": "object",
18755               "patternProperties": {
18756                 ".*": {
18757                   "type": "object",
18758                   "additionalProperties": true
18759                 }
18760               }
18761             },
18762             "name": {
18763               "type": "string"
18764             },
18765             "provider": {
18766               "type": "string"
18767             }
18768           },
18769           "additionalProperties": false,
18770           "required": [
18771             "name",
18772             "provider",
18773             "attrs"
18774           ]
18775         },
18776         "StoragePoolFilter": {
18777           "type": "object",
18778           "properties": {
18779             "names": {
18780               "type": "array",
18781               "items": {
18782                 "type": "string"
18783               }
18784             },
18785             "providers": {
18786               "type": "array",
18787               "items": {
18788                 "type": "string"
18789               }
18790             }
18791           },
18792           "additionalProperties": false
18793         },
18794         "StoragePoolFilters": {
18795           "type": "object",
18796           "properties": {
18797             "filters": {
18798               "type": "array",
18799               "items": {
18800                 "$ref": "#/definitions/StoragePoolFilter"
18801               }
18802             }
18803           },
18804           "additionalProperties": false
18805         },
18806         "StoragePoolsResult": {
18807           "type": "object",
18808           "properties": {
18809             "error": {
18810               "$ref": "#/definitions/Error"
18811             },
18812             "storagepools": {
18813               "type": "array",
18814               "items": {
18815                 "$ref": "#/definitions/StoragePool"
18816               }
18817             }
18818           },
18819           "additionalProperties": false
18820         },
18821         "StoragePoolsResults": {
18822           "type": "object",
18823           "properties": {
18824             "results": {
18825               "type": "array",
18826               "items": {
18827                 "$ref": "#/definitions/StoragePoolsResult"
18828               }
18829             }
18830           },
18831           "additionalProperties": false
18832         },
18833         "StoragesAddParams": {
18834           "type": "object",
18835           "properties": {
18836             "storages": {
18837               "type": "array",
18838               "items": {
18839                 "$ref": "#/definitions/StorageAddParams"
18840               }
18841             }
18842           },
18843           "additionalProperties": false,
18844           "required": [
18845             "storages"
18846           ]
18847         },
18848         "VolumeAttachmentInfo": {
18849           "type": "object",
18850           "properties": {
18851             "busaddress": {
18852               "type": "string"
18853             },
18854             "devicelink": {
18855               "type": "string"
18856             },
18857             "devicename": {
18858               "type": "string"
18859             },
18860             "read-only": {
18861               "type": "boolean"
18862             }
18863           },
18864           "additionalProperties": false
18865         },
18866         "VolumeDetails": {
18867           "type": "object",
18868           "properties": {
18869             "info": {
18870               "$ref": "#/definitions/VolumeInfo"
18871             },
18872             "machineattachments": {
18873               "type": "object",
18874               "patternProperties": {
18875                 ".*": {
18876                   "$ref": "#/definitions/VolumeAttachmentInfo"
18877                 }
18878               }
18879             },
18880             "status": {
18881               "$ref": "#/definitions/EntityStatus"
18882             },
18883             "storage": {
18884               "$ref": "#/definitions/StorageDetails"
18885             },
18886             "volumetag": {
18887               "type": "string"
18888             }
18889           },
18890           "additionalProperties": false,
18891           "required": [
18892             "volumetag",
18893             "info",
18894             "status"
18895           ]
18896         },
18897         "VolumeDetailsListResult": {
18898           "type": "object",
18899           "properties": {
18900             "error": {
18901               "$ref": "#/definitions/Error"
18902             },
18903             "result": {
18904               "type": "array",
18905               "items": {
18906                 "$ref": "#/definitions/VolumeDetails"
18907               }
18908             }
18909           },
18910           "additionalProperties": false
18911         },
18912         "VolumeDetailsListResults": {
18913           "type": "object",
18914           "properties": {
18915             "results": {
18916               "type": "array",
18917               "items": {
18918                 "$ref": "#/definitions/VolumeDetailsListResult"
18919               }
18920             }
18921           },
18922           "additionalProperties": false
18923         },
18924         "VolumeFilter": {
18925           "type": "object",
18926           "properties": {
18927             "machines": {
18928               "type": "array",
18929               "items": {
18930                 "type": "string"
18931               }
18932             }
18933           },
18934           "additionalProperties": false
18935         },
18936         "VolumeFilters": {
18937           "type": "object",
18938           "properties": {
18939             "filters": {
18940               "type": "array",
18941               "items": {
18942                 "$ref": "#/definitions/VolumeFilter"
18943               }
18944             }
18945           },
18946           "additionalProperties": false
18947         },
18948         "VolumeInfo": {
18949           "type": "object",
18950           "properties": {
18951             "hardwareid": {
18952               "type": "string"
18953             },
18954             "persistent": {
18955               "type": "boolean"
18956             },
18957             "size": {
18958               "type": "integer"
18959             },
18960             "volumeid": {
18961               "type": "string"
18962             }
18963           },
18964           "additionalProperties": false,
18965           "required": [
18966             "volumeid",
18967             "size",
18968             "persistent"
18969           ]
18970         },
18971         "caveat": {
18972           "type": "object",
18973           "properties": {
18974             "caveatId": {
18975               "$ref": "#/definitions/packet"
18976             },
18977             "location": {
18978               "$ref": "#/definitions/packet"
18979             },
18980             "verificationId": {
18981               "$ref": "#/definitions/packet"
18982             }
18983           },
18984           "additionalProperties": false,
18985           "required": [
18986             "location",
18987             "caveatId",
18988             "verificationId"
18989           ]
18990         },
18991         "packet": {
18992           "type": "object",
18993           "properties": {
18994             "headerLen": {
18995               "type": "integer"
18996             },
18997             "start": {
18998               "type": "integer"
18999             },
19000             "totalLen": {
19001               "type": "integer"
19002             }
19003           },
19004           "additionalProperties": false,
19005           "required": [
19006             "start",
19007             "totalLen",
19008             "headerLen"
19009           ]
19010         }
19011       }
19012     }
19013   },
19014   {
19015     "Name": "StorageProvisioner",
19016     "Version": 2,
19017     "Schema": {
19018       "type": "object",
19019       "properties": {
19020         "AttachmentLife": {
19021           "type": "object",
19022           "properties": {
19023             "Params": {
19024               "$ref": "#/definitions/MachineStorageIds"
19025             },
19026             "Result": {
19027               "$ref": "#/definitions/LifeResults"
19028             }
19029           }
19030         },
19031         "EnsureDead": {
19032           "type": "object",
19033           "properties": {
19034             "Params": {
19035               "$ref": "#/definitions/Entities"
19036             },
19037             "Result": {
19038               "$ref": "#/definitions/ErrorResults"
19039             }
19040           }
19041         },
19042         "FilesystemAttachmentParams": {
19043           "type": "object",
19044           "properties": {
19045             "Params": {
19046               "$ref": "#/definitions/MachineStorageIds"
19047             },
19048             "Result": {
19049               "$ref": "#/definitions/FilesystemAttachmentParamsResults"
19050             }
19051           }
19052         },
19053         "FilesystemAttachments": {
19054           "type": "object",
19055           "properties": {
19056             "Params": {
19057               "$ref": "#/definitions/MachineStorageIds"
19058             },
19059             "Result": {
19060               "$ref": "#/definitions/FilesystemAttachmentResults"
19061             }
19062           }
19063         },
19064         "FilesystemParams": {
19065           "type": "object",
19066           "properties": {
19067             "Params": {
19068               "$ref": "#/definitions/Entities"
19069             },
19070             "Result": {
19071               "$ref": "#/definitions/FilesystemParamsResults"
19072             }
19073           }
19074         },
19075         "Filesystems": {
19076           "type": "object",
19077           "properties": {
19078             "Params": {
19079               "$ref": "#/definitions/Entities"
19080             },
19081             "Result": {
19082               "$ref": "#/definitions/FilesystemResults"
19083             }
19084           }
19085         },
19086         "InstanceId": {
19087           "type": "object",
19088           "properties": {
19089             "Params": {
19090               "$ref": "#/definitions/Entities"
19091             },
19092             "Result": {
19093               "$ref": "#/definitions/StringResults"
19094             }
19095           }
19096         },
19097         "Life": {
19098           "type": "object",
19099           "properties": {
19100             "Params": {
19101               "$ref": "#/definitions/Entities"
19102             },
19103             "Result": {
19104               "$ref": "#/definitions/LifeResults"
19105             }
19106           }
19107         },
19108         "ModelConfig": {
19109           "type": "object",
19110           "properties": {
19111             "Result": {
19112               "$ref": "#/definitions/ModelConfigResult"
19113             }
19114           }
19115         },
19116         "Remove": {
19117           "type": "object",
19118           "properties": {
19119             "Params": {
19120               "$ref": "#/definitions/Entities"
19121             },
19122             "Result": {
19123               "$ref": "#/definitions/ErrorResults"
19124             }
19125           }
19126         },
19127         "RemoveAttachment": {
19128           "type": "object",
19129           "properties": {
19130             "Params": {
19131               "$ref": "#/definitions/MachineStorageIds"
19132             },
19133             "Result": {
19134               "$ref": "#/definitions/ErrorResults"
19135             }
19136           }
19137         },
19138         "SetFilesystemAttachmentInfo": {
19139           "type": "object",
19140           "properties": {
19141             "Params": {
19142               "$ref": "#/definitions/FilesystemAttachments"
19143             },
19144             "Result": {
19145               "$ref": "#/definitions/ErrorResults"
19146             }
19147           }
19148         },
19149         "SetFilesystemInfo": {
19150           "type": "object",
19151           "properties": {
19152             "Params": {
19153               "$ref": "#/definitions/Filesystems"
19154             },
19155             "Result": {
19156               "$ref": "#/definitions/ErrorResults"
19157             }
19158           }
19159         },
19160         "SetStatus": {
19161           "type": "object",
19162           "properties": {
19163             "Params": {
19164               "$ref": "#/definitions/SetStatus"
19165             },
19166             "Result": {
19167               "$ref": "#/definitions/ErrorResults"
19168             }
19169           }
19170         },
19171         "SetVolumeAttachmentInfo": {
19172           "type": "object",
19173           "properties": {
19174             "Params": {
19175               "$ref": "#/definitions/VolumeAttachments"
19176             },
19177             "Result": {
19178               "$ref": "#/definitions/ErrorResults"
19179             }
19180           }
19181         },
19182         "SetVolumeInfo": {
19183           "type": "object",
19184           "properties": {
19185             "Params": {
19186               "$ref": "#/definitions/Volumes"
19187             },
19188             "Result": {
19189               "$ref": "#/definitions/ErrorResults"
19190             }
19191           }
19192         },
19193         "UpdateStatus": {
19194           "type": "object",
19195           "properties": {
19196             "Params": {
19197               "$ref": "#/definitions/SetStatus"
19198             },
19199             "Result": {
19200               "$ref": "#/definitions/ErrorResults"
19201             }
19202           }
19203         },
19204         "VolumeAttachmentParams": {
19205           "type": "object",
19206           "properties": {
19207             "Params": {
19208               "$ref": "#/definitions/MachineStorageIds"
19209             },
19210             "Result": {
19211               "$ref": "#/definitions/VolumeAttachmentParamsResults"
19212             }
19213           }
19214         },
19215         "VolumeAttachments": {
19216           "type": "object",
19217           "properties": {
19218             "Params": {
19219               "$ref": "#/definitions/MachineStorageIds"
19220             },
19221             "Result": {
19222               "$ref": "#/definitions/VolumeAttachmentResults"
19223             }
19224           }
19225         },
19226         "VolumeBlockDevices": {
19227           "type": "object",
19228           "properties": {
19229             "Params": {
19230               "$ref": "#/definitions/MachineStorageIds"
19231             },
19232             "Result": {
19233               "$ref": "#/definitions/BlockDeviceResults"
19234             }
19235           }
19236         },
19237         "VolumeParams": {
19238           "type": "object",
19239           "properties": {
19240             "Params": {
19241               "$ref": "#/definitions/Entities"
19242             },
19243             "Result": {
19244               "$ref": "#/definitions/VolumeParamsResults"
19245             }
19246           }
19247         },
19248         "Volumes": {
19249           "type": "object",
19250           "properties": {
19251             "Params": {
19252               "$ref": "#/definitions/Entities"
19253             },
19254             "Result": {
19255               "$ref": "#/definitions/VolumeResults"
19256             }
19257           }
19258         },
19259         "WatchBlockDevices": {
19260           "type": "object",
19261           "properties": {
19262             "Params": {
19263               "$ref": "#/definitions/Entities"
19264             },
19265             "Result": {
19266               "$ref": "#/definitions/NotifyWatchResults"
19267             }
19268           }
19269         },
19270         "WatchFilesystemAttachments": {
19271           "type": "object",
19272           "properties": {
19273             "Params": {
19274               "$ref": "#/definitions/Entities"
19275             },
19276             "Result": {
19277               "$ref": "#/definitions/MachineStorageIdsWatchResults"
19278             }
19279           }
19280         },
19281         "WatchFilesystems": {
19282           "type": "object",
19283           "properties": {
19284             "Params": {
19285               "$ref": "#/definitions/Entities"
19286             },
19287             "Result": {
19288               "$ref": "#/definitions/StringsWatchResults"
19289             }
19290           }
19291         },
19292         "WatchForModelConfigChanges": {
19293           "type": "object",
19294           "properties": {
19295             "Result": {
19296               "$ref": "#/definitions/NotifyWatchResult"
19297             }
19298           }
19299         },
19300         "WatchMachines": {
19301           "type": "object",
19302           "properties": {
19303             "Params": {
19304               "$ref": "#/definitions/Entities"
19305             },
19306             "Result": {
19307               "$ref": "#/definitions/NotifyWatchResults"
19308             }
19309           }
19310         },
19311         "WatchVolumeAttachments": {
19312           "type": "object",
19313           "properties": {
19314             "Params": {
19315               "$ref": "#/definitions/Entities"
19316             },
19317             "Result": {
19318               "$ref": "#/definitions/MachineStorageIdsWatchResults"
19319             }
19320           }
19321         },
19322         "WatchVolumes": {
19323           "type": "object",
19324           "properties": {
19325             "Params": {
19326               "$ref": "#/definitions/Entities"
19327             },
19328             "Result": {
19329               "$ref": "#/definitions/StringsWatchResults"
19330             }
19331           }
19332         }
19333       },
19334       "definitions": {
19335         "BlockDevice": {
19336           "type": "object",
19337           "properties": {
19338             "BusAddress": {
19339               "type": "string"
19340             },
19341             "DeviceLinks": {
19342               "type": "array",
19343               "items": {
19344                 "type": "string"
19345               }
19346             },
19347             "DeviceName": {
19348               "type": "string"
19349             },
19350             "FilesystemType": {
19351               "type": "string"
19352             },
19353             "HardwareId": {
19354               "type": "string"
19355             },
19356             "InUse": {
19357               "type": "boolean"
19358             },
19359             "Label": {
19360               "type": "string"
19361             },
19362             "MountPoint": {
19363               "type": "string"
19364             },
19365             "Size": {
19366               "type": "integer"
19367             },
19368             "UUID": {
19369               "type": "string"
19370             }
19371           },
19372           "additionalProperties": false,
19373           "required": [
19374             "DeviceName",
19375             "DeviceLinks",
19376             "Label",
19377             "UUID",
19378             "HardwareId",
19379             "BusAddress",
19380             "Size",
19381             "FilesystemType",
19382             "InUse",
19383             "MountPoint"
19384           ]
19385         },
19386         "BlockDeviceResult": {
19387           "type": "object",
19388           "properties": {
19389             "error": {
19390               "$ref": "#/definitions/Error"
19391             },
19392             "result": {
19393               "$ref": "#/definitions/BlockDevice"
19394             }
19395           },
19396           "additionalProperties": false,
19397           "required": [
19398             "result"
19399           ]
19400         },
19401         "BlockDeviceResults": {
19402           "type": "object",
19403           "properties": {
19404             "results": {
19405               "type": "array",
19406               "items": {
19407                 "$ref": "#/definitions/BlockDeviceResult"
19408               }
19409             }
19410           },
19411           "additionalProperties": false
19412         },
19413         "Entities": {
19414           "type": "object",
19415           "properties": {
19416             "Entities": {
19417               "type": "array",
19418               "items": {
19419                 "$ref": "#/definitions/Entity"
19420               }
19421             }
19422           },
19423           "additionalProperties": false,
19424           "required": [
19425             "Entities"
19426           ]
19427         },
19428         "Entity": {
19429           "type": "object",
19430           "properties": {
19431             "Tag": {
19432               "type": "string"
19433             }
19434           },
19435           "additionalProperties": false,
19436           "required": [
19437             "Tag"
19438           ]
19439         },
19440         "EntityStatusArgs": {
19441           "type": "object",
19442           "properties": {
19443             "Data": {
19444               "type": "object",
19445               "patternProperties": {
19446                 ".*": {
19447                   "type": "object",
19448                   "additionalProperties": true
19449                 }
19450               }
19451             },
19452             "Info": {
19453               "type": "string"
19454             },
19455             "Status": {
19456               "type": "string"
19457             },
19458             "Tag": {
19459               "type": "string"
19460             }
19461           },
19462           "additionalProperties": false,
19463           "required": [
19464             "Tag",
19465             "Status",
19466             "Info",
19467             "Data"
19468           ]
19469         },
19470         "Error": {
19471           "type": "object",
19472           "properties": {
19473             "Code": {
19474               "type": "string"
19475             },
19476             "Info": {
19477               "$ref": "#/definitions/ErrorInfo"
19478             },
19479             "Message": {
19480               "type": "string"
19481             }
19482           },
19483           "additionalProperties": false,
19484           "required": [
19485             "Message",
19486             "Code"
19487           ]
19488         },
19489         "ErrorInfo": {
19490           "type": "object",
19491           "properties": {
19492             "Macaroon": {
19493               "$ref": "#/definitions/Macaroon"
19494             },
19495             "MacaroonPath": {
19496               "type": "string"
19497             }
19498           },
19499           "additionalProperties": false
19500         },
19501         "ErrorResult": {
19502           "type": "object",
19503           "properties": {
19504             "Error": {
19505               "$ref": "#/definitions/Error"
19506             }
19507           },
19508           "additionalProperties": false,
19509           "required": [
19510             "Error"
19511           ]
19512         },
19513         "ErrorResults": {
19514           "type": "object",
19515           "properties": {
19516             "Results": {
19517               "type": "array",
19518               "items": {
19519                 "$ref": "#/definitions/ErrorResult"
19520               }
19521             }
19522           },
19523           "additionalProperties": false,
19524           "required": [
19525             "Results"
19526           ]
19527         },
19528         "Filesystem": {
19529           "type": "object",
19530           "properties": {
19531             "filesystemtag": {
19532               "type": "string"
19533             },
19534             "info": {
19535               "$ref": "#/definitions/FilesystemInfo"
19536             },
19537             "volumetag": {
19538               "type": "string"
19539             }
19540           },
19541           "additionalProperties": false,
19542           "required": [
19543             "filesystemtag",
19544             "info"
19545           ]
19546         },
19547         "FilesystemAttachment": {
19548           "type": "object",
19549           "properties": {
19550             "filesystemtag": {
19551               "type": "string"
19552             },
19553             "info": {
19554               "$ref": "#/definitions/FilesystemAttachmentInfo"
19555             },
19556             "machinetag": {
19557               "type": "string"
19558             }
19559           },
19560           "additionalProperties": false,
19561           "required": [
19562             "filesystemtag",
19563             "machinetag",
19564             "info"
19565           ]
19566         },
19567         "FilesystemAttachmentInfo": {
19568           "type": "object",
19569           "properties": {
19570             "mountpoint": {
19571               "type": "string"
19572             },
19573             "read-only": {
19574               "type": "boolean"
19575             }
19576           },
19577           "additionalProperties": false
19578         },
19579         "FilesystemAttachmentParams": {
19580           "type": "object",
19581           "properties": {
19582             "filesystemid": {
19583               "type": "string"
19584             },
19585             "filesystemtag": {
19586               "type": "string"
19587             },
19588             "instanceid": {
19589               "type": "string"
19590             },
19591             "machinetag": {
19592               "type": "string"
19593             },
19594             "mountpoint": {
19595               "type": "string"
19596             },
19597             "provider": {
19598               "type": "string"
19599             },
19600             "read-only": {
19601               "type": "boolean"
19602             }
19603           },
19604           "additionalProperties": false,
19605           "required": [
19606             "filesystemtag",
19607             "machinetag",
19608             "provider"
19609           ]
19610         },
19611         "FilesystemAttachmentParamsResult": {
19612           "type": "object",
19613           "properties": {
19614             "error": {
19615               "$ref": "#/definitions/Error"
19616             },
19617             "result": {
19618               "$ref": "#/definitions/FilesystemAttachmentParams"
19619             }
19620           },
19621           "additionalProperties": false,
19622           "required": [
19623             "result"
19624           ]
19625         },
19626         "FilesystemAttachmentParamsResults": {
19627           "type": "object",
19628           "properties": {
19629             "results": {
19630               "type": "array",
19631               "items": {
19632                 "$ref": "#/definitions/FilesystemAttachmentParamsResult"
19633               }
19634             }
19635           },
19636           "additionalProperties": false
19637         },
19638         "FilesystemAttachmentResult": {
19639           "type": "object",
19640           "properties": {
19641             "error": {
19642               "$ref": "#/definitions/Error"
19643             },
19644             "result": {
19645               "$ref": "#/definitions/FilesystemAttachment"
19646             }
19647           },
19648           "additionalProperties": false,
19649           "required": [
19650             "result"
19651           ]
19652         },
19653         "FilesystemAttachmentResults": {
19654           "type": "object",
19655           "properties": {
19656             "results": {
19657               "type": "array",
19658               "items": {
19659                 "$ref": "#/definitions/FilesystemAttachmentResult"
19660               }
19661             }
19662           },
19663           "additionalProperties": false
19664         },
19665         "FilesystemAttachments": {
19666           "type": "object",
19667           "properties": {
19668             "filesystemattachments": {
19669               "type": "array",
19670               "items": {
19671                 "$ref": "#/definitions/FilesystemAttachment"
19672               }
19673             }
19674           },
19675           "additionalProperties": false,
19676           "required": [
19677             "filesystemattachments"
19678           ]
19679         },
19680         "FilesystemInfo": {
19681           "type": "object",
19682           "properties": {
19683             "filesystemid": {
19684               "type": "string"
19685             },
19686             "size": {
19687               "type": "integer"
19688             }
19689           },
19690           "additionalProperties": false,
19691           "required": [
19692             "filesystemid",
19693             "size"
19694           ]
19695         },
19696         "FilesystemParams": {
19697           "type": "object",
19698           "properties": {
19699             "attachment": {
19700               "$ref": "#/definitions/FilesystemAttachmentParams"
19701             },
19702             "attributes": {
19703               "type": "object",
19704               "patternProperties": {
19705                 ".*": {
19706                   "type": "object",
19707                   "additionalProperties": true
19708                 }
19709               }
19710             },
19711             "filesystemtag": {
19712               "type": "string"
19713             },
19714             "provider": {
19715               "type": "string"
19716             },
19717             "size": {
19718               "type": "integer"
19719             },
19720             "tags": {
19721               "type": "object",
19722               "patternProperties": {
19723                 ".*": {
19724                   "type": "string"
19725                 }
19726               }
19727             },
19728             "volumetag": {
19729               "type": "string"
19730             }
19731           },
19732           "additionalProperties": false,
19733           "required": [
19734             "filesystemtag",
19735             "size",
19736             "provider"
19737           ]
19738         },
19739         "FilesystemParamsResult": {
19740           "type": "object",
19741           "properties": {
19742             "error": {
19743               "$ref": "#/definitions/Error"
19744             },
19745             "result": {
19746               "$ref": "#/definitions/FilesystemParams"
19747             }
19748           },
19749           "additionalProperties": false,
19750           "required": [
19751             "result"
19752           ]
19753         },
19754         "FilesystemParamsResults": {
19755           "type": "object",
19756           "properties": {
19757             "results": {
19758               "type": "array",
19759               "items": {
19760                 "$ref": "#/definitions/FilesystemParamsResult"
19761               }
19762             }
19763           },
19764           "additionalProperties": false
19765         },
19766         "FilesystemResult": {
19767           "type": "object",
19768           "properties": {
19769             "error": {
19770               "$ref": "#/definitions/Error"
19771             },
19772             "result": {
19773               "$ref": "#/definitions/Filesystem"
19774             }
19775           },
19776           "additionalProperties": false,
19777           "required": [
19778             "result"
19779           ]
19780         },
19781         "FilesystemResults": {
19782           "type": "object",
19783           "properties": {
19784             "results": {
19785               "type": "array",
19786               "items": {
19787                 "$ref": "#/definitions/FilesystemResult"
19788               }
19789             }
19790           },
19791           "additionalProperties": false
19792         },
19793         "Filesystems": {
19794           "type": "object",
19795           "properties": {
19796             "filesystems": {
19797               "type": "array",
19798               "items": {
19799                 "$ref": "#/definitions/Filesystem"
19800               }
19801             }
19802           },
19803           "additionalProperties": false,
19804           "required": [
19805             "filesystems"
19806           ]
19807         },
19808         "LifeResult": {
19809           "type": "object",
19810           "properties": {
19811             "Error": {
19812               "$ref": "#/definitions/Error"
19813             },
19814             "Life": {
19815               "type": "string"
19816             }
19817           },
19818           "additionalProperties": false,
19819           "required": [
19820             "Life",
19821             "Error"
19822           ]
19823         },
19824         "LifeResults": {
19825           "type": "object",
19826           "properties": {
19827             "Results": {
19828               "type": "array",
19829               "items": {
19830                 "$ref": "#/definitions/LifeResult"
19831               }
19832             }
19833           },
19834           "additionalProperties": false,
19835           "required": [
19836             "Results"
19837           ]
19838         },
19839         "Macaroon": {
19840           "type": "object",
19841           "properties": {
19842             "caveats": {
19843               "type": "array",
19844               "items": {
19845                 "$ref": "#/definitions/caveat"
19846               }
19847             },
19848             "data": {
19849               "type": "array",
19850               "items": {
19851                 "type": "integer"
19852               }
19853             },
19854             "id": {
19855               "$ref": "#/definitions/packet"
19856             },
19857             "location": {
19858               "$ref": "#/definitions/packet"
19859             },
19860             "sig": {
19861               "type": "array",
19862               "items": {
19863                 "type": "integer"
19864               }
19865             }
19866           },
19867           "additionalProperties": false,
19868           "required": [
19869             "data",
19870             "location",
19871             "id",
19872             "caveats",
19873             "sig"
19874           ]
19875         },
19876         "MachineStorageId": {
19877           "type": "object",
19878           "properties": {
19879             "attachmenttag": {
19880               "type": "string"
19881             },
19882             "machinetag": {
19883               "type": "string"
19884             }
19885           },
19886           "additionalProperties": false,
19887           "required": [
19888             "machinetag",
19889             "attachmenttag"
19890           ]
19891         },
19892         "MachineStorageIds": {
19893           "type": "object",
19894           "properties": {
19895             "ids": {
19896               "type": "array",
19897               "items": {
19898                 "$ref": "#/definitions/MachineStorageId"
19899               }
19900             }
19901           },
19902           "additionalProperties": false,
19903           "required": [
19904             "ids"
19905           ]
19906         },
19907         "MachineStorageIdsWatchResult": {
19908           "type": "object",
19909           "properties": {
19910             "Changes": {
19911               "type": "array",
19912               "items": {
19913                 "$ref": "#/definitions/MachineStorageId"
19914               }
19915             },
19916             "Error": {
19917               "$ref": "#/definitions/Error"
19918             },
19919             "MachineStorageIdsWatcherId": {
19920               "type": "string"
19921             }
19922           },
19923           "additionalProperties": false,
19924           "required": [
19925             "MachineStorageIdsWatcherId",
19926             "Changes",
19927             "Error"
19928           ]
19929         },
19930         "MachineStorageIdsWatchResults": {
19931           "type": "object",
19932           "properties": {
19933             "Results": {
19934               "type": "array",
19935               "items": {
19936                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
19937               }
19938             }
19939           },
19940           "additionalProperties": false,
19941           "required": [
19942             "Results"
19943           ]
19944         },
19945         "ModelConfigResult": {
19946           "type": "object",
19947           "properties": {
19948             "Config": {
19949               "type": "object",
19950               "patternProperties": {
19951                 ".*": {
19952                   "type": "object",
19953                   "additionalProperties": true
19954                 }
19955               }
19956             }
19957           },
19958           "additionalProperties": false,
19959           "required": [
19960             "Config"
19961           ]
19962         },
19963         "NotifyWatchResult": {
19964           "type": "object",
19965           "properties": {
19966             "Error": {
19967               "$ref": "#/definitions/Error"
19968             },
19969             "NotifyWatcherId": {
19970               "type": "string"
19971             }
19972           },
19973           "additionalProperties": false,
19974           "required": [
19975             "NotifyWatcherId",
19976             "Error"
19977           ]
19978         },
19979         "NotifyWatchResults": {
19980           "type": "object",
19981           "properties": {
19982             "Results": {
19983               "type": "array",
19984               "items": {
19985                 "$ref": "#/definitions/NotifyWatchResult"
19986               }
19987             }
19988           },
19989           "additionalProperties": false,
19990           "required": [
19991             "Results"
19992           ]
19993         },
19994         "SetStatus": {
19995           "type": "object",
19996           "properties": {
19997             "Entities": {
19998               "type": "array",
19999               "items": {
20000                 "$ref": "#/definitions/EntityStatusArgs"
20001               }
20002             }
20003           },
20004           "additionalProperties": false,
20005           "required": [
20006             "Entities"
20007           ]
20008         },
20009         "StringResult": {
20010           "type": "object",
20011           "properties": {
20012             "Error": {
20013               "$ref": "#/definitions/Error"
20014             },
20015             "Result": {
20016               "type": "string"
20017             }
20018           },
20019           "additionalProperties": false,
20020           "required": [
20021             "Error",
20022             "Result"
20023           ]
20024         },
20025         "StringResults": {
20026           "type": "object",
20027           "properties": {
20028             "Results": {
20029               "type": "array",
20030               "items": {
20031                 "$ref": "#/definitions/StringResult"
20032               }
20033             }
20034           },
20035           "additionalProperties": false,
20036           "required": [
20037             "Results"
20038           ]
20039         },
20040         "StringsWatchResult": {
20041           "type": "object",
20042           "properties": {
20043             "Changes": {
20044               "type": "array",
20045               "items": {
20046                 "type": "string"
20047               }
20048             },
20049             "Error": {
20050               "$ref": "#/definitions/Error"
20051             },
20052             "StringsWatcherId": {
20053               "type": "string"
20054             }
20055           },
20056           "additionalProperties": false,
20057           "required": [
20058             "StringsWatcherId",
20059             "Changes",
20060             "Error"
20061           ]
20062         },
20063         "StringsWatchResults": {
20064           "type": "object",
20065           "properties": {
20066             "Results": {
20067               "type": "array",
20068               "items": {
20069                 "$ref": "#/definitions/StringsWatchResult"
20070               }
20071             }
20072           },
20073           "additionalProperties": false,
20074           "required": [
20075             "Results"
20076           ]
20077         },
20078         "Volume": {
20079           "type": "object",
20080           "properties": {
20081             "info": {
20082               "$ref": "#/definitions/VolumeInfo"
20083             },
20084             "volumetag": {
20085               "type": "string"
20086             }
20087           },
20088           "additionalProperties": false,
20089           "required": [
20090             "volumetag",
20091             "info"
20092           ]
20093         },
20094         "VolumeAttachment": {
20095           "type": "object",
20096           "properties": {
20097             "info": {
20098               "$ref": "#/definitions/VolumeAttachmentInfo"
20099             },
20100             "machinetag": {
20101               "type": "string"
20102             },
20103             "volumetag": {
20104               "type": "string"
20105             }
20106           },
20107           "additionalProperties": false,
20108           "required": [
20109             "volumetag",
20110             "machinetag",
20111             "info"
20112           ]
20113         },
20114         "VolumeAttachmentInfo": {
20115           "type": "object",
20116           "properties": {
20117             "busaddress": {
20118               "type": "string"
20119             },
20120             "devicelink": {
20121               "type": "string"
20122             },
20123             "devicename": {
20124               "type": "string"
20125             },
20126             "read-only": {
20127               "type": "boolean"
20128             }
20129           },
20130           "additionalProperties": false
20131         },
20132         "VolumeAttachmentParams": {
20133           "type": "object",
20134           "properties": {
20135             "instanceid": {
20136               "type": "string"
20137             },
20138             "machinetag": {
20139               "type": "string"
20140             },
20141             "provider": {
20142               "type": "string"
20143             },
20144             "read-only": {
20145               "type": "boolean"
20146             },
20147             "volumeid": {
20148               "type": "string"
20149             },
20150             "volumetag": {
20151               "type": "string"
20152             }
20153           },
20154           "additionalProperties": false,
20155           "required": [
20156             "volumetag",
20157             "machinetag",
20158             "provider"
20159           ]
20160         },
20161         "VolumeAttachmentParamsResult": {
20162           "type": "object",
20163           "properties": {
20164             "error": {
20165               "$ref": "#/definitions/Error"
20166             },
20167             "result": {
20168               "$ref": "#/definitions/VolumeAttachmentParams"
20169             }
20170           },
20171           "additionalProperties": false,
20172           "required": [
20173             "result"
20174           ]
20175         },
20176         "VolumeAttachmentParamsResults": {
20177           "type": "object",
20178           "properties": {
20179             "results": {
20180               "type": "array",
20181               "items": {
20182                 "$ref": "#/definitions/VolumeAttachmentParamsResult"
20183               }
20184             }
20185           },
20186           "additionalProperties": false
20187         },
20188         "VolumeAttachmentResult": {
20189           "type": "object",
20190           "properties": {
20191             "error": {
20192               "$ref": "#/definitions/Error"
20193             },
20194             "result": {
20195               "$ref": "#/definitions/VolumeAttachment"
20196             }
20197           },
20198           "additionalProperties": false,
20199           "required": [
20200             "result"
20201           ]
20202         },
20203         "VolumeAttachmentResults": {
20204           "type": "object",
20205           "properties": {
20206             "results": {
20207               "type": "array",
20208               "items": {
20209                 "$ref": "#/definitions/VolumeAttachmentResult"
20210               }
20211             }
20212           },
20213           "additionalProperties": false
20214         },
20215         "VolumeAttachments": {
20216           "type": "object",
20217           "properties": {
20218             "volumeattachments": {
20219               "type": "array",
20220               "items": {
20221                 "$ref": "#/definitions/VolumeAttachment"
20222               }
20223             }
20224           },
20225           "additionalProperties": false,
20226           "required": [
20227             "volumeattachments"
20228           ]
20229         },
20230         "VolumeInfo": {
20231           "type": "object",
20232           "properties": {
20233             "hardwareid": {
20234               "type": "string"
20235             },
20236             "persistent": {
20237               "type": "boolean"
20238             },
20239             "size": {
20240               "type": "integer"
20241             },
20242             "volumeid": {
20243               "type": "string"
20244             }
20245           },
20246           "additionalProperties": false,
20247           "required": [
20248             "volumeid",
20249             "size",
20250             "persistent"
20251           ]
20252         },
20253         "VolumeParams": {
20254           "type": "object",
20255           "properties": {
20256             "attachment": {
20257               "$ref": "#/definitions/VolumeAttachmentParams"
20258             },
20259             "attributes": {
20260               "type": "object",
20261               "patternProperties": {
20262                 ".*": {
20263                   "type": "object",
20264                   "additionalProperties": true
20265                 }
20266               }
20267             },
20268             "provider": {
20269               "type": "string"
20270             },
20271             "size": {
20272               "type": "integer"
20273             },
20274             "tags": {
20275               "type": "object",
20276               "patternProperties": {
20277                 ".*": {
20278                   "type": "string"
20279                 }
20280               }
20281             },
20282             "volumetag": {
20283               "type": "string"
20284             }
20285           },
20286           "additionalProperties": false,
20287           "required": [
20288             "volumetag",
20289             "size",
20290             "provider"
20291           ]
20292         },
20293         "VolumeParamsResult": {
20294           "type": "object",
20295           "properties": {
20296             "error": {
20297               "$ref": "#/definitions/Error"
20298             },
20299             "result": {
20300               "$ref": "#/definitions/VolumeParams"
20301             }
20302           },
20303           "additionalProperties": false,
20304           "required": [
20305             "result"
20306           ]
20307         },
20308         "VolumeParamsResults": {
20309           "type": "object",
20310           "properties": {
20311             "results": {
20312               "type": "array",
20313               "items": {
20314                 "$ref": "#/definitions/VolumeParamsResult"
20315               }
20316             }
20317           },
20318           "additionalProperties": false
20319         },
20320         "VolumeResult": {
20321           "type": "object",
20322           "properties": {
20323             "error": {
20324               "$ref": "#/definitions/Error"
20325             },
20326             "result": {
20327               "$ref": "#/definitions/Volume"
20328             }
20329           },
20330           "additionalProperties": false,
20331           "required": [
20332             "result"
20333           ]
20334         },
20335         "VolumeResults": {
20336           "type": "object",
20337           "properties": {
20338             "results": {
20339               "type": "array",
20340               "items": {
20341                 "$ref": "#/definitions/VolumeResult"
20342               }
20343             }
20344           },
20345           "additionalProperties": false
20346         },
20347         "Volumes": {
20348           "type": "object",
20349           "properties": {
20350             "volumes": {
20351               "type": "array",
20352               "items": {
20353                 "$ref": "#/definitions/Volume"
20354               }
20355             }
20356           },
20357           "additionalProperties": false,
20358           "required": [
20359             "volumes"
20360           ]
20361         },
20362         "caveat": {
20363           "type": "object",
20364           "properties": {
20365             "caveatId": {
20366               "$ref": "#/definitions/packet"
20367             },
20368             "location": {
20369               "$ref": "#/definitions/packet"
20370             },
20371             "verificationId": {
20372               "$ref": "#/definitions/packet"
20373             }
20374           },
20375           "additionalProperties": false,
20376           "required": [
20377             "location",
20378             "caveatId",
20379             "verificationId"
20380           ]
20381         },
20382         "packet": {
20383           "type": "object",
20384           "properties": {
20385             "headerLen": {
20386               "type": "integer"
20387             },
20388             "start": {
20389               "type": "integer"
20390             },
20391             "totalLen": {
20392               "type": "integer"
20393             }
20394           },
20395           "additionalProperties": false,
20396           "required": [
20397             "start",
20398             "totalLen",
20399             "headerLen"
20400           ]
20401         }
20402       }
20403     }
20404   },
20405   {
20406     "Name": "StringsWatcher",
20407     "Version": 1,
20408     "Schema": {
20409       "type": "object",
20410       "properties": {
20411         "Next": {
20412           "type": "object",
20413           "properties": {
20414             "Result": {
20415               "$ref": "#/definitions/StringsWatchResult"
20416             }
20417           }
20418         },
20419         "Stop": {
20420           "type": "object"
20421         }
20422       },
20423       "definitions": {
20424         "Error": {
20425           "type": "object",
20426           "properties": {
20427             "Code": {
20428               "type": "string"
20429             },
20430             "Info": {
20431               "$ref": "#/definitions/ErrorInfo"
20432             },
20433             "Message": {
20434               "type": "string"
20435             }
20436           },
20437           "additionalProperties": false,
20438           "required": [
20439             "Message",
20440             "Code"
20441           ]
20442         },
20443         "ErrorInfo": {
20444           "type": "object",
20445           "properties": {
20446             "Macaroon": {
20447               "$ref": "#/definitions/Macaroon"
20448             },
20449             "MacaroonPath": {
20450               "type": "string"
20451             }
20452           },
20453           "additionalProperties": false
20454         },
20455         "Macaroon": {
20456           "type": "object",
20457           "properties": {
20458             "caveats": {
20459               "type": "array",
20460               "items": {
20461                 "$ref": "#/definitions/caveat"
20462               }
20463             },
20464             "data": {
20465               "type": "array",
20466               "items": {
20467                 "type": "integer"
20468               }
20469             },
20470             "id": {
20471               "$ref": "#/definitions/packet"
20472             },
20473             "location": {
20474               "$ref": "#/definitions/packet"
20475             },
20476             "sig": {
20477               "type": "array",
20478               "items": {
20479                 "type": "integer"
20480               }
20481             }
20482           },
20483           "additionalProperties": false,
20484           "required": [
20485             "data",
20486             "location",
20487             "id",
20488             "caveats",
20489             "sig"
20490           ]
20491         },
20492         "StringsWatchResult": {
20493           "type": "object",
20494           "properties": {
20495             "Changes": {
20496               "type": "array",
20497               "items": {
20498                 "type": "string"
20499               }
20500             },
20501             "Error": {
20502               "$ref": "#/definitions/Error"
20503             },
20504             "StringsWatcherId": {
20505               "type": "string"
20506             }
20507           },
20508           "additionalProperties": false,
20509           "required": [
20510             "StringsWatcherId",
20511             "Changes",
20512             "Error"
20513           ]
20514         },
20515         "caveat": {
20516           "type": "object",
20517           "properties": {
20518             "caveatId": {
20519               "$ref": "#/definitions/packet"
20520             },
20521             "location": {
20522               "$ref": "#/definitions/packet"
20523             },
20524             "verificationId": {
20525               "$ref": "#/definitions/packet"
20526             }
20527           },
20528           "additionalProperties": false,
20529           "required": [
20530             "location",
20531             "caveatId",
20532             "verificationId"
20533           ]
20534         },
20535         "packet": {
20536           "type": "object",
20537           "properties": {
20538             "headerLen": {
20539               "type": "integer"
20540             },
20541             "start": {
20542               "type": "integer"
20543             },
20544             "totalLen": {
20545               "type": "integer"
20546             }
20547           },
20548           "additionalProperties": false,
20549           "required": [
20550             "start",
20551             "totalLen",
20552             "headerLen"
20553           ]
20554         }
20555       }
20556     }
20557   },
20558   {
20559     "Name": "Subnets",
20560     "Version": 2,
20561     "Schema": {
20562       "type": "object",
20563       "properties": {
20564         "AddSubnets": {
20565           "type": "object",
20566           "properties": {
20567             "Params": {
20568               "$ref": "#/definitions/AddSubnetsParams"
20569             },
20570             "Result": {
20571               "$ref": "#/definitions/ErrorResults"
20572             }
20573           }
20574         },
20575         "AllSpaces": {
20576           "type": "object",
20577           "properties": {
20578             "Result": {
20579               "$ref": "#/definitions/SpaceResults"
20580             }
20581           }
20582         },
20583         "AllZones": {
20584           "type": "object",
20585           "properties": {
20586             "Result": {
20587               "$ref": "#/definitions/ZoneResults"
20588             }
20589           }
20590         },
20591         "ListSubnets": {
20592           "type": "object",
20593           "properties": {
20594             "Params": {
20595               "$ref": "#/definitions/SubnetsFilters"
20596             },
20597             "Result": {
20598               "$ref": "#/definitions/ListSubnetsResults"
20599             }
20600           }
20601         }
20602       },
20603       "definitions": {
20604         "AddSubnetParams": {
20605           "type": "object",
20606           "properties": {
20607             "SpaceTag": {
20608               "type": "string"
20609             },
20610             "SubnetProviderId": {
20611               "type": "string"
20612             },
20613             "SubnetTag": {
20614               "type": "string"
20615             },
20616             "Zones": {
20617               "type": "array",
20618               "items": {
20619                 "type": "string"
20620               }
20621             }
20622           },
20623           "additionalProperties": false,
20624           "required": [
20625             "SpaceTag"
20626           ]
20627         },
20628         "AddSubnetsParams": {
20629           "type": "object",
20630           "properties": {
20631             "Subnets": {
20632               "type": "array",
20633               "items": {
20634                 "$ref": "#/definitions/AddSubnetParams"
20635               }
20636             }
20637           },
20638           "additionalProperties": false,
20639           "required": [
20640             "Subnets"
20641           ]
20642         },
20643         "Error": {
20644           "type": "object",
20645           "properties": {
20646             "Code": {
20647               "type": "string"
20648             },
20649             "Info": {
20650               "$ref": "#/definitions/ErrorInfo"
20651             },
20652             "Message": {
20653               "type": "string"
20654             }
20655           },
20656           "additionalProperties": false,
20657           "required": [
20658             "Message",
20659             "Code"
20660           ]
20661         },
20662         "ErrorInfo": {
20663           "type": "object",
20664           "properties": {
20665             "Macaroon": {
20666               "$ref": "#/definitions/Macaroon"
20667             },
20668             "MacaroonPath": {
20669               "type": "string"
20670             }
20671           },
20672           "additionalProperties": false
20673         },
20674         "ErrorResult": {
20675           "type": "object",
20676           "properties": {
20677             "Error": {
20678               "$ref": "#/definitions/Error"
20679             }
20680           },
20681           "additionalProperties": false,
20682           "required": [
20683             "Error"
20684           ]
20685         },
20686         "ErrorResults": {
20687           "type": "object",
20688           "properties": {
20689             "Results": {
20690               "type": "array",
20691               "items": {
20692                 "$ref": "#/definitions/ErrorResult"
20693               }
20694             }
20695           },
20696           "additionalProperties": false,
20697           "required": [
20698             "Results"
20699           ]
20700         },
20701         "ListSubnetsResults": {
20702           "type": "object",
20703           "properties": {
20704             "Results": {
20705               "type": "array",
20706               "items": {
20707                 "$ref": "#/definitions/Subnet"
20708               }
20709             }
20710           },
20711           "additionalProperties": false,
20712           "required": [
20713             "Results"
20714           ]
20715         },
20716         "Macaroon": {
20717           "type": "object",
20718           "properties": {
20719             "caveats": {
20720               "type": "array",
20721               "items": {
20722                 "$ref": "#/definitions/caveat"
20723               }
20724             },
20725             "data": {
20726               "type": "array",
20727               "items": {
20728                 "type": "integer"
20729               }
20730             },
20731             "id": {
20732               "$ref": "#/definitions/packet"
20733             },
20734             "location": {
20735               "$ref": "#/definitions/packet"
20736             },
20737             "sig": {
20738               "type": "array",
20739               "items": {
20740                 "type": "integer"
20741               }
20742             }
20743           },
20744           "additionalProperties": false,
20745           "required": [
20746             "data",
20747             "location",
20748             "id",
20749             "caveats",
20750             "sig"
20751           ]
20752         },
20753         "SpaceResult": {
20754           "type": "object",
20755           "properties": {
20756             "Error": {
20757               "$ref": "#/definitions/Error"
20758             },
20759             "Tag": {
20760               "type": "string"
20761             }
20762           },
20763           "additionalProperties": false,
20764           "required": [
20765             "Error",
20766             "Tag"
20767           ]
20768         },
20769         "SpaceResults": {
20770           "type": "object",
20771           "properties": {
20772             "Results": {
20773               "type": "array",
20774               "items": {
20775                 "$ref": "#/definitions/SpaceResult"
20776               }
20777             }
20778           },
20779           "additionalProperties": false,
20780           "required": [
20781             "Results"
20782           ]
20783         },
20784         "Subnet": {
20785           "type": "object",
20786           "properties": {
20787             "CIDR": {
20788               "type": "string"
20789             },
20790             "Life": {
20791               "type": "string"
20792             },
20793             "ProviderId": {
20794               "type": "string"
20795             },
20796             "SpaceTag": {
20797               "type": "string"
20798             },
20799             "StaticRangeHighIP": {
20800               "type": "array",
20801               "items": {
20802                 "type": "integer"
20803               }
20804             },
20805             "StaticRangeLowIP": {
20806               "type": "array",
20807               "items": {
20808                 "type": "integer"
20809               }
20810             },
20811             "Status": {
20812               "type": "string"
20813             },
20814             "VLANTag": {
20815               "type": "integer"
20816             },
20817             "Zones": {
20818               "type": "array",
20819               "items": {
20820                 "type": "string"
20821               }
20822             }
20823           },
20824           "additionalProperties": false,
20825           "required": [
20826             "CIDR",
20827             "VLANTag",
20828             "Life",
20829             "SpaceTag",
20830             "Zones"
20831           ]
20832         },
20833         "SubnetsFilters": {
20834           "type": "object",
20835           "properties": {
20836             "SpaceTag": {
20837               "type": "string"
20838             },
20839             "Zone": {
20840               "type": "string"
20841             }
20842           },
20843           "additionalProperties": false
20844         },
20845         "ZoneResult": {
20846           "type": "object",
20847           "properties": {
20848             "Available": {
20849               "type": "boolean"
20850             },
20851             "Error": {
20852               "$ref": "#/definitions/Error"
20853             },
20854             "Name": {
20855               "type": "string"
20856             }
20857           },
20858           "additionalProperties": false,
20859           "required": [
20860             "Error",
20861             "Name",
20862             "Available"
20863           ]
20864         },
20865         "ZoneResults": {
20866           "type": "object",
20867           "properties": {
20868             "Results": {
20869               "type": "array",
20870               "items": {
20871                 "$ref": "#/definitions/ZoneResult"
20872               }
20873             }
20874           },
20875           "additionalProperties": false,
20876           "required": [
20877             "Results"
20878           ]
20879         },
20880         "caveat": {
20881           "type": "object",
20882           "properties": {
20883             "caveatId": {
20884               "$ref": "#/definitions/packet"
20885             },
20886             "location": {
20887               "$ref": "#/definitions/packet"
20888             },
20889             "verificationId": {
20890               "$ref": "#/definitions/packet"
20891             }
20892           },
20893           "additionalProperties": false,
20894           "required": [
20895             "location",
20896             "caveatId",
20897             "verificationId"
20898           ]
20899         },
20900         "packet": {
20901           "type": "object",
20902           "properties": {
20903             "headerLen": {
20904               "type": "integer"
20905             },
20906             "start": {
20907               "type": "integer"
20908             },
20909             "totalLen": {
20910               "type": "integer"
20911             }
20912           },
20913           "additionalProperties": false,
20914           "required": [
20915             "start",
20916             "totalLen",
20917             "headerLen"
20918           ]
20919         }
20920       }
20921     }
20922   },
20923   {
20924     "Name": "Undertaker",
20925     "Version": 1,
20926     "Schema": {
20927       "type": "object",
20928       "properties": {
20929         "ModelConfig": {
20930           "type": "object",
20931           "properties": {
20932             "Result": {
20933               "$ref": "#/definitions/ModelConfigResult"
20934             }
20935           }
20936         },
20937         "ModelInfo": {
20938           "type": "object",
20939           "properties": {
20940             "Result": {
20941               "$ref": "#/definitions/UndertakerModelInfoResult"
20942             }
20943           }
20944         },
20945         "ProcessDyingModel": {
20946           "type": "object"
20947         },
20948         "RemoveModel": {
20949           "type": "object"
20950         },
20951         "SetStatus": {
20952           "type": "object",
20953           "properties": {
20954             "Params": {
20955               "$ref": "#/definitions/SetStatus"
20956             },
20957             "Result": {
20958               "$ref": "#/definitions/ErrorResults"
20959             }
20960           }
20961         },
20962         "UpdateStatus": {
20963           "type": "object",
20964           "properties": {
20965             "Params": {
20966               "$ref": "#/definitions/SetStatus"
20967             },
20968             "Result": {
20969               "$ref": "#/definitions/ErrorResults"
20970             }
20971           }
20972         },
20973         "WatchModelResources": {
20974           "type": "object",
20975           "properties": {
20976             "Result": {
20977               "$ref": "#/definitions/NotifyWatchResults"
20978             }
20979           }
20980         }
20981       },
20982       "definitions": {
20983         "EntityStatusArgs": {
20984           "type": "object",
20985           "properties": {
20986             "Data": {
20987               "type": "object",
20988               "patternProperties": {
20989                 ".*": {
20990                   "type": "object",
20991                   "additionalProperties": true
20992                 }
20993               }
20994             },
20995             "Info": {
20996               "type": "string"
20997             },
20998             "Status": {
20999               "type": "string"
21000             },
21001             "Tag": {
21002               "type": "string"
21003             }
21004           },
21005           "additionalProperties": false,
21006           "required": [
21007             "Tag",
21008             "Status",
21009             "Info",
21010             "Data"
21011           ]
21012         },
21013         "Error": {
21014           "type": "object",
21015           "properties": {
21016             "Code": {
21017               "type": "string"
21018             },
21019             "Info": {
21020               "$ref": "#/definitions/ErrorInfo"
21021             },
21022             "Message": {
21023               "type": "string"
21024             }
21025           },
21026           "additionalProperties": false,
21027           "required": [
21028             "Message",
21029             "Code"
21030           ]
21031         },
21032         "ErrorInfo": {
21033           "type": "object",
21034           "properties": {
21035             "Macaroon": {
21036               "$ref": "#/definitions/Macaroon"
21037             },
21038             "MacaroonPath": {
21039               "type": "string"
21040             }
21041           },
21042           "additionalProperties": false
21043         },
21044         "ErrorResult": {
21045           "type": "object",
21046           "properties": {
21047             "Error": {
21048               "$ref": "#/definitions/Error"
21049             }
21050           },
21051           "additionalProperties": false,
21052           "required": [
21053             "Error"
21054           ]
21055         },
21056         "ErrorResults": {
21057           "type": "object",
21058           "properties": {
21059             "Results": {
21060               "type": "array",
21061               "items": {
21062                 "$ref": "#/definitions/ErrorResult"
21063               }
21064             }
21065           },
21066           "additionalProperties": false,
21067           "required": [
21068             "Results"
21069           ]
21070         },
21071         "Macaroon": {
21072           "type": "object",
21073           "properties": {
21074             "caveats": {
21075               "type": "array",
21076               "items": {
21077                 "$ref": "#/definitions/caveat"
21078               }
21079             },
21080             "data": {
21081               "type": "array",
21082               "items": {
21083                 "type": "integer"
21084               }
21085             },
21086             "id": {
21087               "$ref": "#/definitions/packet"
21088             },
21089             "location": {
21090               "$ref": "#/definitions/packet"
21091             },
21092             "sig": {
21093               "type": "array",
21094               "items": {
21095                 "type": "integer"
21096               }
21097             }
21098           },
21099           "additionalProperties": false,
21100           "required": [
21101             "data",
21102             "location",
21103             "id",
21104             "caveats",
21105             "sig"
21106           ]
21107         },
21108         "ModelConfigResult": {
21109           "type": "object",
21110           "properties": {
21111             "Config": {
21112               "type": "object",
21113               "patternProperties": {
21114                 ".*": {
21115                   "type": "object",
21116                   "additionalProperties": true
21117                 }
21118               }
21119             }
21120           },
21121           "additionalProperties": false,
21122           "required": [
21123             "Config"
21124           ]
21125         },
21126         "NotifyWatchResult": {
21127           "type": "object",
21128           "properties": {
21129             "Error": {
21130               "$ref": "#/definitions/Error"
21131             },
21132             "NotifyWatcherId": {
21133               "type": "string"
21134             }
21135           },
21136           "additionalProperties": false,
21137           "required": [
21138             "NotifyWatcherId",
21139             "Error"
21140           ]
21141         },
21142         "NotifyWatchResults": {
21143           "type": "object",
21144           "properties": {
21145             "Results": {
21146               "type": "array",
21147               "items": {
21148                 "$ref": "#/definitions/NotifyWatchResult"
21149               }
21150             }
21151           },
21152           "additionalProperties": false,
21153           "required": [
21154             "Results"
21155           ]
21156         },
21157         "SetStatus": {
21158           "type": "object",
21159           "properties": {
21160             "Entities": {
21161               "type": "array",
21162               "items": {
21163                 "$ref": "#/definitions/EntityStatusArgs"
21164               }
21165             }
21166           },
21167           "additionalProperties": false,
21168           "required": [
21169             "Entities"
21170           ]
21171         },
21172         "UndertakerModelInfo": {
21173           "type": "object",
21174           "properties": {
21175             "GlobalName": {
21176               "type": "string"
21177             },
21178             "IsSystem": {
21179               "type": "boolean"
21180             },
21181             "Life": {
21182               "type": "string"
21183             },
21184             "Name": {
21185               "type": "string"
21186             },
21187             "UUID": {
21188               "type": "string"
21189             }
21190           },
21191           "additionalProperties": false,
21192           "required": [
21193             "UUID",
21194             "Name",
21195             "GlobalName",
21196             "IsSystem",
21197             "Life"
21198           ]
21199         },
21200         "UndertakerModelInfoResult": {
21201           "type": "object",
21202           "properties": {
21203             "Error": {
21204               "$ref": "#/definitions/Error"
21205             },
21206             "Result": {
21207               "$ref": "#/definitions/UndertakerModelInfo"
21208             }
21209           },
21210           "additionalProperties": false,
21211           "required": [
21212             "Error",
21213             "Result"
21214           ]
21215         },
21216         "caveat": {
21217           "type": "object",
21218           "properties": {
21219             "caveatId": {
21220               "$ref": "#/definitions/packet"
21221             },
21222             "location": {
21223               "$ref": "#/definitions/packet"
21224             },
21225             "verificationId": {
21226               "$ref": "#/definitions/packet"
21227             }
21228           },
21229           "additionalProperties": false,
21230           "required": [
21231             "location",
21232             "caveatId",
21233             "verificationId"
21234           ]
21235         },
21236         "packet": {
21237           "type": "object",
21238           "properties": {
21239             "headerLen": {
21240               "type": "integer"
21241             },
21242             "start": {
21243               "type": "integer"
21244             },
21245             "totalLen": {
21246               "type": "integer"
21247             }
21248           },
21249           "additionalProperties": false,
21250           "required": [
21251             "start",
21252             "totalLen",
21253             "headerLen"
21254           ]
21255         }
21256       }
21257     }
21258   },
21259   {
21260     "Name": "UnitAssigner",
21261     "Version": 1,
21262     "Schema": {
21263       "type": "object",
21264       "properties": {
21265         "AssignUnits": {
21266           "type": "object",
21267           "properties": {
21268             "Params": {
21269               "$ref": "#/definitions/Entities"
21270             },
21271             "Result": {
21272               "$ref": "#/definitions/ErrorResults"
21273             }
21274           }
21275         },
21276         "SetAgentStatus": {
21277           "type": "object",
21278           "properties": {
21279             "Params": {
21280               "$ref": "#/definitions/SetStatus"
21281             },
21282             "Result": {
21283               "$ref": "#/definitions/ErrorResults"
21284             }
21285           }
21286         },
21287         "WatchUnitAssignments": {
21288           "type": "object",
21289           "properties": {
21290             "Result": {
21291               "$ref": "#/definitions/StringsWatchResult"
21292             }
21293           }
21294         }
21295       },
21296       "definitions": {
21297         "Entities": {
21298           "type": "object",
21299           "properties": {
21300             "Entities": {
21301               "type": "array",
21302               "items": {
21303                 "$ref": "#/definitions/Entity"
21304               }
21305             }
21306           },
21307           "additionalProperties": false,
21308           "required": [
21309             "Entities"
21310           ]
21311         },
21312         "Entity": {
21313           "type": "object",
21314           "properties": {
21315             "Tag": {
21316               "type": "string"
21317             }
21318           },
21319           "additionalProperties": false,
21320           "required": [
21321             "Tag"
21322           ]
21323         },
21324         "EntityStatusArgs": {
21325           "type": "object",
21326           "properties": {
21327             "Data": {
21328               "type": "object",
21329               "patternProperties": {
21330                 ".*": {
21331                   "type": "object",
21332                   "additionalProperties": true
21333                 }
21334               }
21335             },
21336             "Info": {
21337               "type": "string"
21338             },
21339             "Status": {
21340               "type": "string"
21341             },
21342             "Tag": {
21343               "type": "string"
21344             }
21345           },
21346           "additionalProperties": false,
21347           "required": [
21348             "Tag",
21349             "Status",
21350             "Info",
21351             "Data"
21352           ]
21353         },
21354         "Error": {
21355           "type": "object",
21356           "properties": {
21357             "Code": {
21358               "type": "string"
21359             },
21360             "Info": {
21361               "$ref": "#/definitions/ErrorInfo"
21362             },
21363             "Message": {
21364               "type": "string"
21365             }
21366           },
21367           "additionalProperties": false,
21368           "required": [
21369             "Message",
21370             "Code"
21371           ]
21372         },
21373         "ErrorInfo": {
21374           "type": "object",
21375           "properties": {
21376             "Macaroon": {
21377               "$ref": "#/definitions/Macaroon"
21378             },
21379             "MacaroonPath": {
21380               "type": "string"
21381             }
21382           },
21383           "additionalProperties": false
21384         },
21385         "ErrorResult": {
21386           "type": "object",
21387           "properties": {
21388             "Error": {
21389               "$ref": "#/definitions/Error"
21390             }
21391           },
21392           "additionalProperties": false,
21393           "required": [
21394             "Error"
21395           ]
21396         },
21397         "ErrorResults": {
21398           "type": "object",
21399           "properties": {
21400             "Results": {
21401               "type": "array",
21402               "items": {
21403                 "$ref": "#/definitions/ErrorResult"
21404               }
21405             }
21406           },
21407           "additionalProperties": false,
21408           "required": [
21409             "Results"
21410           ]
21411         },
21412         "Macaroon": {
21413           "type": "object",
21414           "properties": {
21415             "caveats": {
21416               "type": "array",
21417               "items": {
21418                 "$ref": "#/definitions/caveat"
21419               }
21420             },
21421             "data": {
21422               "type": "array",
21423               "items": {
21424                 "type": "integer"
21425               }
21426             },
21427             "id": {
21428               "$ref": "#/definitions/packet"
21429             },
21430             "location": {
21431               "$ref": "#/definitions/packet"
21432             },
21433             "sig": {
21434               "type": "array",
21435               "items": {
21436                 "type": "integer"
21437               }
21438             }
21439           },
21440           "additionalProperties": false,
21441           "required": [
21442             "data",
21443             "location",
21444             "id",
21445             "caveats",
21446             "sig"
21447           ]
21448         },
21449         "SetStatus": {
21450           "type": "object",
21451           "properties": {
21452             "Entities": {
21453               "type": "array",
21454               "items": {
21455                 "$ref": "#/definitions/EntityStatusArgs"
21456               }
21457             }
21458           },
21459           "additionalProperties": false,
21460           "required": [
21461             "Entities"
21462           ]
21463         },
21464         "StringsWatchResult": {
21465           "type": "object",
21466           "properties": {
21467             "Changes": {
21468               "type": "array",
21469               "items": {
21470                 "type": "string"
21471               }
21472             },
21473             "Error": {
21474               "$ref": "#/definitions/Error"
21475             },
21476             "StringsWatcherId": {
21477               "type": "string"
21478             }
21479           },
21480           "additionalProperties": false,
21481           "required": [
21482             "StringsWatcherId",
21483             "Changes",
21484             "Error"
21485           ]
21486         },
21487         "caveat": {
21488           "type": "object",
21489           "properties": {
21490             "caveatId": {
21491               "$ref": "#/definitions/packet"
21492             },
21493             "location": {
21494               "$ref": "#/definitions/packet"
21495             },
21496             "verificationId": {
21497               "$ref": "#/definitions/packet"
21498             }
21499           },
21500           "additionalProperties": false,
21501           "required": [
21502             "location",
21503             "caveatId",
21504             "verificationId"
21505           ]
21506         },
21507         "packet": {
21508           "type": "object",
21509           "properties": {
21510             "headerLen": {
21511               "type": "integer"
21512             },
21513             "start": {
21514               "type": "integer"
21515             },
21516             "totalLen": {
21517               "type": "integer"
21518             }
21519           },
21520           "additionalProperties": false,
21521           "required": [
21522             "start",
21523             "totalLen",
21524             "headerLen"
21525           ]
21526         }
21527       }
21528     }
21529   },
21530   {
21531     "Name": "Uniter",
21532     "Version": 3,
21533     "Schema": {
21534       "type": "object",
21535       "properties": {
21536         "APIAddresses": {
21537           "type": "object",
21538           "properties": {
21539             "Result": {
21540               "$ref": "#/definitions/StringsResult"
21541             }
21542           }
21543         },
21544         "APIHostPorts": {
21545           "type": "object",
21546           "properties": {
21547             "Result": {
21548               "$ref": "#/definitions/APIHostPortsResult"
21549             }
21550           }
21551         },
21552         "Actions": {
21553           "type": "object",
21554           "properties": {
21555             "Params": {
21556               "$ref": "#/definitions/Entities"
21557             },
21558             "Result": {
21559               "$ref": "#/definitions/ActionResults"
21560             }
21561           }
21562         },
21563         "AddMetricBatches": {
21564           "type": "object",
21565           "properties": {
21566             "Params": {
21567               "$ref": "#/definitions/MetricBatchParams"
21568             },
21569             "Result": {
21570               "$ref": "#/definitions/ErrorResults"
21571             }
21572           }
21573         },
21574         "AddUnitStorage": {
21575           "type": "object",
21576           "properties": {
21577             "Params": {
21578               "$ref": "#/definitions/StoragesAddParams"
21579             },
21580             "Result": {
21581               "$ref": "#/definitions/ErrorResults"
21582             }
21583           }
21584         },
21585         "AllMachinePorts": {
21586           "type": "object",
21587           "properties": {
21588             "Params": {
21589               "$ref": "#/definitions/Entities"
21590             },
21591             "Result": {
21592               "$ref": "#/definitions/MachinePortsResults"
21593             }
21594           }
21595         },
21596         "AssignedMachine": {
21597           "type": "object",
21598           "properties": {
21599             "Params": {
21600               "$ref": "#/definitions/Entities"
21601             },
21602             "Result": {
21603               "$ref": "#/definitions/StringResults"
21604             }
21605           }
21606         },
21607         "AvailabilityZone": {
21608           "type": "object",
21609           "properties": {
21610             "Params": {
21611               "$ref": "#/definitions/Entities"
21612             },
21613             "Result": {
21614               "$ref": "#/definitions/StringResults"
21615             }
21616           }
21617         },
21618         "BeginActions": {
21619           "type": "object",
21620           "properties": {
21621             "Params": {
21622               "$ref": "#/definitions/Entities"
21623             },
21624             "Result": {
21625               "$ref": "#/definitions/ErrorResults"
21626             }
21627           }
21628         },
21629         "CACert": {
21630           "type": "object",
21631           "properties": {
21632             "Result": {
21633               "$ref": "#/definitions/BytesResult"
21634             }
21635           }
21636         },
21637         "CharmArchiveSha256": {
21638           "type": "object",
21639           "properties": {
21640             "Params": {
21641               "$ref": "#/definitions/CharmURLs"
21642             },
21643             "Result": {
21644               "$ref": "#/definitions/StringResults"
21645             }
21646           }
21647         },
21648         "CharmModifiedVersion": {
21649           "type": "object",
21650           "properties": {
21651             "Params": {
21652               "$ref": "#/definitions/Entities"
21653             },
21654             "Result": {
21655               "$ref": "#/definitions/IntResults"
21656             }
21657           }
21658         },
21659         "CharmURL": {
21660           "type": "object",
21661           "properties": {
21662             "Params": {
21663               "$ref": "#/definitions/Entities"
21664             },
21665             "Result": {
21666               "$ref": "#/definitions/StringBoolResults"
21667             }
21668           }
21669         },
21670         "ClearResolved": {
21671           "type": "object",
21672           "properties": {
21673             "Params": {
21674               "$ref": "#/definitions/Entities"
21675             },
21676             "Result": {
21677               "$ref": "#/definitions/ErrorResults"
21678             }
21679           }
21680         },
21681         "ClosePorts": {
21682           "type": "object",
21683           "properties": {
21684             "Params": {
21685               "$ref": "#/definitions/EntitiesPortRanges"
21686             },
21687             "Result": {
21688               "$ref": "#/definitions/ErrorResults"
21689             }
21690           }
21691         },
21692         "ConfigSettings": {
21693           "type": "object",
21694           "properties": {
21695             "Params": {
21696               "$ref": "#/definitions/Entities"
21697             },
21698             "Result": {
21699               "$ref": "#/definitions/ConfigSettingsResults"
21700             }
21701           }
21702         },
21703         "CurrentModel": {
21704           "type": "object",
21705           "properties": {
21706             "Result": {
21707               "$ref": "#/definitions/ModelResult"
21708             }
21709           }
21710         },
21711         "Destroy": {
21712           "type": "object",
21713           "properties": {
21714             "Params": {
21715               "$ref": "#/definitions/Entities"
21716             },
21717             "Result": {
21718               "$ref": "#/definitions/ErrorResults"
21719             }
21720           }
21721         },
21722         "DestroyAllSubordinates": {
21723           "type": "object",
21724           "properties": {
21725             "Params": {
21726               "$ref": "#/definitions/Entities"
21727             },
21728             "Result": {
21729               "$ref": "#/definitions/ErrorResults"
21730             }
21731           }
21732         },
21733         "DestroyUnitStorageAttachments": {
21734           "type": "object",
21735           "properties": {
21736             "Params": {
21737               "$ref": "#/definitions/Entities"
21738             },
21739             "Result": {
21740               "$ref": "#/definitions/ErrorResults"
21741             }
21742           }
21743         },
21744         "EnsureDead": {
21745           "type": "object",
21746           "properties": {
21747             "Params": {
21748               "$ref": "#/definitions/Entities"
21749             },
21750             "Result": {
21751               "$ref": "#/definitions/ErrorResults"
21752             }
21753           }
21754         },
21755         "EnterScope": {
21756           "type": "object",
21757           "properties": {
21758             "Params": {
21759               "$ref": "#/definitions/RelationUnits"
21760             },
21761             "Result": {
21762               "$ref": "#/definitions/ErrorResults"
21763             }
21764           }
21765         },
21766         "FinishActions": {
21767           "type": "object",
21768           "properties": {
21769             "Params": {
21770               "$ref": "#/definitions/ActionExecutionResults"
21771             },
21772             "Result": {
21773               "$ref": "#/definitions/ErrorResults"
21774             }
21775           }
21776         },
21777         "GetMeterStatus": {
21778           "type": "object",
21779           "properties": {
21780             "Params": {
21781               "$ref": "#/definitions/Entities"
21782             },
21783             "Result": {
21784               "$ref": "#/definitions/MeterStatusResults"
21785             }
21786           }
21787         },
21788         "GetPrincipal": {
21789           "type": "object",
21790           "properties": {
21791             "Params": {
21792               "$ref": "#/definitions/Entities"
21793             },
21794             "Result": {
21795               "$ref": "#/definitions/StringBoolResults"
21796             }
21797           }
21798         },
21799         "HasSubordinates": {
21800           "type": "object",
21801           "properties": {
21802             "Params": {
21803               "$ref": "#/definitions/Entities"
21804             },
21805             "Result": {
21806               "$ref": "#/definitions/BoolResults"
21807             }
21808           }
21809         },
21810         "JoinedRelations": {
21811           "type": "object",
21812           "properties": {
21813             "Params": {
21814               "$ref": "#/definitions/Entities"
21815             },
21816             "Result": {
21817               "$ref": "#/definitions/StringsResults"
21818             }
21819           }
21820         },
21821         "LeaveScope": {
21822           "type": "object",
21823           "properties": {
21824             "Params": {
21825               "$ref": "#/definitions/RelationUnits"
21826             },
21827             "Result": {
21828               "$ref": "#/definitions/ErrorResults"
21829             }
21830           }
21831         },
21832         "Life": {
21833           "type": "object",
21834           "properties": {
21835             "Params": {
21836               "$ref": "#/definitions/Entities"
21837             },
21838             "Result": {
21839               "$ref": "#/definitions/LifeResults"
21840             }
21841           }
21842         },
21843         "Merge": {
21844           "type": "object",
21845           "properties": {
21846             "Params": {
21847               "$ref": "#/definitions/MergeLeadershipSettingsBulkParams"
21848             },
21849             "Result": {
21850               "$ref": "#/definitions/ErrorResults"
21851             }
21852           }
21853         },
21854         "ModelConfig": {
21855           "type": "object",
21856           "properties": {
21857             "Result": {
21858               "$ref": "#/definitions/ModelConfigResult"
21859             }
21860           }
21861         },
21862         "ModelUUID": {
21863           "type": "object",
21864           "properties": {
21865             "Result": {
21866               "$ref": "#/definitions/StringResult"
21867             }
21868           }
21869         },
21870         "NetworkConfig": {
21871           "type": "object",
21872           "properties": {
21873             "Params": {
21874               "$ref": "#/definitions/UnitsNetworkConfig"
21875             },
21876             "Result": {
21877               "$ref": "#/definitions/UnitNetworkConfigResults"
21878             }
21879           }
21880         },
21881         "OpenPorts": {
21882           "type": "object",
21883           "properties": {
21884             "Params": {
21885               "$ref": "#/definitions/EntitiesPortRanges"
21886             },
21887             "Result": {
21888               "$ref": "#/definitions/ErrorResults"
21889             }
21890           }
21891         },
21892         "PrivateAddress": {
21893           "type": "object",
21894           "properties": {
21895             "Params": {
21896               "$ref": "#/definitions/Entities"
21897             },
21898             "Result": {
21899               "$ref": "#/definitions/StringResults"
21900             }
21901           }
21902         },
21903         "ProviderType": {
21904           "type": "object",
21905           "properties": {
21906             "Result": {
21907               "$ref": "#/definitions/StringResult"
21908             }
21909           }
21910         },
21911         "PublicAddress": {
21912           "type": "object",
21913           "properties": {
21914             "Params": {
21915               "$ref": "#/definitions/Entities"
21916             },
21917             "Result": {
21918               "$ref": "#/definitions/StringResults"
21919             }
21920           }
21921         },
21922         "Read": {
21923           "type": "object",
21924           "properties": {
21925             "Params": {
21926               "$ref": "#/definitions/Entities"
21927             },
21928             "Result": {
21929               "$ref": "#/definitions/GetLeadershipSettingsBulkResults"
21930             }
21931           }
21932         },
21933         "ReadRemoteSettings": {
21934           "type": "object",
21935           "properties": {
21936             "Params": {
21937               "$ref": "#/definitions/RelationUnitPairs"
21938             },
21939             "Result": {
21940               "$ref": "#/definitions/SettingsResults"
21941             }
21942           }
21943         },
21944         "ReadSettings": {
21945           "type": "object",
21946           "properties": {
21947             "Params": {
21948               "$ref": "#/definitions/RelationUnits"
21949             },
21950             "Result": {
21951               "$ref": "#/definitions/SettingsResults"
21952             }
21953           }
21954         },
21955         "Relation": {
21956           "type": "object",
21957           "properties": {
21958             "Params": {
21959               "$ref": "#/definitions/RelationUnits"
21960             },
21961             "Result": {
21962               "$ref": "#/definitions/RelationResults"
21963             }
21964           }
21965         },
21966         "RelationById": {
21967           "type": "object",
21968           "properties": {
21969             "Params": {
21970               "$ref": "#/definitions/RelationIds"
21971             },
21972             "Result": {
21973               "$ref": "#/definitions/RelationResults"
21974             }
21975           }
21976         },
21977         "RemoveStorageAttachments": {
21978           "type": "object",
21979           "properties": {
21980             "Params": {
21981               "$ref": "#/definitions/StorageAttachmentIds"
21982             },
21983             "Result": {
21984               "$ref": "#/definitions/ErrorResults"
21985             }
21986           }
21987         },
21988         "RequestReboot": {
21989           "type": "object",
21990           "properties": {
21991             "Params": {
21992               "$ref": "#/definitions/Entities"
21993             },
21994             "Result": {
21995               "$ref": "#/definitions/ErrorResults"
21996             }
21997           }
21998         },
21999         "Resolved": {
22000           "type": "object",
22001           "properties": {
22002             "Params": {
22003               "$ref": "#/definitions/Entities"
22004             },
22005             "Result": {
22006               "$ref": "#/definitions/ResolvedModeResults"
22007             }
22008           }
22009         },
22010         "ServiceOwner": {
22011           "type": "object",
22012           "properties": {
22013             "Params": {
22014               "$ref": "#/definitions/Entities"
22015             },
22016             "Result": {
22017               "$ref": "#/definitions/StringResults"
22018             }
22019           }
22020         },
22021         "ServiceStatus": {
22022           "type": "object",
22023           "properties": {
22024             "Params": {
22025               "$ref": "#/definitions/Entities"
22026             },
22027             "Result": {
22028               "$ref": "#/definitions/ServiceStatusResults"
22029             }
22030           }
22031         },
22032         "SetAgentStatus": {
22033           "type": "object",
22034           "properties": {
22035             "Params": {
22036               "$ref": "#/definitions/SetStatus"
22037             },
22038             "Result": {
22039               "$ref": "#/definitions/ErrorResults"
22040             }
22041           }
22042         },
22043         "SetCharmURL": {
22044           "type": "object",
22045           "properties": {
22046             "Params": {
22047               "$ref": "#/definitions/EntitiesCharmURL"
22048             },
22049             "Result": {
22050               "$ref": "#/definitions/ErrorResults"
22051             }
22052           }
22053         },
22054         "SetServiceStatus": {
22055           "type": "object",
22056           "properties": {
22057             "Params": {
22058               "$ref": "#/definitions/SetStatus"
22059             },
22060             "Result": {
22061               "$ref": "#/definitions/ErrorResults"
22062             }
22063           }
22064         },
22065         "SetStatus": {
22066           "type": "object",
22067           "properties": {
22068             "Params": {
22069               "$ref": "#/definitions/SetStatus"
22070             },
22071             "Result": {
22072               "$ref": "#/definitions/ErrorResults"
22073             }
22074           }
22075         },
22076         "SetUnitStatus": {
22077           "type": "object",
22078           "properties": {
22079             "Params": {
22080               "$ref": "#/definitions/SetStatus"
22081             },
22082             "Result": {
22083               "$ref": "#/definitions/ErrorResults"
22084             }
22085           }
22086         },
22087         "StorageAttachmentLife": {
22088           "type": "object",
22089           "properties": {
22090             "Params": {
22091               "$ref": "#/definitions/StorageAttachmentIds"
22092             },
22093             "Result": {
22094               "$ref": "#/definitions/LifeResults"
22095             }
22096           }
22097         },
22098         "StorageAttachments": {
22099           "type": "object",
22100           "properties": {
22101             "Params": {
22102               "$ref": "#/definitions/StorageAttachmentIds"
22103             },
22104             "Result": {
22105               "$ref": "#/definitions/StorageAttachmentResults"
22106             }
22107           }
22108         },
22109         "UnitStatus": {
22110           "type": "object",
22111           "properties": {
22112             "Params": {
22113               "$ref": "#/definitions/Entities"
22114             },
22115             "Result": {
22116               "$ref": "#/definitions/StatusResults"
22117             }
22118           }
22119         },
22120         "UnitStorageAttachments": {
22121           "type": "object",
22122           "properties": {
22123             "Params": {
22124               "$ref": "#/definitions/Entities"
22125             },
22126             "Result": {
22127               "$ref": "#/definitions/StorageAttachmentIdsResults"
22128             }
22129           }
22130         },
22131         "UpdateSettings": {
22132           "type": "object",
22133           "properties": {
22134             "Params": {
22135               "$ref": "#/definitions/RelationUnitsSettings"
22136             },
22137             "Result": {
22138               "$ref": "#/definitions/ErrorResults"
22139             }
22140           }
22141         },
22142         "Watch": {
22143           "type": "object",
22144           "properties": {
22145             "Params": {
22146               "$ref": "#/definitions/Entities"
22147             },
22148             "Result": {
22149               "$ref": "#/definitions/NotifyWatchResults"
22150             }
22151           }
22152         },
22153         "WatchAPIHostPorts": {
22154           "type": "object",
22155           "properties": {
22156             "Result": {
22157               "$ref": "#/definitions/NotifyWatchResult"
22158             }
22159           }
22160         },
22161         "WatchActionNotifications": {
22162           "type": "object",
22163           "properties": {
22164             "Params": {
22165               "$ref": "#/definitions/Entities"
22166             },
22167             "Result": {
22168               "$ref": "#/definitions/StringsWatchResults"
22169             }
22170           }
22171         },
22172         "WatchConfigSettings": {
22173           "type": "object",
22174           "properties": {
22175             "Params": {
22176               "$ref": "#/definitions/Entities"
22177             },
22178             "Result": {
22179               "$ref": "#/definitions/NotifyWatchResults"
22180             }
22181           }
22182         },
22183         "WatchForModelConfigChanges": {
22184           "type": "object",
22185           "properties": {
22186             "Result": {
22187               "$ref": "#/definitions/NotifyWatchResult"
22188             }
22189           }
22190         },
22191         "WatchLeadershipSettings": {
22192           "type": "object",
22193           "properties": {
22194             "Params": {
22195               "$ref": "#/definitions/Entities"
22196             },
22197             "Result": {
22198               "$ref": "#/definitions/NotifyWatchResults"
22199             }
22200           }
22201         },
22202         "WatchMeterStatus": {
22203           "type": "object",
22204           "properties": {
22205             "Params": {
22206               "$ref": "#/definitions/Entities"
22207             },
22208             "Result": {
22209               "$ref": "#/definitions/NotifyWatchResults"
22210             }
22211           }
22212         },
22213         "WatchRelationUnits": {
22214           "type": "object",
22215           "properties": {
22216             "Params": {
22217               "$ref": "#/definitions/RelationUnits"
22218             },
22219             "Result": {
22220               "$ref": "#/definitions/RelationUnitsWatchResults"
22221             }
22222           }
22223         },
22224         "WatchServiceRelations": {
22225           "type": "object",
22226           "properties": {
22227             "Params": {
22228               "$ref": "#/definitions/Entities"
22229             },
22230             "Result": {
22231               "$ref": "#/definitions/StringsWatchResults"
22232             }
22233           }
22234         },
22235         "WatchStorageAttachments": {
22236           "type": "object",
22237           "properties": {
22238             "Params": {
22239               "$ref": "#/definitions/StorageAttachmentIds"
22240             },
22241             "Result": {
22242               "$ref": "#/definitions/NotifyWatchResults"
22243             }
22244           }
22245         },
22246         "WatchUnitAddresses": {
22247           "type": "object",
22248           "properties": {
22249             "Params": {
22250               "$ref": "#/definitions/Entities"
22251             },
22252             "Result": {
22253               "$ref": "#/definitions/NotifyWatchResults"
22254             }
22255           }
22256         },
22257         "WatchUnitStorageAttachments": {
22258           "type": "object",
22259           "properties": {
22260             "Params": {
22261               "$ref": "#/definitions/Entities"
22262             },
22263             "Result": {
22264               "$ref": "#/definitions/StringsWatchResults"
22265             }
22266           }
22267         }
22268       },
22269       "definitions": {
22270         "APIHostPortsResult": {
22271           "type": "object",
22272           "properties": {
22273             "Servers": {
22274               "type": "array",
22275               "items": {
22276                 "type": "array",
22277                 "items": {
22278                   "$ref": "#/definitions/HostPort"
22279                 }
22280               }
22281             }
22282           },
22283           "additionalProperties": false,
22284           "required": [
22285             "Servers"
22286           ]
22287         },
22288         "Action": {
22289           "type": "object",
22290           "properties": {
22291             "name": {
22292               "type": "string"
22293             },
22294             "parameters": {
22295               "type": "object",
22296               "patternProperties": {
22297                 ".*": {
22298                   "type": "object",
22299                   "additionalProperties": true
22300                 }
22301               }
22302             },
22303             "receiver": {
22304               "type": "string"
22305             },
22306             "tag": {
22307               "type": "string"
22308             }
22309           },
22310           "additionalProperties": false,
22311           "required": [
22312             "tag",
22313             "receiver",
22314             "name"
22315           ]
22316         },
22317         "ActionExecutionResult": {
22318           "type": "object",
22319           "properties": {
22320             "actiontag": {
22321               "type": "string"
22322             },
22323             "message": {
22324               "type": "string"
22325             },
22326             "results": {
22327               "type": "object",
22328               "patternProperties": {
22329                 ".*": {
22330                   "type": "object",
22331                   "additionalProperties": true
22332                 }
22333               }
22334             },
22335             "status": {
22336               "type": "string"
22337             }
22338           },
22339           "additionalProperties": false,
22340           "required": [
22341             "actiontag",
22342             "status"
22343           ]
22344         },
22345         "ActionExecutionResults": {
22346           "type": "object",
22347           "properties": {
22348             "results": {
22349               "type": "array",
22350               "items": {
22351                 "$ref": "#/definitions/ActionExecutionResult"
22352               }
22353             }
22354           },
22355           "additionalProperties": false
22356         },
22357         "ActionResult": {
22358           "type": "object",
22359           "properties": {
22360             "action": {
22361               "$ref": "#/definitions/Action"
22362             },
22363             "completed": {
22364               "type": "string",
22365               "format": "date-time"
22366             },
22367             "enqueued": {
22368               "type": "string",
22369               "format": "date-time"
22370             },
22371             "error": {
22372               "$ref": "#/definitions/Error"
22373             },
22374             "message": {
22375               "type": "string"
22376             },
22377             "output": {
22378               "type": "object",
22379               "patternProperties": {
22380                 ".*": {
22381                   "type": "object",
22382                   "additionalProperties": true
22383                 }
22384               }
22385             },
22386             "started": {
22387               "type": "string",
22388               "format": "date-time"
22389             },
22390             "status": {
22391               "type": "string"
22392             }
22393           },
22394           "additionalProperties": false
22395         },
22396         "ActionResults": {
22397           "type": "object",
22398           "properties": {
22399             "results": {
22400               "type": "array",
22401               "items": {
22402                 "$ref": "#/definitions/ActionResult"
22403               }
22404             }
22405           },
22406           "additionalProperties": false
22407         },
22408         "Address": {
22409           "type": "object",
22410           "properties": {
22411             "Scope": {
22412               "type": "string"
22413             },
22414             "SpaceName": {
22415               "type": "string"
22416             },
22417             "Type": {
22418               "type": "string"
22419             },
22420             "Value": {
22421               "type": "string"
22422             }
22423           },
22424           "additionalProperties": false,
22425           "required": [
22426             "Value",
22427             "Type",
22428             "Scope"
22429           ]
22430         },
22431         "BoolResult": {
22432           "type": "object",
22433           "properties": {
22434             "Error": {
22435               "$ref": "#/definitions/Error"
22436             },
22437             "Result": {
22438               "type": "boolean"
22439             }
22440           },
22441           "additionalProperties": false,
22442           "required": [
22443             "Error",
22444             "Result"
22445           ]
22446         },
22447         "BoolResults": {
22448           "type": "object",
22449           "properties": {
22450             "Results": {
22451               "type": "array",
22452               "items": {
22453                 "$ref": "#/definitions/BoolResult"
22454               }
22455             }
22456           },
22457           "additionalProperties": false,
22458           "required": [
22459             "Results"
22460           ]
22461         },
22462         "BytesResult": {
22463           "type": "object",
22464           "properties": {
22465             "Result": {
22466               "type": "array",
22467               "items": {
22468                 "type": "integer"
22469               }
22470             }
22471           },
22472           "additionalProperties": false,
22473           "required": [
22474             "Result"
22475           ]
22476         },
22477         "CharmURL": {
22478           "type": "object",
22479           "properties": {
22480             "URL": {
22481               "type": "string"
22482             }
22483           },
22484           "additionalProperties": false,
22485           "required": [
22486             "URL"
22487           ]
22488         },
22489         "CharmURLs": {
22490           "type": "object",
22491           "properties": {
22492             "URLs": {
22493               "type": "array",
22494               "items": {
22495                 "$ref": "#/definitions/CharmURL"
22496               }
22497             }
22498           },
22499           "additionalProperties": false,
22500           "required": [
22501             "URLs"
22502           ]
22503         },
22504         "ConfigSettingsResult": {
22505           "type": "object",
22506           "properties": {
22507             "Error": {
22508               "$ref": "#/definitions/Error"
22509             },
22510             "Settings": {
22511               "type": "object",
22512               "patternProperties": {
22513                 ".*": {
22514                   "type": "object",
22515                   "additionalProperties": true
22516                 }
22517               }
22518             }
22519           },
22520           "additionalProperties": false,
22521           "required": [
22522             "Error",
22523             "Settings"
22524           ]
22525         },
22526         "ConfigSettingsResults": {
22527           "type": "object",
22528           "properties": {
22529             "Results": {
22530               "type": "array",
22531               "items": {
22532                 "$ref": "#/definitions/ConfigSettingsResult"
22533               }
22534             }
22535           },
22536           "additionalProperties": false,
22537           "required": [
22538             "Results"
22539           ]
22540         },
22541         "Endpoint": {
22542           "type": "object",
22543           "properties": {
22544             "Relation": {
22545               "$ref": "#/definitions/Relation"
22546             },
22547             "ServiceName": {
22548               "type": "string"
22549             }
22550           },
22551           "additionalProperties": false,
22552           "required": [
22553             "ServiceName",
22554             "Relation"
22555           ]
22556         },
22557         "Entities": {
22558           "type": "object",
22559           "properties": {
22560             "Entities": {
22561               "type": "array",
22562               "items": {
22563                 "$ref": "#/definitions/Entity"
22564               }
22565             }
22566           },
22567           "additionalProperties": false,
22568           "required": [
22569             "Entities"
22570           ]
22571         },
22572         "EntitiesCharmURL": {
22573           "type": "object",
22574           "properties": {
22575             "Entities": {
22576               "type": "array",
22577               "items": {
22578                 "$ref": "#/definitions/EntityCharmURL"
22579               }
22580             }
22581           },
22582           "additionalProperties": false,
22583           "required": [
22584             "Entities"
22585           ]
22586         },
22587         "EntitiesPortRanges": {
22588           "type": "object",
22589           "properties": {
22590             "Entities": {
22591               "type": "array",
22592               "items": {
22593                 "$ref": "#/definitions/EntityPortRange"
22594               }
22595             }
22596           },
22597           "additionalProperties": false,
22598           "required": [
22599             "Entities"
22600           ]
22601         },
22602         "Entity": {
22603           "type": "object",
22604           "properties": {
22605             "Tag": {
22606               "type": "string"
22607             }
22608           },
22609           "additionalProperties": false,
22610           "required": [
22611             "Tag"
22612           ]
22613         },
22614         "EntityCharmURL": {
22615           "type": "object",
22616           "properties": {
22617             "CharmURL": {
22618               "type": "string"
22619             },
22620             "Tag": {
22621               "type": "string"
22622             }
22623           },
22624           "additionalProperties": false,
22625           "required": [
22626             "Tag",
22627             "CharmURL"
22628           ]
22629         },
22630         "EntityPortRange": {
22631           "type": "object",
22632           "properties": {
22633             "FromPort": {
22634               "type": "integer"
22635             },
22636             "Protocol": {
22637               "type": "string"
22638             },
22639             "Tag": {
22640               "type": "string"
22641             },
22642             "ToPort": {
22643               "type": "integer"
22644             }
22645           },
22646           "additionalProperties": false,
22647           "required": [
22648             "Tag",
22649             "Protocol",
22650             "FromPort",
22651             "ToPort"
22652           ]
22653         },
22654         "EntityStatusArgs": {
22655           "type": "object",
22656           "properties": {
22657             "Data": {
22658               "type": "object",
22659               "patternProperties": {
22660                 ".*": {
22661                   "type": "object",
22662                   "additionalProperties": true
22663                 }
22664               }
22665             },
22666             "Info": {
22667               "type": "string"
22668             },
22669             "Status": {
22670               "type": "string"
22671             },
22672             "Tag": {
22673               "type": "string"
22674             }
22675           },
22676           "additionalProperties": false,
22677           "required": [
22678             "Tag",
22679             "Status",
22680             "Info",
22681             "Data"
22682           ]
22683         },
22684         "Error": {
22685           "type": "object",
22686           "properties": {
22687             "Code": {
22688               "type": "string"
22689             },
22690             "Info": {
22691               "$ref": "#/definitions/ErrorInfo"
22692             },
22693             "Message": {
22694               "type": "string"
22695             }
22696           },
22697           "additionalProperties": false,
22698           "required": [
22699             "Message",
22700             "Code"
22701           ]
22702         },
22703         "ErrorInfo": {
22704           "type": "object",
22705           "properties": {
22706             "Macaroon": {
22707               "$ref": "#/definitions/Macaroon"
22708             },
22709             "MacaroonPath": {
22710               "type": "string"
22711             }
22712           },
22713           "additionalProperties": false
22714         },
22715         "ErrorResult": {
22716           "type": "object",
22717           "properties": {
22718             "Error": {
22719               "$ref": "#/definitions/Error"
22720             }
22721           },
22722           "additionalProperties": false,
22723           "required": [
22724             "Error"
22725           ]
22726         },
22727         "ErrorResults": {
22728           "type": "object",
22729           "properties": {
22730             "Results": {
22731               "type": "array",
22732               "items": {
22733                 "$ref": "#/definitions/ErrorResult"
22734               }
22735             }
22736           },
22737           "additionalProperties": false,
22738           "required": [
22739             "Results"
22740           ]
22741         },
22742         "GetLeadershipSettingsBulkResults": {
22743           "type": "object",
22744           "properties": {
22745             "Results": {
22746               "type": "array",
22747               "items": {
22748                 "$ref": "#/definitions/GetLeadershipSettingsResult"
22749               }
22750             }
22751           },
22752           "additionalProperties": false,
22753           "required": [
22754             "Results"
22755           ]
22756         },
22757         "GetLeadershipSettingsResult": {
22758           "type": "object",
22759           "properties": {
22760             "Error": {
22761               "$ref": "#/definitions/Error"
22762             },
22763             "Settings": {
22764               "type": "object",
22765               "patternProperties": {
22766                 ".*": {
22767                   "type": "string"
22768                 }
22769               }
22770             }
22771           },
22772           "additionalProperties": false,
22773           "required": [
22774             "Settings",
22775             "Error"
22776           ]
22777         },
22778         "HostPort": {
22779           "type": "object",
22780           "properties": {
22781             "Address": {
22782               "$ref": "#/definitions/Address"
22783             },
22784             "Port": {
22785               "type": "integer"
22786             }
22787           },
22788           "additionalProperties": false,
22789           "required": [
22790             "Address",
22791             "Port"
22792           ]
22793         },
22794         "IntResult": {
22795           "type": "object",
22796           "properties": {
22797             "Error": {
22798               "$ref": "#/definitions/Error"
22799             },
22800             "Result": {
22801               "type": "integer"
22802             }
22803           },
22804           "additionalProperties": false,
22805           "required": [
22806             "Error",
22807             "Result"
22808           ]
22809         },
22810         "IntResults": {
22811           "type": "object",
22812           "properties": {
22813             "Results": {
22814               "type": "array",
22815               "items": {
22816                 "$ref": "#/definitions/IntResult"
22817               }
22818             }
22819           },
22820           "additionalProperties": false,
22821           "required": [
22822             "Results"
22823           ]
22824         },
22825         "LifeResult": {
22826           "type": "object",
22827           "properties": {
22828             "Error": {
22829               "$ref": "#/definitions/Error"
22830             },
22831             "Life": {
22832               "type": "string"
22833             }
22834           },
22835           "additionalProperties": false,
22836           "required": [
22837             "Life",
22838             "Error"
22839           ]
22840         },
22841         "LifeResults": {
22842           "type": "object",
22843           "properties": {
22844             "Results": {
22845               "type": "array",
22846               "items": {
22847                 "$ref": "#/definitions/LifeResult"
22848               }
22849             }
22850           },
22851           "additionalProperties": false,
22852           "required": [
22853             "Results"
22854           ]
22855         },
22856         "Macaroon": {
22857           "type": "object",
22858           "properties": {
22859             "caveats": {
22860               "type": "array",
22861               "items": {
22862                 "$ref": "#/definitions/caveat"
22863               }
22864             },
22865             "data": {
22866               "type": "array",
22867               "items": {
22868                 "type": "integer"
22869               }
22870             },
22871             "id": {
22872               "$ref": "#/definitions/packet"
22873             },
22874             "location": {
22875               "$ref": "#/definitions/packet"
22876             },
22877             "sig": {
22878               "type": "array",
22879               "items": {
22880                 "type": "integer"
22881               }
22882             }
22883           },
22884           "additionalProperties": false,
22885           "required": [
22886             "data",
22887             "location",
22888             "id",
22889             "caveats",
22890             "sig"
22891           ]
22892         },
22893         "MachinePortRange": {
22894           "type": "object",
22895           "properties": {
22896             "PortRange": {
22897               "$ref": "#/definitions/PortRange"
22898             },
22899             "RelationTag": {
22900               "type": "string"
22901             },
22902             "UnitTag": {
22903               "type": "string"
22904             }
22905           },
22906           "additionalProperties": false,
22907           "required": [
22908             "UnitTag",
22909             "RelationTag",
22910             "PortRange"
22911           ]
22912         },
22913         "MachinePortsResult": {
22914           "type": "object",
22915           "properties": {
22916             "Error": {
22917               "$ref": "#/definitions/Error"
22918             },
22919             "Ports": {
22920               "type": "array",
22921               "items": {
22922                 "$ref": "#/definitions/MachinePortRange"
22923               }
22924             }
22925           },
22926           "additionalProperties": false,
22927           "required": [
22928             "Error",
22929             "Ports"
22930           ]
22931         },
22932         "MachinePortsResults": {
22933           "type": "object",
22934           "properties": {
22935             "Results": {
22936               "type": "array",
22937               "items": {
22938                 "$ref": "#/definitions/MachinePortsResult"
22939               }
22940             }
22941           },
22942           "additionalProperties": false,
22943           "required": [
22944             "Results"
22945           ]
22946         },
22947         "MergeLeadershipSettingsBulkParams": {
22948           "type": "object",
22949           "properties": {
22950             "Params": {
22951               "type": "array",
22952               "items": {
22953                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
22954               }
22955             }
22956           },
22957           "additionalProperties": false,
22958           "required": [
22959             "Params"
22960           ]
22961         },
22962         "MergeLeadershipSettingsParam": {
22963           "type": "object",
22964           "properties": {
22965             "ServiceTag": {
22966               "type": "string"
22967             },
22968             "Settings": {
22969               "type": "object",
22970               "patternProperties": {
22971                 ".*": {
22972                   "type": "string"
22973                 }
22974               }
22975             }
22976           },
22977           "additionalProperties": false,
22978           "required": [
22979             "ServiceTag",
22980             "Settings"
22981           ]
22982         },
22983         "MeterStatusResult": {
22984           "type": "object",
22985           "properties": {
22986             "Code": {
22987               "type": "string"
22988             },
22989             "Error": {
22990               "$ref": "#/definitions/Error"
22991             },
22992             "Info": {
22993               "type": "string"
22994             }
22995           },
22996           "additionalProperties": false,
22997           "required": [
22998             "Code",
22999             "Info",
23000             "Error"
23001           ]
23002         },
23003         "MeterStatusResults": {
23004           "type": "object",
23005           "properties": {
23006             "Results": {
23007               "type": "array",
23008               "items": {
23009                 "$ref": "#/definitions/MeterStatusResult"
23010               }
23011             }
23012           },
23013           "additionalProperties": false,
23014           "required": [
23015             "Results"
23016           ]
23017         },
23018         "Metric": {
23019           "type": "object",
23020           "properties": {
23021             "Key": {
23022               "type": "string"
23023             },
23024             "Time": {
23025               "type": "string",
23026               "format": "date-time"
23027             },
23028             "Value": {
23029               "type": "string"
23030             }
23031           },
23032           "additionalProperties": false,
23033           "required": [
23034             "Key",
23035             "Value",
23036             "Time"
23037           ]
23038         },
23039         "MetricBatch": {
23040           "type": "object",
23041           "properties": {
23042             "CharmURL": {
23043               "type": "string"
23044             },
23045             "Created": {
23046               "type": "string",
23047               "format": "date-time"
23048             },
23049             "Metrics": {
23050               "type": "array",
23051               "items": {
23052                 "$ref": "#/definitions/Metric"
23053               }
23054             },
23055             "UUID": {
23056               "type": "string"
23057             }
23058           },
23059           "additionalProperties": false,
23060           "required": [
23061             "UUID",
23062             "CharmURL",
23063             "Created",
23064             "Metrics"
23065           ]
23066         },
23067         "MetricBatchParam": {
23068           "type": "object",
23069           "properties": {
23070             "Batch": {
23071               "$ref": "#/definitions/MetricBatch"
23072             },
23073             "Tag": {
23074               "type": "string"
23075             }
23076           },
23077           "additionalProperties": false,
23078           "required": [
23079             "Tag",
23080             "Batch"
23081           ]
23082         },
23083         "MetricBatchParams": {
23084           "type": "object",
23085           "properties": {
23086             "Batches": {
23087               "type": "array",
23088               "items": {
23089                 "$ref": "#/definitions/MetricBatchParam"
23090               }
23091             }
23092           },
23093           "additionalProperties": false,
23094           "required": [
23095             "Batches"
23096           ]
23097         },
23098         "ModelConfigResult": {
23099           "type": "object",
23100           "properties": {
23101             "Config": {
23102               "type": "object",
23103               "patternProperties": {
23104                 ".*": {
23105                   "type": "object",
23106                   "additionalProperties": true
23107                 }
23108               }
23109             }
23110           },
23111           "additionalProperties": false,
23112           "required": [
23113             "Config"
23114           ]
23115         },
23116         "ModelResult": {
23117           "type": "object",
23118           "properties": {
23119             "Error": {
23120               "$ref": "#/definitions/Error"
23121             },
23122             "Name": {
23123               "type": "string"
23124             },
23125             "UUID": {
23126               "type": "string"
23127             }
23128           },
23129           "additionalProperties": false,
23130           "required": [
23131             "Error",
23132             "Name",
23133             "UUID"
23134           ]
23135         },
23136         "NetworkConfig": {
23137           "type": "object",
23138           "properties": {
23139             "Address": {
23140               "type": "string"
23141             },
23142             "CIDR": {
23143               "type": "string"
23144             },
23145             "ConfigType": {
23146               "type": "string"
23147             },
23148             "DNSSearchDomains": {
23149               "type": "array",
23150               "items": {
23151                 "type": "string"
23152               }
23153             },
23154             "DNSServers": {
23155               "type": "array",
23156               "items": {
23157                 "type": "string"
23158               }
23159             },
23160             "DeviceIndex": {
23161               "type": "integer"
23162             },
23163             "Disabled": {
23164               "type": "boolean"
23165             },
23166             "GatewayAddress": {
23167               "type": "string"
23168             },
23169             "InterfaceName": {
23170               "type": "string"
23171             },
23172             "InterfaceType": {
23173               "type": "string"
23174             },
23175             "MACAddress": {
23176               "type": "string"
23177             },
23178             "MTU": {
23179               "type": "integer"
23180             },
23181             "NoAutoStart": {
23182               "type": "boolean"
23183             },
23184             "ParentInterfaceName": {
23185               "type": "string"
23186             },
23187             "ProviderAddressId": {
23188               "type": "string"
23189             },
23190             "ProviderId": {
23191               "type": "string"
23192             },
23193             "ProviderSpaceId": {
23194               "type": "string"
23195             },
23196             "ProviderSubnetId": {
23197               "type": "string"
23198             },
23199             "ProviderVLANId": {
23200               "type": "string"
23201             },
23202             "VLANTag": {
23203               "type": "integer"
23204             }
23205           },
23206           "additionalProperties": false,
23207           "required": [
23208             "DeviceIndex",
23209             "MACAddress",
23210             "CIDR",
23211             "MTU",
23212             "ProviderId",
23213             "ProviderSubnetId",
23214             "ProviderSpaceId",
23215             "ProviderAddressId",
23216             "ProviderVLANId",
23217             "VLANTag",
23218             "InterfaceName",
23219             "ParentInterfaceName",
23220             "InterfaceType",
23221             "Disabled"
23222           ]
23223         },
23224         "NotifyWatchResult": {
23225           "type": "object",
23226           "properties": {
23227             "Error": {
23228               "$ref": "#/definitions/Error"
23229             },
23230             "NotifyWatcherId": {
23231               "type": "string"
23232             }
23233           },
23234           "additionalProperties": false,
23235           "required": [
23236             "NotifyWatcherId",
23237             "Error"
23238           ]
23239         },
23240         "NotifyWatchResults": {
23241           "type": "object",
23242           "properties": {
23243             "Results": {
23244               "type": "array",
23245               "items": {
23246                 "$ref": "#/definitions/NotifyWatchResult"
23247               }
23248             }
23249           },
23250           "additionalProperties": false,
23251           "required": [
23252             "Results"
23253           ]
23254         },
23255         "PortRange": {
23256           "type": "object",
23257           "properties": {
23258             "FromPort": {
23259               "type": "integer"
23260             },
23261             "Protocol": {
23262               "type": "string"
23263             },
23264             "ToPort": {
23265               "type": "integer"
23266             }
23267           },
23268           "additionalProperties": false,
23269           "required": [
23270             "FromPort",
23271             "ToPort",
23272             "Protocol"
23273           ]
23274         },
23275         "Relation": {
23276           "type": "object",
23277           "properties": {
23278             "Interface": {
23279               "type": "string"
23280             },
23281             "Limit": {
23282               "type": "integer"
23283             },
23284             "Name": {
23285               "type": "string"
23286             },
23287             "Optional": {
23288               "type": "boolean"
23289             },
23290             "Role": {
23291               "type": "string"
23292             },
23293             "Scope": {
23294               "type": "string"
23295             }
23296           },
23297           "additionalProperties": false,
23298           "required": [
23299             "Name",
23300             "Role",
23301             "Interface",
23302             "Optional",
23303             "Limit",
23304             "Scope"
23305           ]
23306         },
23307         "RelationIds": {
23308           "type": "object",
23309           "properties": {
23310             "RelationIds": {
23311               "type": "array",
23312               "items": {
23313                 "type": "integer"
23314               }
23315             }
23316           },
23317           "additionalProperties": false,
23318           "required": [
23319             "RelationIds"
23320           ]
23321         },
23322         "RelationResult": {
23323           "type": "object",
23324           "properties": {
23325             "Endpoint": {
23326               "$ref": "#/definitions/Endpoint"
23327             },
23328             "Error": {
23329               "$ref": "#/definitions/Error"
23330             },
23331             "Id": {
23332               "type": "integer"
23333             },
23334             "Key": {
23335               "type": "string"
23336             },
23337             "Life": {
23338               "type": "string"
23339             }
23340           },
23341           "additionalProperties": false,
23342           "required": [
23343             "Error",
23344             "Life",
23345             "Id",
23346             "Key",
23347             "Endpoint"
23348           ]
23349         },
23350         "RelationResults": {
23351           "type": "object",
23352           "properties": {
23353             "Results": {
23354               "type": "array",
23355               "items": {
23356                 "$ref": "#/definitions/RelationResult"
23357               }
23358             }
23359           },
23360           "additionalProperties": false,
23361           "required": [
23362             "Results"
23363           ]
23364         },
23365         "RelationUnit": {
23366           "type": "object",
23367           "properties": {
23368             "Relation": {
23369               "type": "string"
23370             },
23371             "Unit": {
23372               "type": "string"
23373             }
23374           },
23375           "additionalProperties": false,
23376           "required": [
23377             "Relation",
23378             "Unit"
23379           ]
23380         },
23381         "RelationUnitPair": {
23382           "type": "object",
23383           "properties": {
23384             "LocalUnit": {
23385               "type": "string"
23386             },
23387             "Relation": {
23388               "type": "string"
23389             },
23390             "RemoteUnit": {
23391               "type": "string"
23392             }
23393           },
23394           "additionalProperties": false,
23395           "required": [
23396             "Relation",
23397             "LocalUnit",
23398             "RemoteUnit"
23399           ]
23400         },
23401         "RelationUnitPairs": {
23402           "type": "object",
23403           "properties": {
23404             "RelationUnitPairs": {
23405               "type": "array",
23406               "items": {
23407                 "$ref": "#/definitions/RelationUnitPair"
23408               }
23409             }
23410           },
23411           "additionalProperties": false,
23412           "required": [
23413             "RelationUnitPairs"
23414           ]
23415         },
23416         "RelationUnitSettings": {
23417           "type": "object",
23418           "properties": {
23419             "Relation": {
23420               "type": "string"
23421             },
23422             "Settings": {
23423               "type": "object",
23424               "patternProperties": {
23425                 ".*": {
23426                   "type": "string"
23427                 }
23428               }
23429             },
23430             "Unit": {
23431               "type": "string"
23432             }
23433           },
23434           "additionalProperties": false,
23435           "required": [
23436             "Relation",
23437             "Unit",
23438             "Settings"
23439           ]
23440         },
23441         "RelationUnits": {
23442           "type": "object",
23443           "properties": {
23444             "RelationUnits": {
23445               "type": "array",
23446               "items": {
23447                 "$ref": "#/definitions/RelationUnit"
23448               }
23449             }
23450           },
23451           "additionalProperties": false,
23452           "required": [
23453             "RelationUnits"
23454           ]
23455         },
23456         "RelationUnitsChange": {
23457           "type": "object",
23458           "properties": {
23459             "Changed": {
23460               "type": "object",
23461               "patternProperties": {
23462                 ".*": {
23463                   "$ref": "#/definitions/UnitSettings"
23464                 }
23465               }
23466             },
23467             "Departed": {
23468               "type": "array",
23469               "items": {
23470                 "type": "string"
23471               }
23472             }
23473           },
23474           "additionalProperties": false,
23475           "required": [
23476             "Changed",
23477             "Departed"
23478           ]
23479         },
23480         "RelationUnitsSettings": {
23481           "type": "object",
23482           "properties": {
23483             "RelationUnits": {
23484               "type": "array",
23485               "items": {
23486                 "$ref": "#/definitions/RelationUnitSettings"
23487               }
23488             }
23489           },
23490           "additionalProperties": false,
23491           "required": [
23492             "RelationUnits"
23493           ]
23494         },
23495         "RelationUnitsWatchResult": {
23496           "type": "object",
23497           "properties": {
23498             "Changes": {
23499               "$ref": "#/definitions/RelationUnitsChange"
23500             },
23501             "Error": {
23502               "$ref": "#/definitions/Error"
23503             },
23504             "RelationUnitsWatcherId": {
23505               "type": "string"
23506             }
23507           },
23508           "additionalProperties": false,
23509           "required": [
23510             "RelationUnitsWatcherId",
23511             "Changes",
23512             "Error"
23513           ]
23514         },
23515         "RelationUnitsWatchResults": {
23516           "type": "object",
23517           "properties": {
23518             "Results": {
23519               "type": "array",
23520               "items": {
23521                 "$ref": "#/definitions/RelationUnitsWatchResult"
23522               }
23523             }
23524           },
23525           "additionalProperties": false,
23526           "required": [
23527             "Results"
23528           ]
23529         },
23530         "ResolvedModeResult": {
23531           "type": "object",
23532           "properties": {
23533             "Error": {
23534               "$ref": "#/definitions/Error"
23535             },
23536             "Mode": {
23537               "type": "string"
23538             }
23539           },
23540           "additionalProperties": false,
23541           "required": [
23542             "Error",
23543             "Mode"
23544           ]
23545         },
23546         "ResolvedModeResults": {
23547           "type": "object",
23548           "properties": {
23549             "Results": {
23550               "type": "array",
23551               "items": {
23552                 "$ref": "#/definitions/ResolvedModeResult"
23553               }
23554             }
23555           },
23556           "additionalProperties": false,
23557           "required": [
23558             "Results"
23559           ]
23560         },
23561         "ServiceStatusResult": {
23562           "type": "object",
23563           "properties": {
23564             "Error": {
23565               "$ref": "#/definitions/Error"
23566             },
23567             "Service": {
23568               "$ref": "#/definitions/StatusResult"
23569             },
23570             "Units": {
23571               "type": "object",
23572               "patternProperties": {
23573                 ".*": {
23574                   "$ref": "#/definitions/StatusResult"
23575                 }
23576               }
23577             }
23578           },
23579           "additionalProperties": false,
23580           "required": [
23581             "Service",
23582             "Units",
23583             "Error"
23584           ]
23585         },
23586         "ServiceStatusResults": {
23587           "type": "object",
23588           "properties": {
23589             "Results": {
23590               "type": "array",
23591               "items": {
23592                 "$ref": "#/definitions/ServiceStatusResult"
23593               }
23594             }
23595           },
23596           "additionalProperties": false,
23597           "required": [
23598             "Results"
23599           ]
23600         },
23601         "SetStatus": {
23602           "type": "object",
23603           "properties": {
23604             "Entities": {
23605               "type": "array",
23606               "items": {
23607                 "$ref": "#/definitions/EntityStatusArgs"
23608               }
23609             }
23610           },
23611           "additionalProperties": false,
23612           "required": [
23613             "Entities"
23614           ]
23615         },
23616         "SettingsResult": {
23617           "type": "object",
23618           "properties": {
23619             "Error": {
23620               "$ref": "#/definitions/Error"
23621             },
23622             "Settings": {
23623               "type": "object",
23624               "patternProperties": {
23625                 ".*": {
23626                   "type": "string"
23627                 }
23628               }
23629             }
23630           },
23631           "additionalProperties": false,
23632           "required": [
23633             "Error",
23634             "Settings"
23635           ]
23636         },
23637         "SettingsResults": {
23638           "type": "object",
23639           "properties": {
23640             "Results": {
23641               "type": "array",
23642               "items": {
23643                 "$ref": "#/definitions/SettingsResult"
23644               }
23645             }
23646           },
23647           "additionalProperties": false,
23648           "required": [
23649             "Results"
23650           ]
23651         },
23652         "StatusResult": {
23653           "type": "object",
23654           "properties": {
23655             "Data": {
23656               "type": "object",
23657               "patternProperties": {
23658                 ".*": {
23659                   "type": "object",
23660                   "additionalProperties": true
23661                 }
23662               }
23663             },
23664             "Error": {
23665               "$ref": "#/definitions/Error"
23666             },
23667             "Id": {
23668               "type": "string"
23669             },
23670             "Info": {
23671               "type": "string"
23672             },
23673             "Life": {
23674               "type": "string"
23675             },
23676             "Since": {
23677               "type": "string",
23678               "format": "date-time"
23679             },
23680             "Status": {
23681               "type": "string"
23682             }
23683           },
23684           "additionalProperties": false,
23685           "required": [
23686             "Error",
23687             "Id",
23688             "Life",
23689             "Status",
23690             "Info",
23691             "Data",
23692             "Since"
23693           ]
23694         },
23695         "StatusResults": {
23696           "type": "object",
23697           "properties": {
23698             "Results": {
23699               "type": "array",
23700               "items": {
23701                 "$ref": "#/definitions/StatusResult"
23702               }
23703             }
23704           },
23705           "additionalProperties": false,
23706           "required": [
23707             "Results"
23708           ]
23709         },
23710         "StorageAddParams": {
23711           "type": "object",
23712           "properties": {
23713             "StorageName": {
23714               "type": "string"
23715             },
23716             "storage": {
23717               "$ref": "#/definitions/StorageConstraints"
23718             },
23719             "unit": {
23720               "type": "string"
23721             }
23722           },
23723           "additionalProperties": false,
23724           "required": [
23725             "unit",
23726             "StorageName",
23727             "storage"
23728           ]
23729         },
23730         "StorageAttachment": {
23731           "type": "object",
23732           "properties": {
23733             "Kind": {
23734               "type": "integer"
23735             },
23736             "Life": {
23737               "type": "string"
23738             },
23739             "Location": {
23740               "type": "string"
23741             },
23742             "OwnerTag": {
23743               "type": "string"
23744             },
23745             "StorageTag": {
23746               "type": "string"
23747             },
23748             "UnitTag": {
23749               "type": "string"
23750             }
23751           },
23752           "additionalProperties": false,
23753           "required": [
23754             "StorageTag",
23755             "OwnerTag",
23756             "UnitTag",
23757             "Kind",
23758             "Location",
23759             "Life"
23760           ]
23761         },
23762         "StorageAttachmentId": {
23763           "type": "object",
23764           "properties": {
23765             "storagetag": {
23766               "type": "string"
23767             },
23768             "unittag": {
23769               "type": "string"
23770             }
23771           },
23772           "additionalProperties": false,
23773           "required": [
23774             "storagetag",
23775             "unittag"
23776           ]
23777         },
23778         "StorageAttachmentIds": {
23779           "type": "object",
23780           "properties": {
23781             "ids": {
23782               "type": "array",
23783               "items": {
23784                 "$ref": "#/definitions/StorageAttachmentId"
23785               }
23786             }
23787           },
23788           "additionalProperties": false,
23789           "required": [
23790             "ids"
23791           ]
23792         },
23793         "StorageAttachmentIdsResult": {
23794           "type": "object",
23795           "properties": {
23796             "error": {
23797               "$ref": "#/definitions/Error"
23798             },
23799             "result": {
23800               "$ref": "#/definitions/StorageAttachmentIds"
23801             }
23802           },
23803           "additionalProperties": false,
23804           "required": [
23805             "result"
23806           ]
23807         },
23808         "StorageAttachmentIdsResults": {
23809           "type": "object",
23810           "properties": {
23811             "results": {
23812               "type": "array",
23813               "items": {
23814                 "$ref": "#/definitions/StorageAttachmentIdsResult"
23815               }
23816             }
23817           },
23818           "additionalProperties": false
23819         },
23820         "StorageAttachmentResult": {
23821           "type": "object",
23822           "properties": {
23823             "error": {
23824               "$ref": "#/definitions/Error"
23825             },
23826             "result": {
23827               "$ref": "#/definitions/StorageAttachment"
23828             }
23829           },
23830           "additionalProperties": false,
23831           "required": [
23832             "result"
23833           ]
23834         },
23835         "StorageAttachmentResults": {
23836           "type": "object",
23837           "properties": {
23838             "results": {
23839               "type": "array",
23840               "items": {
23841                 "$ref": "#/definitions/StorageAttachmentResult"
23842               }
23843             }
23844           },
23845           "additionalProperties": false
23846         },
23847         "StorageConstraints": {
23848           "type": "object",
23849           "properties": {
23850             "Count": {
23851               "type": "integer"
23852             },
23853             "Pool": {
23854               "type": "string"
23855             },
23856             "Size": {
23857               "type": "integer"
23858             }
23859           },
23860           "additionalProperties": false,
23861           "required": [
23862             "Pool",
23863             "Size",
23864             "Count"
23865           ]
23866         },
23867         "StoragesAddParams": {
23868           "type": "object",
23869           "properties": {
23870             "storages": {
23871               "type": "array",
23872               "items": {
23873                 "$ref": "#/definitions/StorageAddParams"
23874               }
23875             }
23876           },
23877           "additionalProperties": false,
23878           "required": [
23879             "storages"
23880           ]
23881         },
23882         "StringBoolResult": {
23883           "type": "object",
23884           "properties": {
23885             "Error": {
23886               "$ref": "#/definitions/Error"
23887             },
23888             "Ok": {
23889               "type": "boolean"
23890             },
23891             "Result": {
23892               "type": "string"
23893             }
23894           },
23895           "additionalProperties": false,
23896           "required": [
23897             "Error",
23898             "Result",
23899             "Ok"
23900           ]
23901         },
23902         "StringBoolResults": {
23903           "type": "object",
23904           "properties": {
23905             "Results": {
23906               "type": "array",
23907               "items": {
23908                 "$ref": "#/definitions/StringBoolResult"
23909               }
23910             }
23911           },
23912           "additionalProperties": false,
23913           "required": [
23914             "Results"
23915           ]
23916         },
23917         "StringResult": {
23918           "type": "object",
23919           "properties": {
23920             "Error": {
23921               "$ref": "#/definitions/Error"
23922             },
23923             "Result": {
23924               "type": "string"
23925             }
23926           },
23927           "additionalProperties": false,
23928           "required": [
23929             "Error",
23930             "Result"
23931           ]
23932         },
23933         "StringResults": {
23934           "type": "object",
23935           "properties": {
23936             "Results": {
23937               "type": "array",
23938               "items": {
23939                 "$ref": "#/definitions/StringResult"
23940               }
23941             }
23942           },
23943           "additionalProperties": false,
23944           "required": [
23945             "Results"
23946           ]
23947         },
23948         "StringsResult": {
23949           "type": "object",
23950           "properties": {
23951             "Error": {
23952               "$ref": "#/definitions/Error"
23953             },
23954             "Result": {
23955               "type": "array",
23956               "items": {
23957                 "type": "string"
23958               }
23959             }
23960           },
23961           "additionalProperties": false,
23962           "required": [
23963             "Error",
23964             "Result"
23965           ]
23966         },
23967         "StringsResults": {
23968           "type": "object",
23969           "properties": {
23970             "Results": {
23971               "type": "array",
23972               "items": {
23973                 "$ref": "#/definitions/StringsResult"
23974               }
23975             }
23976           },
23977           "additionalProperties": false,
23978           "required": [
23979             "Results"
23980           ]
23981         },
23982         "StringsWatchResult": {
23983           "type": "object",
23984           "properties": {
23985             "Changes": {
23986               "type": "array",
23987               "items": {
23988                 "type": "string"
23989               }
23990             },
23991             "Error": {
23992               "$ref": "#/definitions/Error"
23993             },
23994             "StringsWatcherId": {
23995               "type": "string"
23996             }
23997           },
23998           "additionalProperties": false,
23999           "required": [
24000             "StringsWatcherId",
24001             "Changes",
24002             "Error"
24003           ]
24004         },
24005         "StringsWatchResults": {
24006           "type": "object",
24007           "properties": {
24008             "Results": {
24009               "type": "array",
24010               "items": {
24011                 "$ref": "#/definitions/StringsWatchResult"
24012               }
24013             }
24014           },
24015           "additionalProperties": false,
24016           "required": [
24017             "Results"
24018           ]
24019         },
24020         "UnitNetworkConfig": {
24021           "type": "object",
24022           "properties": {
24023             "BindingName": {
24024               "type": "string"
24025             },
24026             "UnitTag": {
24027               "type": "string"
24028             }
24029           },
24030           "additionalProperties": false,
24031           "required": [
24032             "UnitTag",
24033             "BindingName"
24034           ]
24035         },
24036         "UnitNetworkConfigResult": {
24037           "type": "object",
24038           "properties": {
24039             "Error": {
24040               "$ref": "#/definitions/Error"
24041             },
24042             "Info": {
24043               "type": "array",
24044               "items": {
24045                 "$ref": "#/definitions/NetworkConfig"
24046               }
24047             }
24048           },
24049           "additionalProperties": false,
24050           "required": [
24051             "Error",
24052             "Info"
24053           ]
24054         },
24055         "UnitNetworkConfigResults": {
24056           "type": "object",
24057           "properties": {
24058             "Results": {
24059               "type": "array",
24060               "items": {
24061                 "$ref": "#/definitions/UnitNetworkConfigResult"
24062               }
24063             }
24064           },
24065           "additionalProperties": false,
24066           "required": [
24067             "Results"
24068           ]
24069         },
24070         "UnitSettings": {
24071           "type": "object",
24072           "properties": {
24073             "Version": {
24074               "type": "integer"
24075             }
24076           },
24077           "additionalProperties": false,
24078           "required": [
24079             "Version"
24080           ]
24081         },
24082         "UnitsNetworkConfig": {
24083           "type": "object",
24084           "properties": {
24085             "Args": {
24086               "type": "array",
24087               "items": {
24088                 "$ref": "#/definitions/UnitNetworkConfig"
24089               }
24090             }
24091           },
24092           "additionalProperties": false,
24093           "required": [
24094             "Args"
24095           ]
24096         },
24097         "caveat": {
24098           "type": "object",
24099           "properties": {
24100             "caveatId": {
24101               "$ref": "#/definitions/packet"
24102             },
24103             "location": {
24104               "$ref": "#/definitions/packet"
24105             },
24106             "verificationId": {
24107               "$ref": "#/definitions/packet"
24108             }
24109           },
24110           "additionalProperties": false,
24111           "required": [
24112             "location",
24113             "caveatId",
24114             "verificationId"
24115           ]
24116         },
24117         "packet": {
24118           "type": "object",
24119           "properties": {
24120             "headerLen": {
24121               "type": "integer"
24122             },
24123             "start": {
24124               "type": "integer"
24125             },
24126             "totalLen": {
24127               "type": "integer"
24128             }
24129           },
24130           "additionalProperties": false,
24131           "required": [
24132             "start",
24133             "totalLen",
24134             "headerLen"
24135           ]
24136         }
24137       }
24138     }
24139   },
24140   {
24141     "Name": "Upgrader",
24142     "Version": 1,
24143     "Schema": {
24144       "type": "object",
24145       "properties": {
24146         "DesiredVersion": {
24147           "type": "object",
24148           "properties": {
24149             "Params": {
24150               "$ref": "#/definitions/Entities"
24151             },
24152             "Result": {
24153               "$ref": "#/definitions/VersionResults"
24154             }
24155           }
24156         },
24157         "SetTools": {
24158           "type": "object",
24159           "properties": {
24160             "Params": {
24161               "$ref": "#/definitions/EntitiesVersion"
24162             },
24163             "Result": {
24164               "$ref": "#/definitions/ErrorResults"
24165             }
24166           }
24167         },
24168         "Tools": {
24169           "type": "object",
24170           "properties": {
24171             "Params": {
24172               "$ref": "#/definitions/Entities"
24173             },
24174             "Result": {
24175               "$ref": "#/definitions/ToolsResults"
24176             }
24177           }
24178         },
24179         "WatchAPIVersion": {
24180           "type": "object",
24181           "properties": {
24182             "Params": {
24183               "$ref": "#/definitions/Entities"
24184             },
24185             "Result": {
24186               "$ref": "#/definitions/NotifyWatchResults"
24187             }
24188           }
24189         }
24190       },
24191       "definitions": {
24192         "Binary": {
24193           "type": "object",
24194           "properties": {
24195             "Arch": {
24196               "type": "string"
24197             },
24198             "Number": {
24199               "$ref": "#/definitions/Number"
24200             },
24201             "Series": {
24202               "type": "string"
24203             }
24204           },
24205           "additionalProperties": false,
24206           "required": [
24207             "Number",
24208             "Series",
24209             "Arch"
24210           ]
24211         },
24212         "Entities": {
24213           "type": "object",
24214           "properties": {
24215             "Entities": {
24216               "type": "array",
24217               "items": {
24218                 "$ref": "#/definitions/Entity"
24219               }
24220             }
24221           },
24222           "additionalProperties": false,
24223           "required": [
24224             "Entities"
24225           ]
24226         },
24227         "EntitiesVersion": {
24228           "type": "object",
24229           "properties": {
24230             "AgentTools": {
24231               "type": "array",
24232               "items": {
24233                 "$ref": "#/definitions/EntityVersion"
24234               }
24235             }
24236           },
24237           "additionalProperties": false,
24238           "required": [
24239             "AgentTools"
24240           ]
24241         },
24242         "Entity": {
24243           "type": "object",
24244           "properties": {
24245             "Tag": {
24246               "type": "string"
24247             }
24248           },
24249           "additionalProperties": false,
24250           "required": [
24251             "Tag"
24252           ]
24253         },
24254         "EntityVersion": {
24255           "type": "object",
24256           "properties": {
24257             "Tag": {
24258               "type": "string"
24259             },
24260             "Tools": {
24261               "$ref": "#/definitions/Version"
24262             }
24263           },
24264           "additionalProperties": false,
24265           "required": [
24266             "Tag",
24267             "Tools"
24268           ]
24269         },
24270         "Error": {
24271           "type": "object",
24272           "properties": {
24273             "Code": {
24274               "type": "string"
24275             },
24276             "Info": {
24277               "$ref": "#/definitions/ErrorInfo"
24278             },
24279             "Message": {
24280               "type": "string"
24281             }
24282           },
24283           "additionalProperties": false,
24284           "required": [
24285             "Message",
24286             "Code"
24287           ]
24288         },
24289         "ErrorInfo": {
24290           "type": "object",
24291           "properties": {
24292             "Macaroon": {
24293               "$ref": "#/definitions/Macaroon"
24294             },
24295             "MacaroonPath": {
24296               "type": "string"
24297             }
24298           },
24299           "additionalProperties": false
24300         },
24301         "ErrorResult": {
24302           "type": "object",
24303           "properties": {
24304             "Error": {
24305               "$ref": "#/definitions/Error"
24306             }
24307           },
24308           "additionalProperties": false,
24309           "required": [
24310             "Error"
24311           ]
24312         },
24313         "ErrorResults": {
24314           "type": "object",
24315           "properties": {
24316             "Results": {
24317               "type": "array",
24318               "items": {
24319                 "$ref": "#/definitions/ErrorResult"
24320               }
24321             }
24322           },
24323           "additionalProperties": false,
24324           "required": [
24325             "Results"
24326           ]
24327         },
24328         "Macaroon": {
24329           "type": "object",
24330           "properties": {
24331             "caveats": {
24332               "type": "array",
24333               "items": {
24334                 "$ref": "#/definitions/caveat"
24335               }
24336             },
24337             "data": {
24338               "type": "array",
24339               "items": {
24340                 "type": "integer"
24341               }
24342             },
24343             "id": {
24344               "$ref": "#/definitions/packet"
24345             },
24346             "location": {
24347               "$ref": "#/definitions/packet"
24348             },
24349             "sig": {
24350               "type": "array",
24351               "items": {
24352                 "type": "integer"
24353               }
24354             }
24355           },
24356           "additionalProperties": false,
24357           "required": [
24358             "data",
24359             "location",
24360             "id",
24361             "caveats",
24362             "sig"
24363           ]
24364         },
24365         "NotifyWatchResult": {
24366           "type": "object",
24367           "properties": {
24368             "Error": {
24369               "$ref": "#/definitions/Error"
24370             },
24371             "NotifyWatcherId": {
24372               "type": "string"
24373             }
24374           },
24375           "additionalProperties": false,
24376           "required": [
24377             "NotifyWatcherId",
24378             "Error"
24379           ]
24380         },
24381         "NotifyWatchResults": {
24382           "type": "object",
24383           "properties": {
24384             "Results": {
24385               "type": "array",
24386               "items": {
24387                 "$ref": "#/definitions/NotifyWatchResult"
24388               }
24389             }
24390           },
24391           "additionalProperties": false,
24392           "required": [
24393             "Results"
24394           ]
24395         },
24396         "Number": {
24397           "type": "object",
24398           "properties": {
24399             "Build": {
24400               "type": "integer"
24401             },
24402             "Major": {
24403               "type": "integer"
24404             },
24405             "Minor": {
24406               "type": "integer"
24407             },
24408             "Patch": {
24409               "type": "integer"
24410             },
24411             "Tag": {
24412               "type": "string"
24413             }
24414           },
24415           "additionalProperties": false,
24416           "required": [
24417             "Major",
24418             "Minor",
24419             "Tag",
24420             "Patch",
24421             "Build"
24422           ]
24423         },
24424         "Tools": {
24425           "type": "object",
24426           "properties": {
24427             "sha256": {
24428               "type": "string"
24429             },
24430             "size": {
24431               "type": "integer"
24432             },
24433             "url": {
24434               "type": "string"
24435             },
24436             "version": {
24437               "$ref": "#/definitions/Binary"
24438             }
24439           },
24440           "additionalProperties": false,
24441           "required": [
24442             "version",
24443             "url",
24444             "size"
24445           ]
24446         },
24447         "ToolsResult": {
24448           "type": "object",
24449           "properties": {
24450             "DisableSSLHostnameVerification": {
24451               "type": "boolean"
24452             },
24453             "Error": {
24454               "$ref": "#/definitions/Error"
24455             },
24456             "ToolsList": {
24457               "type": "array",
24458               "items": {
24459                 "$ref": "#/definitions/Tools"
24460               }
24461             }
24462           },
24463           "additionalProperties": false,
24464           "required": [
24465             "ToolsList",
24466             "DisableSSLHostnameVerification",
24467             "Error"
24468           ]
24469         },
24470         "ToolsResults": {
24471           "type": "object",
24472           "properties": {
24473             "Results": {
24474               "type": "array",
24475               "items": {
24476                 "$ref": "#/definitions/ToolsResult"
24477               }
24478             }
24479           },
24480           "additionalProperties": false,
24481           "required": [
24482             "Results"
24483           ]
24484         },
24485         "Version": {
24486           "type": "object",
24487           "properties": {
24488             "Version": {
24489               "$ref": "#/definitions/Binary"
24490             }
24491           },
24492           "additionalProperties": false,
24493           "required": [
24494             "Version"
24495           ]
24496         },
24497         "VersionResult": {
24498           "type": "object",
24499           "properties": {
24500             "Error": {
24501               "$ref": "#/definitions/Error"
24502             },
24503             "Version": {
24504               "$ref": "#/definitions/Number"
24505             }
24506           },
24507           "additionalProperties": false,
24508           "required": [
24509             "Version",
24510             "Error"
24511           ]
24512         },
24513         "VersionResults": {
24514           "type": "object",
24515           "properties": {
24516             "Results": {
24517               "type": "array",
24518               "items": {
24519                 "$ref": "#/definitions/VersionResult"
24520               }
24521             }
24522           },
24523           "additionalProperties": false,
24524           "required": [
24525             "Results"
24526           ]
24527         },
24528         "caveat": {
24529           "type": "object",
24530           "properties": {
24531             "caveatId": {
24532               "$ref": "#/definitions/packet"
24533             },
24534             "location": {
24535               "$ref": "#/definitions/packet"
24536             },
24537             "verificationId": {
24538               "$ref": "#/definitions/packet"
24539             }
24540           },
24541           "additionalProperties": false,
24542           "required": [
24543             "location",
24544             "caveatId",
24545             "verificationId"
24546           ]
24547         },
24548         "packet": {
24549           "type": "object",
24550           "properties": {
24551             "headerLen": {
24552               "type": "integer"
24553             },
24554             "start": {
24555               "type": "integer"
24556             },
24557             "totalLen": {
24558               "type": "integer"
24559             }
24560           },
24561           "additionalProperties": false,
24562           "required": [
24563             "start",
24564             "totalLen",
24565             "headerLen"
24566           ]
24567         }
24568       }
24569     }
24570   },
24571   {
24572     "Name": "UserManager",
24573     "Version": 1,
24574     "Schema": {
24575       "type": "object",
24576       "properties": {
24577         "AddUser": {
24578           "type": "object",
24579           "properties": {
24580             "Params": {
24581               "$ref": "#/definitions/AddUsers"
24582             },
24583             "Result": {
24584               "$ref": "#/definitions/AddUserResults"
24585             }
24586           }
24587         },
24588         "CreateLocalLoginMacaroon": {
24589           "type": "object",
24590           "properties": {
24591             "Params": {
24592               "$ref": "#/definitions/Entities"
24593             },
24594             "Result": {
24595               "$ref": "#/definitions/MacaroonResults"
24596             }
24597           }
24598         },
24599         "DisableUser": {
24600           "type": "object",
24601           "properties": {
24602             "Params": {
24603               "$ref": "#/definitions/Entities"
24604             },
24605             "Result": {
24606               "$ref": "#/definitions/ErrorResults"
24607             }
24608           }
24609         },
24610         "EnableUser": {
24611           "type": "object",
24612           "properties": {
24613             "Params": {
24614               "$ref": "#/definitions/Entities"
24615             },
24616             "Result": {
24617               "$ref": "#/definitions/ErrorResults"
24618             }
24619           }
24620         },
24621         "SetPassword": {
24622           "type": "object",
24623           "properties": {
24624             "Params": {
24625               "$ref": "#/definitions/EntityPasswords"
24626             },
24627             "Result": {
24628               "$ref": "#/definitions/ErrorResults"
24629             }
24630           }
24631         },
24632         "UserInfo": {
24633           "type": "object",
24634           "properties": {
24635             "Params": {
24636               "$ref": "#/definitions/UserInfoRequest"
24637             },
24638             "Result": {
24639               "$ref": "#/definitions/UserInfoResults"
24640             }
24641           }
24642         }
24643       },
24644       "definitions": {
24645         "AddUser": {
24646           "type": "object",
24647           "properties": {
24648             "display-name": {
24649               "type": "string"
24650             },
24651             "model-access-permission": {
24652               "type": "string"
24653             },
24654             "password": {
24655               "type": "string"
24656             },
24657             "shared-model-tags": {
24658               "type": "array",
24659               "items": {
24660                 "type": "string"
24661               }
24662             },
24663             "username": {
24664               "type": "string"
24665             }
24666           },
24667           "additionalProperties": false,
24668           "required": [
24669             "username",
24670             "display-name",
24671             "shared-model-tags"
24672           ]
24673         },
24674         "AddUserResult": {
24675           "type": "object",
24676           "properties": {
24677             "error": {
24678               "$ref": "#/definitions/Error"
24679             },
24680             "secret-key": {
24681               "type": "array",
24682               "items": {
24683                 "type": "integer"
24684               }
24685             },
24686             "tag": {
24687               "type": "string"
24688             }
24689           },
24690           "additionalProperties": false
24691         },
24692         "AddUserResults": {
24693           "type": "object",
24694           "properties": {
24695             "results": {
24696               "type": "array",
24697               "items": {
24698                 "$ref": "#/definitions/AddUserResult"
24699               }
24700             }
24701           },
24702           "additionalProperties": false,
24703           "required": [
24704             "results"
24705           ]
24706         },
24707         "AddUsers": {
24708           "type": "object",
24709           "properties": {
24710             "users": {
24711               "type": "array",
24712               "items": {
24713                 "$ref": "#/definitions/AddUser"
24714               }
24715             }
24716           },
24717           "additionalProperties": false,
24718           "required": [
24719             "users"
24720           ]
24721         },
24722         "Entities": {
24723           "type": "object",
24724           "properties": {
24725             "Entities": {
24726               "type": "array",
24727               "items": {
24728                 "$ref": "#/definitions/Entity"
24729               }
24730             }
24731           },
24732           "additionalProperties": false,
24733           "required": [
24734             "Entities"
24735           ]
24736         },
24737         "Entity": {
24738           "type": "object",
24739           "properties": {
24740             "Tag": {
24741               "type": "string"
24742             }
24743           },
24744           "additionalProperties": false,
24745           "required": [
24746             "Tag"
24747           ]
24748         },
24749         "EntityPassword": {
24750           "type": "object",
24751           "properties": {
24752             "Password": {
24753               "type": "string"
24754             },
24755             "Tag": {
24756               "type": "string"
24757             }
24758           },
24759           "additionalProperties": false,
24760           "required": [
24761             "Tag",
24762             "Password"
24763           ]
24764         },
24765         "EntityPasswords": {
24766           "type": "object",
24767           "properties": {
24768             "Changes": {
24769               "type": "array",
24770               "items": {
24771                 "$ref": "#/definitions/EntityPassword"
24772               }
24773             }
24774           },
24775           "additionalProperties": false,
24776           "required": [
24777             "Changes"
24778           ]
24779         },
24780         "Error": {
24781           "type": "object",
24782           "properties": {
24783             "Code": {
24784               "type": "string"
24785             },
24786             "Info": {
24787               "$ref": "#/definitions/ErrorInfo"
24788             },
24789             "Message": {
24790               "type": "string"
24791             }
24792           },
24793           "additionalProperties": false,
24794           "required": [
24795             "Message",
24796             "Code"
24797           ]
24798         },
24799         "ErrorInfo": {
24800           "type": "object",
24801           "properties": {
24802             "Macaroon": {
24803               "$ref": "#/definitions/Macaroon"
24804             },
24805             "MacaroonPath": {
24806               "type": "string"
24807             }
24808           },
24809           "additionalProperties": false
24810         },
24811         "ErrorResult": {
24812           "type": "object",
24813           "properties": {
24814             "Error": {
24815               "$ref": "#/definitions/Error"
24816             }
24817           },
24818           "additionalProperties": false,
24819           "required": [
24820             "Error"
24821           ]
24822         },
24823         "ErrorResults": {
24824           "type": "object",
24825           "properties": {
24826             "Results": {
24827               "type": "array",
24828               "items": {
24829                 "$ref": "#/definitions/ErrorResult"
24830               }
24831             }
24832           },
24833           "additionalProperties": false,
24834           "required": [
24835             "Results"
24836           ]
24837         },
24838         "Macaroon": {
24839           "type": "object",
24840           "properties": {
24841             "caveats": {
24842               "type": "array",
24843               "items": {
24844                 "$ref": "#/definitions/caveat"
24845               }
24846             },
24847             "data": {
24848               "type": "array",
24849               "items": {
24850                 "type": "integer"
24851               }
24852             },
24853             "id": {
24854               "$ref": "#/definitions/packet"
24855             },
24856             "location": {
24857               "$ref": "#/definitions/packet"
24858             },
24859             "sig": {
24860               "type": "array",
24861               "items": {
24862                 "type": "integer"
24863               }
24864             }
24865           },
24866           "additionalProperties": false,
24867           "required": [
24868             "data",
24869             "location",
24870             "id",
24871             "caveats",
24872             "sig"
24873           ]
24874         },
24875         "MacaroonResult": {
24876           "type": "object",
24877           "properties": {
24878             "error": {
24879               "$ref": "#/definitions/Error"
24880             },
24881             "result": {
24882               "$ref": "#/definitions/Macaroon"
24883             }
24884           },
24885           "additionalProperties": false
24886         },
24887         "MacaroonResults": {
24888           "type": "object",
24889           "properties": {
24890             "results": {
24891               "type": "array",
24892               "items": {
24893                 "$ref": "#/definitions/MacaroonResult"
24894               }
24895             }
24896           },
24897           "additionalProperties": false,
24898           "required": [
24899             "results"
24900           ]
24901         },
24902         "UserInfo": {
24903           "type": "object",
24904           "properties": {
24905             "created-by": {
24906               "type": "string"
24907             },
24908             "date-created": {
24909               "type": "string",
24910               "format": "date-time"
24911             },
24912             "disabled": {
24913               "type": "boolean"
24914             },
24915             "display-name": {
24916               "type": "string"
24917             },
24918             "last-connection": {
24919               "type": "string",
24920               "format": "date-time"
24921             },
24922             "username": {
24923               "type": "string"
24924             }
24925           },
24926           "additionalProperties": false,
24927           "required": [
24928             "username",
24929             "display-name",
24930             "created-by",
24931             "date-created",
24932             "disabled"
24933           ]
24934         },
24935         "UserInfoRequest": {
24936           "type": "object",
24937           "properties": {
24938             "entities": {
24939               "type": "array",
24940               "items": {
24941                 "$ref": "#/definitions/Entity"
24942               }
24943             },
24944             "include-disabled": {
24945               "type": "boolean"
24946             }
24947           },
24948           "additionalProperties": false,
24949           "required": [
24950             "entities",
24951             "include-disabled"
24952           ]
24953         },
24954         "UserInfoResult": {
24955           "type": "object",
24956           "properties": {
24957             "error": {
24958               "$ref": "#/definitions/Error"
24959             },
24960             "result": {
24961               "$ref": "#/definitions/UserInfo"
24962             }
24963           },
24964           "additionalProperties": false
24965         },
24966         "UserInfoResults": {
24967           "type": "object",
24968           "properties": {
24969             "results": {
24970               "type": "array",
24971               "items": {
24972                 "$ref": "#/definitions/UserInfoResult"
24973               }
24974             }
24975           },
24976           "additionalProperties": false,
24977           "required": [
24978             "results"
24979           ]
24980         },
24981         "caveat": {
24982           "type": "object",
24983           "properties": {
24984             "caveatId": {
24985               "$ref": "#/definitions/packet"
24986             },
24987             "location": {
24988               "$ref": "#/definitions/packet"
24989             },
24990             "verificationId": {
24991               "$ref": "#/definitions/packet"
24992             }
24993           },
24994           "additionalProperties": false,
24995           "required": [
24996             "location",
24997             "caveatId",
24998             "verificationId"
24999           ]
25000         },
25001         "packet": {
25002           "type": "object",
25003           "properties": {
25004             "headerLen": {
25005               "type": "integer"
25006             },
25007             "start": {
25008               "type": "integer"
25009             },
25010             "totalLen": {
25011               "type": "integer"
25012             }
25013           },
25014           "additionalProperties": false,
25015           "required": [
25016             "start",
25017             "totalLen",
25018             "headerLen"
25019           ]
25020         }
25021       }
25022     }
25023   },
25024   {
25025     "Name": "VolumeAttachmentsWatcher",
25026     "Version": 2,
25027     "Schema": {
25028       "type": "object",
25029       "properties": {
25030         "Next": {
25031           "type": "object",
25032           "properties": {
25033             "Result": {
25034               "$ref": "#/definitions/MachineStorageIdsWatchResult"
25035             }
25036           }
25037         },
25038         "Stop": {
25039           "type": "object"
25040         }
25041       },
25042       "definitions": {
25043         "Error": {
25044           "type": "object",
25045           "properties": {
25046             "Code": {
25047               "type": "string"
25048             },
25049             "Info": {
25050               "$ref": "#/definitions/ErrorInfo"
25051             },
25052             "Message": {
25053               "type": "string"
25054             }
25055           },
25056           "additionalProperties": false,
25057           "required": [
25058             "Message",
25059             "Code"
25060           ]
25061         },
25062         "ErrorInfo": {
25063           "type": "object",
25064           "properties": {
25065             "Macaroon": {
25066               "$ref": "#/definitions/Macaroon"
25067             },
25068             "MacaroonPath": {
25069               "type": "string"
25070             }
25071           },
25072           "additionalProperties": false
25073         },
25074         "Macaroon": {
25075           "type": "object",
25076           "properties": {
25077             "caveats": {
25078               "type": "array",
25079               "items": {
25080                 "$ref": "#/definitions/caveat"
25081               }
25082             },
25083             "data": {
25084               "type": "array",
25085               "items": {
25086                 "type": "integer"
25087               }
25088             },
25089             "id": {
25090               "$ref": "#/definitions/packet"
25091             },
25092             "location": {
25093               "$ref": "#/definitions/packet"
25094             },
25095             "sig": {
25096               "type": "array",
25097               "items": {
25098                 "type": "integer"
25099               }
25100             }
25101           },
25102           "additionalProperties": false,
25103           "required": [
25104             "data",
25105             "location",
25106             "id",
25107             "caveats",
25108             "sig"
25109           ]
25110         },
25111         "MachineStorageId": {
25112           "type": "object",
25113           "properties": {
25114             "attachmenttag": {
25115               "type": "string"
25116             },
25117             "machinetag": {
25118               "type": "string"
25119             }
25120           },
25121           "additionalProperties": false,
25122           "required": [
25123             "machinetag",
25124             "attachmenttag"
25125           ]
25126         },
25127         "MachineStorageIdsWatchResult": {
25128           "type": "object",
25129           "properties": {
25130             "Changes": {
25131               "type": "array",
25132               "items": {
25133                 "$ref": "#/definitions/MachineStorageId"
25134               }
25135             },
25136             "Error": {
25137               "$ref": "#/definitions/Error"
25138             },
25139             "MachineStorageIdsWatcherId": {
25140               "type": "string"
25141             }
25142           },
25143           "additionalProperties": false,
25144           "required": [
25145             "MachineStorageIdsWatcherId",
25146             "Changes",
25147             "Error"
25148           ]
25149         },
25150         "caveat": {
25151           "type": "object",
25152           "properties": {
25153             "caveatId": {
25154               "$ref": "#/definitions/packet"
25155             },
25156             "location": {
25157               "$ref": "#/definitions/packet"
25158             },
25159             "verificationId": {
25160               "$ref": "#/definitions/packet"
25161             }
25162           },
25163           "additionalProperties": false,
25164           "required": [
25165             "location",
25166             "caveatId",
25167             "verificationId"
25168           ]
25169         },
25170         "packet": {
25171           "type": "object",
25172           "properties": {
25173             "headerLen": {
25174               "type": "integer"
25175             },
25176             "start": {
25177               "type": "integer"
25178             },
25179             "totalLen": {
25180               "type": "integer"
25181             }
25182           },
25183           "additionalProperties": false,
25184           "required": [
25185             "start",
25186             "totalLen",
25187             "headerLen"
25188           ]
25189         }
25190       }
25191     }
25192   }
25193 ]